summaryrefslogtreecommitdiffstats
path: root/Source/JavaScriptCore/gyp/JavaScriptCore.gyp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/gyp/JavaScriptCore.gyp')
-rw-r--r--Source/JavaScriptCore/gyp/JavaScriptCore.gyp216
1 files changed, 216 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/gyp/JavaScriptCore.gyp b/Source/JavaScriptCore/gyp/JavaScriptCore.gyp
new file mode 100644
index 0000000..1e46094
--- /dev/null
+++ b/Source/JavaScriptCore/gyp/JavaScriptCore.gyp
@@ -0,0 +1,216 @@
+{
+ 'includes': [
+ '../../gyp/common.gypi',
+ '../JavaScriptCore.gypi',
+ ],
+ 'xcode_config_file': '<(DEPTH)/JavaScriptCore/Configurations/DebugRelease.xcconfig',
+ 'variables': {
+ # FIXME: We should use a header map instead of listing these explicitly.
+ 'javascriptcore_include_dirs': [
+ '<(DEPTH)', # Some paths in API include JavaScriptCore/
+ '<(DEPTH)/JavaScriptCore',
+ '<(DEPTH)/JavaScriptCore/ForwardingHeaders',
+ '<(DEPTH)/JavaScriptCore/API',
+ '<(DEPTH)/JavaScriptCore/assembler',
+ '<(DEPTH)/JavaScriptCore/collector/handles',
+ '<(DEPTH)/JavaScriptCore/bytecode',
+ '<(DEPTH)/JavaScriptCore/bytecompiler',
+ '<(DEPTH)/JavaScriptCore/debugger',
+ '<(DEPTH)/JavaScriptCore/icu',
+ '<(DEPTH)/JavaScriptCore/interpreter',
+ '<(DEPTH)/JavaScriptCore/jit',
+ '<(DEPTH)/JavaScriptCore/parser',
+ '<(DEPTH)/JavaScriptCore/profiler',
+ '<(DEPTH)/JavaScriptCore/runtime',
+ '<(DEPTH)/JavaScriptCore/wtf',
+ '<(DEPTH)/JavaScriptCore/wtf/unicode',
+ '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore',
+ ],
+ },
+ 'targets': [
+ {
+ 'target_name': 'JavaScriptCore',
+ 'type': 'shared_library',
+ 'dependencies': [
+ 'Derived Sources',
+ 'Update Version',
+ ],
+ 'include_dirs': [
+ '<@(javascriptcore_include_dirs)',
+ ],
+ 'sources': [
+ '<@(javascriptcore_files)',
+ '<@(javascriptcore_publicheader_files)',
+ '<@(javascriptcore_privateheader_files)',
+ '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
+ '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
+ 'libicucore.dylib',
+ 'libobjc.dylib',
+ ],
+ 'mac_framework_headers': [
+ '<@(javascriptcore_publicheader_files)',
+ ],
+ 'mac_framework_private_headers': [
+ '<@(javascriptcore_privateheader_files)',
+ ],
+ 'xcode_config_file': '<(DEPTH)/JavaScriptCore/Configurations/JavaScriptCore.xcconfig',
+ 'sources/': [
+ ['exclude', 'qt'],
+ ['exclude', 'os-win32'],
+ ['exclude', 'wtf/android'],
+ ['exclude', 'wtf/brew'],
+ ['exclude', 'wtf/efl'],
+ ['exclude', 'wtf/gtk'],
+ ['exclude', 'wtf/qt'],
+ ['exclude', 'wtf/haiku'],
+ ['exclude', 'API/tests'],
+ ['exclude', 'wtf/url'],
+ ['exclude', 'wtf/wince'],
+ ['exclude', 'wtf/wx'],
+ ['exclude', 'wtf/unicode/brew'],
+ ['exclude', 'wtf/unicode/wince'],
+ ['exclude', 'wtf/unicode/glib'],
+ ['exclude', 'wtf/unicode/qt4'],
+ ['exclude', '/(gtk|glib|gobject)/.*\\.(cpp|h)$'],
+ ['exclude', '(Default|Gtk|Chromium|None|Qt|Win|Wx|Symbian)\\.(cpp|mm|h)$'],
+ ['exclude', 'GCActivityCallback\.cpp'],
+ ['exclude', '.*BSTR.*$'],
+ ['exclude', 'jsc.cpp$'],
+ ],
+ 'postbuilds': [
+ {
+ 'postbuild_name': 'Check For Global Initializers',
+ 'action': [
+ 'sh', '<(DEPTH)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-global-initializers'
+ ],
+ },
+ {
+ 'postbuild_name': 'Check For Exit Time Destructors',
+ 'action': [
+ 'sh', '<(DEPTH)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-exit-time-destructors'
+ ],
+ },
+ {
+ 'postbuild_name': 'Check For Weak VTables and Externals',
+ 'action': [
+ 'sh', '<(DEPTH)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-weak-vtables-and-externals'
+ ],
+ },
+ ],
+ 'conditions': [
+ ['OS=="mac"', {
+ 'mac_bundle': 1,
+ 'xcode_settings': {
+ # FIXME: Remove these overrides once JavaScriptCore.xcconfig is
+ # used only by this project.
+ 'GCC_PREFIX_HEADER': '<(DEPTH)/JavaScriptCore/JavaScriptCorePrefix.h',
+ 'INFOPLIST_FILE': '<(DEPTH)/JavaScriptCore/Info.plist',
+ # This setting mirrors the setting in Base.xcconfig, with
+ # one difference noted below.
+ 'WARNING_CFLAGS_BASE': [
+ '-Wall',
+ '-Wextra',
+ '-Wcast-qual',
+ '-Wchar-subscripts',
+ '-Wextra-tokens',
+ '-Wformat=2',
+ '-Winit-self',
+ # FIXME: For some reason, -Wmissing-format-attribute causes a
+ # build error in Assertions.cpp in the GYP build but not in the
+ # non-GYP build.
+ # '-Wmissing-format-attribute',
+ '-Wmissing-noreturn',
+ '-Wpacked',
+ '-Wpointer-arith',
+ '-Wredundant-decls',
+ '-Wundef',
+ '-Wwrite-strings',
+ ],
+ },
+ }],
+ ],
+ },
+ {
+ 'target_name': 'Derived Sources',
+ 'type': 'none',
+ 'actions': [{
+ 'action_name': 'Generate Derived Sources',
+ 'inputs': [],
+ 'outputs': [],
+ 'action': [
+ 'sh', 'generate-derived-sources.sh',
+ ],
+ }],
+ },
+ {
+ 'target_name': 'Update Version',
+ 'type': 'none',
+ 'actions': [{
+ 'action_name': 'Update Info.plist with version information',
+ 'inputs': [],
+ 'outputs': [],
+ 'action': [
+ 'sh', '<(DEPTH)/gyp/update-info-plist.sh', '<(DEPTH)/JavaScriptCore/Info.plist'
+ ]
+ }],
+ },
+ {
+ 'target_name': 'minidom',
+ 'type': 'executable',
+ 'dependencies': [
+ 'JavaScriptCore',
+ ],
+ # FIXME: We should use a header map instead of listing these explicitly.
+ 'include_dirs': [
+ '<@(javascriptcore_include_dirs)',
+ ],
+ 'sources': [
+ '<@(minidom_files)',
+ '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
+ ],
+ 'copies': [{
+ 'destination': '<(PRODUCT_DIR)',
+ 'files': [
+ '<@(minidom_support_files)',
+ ],
+ }],
+ },
+ {
+ 'target_name': 'testapi',
+ 'type': 'executable',
+ 'dependencies': [
+ 'JavaScriptCore',
+ ],
+ # FIXME: We should use a header map instead of listing these explicitly.
+ 'include_dirs': [
+ '<@(javascriptcore_include_dirs)',
+ ],
+ 'sources': [
+ '<@(testapi_files)',
+ '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
+ ],
+ 'copies': [{
+ 'destination': '<(PRODUCT_DIR)',
+ 'files': [
+ '<@(testapi_support_files)',
+ ],
+ }],
+ },
+ {
+ 'target_name': 'jsc',
+ 'type': 'executable',
+ 'dependencies': [
+ 'JavaScriptCore',
+ ],
+ # FIXME: We should use a header map instead of listing these explicitly.
+ 'include_dirs': [
+ '<@(javascriptcore_include_dirs)',
+ ],
+ 'sources': [
+ '<@(jsc_files)',
+ '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
+ 'libedit.dylib',
+ ],
+ },
+ ], # targets
+}