diff options
author | petewil@chromium.org <petewil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-09 18:48:05 +0000 |
---|---|---|
committer | petewil@chromium.org <petewil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-09 18:48:05 +0000 |
commit | ef1af5c3183fe154fa51ff89f71f0977b72ac3b4 (patch) | |
tree | 5ce852b4b5391d03b4dd0189c9c84c4414fa8e56 | |
parent | 140cc3f38bf484809401e1bccba891c53f56491d (diff) | |
download | chromium_src-ef1af5c3183fe154fa51ff89f71f0977b72ac3b4.zip chromium_src-ef1af5c3183fe154fa51ff89f71f0977b72ac3b4.tar.gz chromium_src-ef1af5c3183fe154fa51ff89f71f0977b72ac3b4.tar.bz2 |
Allow Win64 build of base library even in a Win32 build.
Some components of a 32 bit build of chrome for Windows need to be built
as Win64 Dlls. To allow those components to use base, we make a Win64
build of the base library even when building chrome 32 bit.
This is needed by the Chrome Desk Band code. crbug.com/327435.
https://codereview.chromium.org/79173004/
BUG=327435
Review URL: https://codereview.chromium.org/103333004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243936 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | base/base.gyp | 46 | ||||
-rw-r--r-- | chrome/chrome_exe.gypi | 2 | ||||
-rw-r--r-- | chrome/chrome_installer.gypi | 2 | ||||
-rw-r--r-- | chrome/common_constants.gyp | 2 | ||||
-rw-r--r-- | cloud_print/virtual_driver/win/virtual_driver64.gyp | 2 | ||||
-rw-r--r-- | components/breakpad.gypi | 4 | ||||
-rw-r--r-- | courgette/courgette.gyp | 4 | ||||
-rw-r--r-- | crypto/crypto.gyp | 2 | ||||
-rw-r--r-- | gpu/gpu.gyp | 2 | ||||
-rw-r--r-- | ipc/ipc.gyp | 2 | ||||
-rw-r--r-- | ppapi/ppapi_internal.gyp | 6 | ||||
-rw-r--r-- | sandbox/win/sandbox_win.gypi | 2 | ||||
-rw-r--r-- | third_party/modp_b64/modp_b64.gyp | 27 |
13 files changed, 82 insertions, 21 deletions
diff --git a/base/base.gyp b/base/base.gyp index db88dfa..76ff7a5 100644 --- a/base/base.gyp +++ b/base/base.gyp @@ -1015,8 +1015,10 @@ }], ['OS == "win" and target_arch=="ia32"', { 'targets': [ + # The base_win64 target here allows us to use base for Win64 targets + # (the normal build is 32 bits). { - 'target_name': 'base_nacl_win64', + 'target_name': 'base_win64', 'type': '<(component)', 'variables': { 'base_target': 1, @@ -1024,6 +1026,7 @@ 'dependencies': [ 'base_static_win64', 'allocator/allocator.gyp:allocator_extension_thunks_win64', + '../third_party/modp_b64/modp_b64.gyp:modp_b64_win64', 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', ], # TODO(gregoryd): direct_dependent_settings should be shared with the @@ -1034,12 +1037,9 @@ ], }, 'defines': [ + 'BASE_WIN64', '<@(nacl_win64_defines)', ], - 'sources!': [ - # base64.cc depends on modp_b64. - 'base64.cc', - ], 'configurations': { 'Common_Base': { 'msvs_target_platform': 'x64', @@ -1052,6 +1052,40 @@ ], }], ], + # TODO(rvargas): Bug 78117. Remove this. + 'msvs_disabled_warnings': [ + 4244, + 4996, + 4267, + ], + 'sources': [ + 'third_party/nspr/prcpucfg.h', + 'third_party/nspr/prcpucfg_win.h', + 'third_party/nspr/prtypes.h', + 'third_party/xdg_user_dirs/xdg_user_dir_lookup.cc', + 'third_party/xdg_user_dirs/xdg_user_dir_lookup.h', + 'async_socket_io_handler.h', + 'async_socket_io_handler_posix.cc', + 'async_socket_io_handler_win.cc', + 'auto_reset.h', + 'event_recorder.h', + 'event_recorder_stubs.cc', + 'event_recorder_win.cc', + 'linux_util.cc', + 'linux_util.h', + 'md5.cc', + 'md5.h', + 'message_loop/message_pump_observer.h', + 'message_loop/message_pump_libevent.cc', + 'message_loop/message_pump_libevent.h', + 'metrics/field_trial.cc', + 'metrics/field_trial.h', + 'posix/file_descriptor_shuffle.cc', + 'posix/file_descriptor_shuffle.h', + 'sync_socket.h', + 'sync_socket_win.cc', + 'sync_socket_posix.cc', + ], }, { 'target_name': 'base_i18n_nacl_win64', @@ -1103,7 +1137,7 @@ }, }, 'defines': [ - 'NACL_WIN64', + '<@(nacl_win64_defines)', ], # TODO(rvargas): Bug 78117. Remove this. 'msvs_disabled_warnings': [ diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi index f694ae0..52c06d8 100644 --- a/chrome/chrome_exe.gypi +++ b/chrome/chrome_exe.gypi @@ -591,7 +591,7 @@ 'chrome_version_resources', 'installer_util_nacl_win64', '../base/base.gyp:base_i18n_nacl_win64', - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../base/base.gyp:base_static_win64', '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', '../breakpad/breakpad.gyp:breakpad_handler_win64', diff --git a/chrome/chrome_installer.gypi b/chrome/chrome_installer.gypi index 95c80ae..4561054 100644 --- a/chrome/chrome_installer.gypi +++ b/chrome/chrome_installer.gypi @@ -482,7 +482,7 @@ '<@(nacl_win64_defines)', ], 'dependencies': [ - '<(DEPTH)/base/base.gyp:base_nacl_win64', + '<(DEPTH)/base/base.gyp:base_win64', ], 'configurations': { 'Common_Base': { diff --git a/chrome/common_constants.gyp b/chrome/common_constants.gyp index d556275..5166dad 100644 --- a/chrome/common_constants.gyp +++ b/chrome/common_constants.gyp @@ -99,7 +99,7 @@ '<(SHARED_INTERMEDIATE_DIR)', # Needed by chrome_paths.cc. ], 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../components/nacl.gyp:nacl_switches_win64', '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', ], diff --git a/cloud_print/virtual_driver/win/virtual_driver64.gyp b/cloud_print/virtual_driver/win/virtual_driver64.gyp index b41a992..26a167f 100644 --- a/cloud_print/virtual_driver/win/virtual_driver64.gyp +++ b/cloud_print/virtual_driver/win/virtual_driver64.gyp @@ -11,7 +11,7 @@ '<@(nacl_win64_defines)', ], 'dependencies': [ - '<(DEPTH)/base/base.gyp:base_nacl_win64', + '<(DEPTH)/base/base.gyp:base_win64', '<(DEPTH)/chrome/chrome.gyp:launcher_support64', '<(DEPTH)/chrome/common_constants.gyp:common_constants_win64', ], diff --git a/components/breakpad.gypi b/components/breakpad.gypi index f613bfb..9dcf912 100644 --- a/components/breakpad.gypi +++ b/components/breakpad.gypi @@ -105,7 +105,7 @@ 'COMPILE_CONTENT_STATICALLY', ], 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../breakpad/breakpad.gyp:breakpad_handler_win64', '../breakpad/breakpad.gyp:breakpad_sender_win64', '../sandbox/sandbox.gyp:sandbox_win64', @@ -120,7 +120,7 @@ 'target_name': 'breakpad_crash_service_win64', 'type': 'static_library', 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../breakpad/breakpad.gyp:breakpad_handler_win64', '../breakpad/breakpad.gyp:breakpad_sender_win64', ], diff --git a/courgette/courgette.gyp b/courgette/courgette.gyp index 9de536f..fbd1ced 100644 --- a/courgette/courgette.gyp +++ b/courgette/courgette.gyp @@ -176,7 +176,7 @@ 'target_name': 'courgette_lib64', 'type': 'static_library', 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk64', ], 'sources': [ @@ -196,7 +196,7 @@ ], 'dependencies': [ 'courgette_lib64', - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', ], 'configurations': { 'Common_Base': { diff --git a/crypto/crypto.gyp b/crypto/crypto.gyp index c932946..1f22aa9 100644 --- a/crypto/crypto.gyp +++ b/crypto/crypto.gyp @@ -327,7 +327,7 @@ # for the helper. 'type': '<(component)', 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', ], 'sources': [ diff --git a/gpu/gpu.gyp b/gpu/gpu.gyp index 0de31cf..3aeedfc1 100644 --- a/gpu/gpu.gyp +++ b/gpu/gpu.gyp @@ -550,7 +550,7 @@ 'gpu_ipc.gypi', ], 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../ipc/ipc.gyp:ipc_win64', ], 'defines': [ diff --git a/ipc/ipc.gyp b/ipc/ipc.gyp index ace836b..95c6fd12 100644 --- a/ipc/ipc.gyp +++ b/ipc/ipc.gyp @@ -156,7 +156,7 @@ 'ipc_target': 1, }, 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', # TODO(viettrungluu): Needed for base/lazy_instance.h, which is # suspect. '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', diff --git a/ppapi/ppapi_internal.gyp b/ppapi/ppapi_internal.gyp index 26bd9c4..989a591 100644 --- a/ppapi/ppapi_internal.gyp +++ b/ppapi/ppapi_internal.gyp @@ -224,7 +224,7 @@ }, 'dependencies': [ 'ppapi.gyp:ppapi_c', - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', '../ipc/ipc.gyp:ipc_win64', ], @@ -232,7 +232,7 @@ '<@(nacl_win64_defines)', ], 'export_dependent_settings': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', ], 'configurations': { 'Common_Base': { @@ -248,7 +248,7 @@ 'ppapi_ipc_target': 1, }, 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../ipc/ipc.gyp:ipc_win64', '../gpu/gpu.gyp:gpu_ipc_win64', 'ppapi.gyp:ppapi_c', diff --git a/sandbox/win/sandbox_win.gypi b/sandbox/win/sandbox_win.gypi index 1fa8279..afc031c 100644 --- a/sandbox/win/sandbox_win.gypi +++ b/sandbox/win/sandbox_win.gypi @@ -337,7 +337,7 @@ 'target_arch': 'x64', }, 'dependencies': [ - '../base/base.gyp:base_nacl_win64', + '../base/base.gyp:base_win64', '../base/base.gyp:base_static_win64', ], 'configurations': { diff --git a/third_party/modp_b64/modp_b64.gyp b/third_party/modp_b64/modp_b64.gyp index baed111..6176c5d 100644 --- a/third_party/modp_b64/modp_b64.gyp +++ b/third_party/modp_b64/modp_b64.gyp @@ -18,4 +18,31 @@ ], }, ], + 'conditions': [ + ['OS == "win" and target_arch=="ia32"', { + # Even if we are building the browser for Win32, we need a few modules + # to be built for Win64, and this is a prerequsite. + 'targets': [ + { + 'target_name': 'modp_b64_win64', + 'type': 'static_library', + # We can't use dynamic_annotations target for win64 build since it is + # a 32-bit library. + 'include_dirs': [ + '../..', + ], + 'sources': [ + 'modp_b64.cc', + 'modp_b64.h', + 'modp_b64_data.h', + ], + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + }, + ], + }], + ], } |