Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Unified Diff: third_party/libjpeg_turbo/libjpeg.gyp

Issue 4298001: Add build files for libjpeg-turbo.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/libjpeg_turbo/libjpeg.gyp
===================================================================
--- third_party/libjpeg_turbo/libjpeg.gyp (revision 0)
+++ third_party/libjpeg_turbo/libjpeg.gyp (revision 0)
@@ -0,0 +1,352 @@
+# Copyright (c) 2009 The Chromium Authors. All rights reserved.
Mark Mentovai 2010/11/16 14:49:52 2010
Hironori Bono 2010/11/19 05:44:35 Done.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'conditions': [
+ [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
+ # Link to system .so since we already use it due to GTK.
+ 'use_system_libjpeg%': 1,
+ }, { # OS!="linux" and OS!="freebsd" and OS!="openbsd"
+ 'use_system_libjpeg%': 0,
+ }],
+ [ 'OS=="win"', {
+ 'object_suffix': 'obj',
+ }, {
+ 'object_suffix': 'o',
+ }],
+ [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
+ 'shared_generated_dir': '<(INTERMEDIATE_DIR)/third_party/libjpeg',
Mark Mentovai 2010/11/16 14:49:52 1. Why did this need to be split out by platform?
Hironori Bono 2010/11/19 05:44:35 Unfortunately, make.py (of GYP) causes some proble
+ }, {
+ 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg',
+ }],
+ ],
+ },
+ 'conditions': [
+ [ 'use_system_libjpeg==0', {
+ 'targets': [
+ {
+ 'target_name': 'libjpeg',
+ 'type': '<(library)',
+ 'msvs_guid': '238CE175-76CE-4A25-A676-69D115885601',
Mark Mentovai 2010/11/16 14:49:52 This GUID shows up in a Google search. It’s not gl
Hironori Bono 2010/11/19 05:44:35 Done.
+ 'include_dirs': [
+ '.',
+ ],
+ 'defines': [
+ 'WITH_SIMD',
+ ],
+ 'dependencies': [
+ 'libjpeg_asm',
+ ],
+ 'sources': [
+ 'jconfig.h',
+ 'jpeglib.h',
+ 'jpeglibmangler.h',
+ 'jcapimin.c',
+ 'jcapistd.c',
+ 'jccoefct.c',
+ 'jccolor.c',
+ 'jcdctmgr.c',
+ 'jchuff.c',
+ 'jchuff.h',
+ 'jcinit.c',
+ 'jcmainct.c',
+ 'jcmarker.c',
+ 'jcmaster.c',
+ 'jcomapi.c',
+ 'jcparam.c',
+ 'jcphuff.c',
+ 'jcprepct.c',
+ 'jcsample.c',
+ 'jdapimin.c',
+ 'jdapistd.c',
+ 'jdatadst.c',
+ 'jdatasrc.c',
+ 'jdcoefct.c',
+ 'jdcolor.c',
+ 'jdct.h',
+ 'jddctmgr.c',
+ 'jdhuff.c',
+ 'jdhuff.h',
+ 'jdinput.c',
+ 'jdmainct.c',
+ 'jdmarker.c',
+ 'jdmaster.c',
+ 'jdmerge.c',
+ 'jdphuff.c',
+ 'jdpostct.c',
+ 'jdsample.c',
+ 'jerror.c',
+ 'jerror.h',
+ 'jfdctflt.c',
+ 'jfdctfst.c',
+ 'jfdctint.c',
+ 'jidctflt.c',
+ 'jidctfst.c',
+ 'jidctint.c',
+ 'jidctred.c',
+ 'jinclude.h',
+ 'jmemmgr.c',
+ 'jmemnobs.c',
+ 'jmemsys.h',
+ 'jmorecfg.h',
+ 'jpegint.h',
+ 'jquant1.c',
+ 'jquant2.c',
+ 'jutils.c',
+ 'jversion.h',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '.',
+ ],
+ },
+ 'conditions': [
+ [ 'OS!="win"', {'product_name': 'jpeg'}],
Mark Mentovai 2010/11/16 14:49:52 Recommend jpeg_turbo. GYP will figure everything e
Hironori Bono 2010/11/19 05:44:35 Done.
+ # Add target-specific source files.
+ [ 'target_arch=="ia32"', {
+ 'sources': [
+ 'simd/jsimd_i386.c',
+ # Object files assembled by the 'libjpeg_asm' project.
+ '<(shared_generated_dir)/jsimdcpu.<(object_suffix)',
+ '<(shared_generated_dir)/jccolmmx.<(object_suffix)',
+ '<(shared_generated_dir)/jdcolmmx.<(object_suffix)',
+ '<(shared_generated_dir)/jcsammmx.<(object_suffix)',
+ '<(shared_generated_dir)/jdsammmx.<(object_suffix)',
+ '<(shared_generated_dir)/jdmermmx.<(object_suffix)',
+ '<(shared_generated_dir)/jcqntmmx.<(object_suffix)',
+ '<(shared_generated_dir)/jfmmxfst.<(object_suffix)',
+ '<(shared_generated_dir)/jfmmxint.<(object_suffix)',
+ '<(shared_generated_dir)/jimmxred.<(object_suffix)',
+ '<(shared_generated_dir)/jimmxint.<(object_suffix)',
+ '<(shared_generated_dir)/jimmxfst.<(object_suffix)',
+ '<(shared_generated_dir)/jcqnt3dn.<(object_suffix)',
+ '<(shared_generated_dir)/jf3dnflt.<(object_suffix)',
+ '<(shared_generated_dir)/ji3dnflt.<(object_suffix)',
+ '<(shared_generated_dir)/jcqntsse.<(object_suffix)',
+ '<(shared_generated_dir)/jfsseflt.<(object_suffix)',
+ '<(shared_generated_dir)/jisseflt.<(object_suffix)',
+ '<(shared_generated_dir)/jccolss2.<(object_suffix)',
+ '<(shared_generated_dir)/jdcolss2.<(object_suffix)',
+ '<(shared_generated_dir)/jcsamss2.<(object_suffix)',
+ '<(shared_generated_dir)/jdsamss2.<(object_suffix)',
+ '<(shared_generated_dir)/jdmerss2.<(object_suffix)',
+ '<(shared_generated_dir)/jcqnts2i.<(object_suffix)',
+ '<(shared_generated_dir)/jfss2fst.<(object_suffix)',
+ '<(shared_generated_dir)/jfss2int.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2red.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2int.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2fst.<(object_suffix)',
+ '<(shared_generated_dir)/jcqnts2f.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2flt.<(object_suffix)',
+ ],
+ }],
+ [ 'target_arch=="x64"', {
+ 'sources': [
+ 'simd/jsimd_x86_64.c',
+ # Object files assembled by the 'libjpeg_asm' project.
+ '<(shared_generated_dir)/jfsseflt-64.<(object_suffix)',
+ '<(shared_generated_dir)/jccolss2-64.<(object_suffix)',
+ '<(shared_generated_dir)/jdcolss2-64.<(object_suffix)',
+ '<(shared_generated_dir)/jcsamss2-64.<(object_suffix)',
+ '<(shared_generated_dir)/jdsamss2-64.<(object_suffix)',
+ '<(shared_generated_dir)/jdmerss2-64.<(object_suffix)',
+ '<(shared_generated_dir)/jcqnts2i-64.<(object_suffix)',
+ '<(shared_generated_dir)/jfss2fst-64.<(object_suffix)',
+ '<(shared_generated_dir)/jfss2int-64.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2red-64.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2int-64.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2fst-64.<(object_suffix)',
+ '<(shared_generated_dir)/jcqnts2f-64.<(object_suffix)',
+ '<(shared_generated_dir)/jiss2flt-64.<(object_suffix)',
+ ],
+ }],
+ ],
+ },
+ {
+ # A project that assembles asm files and creates object files.
Mark Mentovai 2010/11/16 14:49:52 If you wanted to, you could just move all of this
Hironori Bono 2010/11/19 05:44:35 I would like to keep the current form to keep cons
+ #
+ 'target_name': 'libjpeg_asm',
+ 'type': 'none',
+ 'msvs_guid': '056FEC71-FBE9-ACE1-B5CA-A5395B6AEF5C',
+ 'conditions': [
+ # Adding platform-dependent source files.
Mark Mentovai 2010/11/16 14:49:52 Add, not adding.
Hironori Bono 2010/11/19 05:44:35 Done.
+ [ 'target_arch=="ia32"', {
+ 'sources': [
+ # The asm files for ia32.
+ 'simd/jsimdcpu.asm',
+ 'simd/jccolmmx.asm',
+ 'simd/jdcolmmx.asm',
+ 'simd/jcsammmx.asm',
+ 'simd/jdsammmx.asm',
+ 'simd/jdmermmx.asm',
+ 'simd/jcqntmmx.asm',
+ 'simd/jfmmxfst.asm',
+ 'simd/jfmmxint.asm',
+ 'simd/jimmxred.asm',
+ 'simd/jimmxint.asm',
+ 'simd/jimmxfst.asm',
+ 'simd/jcqnt3dn.asm',
+ 'simd/jf3dnflt.asm',
+ 'simd/ji3dnflt.asm',
+ 'simd/jcqntsse.asm',
+ 'simd/jfsseflt.asm',
+ 'simd/jisseflt.asm',
+ 'simd/jccolss2.asm',
+ 'simd/jdcolss2.asm',
+ 'simd/jcsamss2.asm',
+ 'simd/jdsamss2.asm',
+ 'simd/jdmerss2.asm',
+ 'simd/jcqnts2i.asm',
+ 'simd/jfss2fst.asm',
+ 'simd/jfss2int.asm',
+ 'simd/jiss2red.asm',
+ 'simd/jiss2int.asm',
+ 'simd/jiss2fst.asm',
+ 'simd/jcqnts2f.asm',
+ 'simd/jiss2flt.asm',
+ ],
+ }],
+ [ 'target_arch=="x64"', {
+ 'sources': [
+ # The asm files for x64.
+ 'simd/jfsseflt-64.asm',
+ 'simd/jccolss2-64.asm',
+ 'simd/jdcolss2-64.asm',
+ 'simd/jcsamss2-64.asm',
+ 'simd/jdsamss2-64.asm',
+ 'simd/jdmerss2-64.asm',
+ 'simd/jcqnts2i-64.asm',
+ 'simd/jfss2fst-64.asm',
+ 'simd/jfss2int-64.asm',
+ 'simd/jiss2red-64.asm',
+ 'simd/jiss2int-64.asm',
+ 'simd/jiss2fst-64.asm',
+ 'simd/jcqnts2f-64.asm',
+ 'simd/jiss2flt-64.asm',
+ ],
+ }],
+
+ # Build rules for an asm file.
+ [ 'OS=="win"', {
+ 'variables': {
+ 'nasm_path': '../nasm/<(OS)/nasm<(EXECUTABLE_SUFFIX)',
+ },
+ 'rules': [
+ {
+ 'rule_name': 'assemble',
+ 'extension': 'asm',
+ 'inputs': [ '<(nasm_path)', ],
Mark Mentovai 2010/11/16 14:49:52 Do any of the asm files include anything else?
Hironori Bono 2010/11/19 05:44:35 Fortunately, not. Thank you for noticing it.
+ 'outputs': [
+ '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ ],
+ 'action': [
+ '<(nasm_path)',
+ '-fwin32',
+ '-DWIN32',
+ '-DMSVC',
+ '-Iwin/',
+ '-Isimd/',
+ '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 0,
+ 'message': 'Build <(RULE_INPUT_PATH).',
Mark Mentovai 2010/11/16 14:49:52 Doesn’t seem right—it seems like this should say
Hironori Bono 2010/11/19 05:44:35 Done.
+ },
+ ],
+ }],
+ [ 'OS=="mac"', {
+ 'variables': {
+ 'nasm_path': '<!(which nasm)',
Mark Mentovai 2010/11/16 14:49:52 Do you know what this expands to at runtime?
Hironori Bono 2010/11/19 05:44:35 It became "/usr/bin/nasm". By the way, as written
+ },
+ 'rules': [
+ {
+ 'rule_name': 'assemble',
+ 'extension': 'asm',
+ 'inputs': [ '<(nasm_path)', ],
+ 'outputs': [
+ '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ ],
+ 'action': [
+ '<(nasm_path)',
+ '-fmacho',
+ '-DMACHO',
+ '-Imac/',
+ '-Isimd/',
+ '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 0,
+ 'message': 'Build <(RULE_INPUT_PATH).',
+ },
+ ],
+ }],
+ [ 'OS=="linux"', {
+ 'dependencies': [
+ '../yasm/yasm.gyp:yasm#host',
+ ],
+ 'variables': {
+ 'nasm_path': '<(PRODUCT_DIR)/yasm',
+ 'conditions': [
+ [ 'target_arch=="ia32"', {
+ 'nasm_format': '-felf',
+ 'nasm_flag': '-D__X86__',
+ }, {
+ 'nasm_format': '-felf64',
+ 'nasm_flag': '-D__x86_64__',
+ }],
+ ],
+ },
+ 'rules': [
+ {
+ 'rule_name': 'assemble',
+ 'extension': 'asm',
+ 'inputs': [ '<(nasm_path)', ],
+ 'outputs': [
+ '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ ],
+ 'action': [
+ '<(nasm_path)',
+ '<(nasm_format)',
+ '-DELF',
+ '<(nasm_flag)',
+ '-Ilinux/',
+ '-Isimd/',
+ '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 0,
+ 'message': 'Build <(RULE_INPUT_PATH).',
+ },
+ ],
+ }],
+ ],
+ },
+ ],
+ }, {
Mark Mentovai 2010/11/16 14:49:52 Put a comment here like }, { # else: use_system_
Hironori Bono 2010/11/19 05:44:35 Done.
+ 'targets': [
+ {
+ 'target_name': 'libjpeg',
+ 'type': 'settings',
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'USE_SYSTEM_LIBJPEG',
+ ],
+ },
+ 'link_settings': {
+ 'libraries': [
+ '-ljpeg',
+ ],
+ },
+ },
+ ],
+ }],
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:
Property changes on: third_party/libjpeg_turbo/libjpeg.gyp
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698