Chromium Code Reviews| 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 |