diff options
-rw-r--r-- | build/common.gypi | 25 | ||||
-rw-r--r-- | chrome/chrome.gyp | 1 | ||||
-rw-r--r-- | chrome/installer/installer.gyp | 144 | ||||
-rwxr-xr-x | chrome/installer/mini_installer.gyp | 180 |
4 files changed, 198 insertions, 152 deletions
diff --git a/build/common.gypi b/build/common.gypi index 1da2034..3005391 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -60,6 +60,11 @@ # Once all vsprops settings are migrated into gyp, this can go away. 'msvs_use_common_release%': 1, + # TODO(bradnelson): eliminate this when possible. + # To allow local gyp files to override additional linker options for msvs. + # Yes(1) means set use the common linker options. + 'msvs_use_common_linker_extras%': 1, + # TODO(sgk): eliminate this if possible. # It would be nicer to support this via a setting in 'target_defaults' # in chrome/app/locales/locales.gypi overriding the setting in the @@ -76,7 +81,7 @@ 'toolkit_views%': 0, 'linux2%': 0, - + 'chrome_personalization%': 0, }, 'target_defaults': { @@ -483,8 +488,6 @@ ['<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib'], }, 'VCLinkerTool': { - 'AdditionalOptions': - '/safeseh:NO /dynamicbase:NO /ignore:4199 /ignore:4221 /nxcompat', 'AdditionalDependencies': [ 'wininet.lib', 'version.lib', @@ -496,11 +499,6 @@ ], 'AdditionalLibraryDirectories': ['<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib'], - 'DelayLoadDLLs': [ - 'dbghelp.dll', - 'dwmapi.dll', - 'uxtheme.dll', - ], 'GenerateDebugInformation': 'true', 'MapFileName': '$(OutDir)\\$(TargetName).map', 'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib', @@ -545,6 +543,17 @@ ], }, }], + ['msvs_use_common_linker_extras', { + 'VCLinkerTool': { + 'AdditionalOptions': + '/safeseh /dynamicbase /ignore:4199 /ignore:4221 /nxcompat', + 'DelayLoadDLLs': [ + 'dbghelp.dll', + 'dwmapi.dll', + 'uxtheme.dll', + ], + }, + }], ], 'scons_settings': { 'sconsbuild_dir': '<(DEPTH)/sconsbuild', diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index e221965..683284d 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -4130,6 +4130,7 @@ 'target_name': 'pull_in_all', 'type': 'none', 'dependencies': [ + 'installer/mini_installer.gyp:*', 'installer/installer.gyp:*', '../app/app.gyp:*', '../base/base.gyp:*', diff --git a/chrome/installer/installer.gyp b/chrome/installer/installer.gyp index 67e84c1..b5fde68 100644 --- a/chrome/installer/installer.gyp +++ b/chrome/installer/installer.gyp @@ -307,150 +307,6 @@ }, }, { - 'target_name': 'mini_installer', - 'type': 'executable', - 'msvs_guid': '24A5AC7C-280B-4899-9153-6BA570A081E7', - 'dependencies': [ - '../chrome.gyp:chrome', - '../chrome.gyp:chrome_dll', - '../../testing/gtest.gyp:gtest', - 'setup', - ], - 'include_dirs': [ - '../..', - '<(PRODUCT_DIR)', - '<(INTERMEDIATE_DIR)', - ], - 'sources': [ - 'mini_installer/chrome.release', - 'mini_installer/mini_installer.cc', - 'mini_installer/mini_installer.h', - 'mini_installer/mini_installer.ico', - 'mini_installer/mini_installer.rc', - 'mini_installer/mini_installer_exe_version.rc.version', - 'mini_installer/mini_installer_resource.h', - 'mini_installer/pe_resource.cc', - 'mini_installer/pe_resource.h', - ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'EnableIntrinsicFunctions': 'true', - 'BufferSecurityCheck': 'false', - }, - 'VCLinkerTool': { - 'RandomizedBaseAddress': '1', - 'DataExecutionPrevention': '0', - 'AdditionalDependencies': [ - '"$(VCInstallDir)crt\\src\\intel\\mt_lib\\memset.obj"', - '"$(VCInstallDir)crt\\src\\intel\\mt_lib\\P4_memset.obj"', - 'shlwapi.lib', - ], - 'AdditionalLibraryDirectories': - ['<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib;<(PRODUCT_DIR)/lib'], - 'DelayLoadDLLs=': [], - 'EntryPointSymbol': 'MainEntryPoint', - 'GenerateMapFile': 'true', - 'IgnoreAllDefaultLibraries': 'true', - 'OptimizeForWindows98': '1', - 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS - }, - }, - 'configurations': { - 'Debug': { - 'msvs_settings': { - 'VCCLCompilerTool': { - 'BasicRuntimeChecks': '0', - }, - }, - }, - 'Release': { - 'msvs_settings': { - 'VCCLCompilerTool': { - 'BasicRuntimeChecks': '0', - }, - }, - }, - }, - 'rules': [ - { - 'rule_name': 'mini_installer_version', - 'extension': 'version', - 'variables': { - 'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version', - }, - 'inputs': [ - '<(template_input_path)', - '<(version_path)', - '<(lastchange_path)', - '<(branding_dir)/BRANDING', - ], - 'outputs': [ - '<(INTERMEDIATE_DIR)/mini_installer_exe_version.rc', - ], - 'action': [ - 'python', '<(version_py)', - '-f', '<(version_path)', - '-f', '<(lastchange_path)', - '-f', '<(branding_dir)/BRANDING', - '<(template_input_path)', - '<@(_outputs)', - ], - 'process_outputs_as_sources': 1, - 'message': 'Generating version information' - }, - { - 'rule_name': 'installer_archive', - 'extension': 'release', - 'variables': { - 'create_installer_archive_py_path': - '../tools/build/win/create_installer_archive.py', - }, - 'inputs': [ - '<(create_installer_archive_py_path)', - '<(PRODUCT_DIR)/chrome.exe', - '<(PRODUCT_DIR)/chrome.dll', - '<(PRODUCT_DIR)/locales/en-US.dll', - '<(PRODUCT_DIR)/icudt38.dll', - ], - 'outputs': [ - 'xxx.out', - '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).7z', - '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).packed.7z', - '<(PRODUCT_DIR)/setup.ex_', - '<(PRODUCT_DIR)/packed_files.txt', - ], - 'action': [ - 'python', - '<(create_installer_archive_py_path)', - '--output_dir=<(PRODUCT_DIR)', - '--input_file=<(RULE_INPUT_PATH)', - # TODO(sgk): may just use environment variables - #'--distribution=$(CHROMIUM_BUILD)', - '--distribution=_google_chrome', - ], - 'message': 'Create installer archive' - }, - ], - # TODO(mark): <(branding_dir) should be defined by the - # global condition block at the bottom of the file, but - # this doesn't work due to the following issue: - # - # http://code.google.com/p/gyp/issues/detail?id=22 - # - # Remove this block once the above issue is fixed. - 'conditions': [ - [ 'branding == "Chrome"', { - 'variables': { - 'branding_dir': '../app/theme/google_chrome', - }, - }, { # else branding!="Chrome" - 'variables': { - 'branding_dir': '../app/theme/chromium', - }, - }], - ], - }, - { 'target_name': 'mini_installer_test', 'type': 'executable', 'msvs_guid': '4B6E199A-034A-49BD-AB93-458DD37E45B1', diff --git a/chrome/installer/mini_installer.gyp b/chrome/installer/mini_installer.gyp new file mode 100755 index 0000000..e8885ef --- /dev/null +++ b/chrome/installer/mini_installer.gyp @@ -0,0 +1,180 @@ +{ + 'variables': { + 'version_py': '../../chrome/tools/build/version.py', + 'version_path': '../../chrome/VERSION', + 'lastchange_path': '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE', + # 'branding_dir' is set in the 'conditions' section at the bottom. + 'msvs_use_common_linker_extras': 0, + 'msvs_use_common_release': 0, + }, + 'includes': [ + '../../build/common.gypi', + ], + 'conditions': [ + ['OS=="win"', { + 'targets': [ + { + 'target_name': 'mini_installer', + 'type': 'executable', + 'msvs_guid': '24A5AC7C-280B-4899-9153-6BA570A081E7', + 'dependencies': [ + '../chrome.gyp:chrome', + '../chrome.gyp:chrome_dll', + '../../testing/gtest.gyp:gtest', + 'installer.gyp:setup', + ], + 'include_dirs': [ + '../..', + '<(PRODUCT_DIR)', + '<(INTERMEDIATE_DIR)', + ], + 'sources': [ + 'mini_installer/chrome.release', + 'mini_installer/mini_installer.cc', + 'mini_installer/mini_installer.h', + 'mini_installer/mini_installer.ico', + 'mini_installer/mini_installer.rc', + 'mini_installer/mini_installer_exe_version.rc.version', + 'mini_installer/mini_installer_resource.h', + 'mini_installer/pe_resource.cc', + 'mini_installer/pe_resource.h', + ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'EnableIntrinsicFunctions': 'true', + 'BufferSecurityCheck': 'false', + }, + 'VCLinkerTool': { + 'AdditionalOptions': + '/safeseh:no /dynamicbase:no /ignore:4199 /ignore:4221 /nxcompat', + 'RandomizedBaseAddress': '1', + 'DataExecutionPrevention': '0', + 'AdditionalLibraryDirectories': + ['<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib;<(PRODUCT_DIR)/lib'], + # TODO(bradnelson): change when vsprops are all in gyp. + 'DelayLoadDLLs': [], + 'EntryPointSymbol': 'MainEntryPoint', + 'GenerateMapFile': 'true', + 'IgnoreAllDefaultLibraries': 'true', + 'OptimizeForWindows98': '1', + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + }, + }, + 'configurations': { + 'Debug': { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'BasicRuntimeChecks': '0', + }, + # TODO(bradnelson): Add these back to common configuration + # when vsprops goes away. + 'VCLinkerTool': { + 'AdditionalDependencies': [ + '"$(VCInstallDir)crt\\src\\intel\\mt_lib\\memset.obj"', + '"$(VCInstallDir)crt\\src\\intel\\mt_lib\\P4_memset.obj"', + 'shlwapi.lib', + ], + }, + }, + }, + 'Release': { + 'msvs_props': ['mini_installer/mini_installer_release.vsprops'], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'BasicRuntimeChecks': '0', + }, + }, + }, + }, + 'rules': [ + { + 'rule_name': 'mini_installer_version', + 'extension': 'version', + 'variables': { + 'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version', + }, + 'inputs': [ + '<(template_input_path)', + '<(version_path)', + '<(lastchange_path)', + '<(branding_dir)/BRANDING', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/mini_installer_exe_version.rc', + ], + 'action': [ + 'python', '<(version_py)', + '-f', '<(version_path)', + '-f', '<(lastchange_path)', + '-f', '<(branding_dir)/BRANDING', + '<(template_input_path)', + '<@(_outputs)', + ], + 'process_outputs_as_sources': 1, + 'message': 'Generating version information' + }, + { + 'rule_name': 'installer_archive', + 'extension': 'release', + 'variables': { + 'create_installer_archive_py_path': + '../tools/build/win/create_installer_archive.py', + }, + 'inputs': [ + '<(create_installer_archive_py_path)', + '<(PRODUCT_DIR)/chrome.exe', + '<(PRODUCT_DIR)/chrome.dll', + '<(PRODUCT_DIR)/locales/en-US.dll', + '<(PRODUCT_DIR)/icudt38.dll', + ], + 'outputs': [ + 'xxx.out', + '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).7z', + '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).packed.7z', + '<(PRODUCT_DIR)/setup.ex_', + '<(PRODUCT_DIR)/packed_files.txt', + ], + 'action': [ + 'python', + '<(create_installer_archive_py_path)', + '--output_dir=<(PRODUCT_DIR)', + '--input_file=<(RULE_INPUT_PATH)', + # TODO(sgk): may just use environment variables + #'--distribution=$(CHROMIUM_BUILD)', + '--distribution=_google_chrome', + ], + 'message': 'Create installer archive' + }, + ], + # TODO(mark): <(branding_dir) should be defined by the + # global condition block at the bottom of the file, but + # this doesn't work due to the following issue: + # + # http://code.google.com/p/gyp/issues/detail?id=22 + # + # Remove this block once the above issue is fixed. + 'conditions': [ + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], + ], + }, + ], + }], + [ 'branding == "Chrome"', { + 'variables': { + 'branding_dir': '../app/theme/google_chrome', + }, + }, { # else branding!="Chrome" + 'variables': { + 'branding_dir': '../app/theme/chromium', + }, + }], + ], +} |