Changeset 79924 in webkit for trunk/Source/JavaScriptCore/gyp


Ignore:
Timestamp:
Feb 28, 2011, 2:40:30 PM (14 years ago)
Author:
[email protected]
Message:

2011-02-28 Adam Barth <[email protected]>

Reviewed by Dimitri Glazkov.

Use more xcconfig files in JavaScriptCore gyp build
https://bugs.webkit.org/show_bug.cgi?id=55391

The GYP experts tell me that we have have a total of two xcconfig
files: one for the xcodeproj as a whole and one for each target. This
patch uses that technique to re-use the existing xcconfig files and
eliminate the duplication.

Technically, this patch introduces some build errors because the
xcconfig files assume that the xcodeproj file is one level higher in
the directory hierarchy. Specifically, the xcodeproj file can no
longer find the Info.plist or the prefix header. I plan to fix that in
a subsequent patch.

Also, this patch introduces the Release and Production configurations,
which should work correctly now.

  • gyp/JavaScriptCore.gyp:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/gyp/JavaScriptCore.gyp

    r79788 r79924  
    33    '../JavaScriptCore.gypi',
    44  ],
     5  'xcode_config_file': '../Configurations/DebugRelease.xcconfig',
    56  'targets': [
    67    {
     
    3536        'libobjc.dylib',
    3637      ],
    37       'xcode_config_file': '../Configurations/Base.xcconfig',
     38      'xcode_config_file': '../Configurations/JavaScriptCore.xcconfig',
    3839      'sources/': [
    3940        ['exclude', 'qt'],
     
    6869      'configurations': {
    6970        'Debug': {},
     71        'Relase': {},
     72        'Production': {},
    7073      },
    7174      'default_configuration': 'Debug',
     
    7780          'mac_bundle': 1,
    7881          'xcode_settings': {
    79             #### From Chromium #####
    80             'USE_HEADERMAP': 'NO',
    81 
    82             ##### From DebugRelease #####
    83 
    84             'ARCHS': '$(ARCHS_$(TARGET_MAC_OS_X_VERSION_MAJOR))',
    85             'ARCHS_': '$(ARCHS_1040)',
    86             'ARCHS_1040': '$(NATIVE_ARCH)',
    87             'ARCHS_1050': '$(NATIVE_ARCH)',
    88             'ARCHS_1060': '$(ARCHS_STANDARD_32_64_BIT)',
    89             'ARCHS_1070': '$(ARCHS_STANDARD_32_64_BIT)',
    90 
    91             'ONLY_ACTIVE_ARCH': 'YES',
    92 
    93             'MACOSX_DEPLOYMENT_TARGET': '$(MACOSX_DEPLOYMENT_TARGET_$(TARGET_MAC_OS_X_VERSION_MAJOR))',
    94             'MACOSX_DEPLOYMENT_TARGET_': '10.4',
    95             'MACOSX_DEPLOYMENT_TARGET_1040': '10.4',
    96             'MACOSX_DEPLOYMENT_TARGET_1050': '10.5',
    97             'MACOSX_DEPLOYMENT_TARGET_1060': '10.6',
    98             'MACOSX_DEPLOYMENT_TARGET_1070': '10.7',
    99 
    100             'GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS': 'YES',
    101 
    102             ##### From JavaScriptCore #####
    103 
    104             'JSVALUE_MODEL': '$(JSVALUE_MODEL_$(CURRENT_ARCH))',
    105             'JSVALUE_MODEL_': 'UNKNOWN_JSVALUE_MODEL',
    106             'JSVALUE_MODEL_armv6': '32_64',
    107             'JSVALUE_MODEL_armv7': '32_64',
    108             'JSVALUE_MODEL_i386': '32_64',
    109             'JSVALUE_MODEL_ppc': '32_64',
    110             'JSVALUE_MODEL_ppc64': '64',
    111             'JSVALUE_MODEL_x86_64': '64',
    112 
    113             'EXPORTED_SYMBOLS_FILE': '$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore/JavaScriptCore.JSVALUE$(JSVALUE_MODEL).exp',
    114             'OTHER_LDFLAGS_BASE': '-lobjc -Wl,-Y,3',
    115             'OTHER_LDFLAGS': '$(OTHER_LDFLAGS_$(REAL_PLATFORM_NAME))',
    116             'OTHER_LDFLAGS_iphoneos': '$(OTHER_LDFLAGS_BASE)',
    117             'OTHER_LDFLAGS_iphonesimulator': '$(OTHER_LDFLAGS_iphoneos)',
    118             'OTHER_LDFLAGS_macosx': '$(OTHER_LDFLAGS_BASE) -sub_library libobjc -framework CoreServices $(OTHER_LDFLAGS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))',
    119             'OTHER_LDFLAGS_macosx_1070': '-Xlinker -objc_gc_compaction',
    120             'GCC_PREFIX_HEADER': '../JavaScriptCorePrefix.h',
    121             'INFOPLIST_FILE': '../Info.plist',
    122             'INSTALL_PATH': '$(JAVASCRIPTCORE_FRAMEWORKS_DIR)',
    123             'PRODUCT_NAME': 'JavaScriptCore',
    124 
    125             'OTHER_CFLAGS': '$(OTHER_CFLAGS_$(CONFIGURATION)_$(CURRENT_VARIANT))',
    126             'OTHER_CFLAGS_Release_normal': '$(OTHER_CFLAGS_normal_$(TARGET_GCC_VERSION))',
    127             'OTHER_CFLAGS_Production_normal': '$(OTHER_CFLAGS_normal_$(TARGET_GCC_VERSION))',
    128             'OTHER_CFLAGS_normal_GCC_42': '-fomit-frame-pointer -funwind-tables',
    129             'OTHER_CFLAGS_normal_LLVM_GCC_42': '$(OTHER_CFLAGS_normal_GCC_42)',
    130 
    131             ##### From Version #####
    132 
    133             'MAJOR_VERSION': '534',
    134             'MINOR_VERSION': '22',
    135             'TINY_VERSION': '0',
    136             'FULL_VERSION': '$(MAJOR_VERSION).$(MINOR_VERSION)',
    137 
    138             # The bundle version and short version string are set based on the current build configuration, see below.
    139             'BUNDLE_VERSION': '$(BUNDLE_VERSION_$(CONFIGURATION))',
    140             'SHORT_VERSION_STRING': '$(SHORT_VERSION_STRING_$(CONFIGURATION))',
    141 
    142             # The system version prefix is based on the current system version.
    143             'SYSTEM_VERSION_PREFIX': '$(SYSTEM_VERSION_PREFIX_$(TARGET_MAC_OS_X_VERSION_MAJOR))',
    144             'SYSTEM_VERSION_PREFIX_': '4', # Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR.
    145             'SYSTEM_VERSION_PREFIX_1040': '4',
    146             'SYSTEM_VERSION_PREFIX_1050': '5',
    147             'SYSTEM_VERSION_PREFIX_1060': '6',
    148             'SYSTEM_VERSION_PREFIX_1070': '7',
    149 
    150             # The production build always uses the full version with a system version prefix.
    151             'BUNDLE_VERSION_Production': '$(SYSTEM_VERSION_PREFIX)$(FULL_VERSION)',
    152             'BUNDLE_VERSION_': '$(BUNDLE_VERSION_Production)',
    153 
    154             # The production build always uses the major version with a system version prefix
    155             'SHORT_VERSION_STRING_Production': '$(SYSTEM_VERSION_PREFIX)$(MAJOR_VERSION)',
    156             'SHORT_VERSION_STRING_': '$(SHORT_VERSION_STRING_Production)',
    157 
    158             # Local builds are the full version with a plus suffix.
    159             'BUNDLE_VERSION_Release': '$(FULL_VERSION)+',
    160             'BUNDLE_VERSION_Debug': '$(BUNDLE_VERSION_Release)',
    161 
    162             # Local builds use the major version with a plus suffix
    163             'SHORT_VERSION_STRING_Release': '$(MAJOR_VERSION)+',
    164             'SHORT_VERSION_STRING_Debug': '$(SHORT_VERSION_STRING_Release)',
    165 
    166             'DYLIB_COMPATIBILITY_VERSION': '1',
    167             'DYLIB_CURRENT_VERSION': '$(FULL_VERSION)',
     82            'USE_HEADERMAP': 'NO', # FIXME: Do we need this?
    16883          }
    16984        }],
Note: See TracChangeset for help on using the changeset viewer.