diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-25 21:26:55 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-25 21:26:55 +0000 |
commit | 2f80c3109c9fc7724740f405b3ef739d4a68ac81 (patch) | |
tree | ff089a486e0f5fcd197d3f555400f31fc7ebb8e0 /build | |
parent | a2318cda8a1092f127ed6b88b12fad8208608ad1 (diff) | |
download | chromium_src-2f80c3109c9fc7724740f405b3ef739d4a68ac81.zip chromium_src-2f80c3109c9fc7724740f405b3ef739d4a68ac81.tar.gz chromium_src-2f80c3109c9fc7724740f405b3ef739d4a68ac81.tar.bz2 |
Import .gyp files into the Chromium tree
Review URL: http://codereview.chromium.org/27158
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10380 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r-- | build/all.gyp | 42 | ||||
-rw-r--r-- | build/common.gypi | 211 | ||||
-rw-r--r-- | build/external_code.gypi | 33 | ||||
-rw-r--r-- | build/temp_gyp/README.chromium | 3 | ||||
-rw-r--r-- | build/temp_gyp/googleurl.gyp | 59 | ||||
-rw-r--r-- | build/temp_gyp/v8.gyp | 553 |
6 files changed, 901 insertions, 0 deletions
diff --git a/build/all.gyp b/build/all.gyp new file mode 100644 index 0000000..2367fad --- /dev/null +++ b/build/all.gyp @@ -0,0 +1,42 @@ +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'variables': { + 'chromium_code': 1, + }, + 'includes': [ + 'common.gypi', + ], + 'targets': [ + { + 'target_name': 'All', + 'type': 'none', + 'dependencies': [ + '../base/base.gyp:*', + '../chrome/chrome.gyp:*', + '../media/media.gyp:*', + '../net/net.gyp:*', + '../sdch/sdch.gyp:*', + '../skia/skia.gyp:*', + '../testing/gtest.gyp:*', + '../third_party/bzip2/bzip2.gyp:*', + '../third_party/icu38/icu38.gyp:*', + '../third_party/libevent/libevent.gyp:*', + '../third_party/libjpeg/libjpeg.gyp:*', + '../third_party/libpng/libpng.gyp:*', + '../third_party/libxml/libxml.gyp:*', + '../third_party/libxslt/libxslt.gyp:*', + '../third_party/modp_b64/modp_b64.gyp:*', + '../third_party/npapi/npapi.gyp:*', + '../third_party/sqlite/sqlite.gyp:*', + '../third_party/zlib/zlib.gyp:*', + '../webkit/tools/test_shell/test_shell.gyp:*', + '../webkit/webkit.gyp:*', + 'temp_gyp/googleurl.gyp:*', + 'temp_gyp/v8.gyp:*', + ], + }, + ], +} diff --git a/build/common.gypi b/build/common.gypi new file mode 100644 index 0000000..e9fcd2e --- /dev/null +++ b/build/common.gypi @@ -0,0 +1,211 @@ +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'variables': { + 'chromium_code%': 0, + }, + 'target_defaults': { + # TODO(bradnelson): This should really be able to be either: + # CHROMIUM_BUILD or GOOGLE_CHROME_BUILD + 'defines': ['CHROMIUM_BUILD'], + 'default_configuration': 'Debug', + 'configurations': { + 'Debug': { + 'conditions': [ + [ 'OS=="mac"', { + 'xcode_settings': { + 'COPY_PHASE_STRIP': 'NO', + 'GCC_OPTIMIZATION_LEVEL': '0', + } + }], + [ 'OS=="win"', { + 'configuration_platform': 'Win32', + 'msvs_configuration_attributes': { + 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)', + 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', + 'CharacterSet': '1', + }, + 'msvs_settings': { + 'VCCLCompilerTool': { + 'Optimization': '0', + 'PreprocessorDefinitions': ['_DEBUG'], + 'BasicRuntimeChecks': '3', + 'RuntimeLibrary': '1', + }, + 'VCLinkerTool': { + 'LinkIncremental': '1', + }, + 'VCResourceCompilerTool': { + 'PreprocessorDefinitions': ['_DEBUG'], + }, + }, + }], + ], + }, + 'Release': { + 'defines': [ + 'NDEBUG', + ], + 'conditions': [ + [ 'OS=="mac"', { + 'xcode_settings': { + 'DEAD_CODE_STRIPPING': 'YES', + } + }], + [ 'OS=="win"', { + 'configuration_platform': 'Win32', + 'msvs_props': ['release.vsprops'], + }], + ], + }, + }, + }, + 'conditions': [ + ['OS=="mac"', { + 'target_defaults': { + 'xcode_settings': { + 'ALWAYS_SEARCH_USER_PATHS': 'NO', + 'GCC_C_LANGUAGE_STANDARD': 'c99', + 'GCC_CW_ASM_SYNTAX': 'NO', + 'GCC_DYNAMIC_NO_PIC': 'YES', + 'GCC_ENABLE_PASCAL_STRINGS': 'NO', + 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES', + 'GCC_PRECOMPILE_PREFIX_HEADER': 'YES', + 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', + 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', + 'GCC_VERSION': '4.2', + 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', + 'MACOSX_DEPLOYMENT_TARGET': '10.5', + 'PREBINDING': 'NO', + 'SDKROOT': 'macosx10.5', + 'USE_HEADERMAP': 'NO', + 'WARNING_CFLAGS': ['-Wall', '-Wendif-labels'], + }, + 'target_conditions': [ + ['_type=="shared_library"', { + 'xcode_settings': {'GCC_DYNAMIC_NO_PIC': 'NO'}, + }], + ['_type!="static_library"', { + 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']}, + }], + ['_type=="application" or _type=="executable"', { + 'postbuilds': [ + { + 'variables': { + # Define strip_from_xcode in a variable ending in _path so + # that gyp understands it's a path and performs proper + # relativization during dict merging. + 'strip_from_xcode_path': 'mac/strip_from_xcode', + }, + 'postbuild_name': 'Strip If Needed', + 'action': ['<(strip_from_xcode_path)'], + }, + ], + }], + ], + }, + }], + ['OS=="win"', { + 'target_defaults': { + 'defines': [ + '_WIN32_WINNT=0x0600', + 'WINVER=0x0600', + 'WIN32', + '_WINDOWS', + '_HAS_EXCEPTIONS=0', + 'NOMINMAX', + '_CRT_RAND_S', + 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS', + 'WIN32_LEAN_AND_MEAN', + '_SECURE_ATL', + '_HAS_TR1=0', + ], + 'include_dirs': [ + '<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Include', + '$(VSInstallDir)/VC/atlmfc/include', + ], + 'msvs_cygwin_dirs': ['../third_party/cygwin'], + 'msvs_disabled_warnings': [4503, 4819], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'MinimalRebuild': 'false', + 'ExceptionHandling': '0', + 'BufferSecurityCheck': 'true', + 'EnableFunctionLevelLinking': 'true', + 'RuntimeTypeInfo': 'false', + 'WarningLevel': '3', + 'WarnAsError': 'true', + 'DebugInformationFormat': '3', + }, + 'VCLibrarianTool': { + 'AdditionalOptions': '/ignore:4221', + 'OutputFile': '$(OutDir)\\lib\\$(ProjectName).lib', + 'AdditionalLibraryDirectories': + '<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib', + }, + 'VCLinkerTool': { + 'AdditionalOptions': + '/safeseh /dynamicbase /ignore:4199 /ignore:4221 /nxcompat', + 'AdditionalDependencies': [ + 'wininet.lib', + 'version.lib', + 'msimg32.lib', + 'ws2_32.lib', + 'usp10.lib', + 'psapi.lib', + ], + 'AdditionalLibraryDirectories': + '<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib', + 'DelayLoadDLLs': 'dwmapi.dll,uxtheme.dll', + 'GenerateDebugInformation': 'true', + 'MapFileName': '$(OutDir)\\$(TargetName).map', + 'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib', + 'TargetMachine': '1', + 'FixedBaseAddress': '1', + }, + 'VCMIDLTool': { + 'GenerateStublessProxies': 'true', + 'TypeLibraryName': '$(InputName).tlb', + 'OutputDirectory': '$(IntDir)', + 'HeaderFileName': '$(InputName).h', + 'DLLDataFileName': 'dlldata.c', + 'InterfaceIdentifierFileName': '$(InputName)_i.c', + 'ProxyFileName': '$(InputName)_p.c', + }, + 'VCResourceCompilerTool': { + 'Culture' : '1033', + 'AdditionalIncludeDirectories': '<(DEPTH)', + }, + }, + }, + }], + ['chromium_code==0', { + # This section must follow the other conditon sections above because + # external_code.gypi expects to be merged into those settings. + 'includes': [ + 'external_code.gypi', + ], + }], + ], + 'xcode_settings': { + # The Xcode generator will look for an xcode_settings section at the root + # of each dict and use it to apply settings on a file-wide basis. Most + # settings should not be here, they should be in target-specific + # xcode_settings sections, or better yet, should use non-Xcode-specific + # settings in target dicts. SYMROOT is a special case, because many other + # Xcode variables depend on it, including variables such as + # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something + # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the + # files to appear (when present) in the UI as actual files and not red + # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, + # and therefore SYMROOT, needs to be set at the project level. + # + # xcodebuild_gyp is a temporary name to avoid colliding with the xcodebuild + # directory used by the non-gyp Xcode build system. When the gyp-based + # Xcode build system replaces the older system, this should be changed to + # simply "xcodebuild" or some other suitable name. + 'SYMROOT': '<(DEPTH)/xcodebuild_gyp', + }, +} diff --git a/build/external_code.gypi b/build/external_code.gypi new file mode 100644 index 0000000..ca16f86 --- /dev/null +++ b/build/external_code.gypi @@ -0,0 +1,33 @@ +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'conditions': [ + [ 'OS=="win"', { + 'target_defaults': { + 'defines': [ + '_CRT_SECURE_NO_DEPRECATE', + '_CRT_NONSTDC_NO_WARNINGS', + '_CRT_NONSTDC_NO_DEPRECATE', + '_SCL_SECURE_NO_DEPRECATE', + ], + 'msvs_disabled_warnings': [4800], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'WarnAsError': 'false', + 'Detect64BitPortabilityProblems': 'false', + }, + }, + }, + }], + [ 'OS=="mac"', { + 'target_defaults': { + 'xcode_settings': { + 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', + 'WARNING_CFLAGS!': ['-Wall'], + }, + }, + }], + ], +} diff --git a/build/temp_gyp/README.chromium b/build/temp_gyp/README.chromium new file mode 100644 index 0000000..8045d61 --- /dev/null +++ b/build/temp_gyp/README.chromium @@ -0,0 +1,3 @@ +This directory will be removed once the files in it are committed upstream and +Chromium imports an upstream revision with these files. Contact mark for +details. diff --git a/build/temp_gyp/googleurl.gyp b/build/temp_gyp/googleurl.gyp new file mode 100644 index 0000000..6452a3f --- /dev/null +++ b/build/temp_gyp/googleurl.gyp @@ -0,0 +1,59 @@ +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(mark): Upstream this file to googleurl. +{ + 'variables': { + 'chromium_code': 1, + }, + 'includes': [ + '../common.gypi', + ], + 'targets': [ + { + 'target_name': 'googleurl', + 'type': 'static_library', + 'sources': [ + '../../googleurl/src/gurl.cc', + '../../googleurl/src/gurl.h', + '../../googleurl/src/url_canon.h', + '../../googleurl/src/url_canon_etc.cc', + '../../googleurl/src/url_canon_fileurl.cc', + '../../googleurl/src/url_canon_host.cc', + '../../googleurl/src/url_canon_icu.cc', + '../../googleurl/src/url_canon_icu.h', + '../../googleurl/src/url_canon_internal.cc', + '../../googleurl/src/url_canon_internal.h', + '../../googleurl/src/url_canon_internal_file.h', + '../../googleurl/src/url_canon_ip.cc', + '../../googleurl/src/url_canon_ip.h', + '../../googleurl/src/url_canon_mailtourl.cc', + '../../googleurl/src/url_canon_path.cc', + '../../googleurl/src/url_canon_pathurl.cc', + '../../googleurl/src/url_canon_query.cc', + '../../googleurl/src/url_canon_relative.cc', + '../../googleurl/src/url_canon_stdstring.h', + '../../googleurl/src/url_canon_stdurl.cc', + '../../googleurl/src/url_file.h', + '../../googleurl/src/url_parse.cc', + '../../googleurl/src/url_parse.h', + '../../googleurl/src/url_parse_file.cc', + '../../googleurl/src/url_parse_internal.h', + '../../googleurl/src/url_util.cc', + '../../googleurl/src/url_util.h', + ], + 'dependencies': [ + '../../base/base.gyp:base', + '../../third_party/icu38/icu38.gyp:icudata', + '../../third_party/icu38/icu38.gyp:icui18n', + '../../third_party/icu38/icu38.gyp:icuuc', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../..', + ], + }, + }, + ], +} diff --git a/build/temp_gyp/v8.gyp b/build/temp_gyp/v8.gyp new file mode 100644 index 0000000..785de83 --- /dev/null +++ b/build/temp_gyp/v8.gyp @@ -0,0 +1,553 @@ +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(mark): Upstream this file to v8. +{ + 'variables': { + 'chromium_code': 1, + 'base_source_files': [ + '../../v8/src/third_party/dtoa/dtoa.c', + '../../v8/src/third_party/jscre/ASCIICType.h', + '../../v8/src/third_party/jscre/config.h', + '../../v8/src/third_party/jscre/pcre.h', + '../../v8/src/third_party/jscre/pcre_chartables.c', + '../../v8/src/third_party/jscre/pcre_compile.cpp', + '../../v8/src/third_party/jscre/pcre_exec.cpp', + '../../v8/src/third_party/jscre/pcre_internal.h', + '../../v8/src/third_party/jscre/pcre_tables.cpp', + '../../v8/src/third_party/jscre/pcre_ucp_searchfuncs.cpp', + '../../v8/src/third_party/jscre/pcre_xclass.cpp', + '../../v8/src/third_party/jscre/ucpinternal.h', + '../../v8/src/third_party/jscre/ucptable.cpp', + '../../v8/src/accessors.cc', + '../../v8/src/accessors.h', + '../../v8/src/allocation.cc', + '../../v8/src/allocation.h', + '../../v8/src/api.cc', + '../../v8/src/api.h', + '../../v8/src/apiutils.h', + '../../v8/src/arguments.h', + '../../v8/src/assembler-arm-inl.h', + '../../v8/src/assembler-arm.cc', + '../../v8/src/assembler-arm.h', + '../../v8/src/assembler-ia32-inl.h', + '../../v8/src/assembler-ia32.cc', + '../../v8/src/assembler-ia32.h', + '../../v8/src/assembler.cc', + '../../v8/src/assembler.h', + '../../v8/src/ast.cc', + '../../v8/src/ast.h', + '../../v8/src/bootstrapper.cc', + '../../v8/src/bootstrapper.h', + '../../v8/src/builtins-arm.cc', + '../../v8/src/builtins-ia32.cc', + '../../v8/src/builtins.cc', + '../../v8/src/builtins.h', + '../../v8/src/bytecodes-irregexp.h', + '../../v8/src/char-predicates-inl.h', + '../../v8/src/char-predicates.h', + '../../v8/src/checks.cc', + '../../v8/src/checks.h', + '../../v8/src/code-stubs.cc', + '../../v8/src/code-stubs.h', + '../../v8/src/code.h', + '../../v8/src/codegen-arm.cc', + '../../v8/src/codegen-arm.h', + '../../v8/src/codegen-ia32.cc', + '../../v8/src/codegen-ia32.h', + '../../v8/src/codegen-inl.h', + '../../v8/src/codegen.cc', + '../../v8/src/codegen.h', + '../../v8/src/compilation-cache.cc', + '../../v8/src/compilation-cache.h', + '../../v8/src/compiler.cc', + '../../v8/src/compiler.h', + '../../v8/src/constants-arm.h', + '../../v8/src/contexts.cc', + '../../v8/src/contexts.h', + '../../v8/src/conversions-inl.h', + '../../v8/src/conversions.cc', + '../../v8/src/conversions.h', + '../../v8/src/counters.cc', + '../../v8/src/counters.h', + '../../v8/src/cpu-arm.cc', + '../../v8/src/cpu-ia32.cc', + '../../v8/src/cpu.h', + '../../v8/src/dateparser.cc', + '../../v8/src/dateparser.h', + '../../v8/src/debug-arm.cc', + '../../v8/src/debug-ia32.cc', + '../../v8/src/debug.cc', + '../../v8/src/debug.h', + '../../v8/src/disasm-arm.cc', + '../../v8/src/disasm-ia32.cc', + '../../v8/src/disasm.h', + '../../v8/src/disassembler.cc', + '../../v8/src/disassembler.h', + '../../v8/src/dtoa-config.c', + '../../v8/src/execution.cc', + '../../v8/src/execution.h', + '../../v8/src/factory.cc', + '../../v8/src/factory.h', + '../../v8/src/flag-definitions.h', + '../../v8/src/flags.cc', + '../../v8/src/flags.h', + '../../v8/src/frames-arm.cc', + '../../v8/src/frames-arm.h', + '../../v8/src/frames-ia32.cc', + '../../v8/src/frames-ia32.h', + '../../v8/src/frames-inl.h', + '../../v8/src/frames.cc', + '../../v8/src/frames.h', + '../../v8/src/global-handles.cc', + '../../v8/src/global-handles.h', + '../../v8/src/globals.h', + '../../v8/src/handles-inl.h', + '../../v8/src/handles.cc', + '../../v8/src/handles.h', + '../../v8/src/hashmap.cc', + '../../v8/src/hashmap.h', + '../../v8/src/heap-inl.h', + '../../v8/src/heap.cc', + '../../v8/src/heap.h', + '../../v8/src/ic-arm.cc', + '../../v8/src/ic-ia32.cc', + '../../v8/src/ic-inl.h', + '../../v8/src/ic.cc', + '../../v8/src/ic.h', + '../../v8/src/interpreter-irregexp.cc', + '../../v8/src/interpreter-irregexp.h', + '../../v8/src/jsregexp-inl.h', + '../../v8/src/jsregexp.cc', + '../../v8/src/jsregexp.h', + '../../v8/src/list-inl.h', + '../../v8/src/list.h', + '../../v8/src/log.cc', + '../../v8/src/log.h', + '../../v8/src/macro-assembler-arm.cc', + '../../v8/src/macro-assembler-arm.h', + '../../v8/src/macro-assembler-ia32.cc', + '../../v8/src/macro-assembler-ia32.h', + '../../v8/src/macro-assembler.h', + '../../v8/src/mark-compact.cc', + '../../v8/src/mark-compact.h', + '../../v8/src/memory.h', + '../../v8/src/messages.cc', + '../../v8/src/messages.h', + '../../v8/src/natives.h', + '../../v8/src/objects-debug.cc', + '../../v8/src/objects-inl.h', + '../../v8/src/objects.cc', + '../../v8/src/objects.h', + '../../v8/src/parser.cc', + '../../v8/src/parser.h', + '../../v8/src/platform-freebsd.cc', + '../../v8/src/platform-linux.cc', + '../../v8/src/platform-macos.cc', + '../../v8/src/platform-nullos.cc', + '../../v8/src/platform-win32.cc', + '../../v8/src/platform.h', + '../../v8/src/prettyprinter.cc', + '../../v8/src/prettyprinter.h', + '../../v8/src/property.cc', + '../../v8/src/property.h', + '../../v8/src/regexp-macro-assembler-arm.cc', + '../../v8/src/regexp-macro-assembler-arm.h', + '../../v8/src/regexp-macro-assembler-ia32.cc', + '../../v8/src/regexp-macro-assembler-ia32.h', + '../../v8/src/regexp-macro-assembler-irregexp-inl.h', + '../../v8/src/regexp-macro-assembler-irregexp.cc', + '../../v8/src/regexp-macro-assembler-irregexp.h', + '../../v8/src/regexp-macro-assembler-tracer.cc', + '../../v8/src/regexp-macro-assembler-tracer.h', + '../../v8/src/regexp-macro-assembler.cc', + '../../v8/src/regexp-macro-assembler.h', + '../../v8/src/regexp-stack.cc', + '../../v8/src/regexp-stack.h', + '../../v8/src/rewriter.cc', + '../../v8/src/rewriter.h', + '../../v8/src/runtime.cc', + '../../v8/src/runtime.h', + '../../v8/src/scanner.cc', + '../../v8/src/scanner.h', + '../../v8/src/scopeinfo.cc', + '../../v8/src/scopeinfo.h', + '../../v8/src/scopes.cc', + '../../v8/src/scopes.h', + '../../v8/src/serialize.cc', + '../../v8/src/serialize.h', + '../../v8/src/shell.h', + '../../v8/src/simulator-arm.cc', + '../../v8/src/smart-pointer.h', + '../../v8/src/snapshot-common.cc', + '../../v8/src/snapshot.h', + '../../v8/src/spaces-inl.h', + '../../v8/src/spaces.cc', + '../../v8/src/spaces.h', + '../../v8/src/string-stream.cc', + '../../v8/src/string-stream.h', + '../../v8/src/stub-cache-arm.cc', + '../../v8/src/stub-cache-ia32.cc', + '../../v8/src/stub-cache.cc', + '../../v8/src/stub-cache.h', + '../../v8/src/token.cc', + '../../v8/src/token.h', + '../../v8/src/top.cc', + '../../v8/src/top.h', + '../../v8/src/unicode-inl.h', + '../../v8/src/unicode.cc', + '../../v8/src/unicode.h', + '../../v8/src/usage-analyzer.cc', + '../../v8/src/usage-analyzer.h', + '../../v8/src/utils.cc', + '../../v8/src/utils.h', + '../../v8/src/v8-counters.cc', + '../../v8/src/v8-counters.h', + '../../v8/src/v8.cc', + '../../v8/src/v8.h', + '../../v8/src/v8threads.cc', + '../../v8/src/v8threads.h', + '../../v8/src/variables.cc', + '../../v8/src/variables.h', + '../../v8/src/zone-inl.h', + '../../v8/src/zone.cc', + '../../v8/src/zone.h', + ], + 'not_base_source_files': [ + # These files are #included by others and are not meant to be compiled + # directly. + '../../v8/src/third_party/dtoa/dtoa.c', + '../../v8/src/third_party/jscre/pcre_chartables.c', + '../../v8/src/third_party/jscre/ucptable.cpp', + ], + 'd8_source_files': [ + '../../v8/src/d8-debug.cc', + '../../v8/src/d8-readline.cc', + '../../v8/src/d8.cc', + ], + }, + 'includes': [ + '../common.gypi', + ], + 'target_defaults': { + 'configurations': { + 'Debug': { + 'defines': [ + 'DEBUG', + 'ENABLE_DISASSEMBLER', + 'ENABLE_LOGGING_AND_PROFILING', + ], + }, + }, + 'xcode_settings': { + 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', + 'GCC_ENABLE_CPP_RTTI': 'NO', + }, + }, + 'targets': [ + # Targets that apply to any architecture. + { + 'target_name': 'js2c', + 'type': 'none', + 'variables': { + 'library_files': [ + '../../v8/src/runtime.js', + '../../v8/src/v8natives.js', + '../../v8/src/array.js', + '../../v8/src/string.js', + '../../v8/src/uri.js', + '../../v8/src/math.js', + '../../v8/src/messages.js', + '../../v8/src/apinatives.js', + '../../v8/src/debug-delay.js', + '../../v8/src/mirror-delay.js', + '../../v8/src/date-delay.js', + '../../v8/src/regexp-delay.js', + '../../v8/src/macros.py', + ], + }, + 'actions': [ + { + 'action_name': 'js2c', + 'inputs': [ + '../../v8/tools/js2c.py', + '<@(library_files)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/v8/libraries.cc', + '<(SHARED_INTERMEDIATE_DIR)/v8/libraries-empty.cc', + ], + 'action': ['python', '../../v8/tools/js2c.py', '<@(_outputs)', 'CORE', '<@(library_files)'], + # TODO(sgk): figure out how to get gyp and SCons to play nice here. + 'conditions': [ + ['OS=="linux"', {'action=': ['python', '${SOURCES[0]}', '${TARGETS}', 'CORE', '${SOURCES[1:]}'],}], + ], + }, + ], + }, + { + 'target_name': 'd8_js2c', + 'type': 'none', + 'variables': { + 'library_files': [ + '../../v8/src/d8.js', + '../../v8/src/macros.py', + ], + }, + 'actions': [ + { + 'action_name': 'js2c', + 'inputs': [ + '../../v8/tools/js2c.py', + '<@(library_files)', + ], + 'extra_inputs': [ + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/v8/d8-js.cc', + '<(SHARED_INTERMEDIATE_DIR)/v8/d8-js-empty.cc', + ], + 'action': ['python', '../../v8/tools/js2c.py', '<@(_outputs)', 'D8', '<@(library_files)'], + # TODO(sgk): figure out how to get gyp and SCons to play nice here. + 'conditions': [ + ['OS=="linux"', {'action=': ['python', '${SOURCES[0]}', '${TARGETS}', 'D8', '${SOURCES[1:]}'],}], + ], + }, + ], + }, + + # Targets to build v8 for the native architecture (ia32). + { + 'target_name': 'v8_base', + 'type': 'static_library', + 'include_dirs': [ + '../../v8/src', + ], + 'sources': [ + '<@(base_source_files)', + ], + 'sources!': [ + '<@(not_base_source_files)', + ], + 'sources/': [ + ['exclude', '-arm\\.cc$'], + ['exclude', 'src/platform-.*\\.cc$' ], + ], + 'conditions': [ + ['OS=="linux"', {'sources/': [['include', 'src/platform-linux\\.cc$']]}], + ['OS=="mac"', {'sources/': [['include', 'src/platform-macos\\.cc$']]}], + ['OS=="win"', { + 'sources/': [['include', 'src/platform-win32\\.cc$']], + # 4355, 4800 came from common.vsprops + # 4018, 4244 were a per file config on dtoa-config.c + # TODO: It's probably possible and desirable to stop disabling the + # dtoa-specific warnings by modifying dtoa as was done in Chromium + # r9255. Refer to that revision for details. + 'msvs_disabled_warnings': [4355, 4800, 4018, 4244], + 'all_dependent_settings': { + 'msvs_system_libraries': [ 'winmm.lib' ], + }, + }], + ], + }, + { + 'target_name': 'v8_nosnapshot', + 'type': 'static_library', + 'dependencies': [ + 'js2c', + 'v8_base', + ], + 'include_dirs': [ + '../../v8/src', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/v8/libraries.cc', + '../../v8/src/snapshot-empty.cc', + ], + }, + { + 'target_name': 'mksnapshot', + 'type': 'executable', + 'dependencies': [ + 'v8_nosnapshot', + ], + 'sources': [ + '../../v8/src/mksnapshot.cc', + ], + }, + { + 'target_name': 'v8', + 'type': 'static_library', + 'dependencies': [ + 'js2c', + 'mksnapshot', + 'v8_base', + ], + 'actions': [ + { + 'action_name': 'mksnapshot', + 'inputs': [ + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/snapshot.cc', + ], + 'action': ['<@(_inputs)', '<@(_outputs)'], + }, + ], + 'include_dirs': [ + '../../v8/src', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/v8/libraries-empty.cc', + '<(INTERMEDIATE_DIR)/snapshot.cc', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../../v8/include', + ], + }, + }, + { + 'target_name': 'v8_shell', + 'type': 'executable', + 'dependencies': [ + 'v8', + ], + 'sources': [ + '../../v8/samples/shell.cc', + ], + 'conditions': [ + [ 'OS=="win"', { + # This could be gotten by not setting chromium_code, if that's OK. + 'defines': ['_CRT_SECURE_NO_WARNINGS'], + }], + ], + }, + { + 'target_name': 'd8', + 'type': 'executable', + 'dependencies': [ + 'd8_js2c', + 'v8', + ], + 'include_dirs': [ + '../../v8/src', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/v8/d8-js.cc', + '<@(d8_source_files)', + ], + 'conditions': [ + [ 'OS=="linux"', { + 'link_settings': { 'libraries': [ '-lreadline' ] }, + }], + [ 'OS=="mac"', { + 'link_settings': { 'libraries': [ + '$(SDKROOT)/usr/lib/libreadline.dylib' + ]}, + }], + [ 'OS=="win"', { + 'sources!': [ '../../v8/src/d8-readline.cc' ], + }], + ], + }, + + # ARM targets, to test ARM code generation. These use an ARM simulator + # (src/simulator-arm.cc). The ARM targets are not snapshot-enabled. + { + 'target_name': 'v8_arm', + 'type': 'static_library', + 'dependencies': [ + 'js2c', + ], + 'defines': [ + 'ARM', + ], + 'include_dirs': [ + '../../v8/src', + ], + 'sources': [ + '<@(base_source_files)', + '<(SHARED_INTERMEDIATE_DIR)/v8/libraries.cc', + '../../v8/src/snapshot-empty.cc', + ], + 'sources!': [ + '<@(not_base_source_files)', + ], + 'sources/': [ + ['exclude', '-ia32\\.cc$'], + ['exclude', 'src/platform-.*\\.cc$' ], + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../../v8/include', + ], + }, + 'conditions': [ + ['OS=="linux"', {'sources/': [['include', 'src/platform-linux\\.cc$']]}], + ['OS=="mac"', {'sources/': [['include', 'src/platform-macos\\.cc$']]}], + ['OS=="win"', { + 'sources/': [['include', 'src/platform-win32\\.cc$']], + # 4355, 4800 came from common.vsprops + # 4018, 4244 were a per file config on dtoa-config.c + # TODO: It's probably possible and desirable to stop disabling the + # dtoa-specific warnings by modifying dtoa as was done in Chromium + # r9255. Refer to that revision for details. + 'msvs_disabled_warnings': [4355, 4800, 4018, 4244], + }], + ], + }, + { + 'target_name': 'v8_shell_arm', + 'type': 'executable', + 'dependencies': [ + 'v8_arm', + ], + 'defines': [ + 'ARM', + ], + 'sources': [ + '../../v8/samples/shell.cc', + ], + 'conditions': [ + [ 'OS=="win"', { + # This could be gotten by not setting chromium_code, if that's OK. + 'defines': ['_CRT_SECURE_NO_WARNINGS'], + }], + ], + }, + { + 'target_name': 'd8_arm', + 'type': 'executable', + 'dependencies': [ + 'd8_js2c', + 'v8_arm', + ], + 'defines': [ + 'ARM', + ], + 'include_dirs': [ + '../../v8/src', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/v8/d8-js.cc', + '<@(d8_source_files)', + ], + 'conditions': [ + [ 'OS=="linux"', { + 'link_settings': { 'libraries': [ '-lreadline' ] }, + }], + [ 'OS=="mac"', { + 'link_settings': { 'libraries': [ + '$(SDKROOT)/usr/lib/libreadline.dylib' + ]}, + }], + [ 'OS=="win"', { + 'sources!': [ '../../v8/src/d8-readline.cc' ], + }], + ], + }, + ], +} |