summaryrefslogtreecommitdiffstats
path: root/chrome/chrome_dll.gypi
diff options
context:
space:
mode:
authorgregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-23 21:20:16 +0000
committergregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-23 21:20:16 +0000
commitf645f6e2a0cdc85f04fdfb4cd7a6d462027deb71 (patch)
treeeb4febae02996866c0a4512370bfb440663ac6b8 /chrome/chrome_dll.gypi
parent6fb8d07549e52937a293f8300353583d92975e7e (diff)
downloadchromium_src-f645f6e2a0cdc85f04fdfb4cd7a6d462027deb71.zip
chromium_src-f645f6e2a0cdc85f04fdfb4cd7a6d462027deb71.tar.gz
chromium_src-f645f6e2a0cdc85f04fdfb4cd7a6d462027deb71.tar.bz2
Revert 35230 - Split more targets from chrome.gyp to add support for building Native Client for 64bit Windows.
This CL is required for supporting Native Client on 64bit Windows. On Win64 we will use a 64bit executable to load NaCl modules. Since we have only one version of Chrome on Windows, this executable has to be built together with 32bit Chrome binaries. For the targets that are required for both 32bit and 64bit builds, this CL moves the shared parts of the target definitions into targetspecific gypi files (such as base.gypi). New 64bit only targets are added. Since we would like to port as few code as possible at this point, some 64bit targets include less source files or less dependencies than the original 32bit targets. These targets will have nacl_win64 in their name to emphasize that they should be used for NaCl only. Some 64bit targets are identical to the 32bit targets in everything except for the target platform these will have only win64 in their name. TEST=none BUG=28176 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=34983 Review URL: http://codereview.chromium.org/384068 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/516013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35232 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome_dll.gypi')
-rw-r--r--chrome/chrome_dll.gypi515
1 files changed, 0 insertions, 515 deletions
diff --git a/chrome/chrome_dll.gypi b/chrome/chrome_dll.gypi
deleted file mode 100644
index 78c15ee..0000000
--- a/chrome/chrome_dll.gypi
+++ /dev/null
@@ -1,515 +0,0 @@
-# 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.
-{
- 'target_defaults': {
- 'variables': {
- 'chrome_dll_target': 0,
- },
- 'target_conditions': [
- ['chrome_dll_target==1', {
- 'conditions': [
- ['OS=="win"', {
- 'include_dirs': [
- 'third_party/wtl/include',
- ],
- 'defines': [
- 'CHROME_DLL',
- 'BROWSER_DLL',
- 'RENDERER_DLL',
- 'PLUGIN_DLL',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'BaseAddress': '0x01c30000',
- 'DelayLoadDLLs': [
- 'crypt32.dll',
- 'cryptui.dll',
- 'winhttp.dll',
- 'wininet.dll',
- 'wsock32.dll',
- 'ws2_32.dll',
- 'winspool.drv',
- 'comdlg32.dll',
- 'imagehlp.dll',
- 'urlmon.dll',
- 'imm32.dll',
- 'iphlpapi.dll',
- ],
- # Set /SUBSYSTEM:WINDOWS for chrome.dll (for consistency).
- 'SubSystem': '2',
- },
- 'VCManifestTool': {
- 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.manifest',
- },
- },
- 'configurations': {
- 'Debug_Base': {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
- },
- },
- },
- },
- }], # OS=="win"
- ], # conditions
- }],
- ],
- },
- 'conditions': [
- ['OS=="mac" or OS=="win"', {
- 'targets': [
- {
- 'target_name': 'chrome_dll',
- 'type': 'shared_library',
- 'variables': {
- 'chrome_dll_target': 1,
- },
- 'dependencies': [
- '<@(chromium_dependencies)',
- ],
- 'conditions': [
- ['OS=="win"', {
- 'product_name': 'chrome',
- 'msvs_guid': 'C0A7EE2C-2A6D-45BE-BA78-6D006FDF52D9',
- 'dependencies': [
- # On Windows, link the dependencies (libraries) that make
- # up actual Chromium functionality into this .dll.
- 'chrome_dll_version',
- 'chrome_resources',
- 'installer/installer.gyp:installer_util_strings',
- 'worker',
- '../printing/printing.gyp:printing',
- '../net/net.gyp:net_resources',
- '../build/util/support/support.gyp:*',
- '../third_party/cld/cld.gyp:cld',
- '../views/views.gyp:views',
- '../webkit/webkit.gyp:webkit_resources',
- '../gears/gears.gyp:gears',
- ],
- 'sources': [
- 'app/chrome_dll.rc',
- 'app/chrome_dll_main.cc',
- 'app/chrome_dll_resource.h',
- '<(SHARED_INTERMEDIATE_DIR)/chrome_dll_version/chrome_dll_version.rc',
-
- '../webkit/glue/resources/aliasb.cur',
- '../webkit/glue/resources/cell.cur',
- '../webkit/glue/resources/col_resize.cur',
- '../webkit/glue/resources/copy.cur',
- '../webkit/glue/resources/row_resize.cur',
- '../webkit/glue/resources/vertical_text.cur',
- '../webkit/glue/resources/zoom_in.cur',
- '../webkit/glue/resources/zoom_out.cur',
-
- # TODO: It would be nice to have these pulled in
- # automatically from direct_dependent_settings in
- # their various targets (net.gyp:net_resources, etc.),
- # but that causes errors in other targets when
- # resulting .res files get referenced multiple times.
- '<(SHARED_INTERMEDIATE_DIR)/app/app_resources/app_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/theme_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
-
- # TODO(sgk): left-over from pre-gyp build, figure out
- # if we still need them and/or how to update to gyp.
- #'app/check_dependents.bat',
- #'app/chrome.dll.deps',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'ImportLibrary': '$(OutDir)\\lib\\chrome_dll.lib',
- 'ProgramDatabaseFile': '$(OutDir)\\chrome_dll.pdb',
- },
- },
- }], # OS=="win"
- ['OS=="mac"', {
- # The main browser executable's name is <(mac_product_name).
- # Certain things will get confused if two modules in the
- # executable share the same name, so append " Framework" to the
- # product_name used for the framework. This will result in
- # a name like "Chromium Framework.framework".
- 'product_name': '<(mac_product_name) Framework',
- 'mac_bundle': 1,
- 'xcode_settings': {
- 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
-
- # The dylib versions are of the form a[.b[.c]], where a is a
- # 16-bit unsigned integer, and b and c are 8-bit unsigned
- # integers. Any missing component is taken to be 0. The
- # best mapping from product version numbers into this scheme
- # is to just use the build and patch numbers. There is no
- # ambiguity in this scheme because the build number is
- # guaranteed unique even across distinct major and minor
- # version numbers. These settings correspond to
- # -compatibility_version and -current_version.
- 'DYLIB_COMPATIBILITY_VERSION': '<(version_build_patch)',
- 'DYLIB_CURRENT_VERSION': '<(version_build_patch)',
-
- # The framework is placed within the .app's versioned
- # directory. DYLIB_INSTALL_NAME_BASE and
- # LD_DYLIB_INSTALL_NAME affect -install_name.
- 'DYLIB_INSTALL_NAME_BASE':
- '@executable_path/../Versions/<(version_full)',
- # See tools/build/mac/copy_framework_unversioned for
- # information on LD_DYLIB_INSTALL_NAME.
- 'LD_DYLIB_INSTALL_NAME':
- '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(WRAPPER_NAME)/$(PRODUCT_NAME)',
-
- 'INFOPLIST_FILE': 'app/framework-Info.plist',
-
- # Define the order of symbols within the framework. This
- # sets -order_file.
- 'ORDER_FILE': 'app/framework.order',
- },
- 'sources': [
- 'app/chrome_dll_main.cc',
- 'app/chrome_dll_resource.h',
- 'app/chrome_exe_main.mm',
- ],
- # TODO(mark): Come up with a fancier way to do this. It should
- # only be necessary to list framework-Info.plist once, not the
- # three times it is listed here.
- 'mac_bundle_resources': [
- 'app/framework-Info.plist',
- 'app/nibs/About.xib',
- 'app/nibs/AboutIPC.xib',
- 'app/nibs/BookmarkAllTabs.xib',
- 'app/nibs/BookmarkBar.xib',
- 'app/nibs/BookmarkBubble.xib',
- 'app/nibs/BookmarkEditor.xib',
- 'app/nibs/BookmarkNameFolder.xib',
- 'app/nibs/BrowserWindow.xib',
- 'app/nibs/ClearBrowsingData.xib',
- 'app/nibs/DownloadItem.xib',
- 'app/nibs/DownloadShelf.xib',
- 'app/nibs/EditSearchEngine.xib',
- 'app/nibs/ExtensionShelf.xib',
- 'app/nibs/FindBar.xib',
- 'app/nibs/FirstRunDialog.xib',
- 'app/nibs/HungRendererDialog.xib',
- 'app/nibs/HttpAuthLoginSheet.xib',
- 'app/nibs/ImportSettingsDialog.xib',
- 'app/nibs/InfoBar.xib',
- 'app/nibs/InfoBarContainer.xib',
- 'app/nibs/ImportProgressDialog.xib',
- 'app/nibs/KeywordEditor.xib',
- 'app/nibs/MainMenu.xib',
- 'app/nibs/PageInfo.xib',
- 'app/nibs/Preferences.xib',
- 'app/nibs/ReportBug.xib',
- 'app/nibs/SaveAccessoryView.xib',
- 'app/nibs/SadTab.xib',
- 'app/nibs/TabContents.xib',
- 'app/nibs/TabView.xib',
- 'app/nibs/TaskManager.xib',
- 'app/nibs/Toolbar.xib',
- 'app/theme/back_Template.pdf',
- 'app/theme/chevron.png', # TODO(jrg): get and use a pdf version
- 'app/theme/close_bar.pdf',
- 'app/theme/close_bar_h.pdf',
- 'app/theme/close_bar_p.pdf',
- 'app/theme/find_next_Template.pdf',
- 'app/theme/find_prev_Template.pdf',
- 'app/theme/forward_Template.pdf',
- 'app/theme/go_Template.pdf',
- 'app/theme/home_Template.pdf',
- 'app/theme/menu_chrome_rtl_Template.pdf',
- 'app/theme/menu_chrome_Template.pdf',
- 'app/theme/menu_page_rtl_Template.pdf',
- 'app/theme/menu_page_Template.pdf',
- 'app/theme/nav.pdf',
- 'app/theme/newtab.pdf',
- 'app/theme/newtab_h.pdf',
- 'app/theme/newtab_p.pdf',
- 'app/theme/otr_icon.pdf',
- 'app/theme/reload_Template.pdf',
- 'app/theme/star_Template.pdf',
- 'app/theme/starred.pdf',
- 'app/theme/stop_Template.pdf',
- ],
- 'mac_bundle_resources!': [
- 'app/framework-Info.plist',
- ],
- 'dependencies': [
- # Bring in pdfsqueeze and run it on all pdfs
- '../build/temp_gyp/pdfsqueeze.gyp:pdfsqueeze',
- '../build/util/support/support.gyp:*',
- ],
- 'rules': [
- {
- 'rule_name': 'pdfsqueeze',
- 'extension': 'pdf',
- 'inputs': [
- '<(PRODUCT_DIR)/pdfsqueeze',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/pdfsqueeze/<(RULE_INPUT_ROOT).pdf',
- ],
- 'action': ['<(PRODUCT_DIR)/pdfsqueeze',
- '<(RULE_INPUT_PATH)', '<@(_outputs)'],
- 'message': 'Running pdfsqueeze on <(RULE_INPUT_PATH)',
- },
- ],
- 'variables': {
- 'repack_path': '../tools/data_pack/repack.py',
- },
- 'actions': [
- # TODO(mark): These actions are duplicated for Linux and
- # FreeBSD in the chrome target. Can they be unified?
- {
- 'action_name': 'repack_chrome',
- 'variables': {
- 'pak_inputs': [
- '<(grit_out_dir)/browser_resources.pak',
- '<(grit_out_dir)/common_resources.pak',
- '<(grit_out_dir)/renderer_resources.pak',
- '<(grit_out_dir)/theme_resources.pak',
- '<(SHARED_INTERMEDIATE_DIR)/app/app_resources/app_resources.pak',
- '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
- ],
- },
- 'inputs': [
- '<(repack_path)',
- '<@(pak_inputs)',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/repack/chrome.pak',
- ],
- 'action': ['python', '<(repack_path)', '<@(_outputs)',
- '<@(pak_inputs)'],
- 'process_outputs_as_mac_bundle_resources': 1,
- },
- {
- 'action_name': 'repack_locales',
- 'process_outputs_as_mac_bundle_resources': 1,
- 'variables': {
- 'conditions': [
- ['branding=="Chrome"', {
- 'branding_flag': ['-b', 'google_chrome',],
- }, { # else: branding!="Chrome"
- 'branding_flag': ['-b', 'chromium',],
- }],
- ],
- },
- 'inputs': [
- 'tools/build/repack_locales.py',
- # NOTE: Ideally the common command args would be shared
- # amongst inputs/outputs/action, but the args include shell
- # variables which need to be passed intact, and command
- # expansion wants to expand the shell variables. Adding the
- # explicit quoting here was the only way it seemed to work.
- '>!@(<(repack_locales_cmd) -i <(branding_flag) -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))',
- ],
- 'outputs': [
- '>!@(<(repack_locales_cmd) -o -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))',
- ],
- 'action': [
- '<@(repack_locales_cmd)',
- '<@(branding_flag)',
- '-g', '<(grit_out_dir)',
- '-s', '<(SHARED_INTERMEDIATE_DIR)',
- '-x', '<(INTERMEDIATE_DIR)',
- '<@(locales)',
- ],
- },
- ],
- 'postbuilds': [
- {
- # This step causes an error to be raised if the .order file
- # does not account for all global text symbols. It
- # validates the completeness of the .order file.
- 'postbuild_name': 'Verify global text symbol order',
- 'variables': {
- 'verify_order_path': 'tools/build/mac/verify_order',
- },
- 'action': [
- '<(verify_order_path)',
- '_ChromeMain',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- ],
- },
- {
- # Modify the Info.plist as needed. The script explains why
- # this is needed. This is also done in the chrome target.
- # The framework needs the Breakpad and Keystone keys if
- # those features are enabled. It doesn't currently use the
- # Subversion keys for anything, but this seems like a really
- # good place to store them.
- 'postbuild_name': 'Tweak Info.plist',
- 'action': ['<(tweak_info_plist_path)',
- '-b<(mac_breakpad)',
- '-k<(mac_keystone)',
- '-s1',
- '<(branding)',
- '<(mac_bundle_id)'],
- },
- {
- 'postbuild_name': 'Symlink Libraries',
- 'action': [
- 'ln',
- '-fhs',
- 'Versions/Current/Libraries',
- '${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Libraries'
- ],
- },
- ],
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
- 'files': [
- '<(PRODUCT_DIR)/resources/inspector/'
- ],
- 'conditions': [
- ['mac_breakpad==1', {
- 'files': [
- '<(PRODUCT_DIR)/crash_inspector',
- '<(PRODUCT_DIR)/crash_report_sender.app'
- ],
- }],
- ],
- },
- {
- 'destination':
- '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
- 'files': [
- # TODO(ajwong): Find a way to share this path with
- # ffmpeg.gyp so they don't diverge. (BUG=23602)
- '<(PRODUCT_DIR)/libffmpegsumo.dylib',
- ],
- },
- ],
- 'conditions': [
- ['mac_breakpad==1', {
- 'variables': {
- # A real .dSYM is needed for dump_syms to operate on.
- 'mac_real_dsym': 1,
- },
- 'sources': [
- 'app/breakpad_mac.mm',
- 'app/breakpad_mac.h',
- ],
- 'dependencies': [
- '../breakpad/breakpad.gyp:breakpad',
- ],
- }, { # else: mac_breakpad!=1
- # No Breakpad, put in the stubs.
- 'sources': [
- 'app/breakpad_mac_stubs.mm',
- 'app/breakpad_mac.h',
- ],
- }], # mac_breakpad
- ['mac_keystone==1', {
- 'variables': {
- 'conditions': [
- ['branding=="Chrome"', {
- 'theme_dir_name': 'google_chrome',
- }, { # else: 'branding!="Chrome"
- 'theme_dir_name': 'chromium',
- }],
- ],
- },
- 'mac_bundle_resources': [
- # This image is used to badge the lock icon in the
- # promotion authentication dialog. It needs to exist as
- # a file on disk and not just something in a resource
- # bundle because that's the interface that Authorization
- # Services uses. Also, Authorization Services can't deal
- # with .icns files.
- 'app/theme/<(theme_dir_name)/product_logo_32.png',
-
- 'browser/cocoa/keystone_promote_preflight.sh',
- 'browser/cocoa/keystone_promote_postflight.sh',
- ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Copy KeystoneRegistration.framework',
- 'action': [
- 'tools/build/mac/copy_framework_unversioned',
- '../third_party/googlemac/Releases/Keystone/KeystoneRegistration.framework',
- '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Frameworks',
- ],
- },
- {
- 'postbuild_name': 'Symlink Frameworks',
- 'action': [
- 'ln',
- '-fhs',
- 'Versions/Current/Frameworks',
- '${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Frameworks'
- ],
- },
- ],
- }], # mac_keystone
- ], # conditions
- }], # OS=="mac"
- ], # conditions
- }, # target chrome_dll
- ], # targets
- }], # OS=="mac" or OS=="win"
- [ 'OS=="win"', {
- 'targets': [
- {
- 'target_name': 'chrome_dll_nacl_win64',
- 'type': 'shared_library',
- 'product_name': 'chrome_nacl_win64',
- 'msvs_guid': 'F5B2D851-1279-4CE1-9386-AB7C6433551B',
- 'variables': {
- 'chrome_dll_target': 1,
- },
- 'include_dirs': [
- '..',
- ],
- 'dependencies': [
- '<@(nacl_win64_dependencies)',
- 'chrome_dll_version',
- 'nacl_win64',
- ],
- 'defines': [
- '<@(nacl_win64_defines)',
- ],
- 'sources': [
- 'app/chrome_dll_main.cc',
- 'app/chrome_dll_resource.h',
- 'browser/renderer_host/render_process_host_dummy.cc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome_dll_version/chrome_dll_version.rc',
-
- # TODO: It would be nice to have these pulled in
- # automatically from direct_dependent_settings in
- # their various targets (net.gyp:net_resources, etc.),
- # but that causes errors in other targets when
- # resulting .res files get referenced multiple times.
- '<(SHARED_INTERMEDIATE_DIR)/app/app_resources/app_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
-
- # TODO(sgk): left-over from pre-gyp build, figure out
- # if we still need them and/or how to update to gyp.
- #'app/check_dependents.bat',
- #'app/chrome.dll.deps',
-
- # Stub entry points for process types that are not supported
- # by NaCl Win64 executable
- 'app/dummy_main_functions.cc',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'ImportLibrary': '$(OutDir)\\lib\\chrome_dll_nacl_win64.lib',
- 'ProgramDatabaseFile': '$(OutDir)\\chrome_dll_nacl_win64.pdb',
- },
- },
- 'configurations': {
- 'Common_Base': {
- 'msvs_target_platform': 'x64',
- },
- },
- }, # target chrome_dll
- ],
- }],
- ],
-}