diff options
Diffstat (limited to 'o3d/installer/win/installer.gyp')
-rw-r--r-- | o3d/installer/win/installer.gyp | 302 |
1 files changed, 302 insertions, 0 deletions
diff --git a/o3d/installer/win/installer.gyp b/o3d/installer/win/installer.gyp new file mode 100644 index 0000000..9ea9145 --- /dev/null +++ b/o3d/installer/win/installer.gyp @@ -0,0 +1,302 @@ +# 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, + 'wixdir': 'third_party\\wix_2_0_4221\\files', + 'dx_redist_path': '../../../o3d-internal/third_party/dx_nov_2007_redist', + 'dx_redist_exists': '<!(python ../../build/file_exists.py ../../../o3d-internal/third_party/dx_nov_2007_redist/d3dx9_36.dll)', + 'guidgen': '..\\..\\nbguidgen\\win\\nbguidgen.exe', + 'nppversion': '<!(python ../../plugin/version_info.py --commaversion)', + 'dotnppversion': '<!(python ../../plugin/version_info.py --version)', + + # Unique guid for o3d namespace + 'o3d_namespace_guid': 'B445DBAE-F5F9-435A-9A9B-088261CDF00A', + + # Changing the following values would break upgrade paths, so we hard-code the + # values instead of generating them. + 'bad_old_o3d_upgrade_code': 'dc819ed6-4155-3cff-b580-45626aed5848', + 'o3d_extras_google_update_guid': '{34B2805D-C72C-4f81-AED5-5A22D1E092F1}', + 'o3d_extras_upgrade_code': 'c271f2f0-c7ad-3bc9-8216-211436aa2244', + 'o3d_npp_google_update_guid': '{70308795-045C-42da-8F4E-D452381A7459}', + 'o3d_npp_upgrade_code': '0f098121-2876-3c23-bd4c-501220ecbb42', + + # We don't actually want the extras version to update by itself; + # it should change only when we actually add something to the + # installer or change the d3dx9 version. This version is + # therefore independent of the o3d plugin and sdk versions. + 'extrasversion': '0,1,1,0', + 'dotextrasversion': '0.1.1.0', + + # Registry paths for Google Update + 'google_update_reg_path': 'Software\\Google\\Update\\Clients\\', + 'google_update_state_reg_path': 'Software\\Google\\Update\\ClientState\\', + }, + 'includes': [ + '../../build/common.gypi', + ], + 'targets': [ + { + 'target_name': 'cactions', + 'type': 'shared_library', + 'sources': [ + 'custom_actions.cc', + ], + 'include_dirs': [ + '$(DXSDK_DIR)/Include', + '../..', + '../../..', + '<(INTERMEDIATE_DIR)', + ], + 'defines': [ + 'NOMINMAX', + 'WIN32', + 'WIN32_LEAN_AND_MEAN', + '_ATL_SECURE_NO_WARNINGS', + '_CRT_SECURE_NO_DEPRECATE', + '_UNICODE', # turn on unicode + '_WIN32_WINNT=0x0600', + '_WINDOWS', + ], + 'libraries': [ + '-ladvapi32.lib', + '"$(DXSDK_DIR)/Lib/x86/dxguid.lib"', + '-lmsi.lib', + '-lole32.lib', + '-loleaut32.lib', + '-lshell32.lib', + '-lshlwapi.lib', + '-luser32.lib', + ], + # Disable the #pragma deprecated warning because + # ATL seems to use deprecated CRT libs. + 'msvs_disabled_warnings': [4995], + 'msvs_configuration_attributes': { + 'UseOfATL': '1', # 1 = static link to ATL, 2 = dynamic link + }, + 'copies': [ + { + 'destination': '<(PRODUCT_DIR)', + 'files': [ + 'cactions.dll', + ], + }, + ], + }, + { + 'target_name': 'installer', + 'type': 'none', + 'variables': { + 'candle_exe': '../../../<(wixdir)/candle.exe', + 'light_exe': '../../../<(wixdir)/light.exe', + 'custom_actions_path': '<(PRODUCT_DIR)/cactions.dll', + 'd3dx_guid': '<!(<(guidgen) <(o3d_namespace_guid) d3dx-<(nppversion))', + 'dbl_path': '../../installer/win/driver_blacklist.txt', + 'dx_redist_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'dx_redist-<(nppversion))', + 'get_extras_path': '<(PRODUCT_DIR)/getextras.exe', + 'ieplugin_path': '<(PRODUCT_DIR)/o3d_host.dll', + 'include_software_renderer': + '<!(python ../../build/file_exists.py ' + '../../../<(swiftshaderdir)/swiftshader_d3d9.dll)', + 'npplugin_path': '<(PRODUCT_DIR)/npo3dautoplugin.dll', + 'o3d_driver_blacklist_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_driver_blacklist-<(nppversion))', + 'o3d_get_extras_guid': + '<!(<(guidgen) <(o3d_namespace_guid) extras_installer-)', + 'o3d_iep_component_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_ieplugin_component-<(nppversion))', + 'o3d_npp_component_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_npplugin_component-<(nppversion))', + 'o3d_npp_google_update_reg_component_guid': + '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_user_google_update_reg_component-<(nppversion))', + 'o3d_npp_package_guid': '<!(<(guidgen) <(o3d_namespace_guid) o3d_package-<(nppversion))', + 'o3d_npp_product_guid': '<!(<(guidgen) <(o3d_namespace_guid) o3d_product-<(nppversion))', + 'o3d_npp_reg_key': + '<(google_update_reg_path)<(o3d_npp_google_update_guid)', + 'o3d_npp_state_reg_key': + '<(google_update_state_reg_path)<(o3d_npp_google_update_guid)', + 'o3d_reporter_guid': + '<!(<(guidgen) <(o3d_namespace_guid) o3d_reporter-<(nppversion))', + 'o3d_software_renderer_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_software_renderer-<(nppversion))', + 'rep_path': '<(PRODUCT_DIR)/reporter.exe', + 'software_renderer_path': + '../../../<(swiftshaderdir)/swiftshader_d3d9.dll', + }, + 'dependencies': [ + '../../converter/converter.gyp:o3dConverter', + '../../breakpad/breakpad.gyp:reporter', + '../../google_update/google_update.gyp:getextras', + '../../documentation/documentation.gyp:*', + '../../plugin/plugin.gyp:npo3dautoplugin', + '../../plugin/plugin.gyp:o3d_host', + '../../samples/samples.gyp:samples', + 'cactions', + ], + 'rules': [ + { + 'rule_name': 'candle', + 'extension': 'wxs', + 'process_outputs_as_sources': 1, + 'inputs': [ + '<(candle_exe)', + '../../installer/win/docs.url', + '<(PRODUCT_DIR)/cactions.dll', + '<(PRODUCT_DIR)/cg.dll', + '<(PRODUCT_DIR)/cgGL.dll', + '<(PRODUCT_DIR)/cgc.exe', + '<(PRODUCT_DIR)/o3dConditioner.exe', + '<(dbl_path)', + '<(get_extras_path)', + '<(ieplugin_path)', + '<(npplugin_path)', + '<(rep_path)', + ], + 'outputs': [ + '<(RULE_INPUT_ROOT).wixobj', + ], + 'action': [ + '<(candle_exe)', + '-nologo', + '-dCustomActionsPath=<(custom_actions_path)', + '-dD3DXGuid=<(d3dx_guid)', + '-dDBLGuid=<(o3d_driver_blacklist_guid)', + '-dDBLPath=<(dbl_path)', + '-dDeprecatedUpgradeCode=<(bad_old_o3d_upgrade_code)', + '-dGetExtrasGuid=<(o3d_get_extras_guid)', + '-dGetExtrasPath=<(get_extras_path)', + '-dIEPluginPath=<(ieplugin_path)', + '-dIepComponentGuid=<(o3d_iep_component_guid)', + '-dIncludeSoftwareRenderer=include_software_renderer', + '-dNPPluginPath=<(npplugin_path)', + '-dNppComponentGuid=<(o3d_npp_component_guid)', + '-dNppGoogleUpdateRegGuid=<(o3d_npp_google_update_reg_component_guid)', + '-dNppGoogleUpdateRegKey=<(o3d_npp_reg_key)', + '-dNppGoogleUpdateStateRegKey=<(o3d_npp_state_reg_key)', + '-dNppPackageGuid=<(o3d_npp_package_guid)', + '-dNppProductGuid=<(o3d_npp_product_guid)', + '-dNppUpgradeCode=<(o3d_npp_upgrade_code)', + '-dNppVersion=<(dotnppversion)', + '-dRepGuid=<(o3d_reporter_guid)', + '-dRepPath=<(rep_path)', + '-dSoftwareRendererGuid=<(o3d_software_renderer_guid)', + '-dSoftwareRendererPath=<(software_renderer_path)', + '-o', + '<(RULE_INPUT_ROOT).wixobj', + '<(RULE_INPUT_PATH)', + ], + 'message': 'Generating installer from <(RULE_INPUT_PATH)', + }, + { + 'rule_name': 'light', + 'extension': 'wixobj', + 'process_outputs_as_sources': 1, + 'inputs': [ + '<(light_exe)', + ], + 'outputs': [ + '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).msi', + ], + 'action': [ + '<(light_exe)', + '-nologo', + '-out', + '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).msi', + '<(RULE_INPUT_PATH)', + ], + 'message': 'Linking installer from <(RULE_INPUT_PATH)', + }, + ], + 'sources': [ + 'o3d.wxs', + ], + }, + ], + 'conditions': [ + ['"<(dx_redist_exists)" == "True"', + { + 'targets': [ + { + 'target_name': 'extras_installer', + 'type': 'none', + 'variables': { + 'candle_exe': '../../../<(wixdir)/candle.exe', + 'light_exe': '../../../<(wixdir)/light.exe', + 'o3d_extras_d3dx_component_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_extras_d3dx_component-<(nppversion))', + 'o3d_extras_package_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_extras_package-<(extrasversion))', + 'o3d_extras_product_guid': '<!(<(guidgen) <(o3d_namespace_guid) ' + 'o3d_extras_product-<(extrasversion))', + 'o3d_extras_reg_key': + '<(google_update_reg_path)<(o3d_extras_google_update_guid)', + }, + 'rules': [ + { + 'rule_name': 'candle', + 'extension': 'wxs', + 'process_outputs_as_sources': 1, + 'inputs': [ + '<(candle_exe)', + ], + 'outputs': [ + '<(RULE_INPUT_ROOT).wixobj', + ], + 'action': [ + '<(candle_exe)', + '-nologo', + '-dDxRedistPath=<(dx_redist_path)', + '-dExtrasD3DXComponentGuid=<(o3d_extras_d3dx_component_guid)', + '-dExtrasGoogleUpdateRegGuid=<(o3d_extras_google_update_guid)', + '-dExtrasGoogleUpdateRegKey=<(o3d_extras_reg_key)', + '-dExtrasPackageGuid=<(o3d_extras_package_guid)', + '-dExtrasProductGuid=<(o3d_extras_product_guid)', + '-dExtrasUpgradeCode=<(o3d_extras_upgrade_code)', + '-dExtrasVersion=<(dotextrasversion)', + '-o', + '<(RULE_INPUT_ROOT).wixobj', + '<(RULE_INPUT_PATH)', + ], + 'message': 'Generating extras installer from <(RULE_INPUT_PATH)', + }, + { + 'rule_name': 'light', + 'extension': 'wixobj', + 'process_outputs_as_sources': 1, + 'inputs': [ + '<(light_exe)', + ], + 'outputs': [ + '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).msi', + ], + 'action': [ + '<(light_exe)', + '-nologo', + '-out', + '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).msi', + '<(RULE_INPUT_PATH)', + ], + 'message': 'Linking extras installer from <(RULE_INPUT_PATH)', + }, + ], + 'sources': [ + 'o3dextras.wxs', + ], + }, + ], + }, + { + 'targets': [ + { + 'target_name': 'extras_installer', + 'type': 'none', + }, + ], + }, + ], + ], +} |