summaryrefslogtreecommitdiffstats
path: root/o3d/installer
diff options
context:
space:
mode:
authorgspencer@google.com <gspencer@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-02 19:00:07 +0000
committergspencer@google.com <gspencer@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-02 19:00:07 +0000
commit7937c84250348ba25af03cfdc6d8d9d0a7098128 (patch)
tree9bf54cfa70cde313d00040d252c3105a2ecfb293 /o3d/installer
parent83aec62c726e56e6c5c0499c872aab03ff031a3c (diff)
downloadchromium_src-7937c84250348ba25af03cfdc6d8d9d0a7098128.zip
chromium_src-7937c84250348ba25af03cfdc6d8d9d0a7098128.tar.gz
chromium_src-7937c84250348ba25af03cfdc6d8d9d0a7098128.tar.bz2
This change kills the SCons build, since we have switched completely
over to GYP. It also copies the contents of DEPS_gyp to DEPS, and removes the DEPS_gyp file. Review URL: http://codereview.chromium.org/354011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30729 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/installer')
-rw-r--r--o3d/installer/linux/build.scons208
-rw-r--r--o3d/installer/win/build.scons246
2 files changed, 0 insertions, 454 deletions
diff --git a/o3d/installer/linux/build.scons b/o3d/installer/linux/build.scons
deleted file mode 100644
index 85e08c2..0000000
--- a/o3d/installer/linux/build.scons
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 2009, Google Inc.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os
-import subprocess
-import SCons
-
-Import('env')
-
-# Check if Debian packaging tools are installed. If so, make a .deb package.
-if subprocess.Popen(["which", "dpkg-buildpackage"],
- stdout=open(os.devnull, "w")).wait() == 0:
-
- print('Found dpkg-buildpackage in PATH; will create Debian packages.');
-
- current_source_dir = os.path.join(env['SCONSTRUCT_DIR'], 'installer/linux')
-
- def OutputFromShellCommand(command):
- process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
- return process.communicate()[0].strip()
-
- def _InternalBuildDebianPackage(env, src_dir, obj_dir, debian_files,
- package_files, output_dir=None, force_version=None):
- """Creates build rules to build a Debian package from the specified sources.
-
- Args:
- env: SCons Environment.
- src_dir: Current source path, to which the debian_files are
- relative.
- obj_dir: Directory to place object files in.
- debian_files: Array of the Debian control file sources that should be
- copied into the package source tree, e.g., changelog, control, rules,
- etc. Must be relative to current source dir.
- package_files: An array of 2-tuples listing the files that should be
- copied into the package source tree.
- The first element is the path where the file should be placed for the
- .install control file to find it, relative to the generated debian
- package source directory.
- The second element is the file source.
- output_dir: An optional directory to place the files in. If omitted, the
- current output directory is used.
- force_version: Optional. Forces the version of the package to start with
- this version string if specified. If the last entry in the changelog
- is not for a version that starts with this then a dummy entry is
- generated with this version and a ~prerelease suffix (so that the
- final version will compare as greater).
-
- Return:
- A list of the targets (at least two).
- """
- # Read the control file and changelog file to determine the package name,
- # version, and arch that the Debian build tools will use to name the
- # generated files.
- control_file = None
- changelog_file = None
- for file in debian_files:
- if os.path.basename(file) == "control":
- control_file = os.path.join(src_dir, file)
- elif os.path.basename(file) == "changelog":
- changelog_file = os.path.join(src_dir, file)
- if control_file == None:
- raise Exception("Need to have a control file")
- if changelog_file == None:
- raise Exception("Need to have a changelog file")
- source = OutputFromShellCommand(
- "awk '/^Source:/ { print $2; }' " + control_file)
- packages = OutputFromShellCommand(
- "awk '/^Package:/ { print $2; }' " + control_file).split("\n")
- version = OutputFromShellCommand(
- "sed -nr '1 { s/.*\\((.*)\\).*/\\1/; p }' " + changelog_file)
- arch = OutputFromShellCommand(
- "awk '/^Architecture:/ { print $2; }' %s | head -n 1" % control_file)
- add_dummy_changelog_entry = False
- if force_version != None and not version.startswith(force_version):
- print('Warning: no entry in ' + changelog_file + ' for version ' +
- force_version + ' (last is ' + version +'). A dummy entry will be ' +
- 'generated. Remember to add the real changelog entry before ' +
- 'releasing.');
- version = force_version + '~prerelease'
- add_dummy_changelog_entry = True
- source_dir_name = source + "_" + version + "_" + arch
- target_file_names = [ source_dir_name + ".changes" ]
- for package in packages:
- package_file_name = package + "_" + version + "_" + arch + ".deb"
- target_file_names.append(package_file_name)
- # The targets
- if output_dir != None:
- targets = [os.path.join(output_dir, s) for s in target_file_names]
- else:
- targets = target_file_names
- # Path to where we will construct the debian build tree.
- deb_build_tree = os.path.join(obj_dir, source_dir_name, "deb_build_tree")
- # First copy the files.
- for file in package_files:
- env.Command(os.path.join(deb_build_tree, file[0]), file[1],
- SCons.Defaults.Copy('$TARGET', '$SOURCE'))
- env.Depends(targets, os.path.join(deb_build_tree, file[0]))
- # Now copy the Debian metadata sources. We have to do this all at once so
- # that we can remove the target directory before copying, because there
- # can't be any other stale files there or else dpkg-buildpackage may use
- # them and give incorrect build output.
- copied_debian_files_paths = []
- for file in debian_files:
- copied_debian_files_paths.append(os.path.join(deb_build_tree, "debian",
- os.path.basename(file)))
- copy_commands = [
- """dir=$$(dirname $TARGET) && \
- rm -Rf $$dir && \
- mkdir -p $$dir && \
- cp $SOURCES $$dir && \
- chmod -R u+w $$dir"""
- ]
- if add_dummy_changelog_entry:
- copy_commands += [
- """debchange -c $$(dirname $TARGET)/changelog --newversion %s \
- --distribution UNRELEASED \
- 'Developer preview build. (This entry was auto-generated.)'""" %
- version
- ]
- env.Command(copied_debian_files_paths, debian_files, copy_commands)
- env.Depends(targets, copied_debian_files_paths)
- # TODO(tschmelcher): Change this to sign the package for Google builds once
- # we start putting out Linux releases.
- # Must explicitly specify -a because otherwise cross-builds won't work.
- # Must explicitly specify -D because -a disables it.
- # Must explicitly specify fakeroot because old dpkg tools don't assume that.
- env.Command(targets, None,
- """dir=%(dir)s && \
- cd $$dir && \
- dpkg-buildpackage -b -uc -a%(arch)s -D -rfakeroot && \
- cd $$OLDPWD && \
- for file in %(targets)s; do \
- mv $$dir/../$$file $$(dirname $TARGET); \
- done""" %
- {'dir':env.Dir(deb_build_tree).path,
- 'arch':arch,
- 'targets':" ".join(target_file_names)})
- return targets
-
- def BuildDebianPackage(debian_files, package_files, output_dir=None,
- force_version=None):
- return _InternalBuildDebianPackage(env, current_source_dir, ".",
- debian_files, package_files, output_dir, force_version)
-
- # Build amd64 package.
- BuildDebianPackage(["debian_common/changelog",
- "debian_amd64/control",
- "debian_amd64/google-o3d.install",
- "debian_common/links",
- "debian_amd64/postinst",
- "debian_amd64/prerm",
- "debian_amd64/rules"
- ],
- [("libnpo3dautoplugin.so",
- '$ARTIFACTS_DIR/libnpo3dautoplugin.so'),
- ("libGLEW.so.1.5", '$ARTIFACTS_DIR/libGLEW.so.1.5'),
- ("libCg.so", '$ARTIFACTS_DIR/libCg.so'),
- ("libCgGL.so", '$ARTIFACTS_DIR/libCgGL.so')
- ],
- output_dir='$ARTIFACTS_DIR',
- force_version=env.get('O3D_PLUGIN_VERSION'))
-
- # Build i386 package.
- BuildDebianPackage(["debian_common/changelog",
- "debian_i386/control",
- "debian_i386/google-o3d.install",
- "debian_common/links",
- "debian_i386/rules"
- ],
- [("libnpo3dautoplugin.so",
- '$ARTIFACTS_DIR/libnpo3dautoplugin.so'),
- ("libCg.so", '$ARTIFACTS_DIR/libCg.so'),
- ("libCgGL.so", '$ARTIFACTS_DIR/libCgGL.so')
- ],
- output_dir='$ARTIFACTS_DIR',
- force_version=env.get('O3D_PLUGIN_VERSION'))
-
-else:
- print('dpkg-buildpackage not found in PATH; Debian packages will not be '
- 'built.');
-
-# TODO(tschmelcher): Also build an RPM and a tgz.
diff --git a/o3d/installer/win/build.scons b/o3d/installer/win/build.scons
deleted file mode 100644
index 2ec45be..0000000
--- a/o3d/installer/win/build.scons
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2009, Google Inc.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-import os
-Import('env')
-
-INPUTS = [
- 'custom_actions.cc',
-]
-
-CUSTOM_ACTIONS_LIBS = [
- 'advapi32',
- 'dxguid',
- 'msi',
- 'ole32',
- 'oleaut32',
- 'shell32',
- 'shlwapi',
- 'user32',
-]
-
-# Build the dll, provide our own set of libraries to be linked with our dll.
-# It is important to have full control of this since custom actions will run
-# in a 'sandbox' and can't have external dependencies.
-cactions = env.ComponentLibrary('cactions', INPUTS, LIBS=CUSTOM_ACTIONS_LIBS,
- COMPONENT_STATIC=False)
-
-# copy to artifacts
-env.Replicate('$ARTIFACTS_DIR', cactions[0])
-
-# Unique guid for o3d namespace generated by www.guidgen.com
-o3d_namespace_guid = 'B445DBAE-F5F9-435A-9A9B-088261CDF00A'
-
-# Pull out version numbers.
-nppversion = env.get('O3D_PLUGIN_VERSION_COMMAS')
-dotnppversion = env.get('O3D_PLUGIN_VERSION')
-# 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'
-
-# TODO: this should be a tool!!
-
-# Utility function for generating GUID's in the o3d namespace.
-def gen_named_guid(namespace_guid, name, version):
- nbguidgen_exe = env.File('$SCONSTRUCT_DIR/nbguidgen/win/nbguidgen.exe')
- guid = os.popen('%s %s %s' %
- (nbguidgen_exe.abspath, namespace_guid,
- '%s-%s' % (name, version))).read()
- return guid
-
-def get_guid_generator(namespace_guid, version):
- return lambda name: gen_named_guid(namespace_guid, name, version)
-
-# TODO: These all return the same generator if their versions match.
-# Is that a problem? Do we really need more than one of them?
-plugin_guid_generator = \
- get_guid_generator(o3d_namespace_guid, nppversion)
-extras_guid_generator = \
- get_guid_generator(o3d_namespace_guid, extrasversion)
-
-google_update_reg_path = 'Software\\Google\\Update\\Clients\\'
-google_update_state_reg_path = 'Software\\Google\\Update\\ClientState\\'
-
-# Guids and other variables for the plugin installer:
-o3d_npp_product_guid = plugin_guid_generator('o3d_product')
-o3d_npp_package_guid = plugin_guid_generator('o3d_package')
-dx_redist_guid = plugin_guid_generator('dx_redist')
-d3dx_guid = plugin_guid_generator('d3dx')
-
-# Changing the following values would break upgrade paths, so we hard-code the
-# values instead of generating them. The commands used to generate them are
-# kept, so that we can avoid creating collisions accidentally.
-
-# bad_old_o3d_upgrade_code = gen_named_guid(o3d_namespace_guid,
-# 'magicflute_upgrade', '')
-# o3d_npp_upgrade_code = gen_named_guid(o3d_namespace_guid,
-# 'plugin_upgrade', '')
-# o3d_extras_upgrade_code = gen_named_guid(o3d_namespace_guid,
-# 'extras_upgrade', '')
-bad_old_o3d_upgrade_code = 'dc819ed6-4155-3cff-b580-45626aed5848'
-o3d_npp_upgrade_code = '0f098121-2876-3c23-bd4c-501220ecbb42'
-o3d_extras_upgrade_code = 'c271f2f0-c7ad-3bc9-8216-211436aa2244'
-
-# Keep these around for historical reasons; if we ever want to bring the SDK
-# back, we might want to use the same GUIDs and Google Update project for
-# simplicity.
-#o3d_sdk_upgrade_code = 'd6b024ab-1784-348b-80c5-96ab43799d0a'
-#o3d_sdk_google_update_guid = '{00764f6f-9998-4520-9c41-94a30e36565a}'
-
-o3d_npp_component_guid = plugin_guid_generator(
- 'o3d_npplugin_component')
-o3d_iep_component_guid = plugin_guid_generator(
- 'o3d_ieplugin_component')
-o3d_npp_google_update_reg_component_guid = plugin_guid_generator(
- 'o3d_user_google_update_reg_component')
-o3d_reporter_guid = plugin_guid_generator('o3d_reporter')
-o3d_driver_blacklist_guid = plugin_guid_generator(
- 'o3d_driver_blacklist')
-o3d_software_renderer_guid = plugin_guid_generator(
- 'o3d_software_renderer')
-o3d_npp_google_update_guid = '{70308795-045C-42da-8F4E-D452381A7459}'
-o3d_npp_reg_key = '%s%s' % (google_update_reg_path, o3d_npp_google_update_guid)
-o3d_npp_state_reg_key = '%s%s' % (
- google_update_state_reg_path, o3d_npp_google_update_guid)
-
-# Guids and other variables for the extras installer:
-o3d_extras_d3dx_component_guid = plugin_guid_generator(
- 'o3d_extras_d3dx_component')
-o3d_extras_product_guid = extras_guid_generator('o3d_extras_product')
-o3d_extras_package_guid = extras_guid_generator('o3d_extras_package')
-o3d_get_extras_guid = gen_named_guid(o3d_namespace_guid,
- 'extras_installer', '')
-
-o3d_extras_google_update_guid = '{34B2805D-C72C-4f81-AED5-5A22D1E092F1}'
-o3d_extras_reg_key = '%s%s' % (google_update_reg_path, o3d_extras_google_update_guid)
-
-# Wix tool needs to be in the PATH.
-# TODO: the wix tool should not need this dance!
-wix_path = env.Dir('$WIX_DIR')
-path = os.environ['PATH']
-path += os.pathsep + wix_path.abspath
-os.environ['PATH'] = path
-
-# Add the wix tool to the SCons environment.
-env.Tool('wix')
-
-# Lookup the plugin to be installed
-npplugin_path = env.File('$ARTIFACTS_DIR/npo3dautoplugin.dll')
-ieplugin_path = env.File('$ARTIFACTS_DIR/o3d_host.dll')
-conditioner_path = env.File('$ARTIFACTS_DIR/o3dConditioner.exe')
-cglib1_path = env.File('$ARTIFACTS_DIR/cg.dll')
-cglib2_path = env.File('$ARTIFACTS_DIR/cgGL.dll')
-cgc_path = env.File('$ARTIFACTS_DIR/cgc.exe')
-docs_path = env.File('$SCONSTRUCT_DIR/installer/win/docs.url')
-rep_path = env.File('$ARTIFACTS_DIR/reporter.exe')
-dbl_path = env.File('$SCONSTRUCT_DIR/installer/win/driver_blacklist.txt')
-get_extras_path = env.File('$ARTIFACTS_DIR/getextras.exe')
-custom_actions_path = env.File('$ARTIFACTS_DIR/cactions.dll')
-
-# Tell wix to include the software renderer IFF it's there.
-software_renderer_path = \
- env.File('$SWIFTSHADER_DIR/swiftshader_d3d9.dll').abspath
-include_software_renderer = os.path.exists(software_renderer_path)
-
-# Path to custom actions dll.
-cactions_dll_path = env.File('$ARTIFACTS_DIR/cactions.dll')
-
-# Pass flags to the wix compiler.
-env.Append(WIXCANDLEFLAGS = [
- '-dCustomActionsPath=' + custom_actions_path.abspath,
- '-dD3DXGuid=' + d3dx_guid,
- '-dDBLGuid=' + o3d_driver_blacklist_guid,
- '-dDBLPath=' + dbl_path.abspath,
- '-dDeprecatedUpgradeCode=' + bad_old_o3d_upgrade_code,
- '-dGetExtrasGuid=' + o3d_get_extras_guid,
- '-dGetExtrasPath=' + get_extras_path.abspath,
- '-dIEPluginPath=' + ieplugin_path.abspath,
- '-dIepComponentGuid=' + o3d_iep_component_guid,
- '-dIncludeSoftwareRenderer=%s' % include_software_renderer,
- '-dNPPluginPath=' + npplugin_path.abspath,
- '-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.abspath,
- '-dSoftwareRendererGuid=' + o3d_software_renderer_guid,
- '-dSoftwareRendererPath=' + software_renderer_path,
-])
-
-# Build installer
-installer_msi = env.WiX('o3d.msi', ['o3d.wxs'])
-
-# Make sure that the plugin dll has been built before building the installer.
-# Make sure that the custom action dll has been built before building the
-# installer.
-# Relies on reporter.exe being built prior to installer.
-env.Depends(installer_msi,
- [npplugin_path, ieplugin_path, cactions_dll_path, rep_path,
- get_extras_path])
-
-# Copy to artifacts.
-env.Replicate('$ARTIFACTS_DIR', installer_msi)
-
-
-
-# Path to DirectX redistribution files.
-dx_redist_path = env.Dir('$DIRECTX_REDIST_DIR')
-
-# Only build o3dextras if we have the dx redistributables.
-if os.path.exists(dx_redist_path.abspath):
- # New WiX flags for the Extras package [currently just the d3dx9 dll]. Note
- # that this DOESN'T make the above flags go away; it just adds new ones or
- # overwrites name clashes. So we use distinctive names so as to avoid
- # surprises. The only flag from above that's used in the extras installer is
- # DxRedistPath.
- env.Append(WIXCANDLEFLAGS = [
- '-dDxRedistPath=' + dx_redist_path.abspath,
- '-dExtrasD3DXComponentGuid=' + o3d_extras_d3dx_component_guid,
- '-dExtrasProductGuid=' + o3d_extras_product_guid,
- '-dExtrasUpgradeCode=' + o3d_extras_upgrade_code,
- '-dExtrasPackageGuid=' + o3d_extras_package_guid,
- '-dExtrasVersion=' + dotextrasversion,
- '-dExtrasGoogleUpdateRegGuid=' + o3d_extras_google_update_guid,
- '-dExtrasGoogleUpdateRegKey=' + o3d_extras_reg_key,
- ])
-
- # Build the installer
- extras_msi = env.WiX('o3dextras.msi', ['o3dextras.wxs'])
-
- # copy to artifacts
- env.Replicate('$ARTIFACTS_DIR', extras_msi)