Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1850)

Unified Diff: gears/SConscript.installers

Issue 6576020: Remove Gears from Chrome (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: windows fixes Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gears/SConscript.inputs ('k') | gears/SConscript.libbreakpad_osx » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gears/SConscript.installers
diff --git a/gears/SConscript.installers b/gears/SConscript.installers
deleted file mode 100644
index 4cefdb15074c55f9af4473152d3dd133826b71aa..0000000000000000000000000000000000000000
--- a/gears/SConscript.installers
+++ /dev/null
@@ -1,391 +0,0 @@
-# Copyright (c) 2008 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.
-
-import fnmatch
-import os
-import re
-import shutil
-import subprocess
-import utils
-import SCons.Node
-
-Import('env')
-
-env = env.Clone()
-
-if env['OS'] in ['win32', 'wince']:
- env.Append(DATE = 'echo %DATE%.%TIME%')
-else:
- env.Append(DATE = 'date')
-
-def GetInputs(var): return utils.GetInputs(var, env)
-
-def Shell(cmd):
- """Execute a shell command and return the output."""
- cmd[0] = env.Entry(cmd[0]).abspath
- cmd = env.subst(cmd)
- return subprocess.Popen(
- cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
-
-if env['OS'] == 'win32':
- def GGUIDGen(value):
- """Generate a GGUID for the given value."""
- return Shell(['$GGUIDGEN', '$NAMESPACE_GUID', value + '-$VERSION'])
- env.Replace(
- GGUIDGEN = '#/$OPEN_DIR/tools/gguidgen.exe',
- NAMESPACE_GUID = '36F65206-5D4E-4752-9D52-27708E10DA79',
-# MSI version numbers must have the form <major>.<minor>.<build>. To meet this,
-# we combine our build and patch version numbers like so:
-# MSI_VERSION = <major>.<minor>.<BUILD * 100 + PATCH>.
-# Note: This assumes that the BUILD and PATCH variables adhere to the range
-# requirements in version.mk. See comments in version.mk for more details.
- MSI_BUILD = eval(env.subst('$BUILD * 100 + $PATCH')),
- MSI_VERSION = '${MAJOR}.${MINOR}.${MSI_BUILD}',
- )
-
- # Building wxiobjs with candle
- env.Replace(
- CANDLEDEFPREFIX = '-d',
- CANDLEDEFSUFFIX = '',
- _CANDLEDEFFLAGS = ('${_defines(CANDLEDEFPREFIX, CANDLEDEFINES, '
- 'CANDLEDEFSUFFIX, __env__)}'),
- CANDLECOM = 'candle.exe -out $TARGET $SOURCE ${_CANDLEDEFFLAGS}',
- )
- env.Append(
-# Note: Since light.exe is run from $OPEN_DIR, candle.exe must generate
-# output with paths relative to that dir.
- SCONS_DIR = '..', # the scons dir relative to OPEN_DIR
-# You can change the names of ProductId vars, but NEVER change their values!
- CANDLEDEFINES = [
- ('OurWin32ProductId',
- GGUIDGen('OUR_PRODUCT_ID')),
- ('OurComponentGUID_FFComponentsDirFiles',
- GGUIDGen('OUR_COMPONENT_GUID_FF_COMPONENTS_DIR_FILES')),
- ('OurComponentGUID_FFContentDirFiles',
- GGUIDGen('OUR_COMPONENT_GUID_FF_CONTENT_DIR_FILES')),
- ('OurComponentGUID_FFDirFiles',
- GGUIDGen('OUR_COMPONENT_GUID_FF_DIR_FILES')),
- ('OurComponentGUID_FFLibDirFiles',
- GGUIDGen('OUR_COMPONENT_GUID_FF_LIB_DIR_FILES')),
- ('OurComponentGUID_FFRegistry',
- GGUIDGen('OUR_COMPONENT_GUID_FF_REGISTRY')),
- ('OurComponentGUID_IEFiles',
- GGUIDGen('OUR_COMPONENT_GUID_IE_FILES')),
- ('OurComponentGUID_IERegistry',
- GGUIDGen('OUR_COMPONENT_GUID_IE_REGISTRY')),
- ('OurComponentGUID_SharedFiles',
- GGUIDGen('OUR_COMPONENT_GUID_SHARED_FILES')),
- ('OurComponentGUID_SharedVersionedFiles',
- GGUIDGen('OUR_COMPONENT_GUID_SHARED_VERSIONED_FILES')),
- ('OurComponentGUID_SharedRegistry',
- GGUIDGen('OUR_COMPONENT_GUID_SHARED_REGISTRY')),
- ('OurNpapiProductId',
- GGUIDGen('OUR_2ND_PRODUCT_ID')),
- ('OurComponentGUID_NpapiFiles',
- GGUIDGen('OUR_COMPONENT_GUID_NPAPI_FILES')),
- ('OurComponentGUID_NpapiRegistry',
- GGUIDGen('OUR_COMPONENT_GUID_NPAPI_REGISTRY')),
- ('OurMsiVersion', '$MSI_VERSION'),
- ('OurCommonPath', '$COMMON_OUTDIR'),
- ('OurIEPath', '$IE_OUTDIR'),
- ('OurIpcTestPath', '$COMMON_OUTDIR'),
- ('OurFFPath', '$INSTALLER_OUTDIR/$INSTALLER_BASENAME'),
- ('OurNpapiPath', '$NPAPI_OUTDIR'),
- ]
- )
- wix_langs = [re.sub('-', '_', lang) for lang in env['I18N_LANGS']]
- env.Append(
- CANDLEDEFINES =
- [('OurComponentGUID_FFLang' + lang + 'DirFiles',
- GGUIDGen('OUR_COMPONENT_GUID_FF_' + lang + '_DIR_FILES'))
- for lang in wix_langs],
- )
-
-def SafeMkdir(dir):
- """Like the builtin Mkdir, but doesn't fail if the dir exists."""
- def Func(target, source, env):
- dir_subst = env.subst(dir, target=target)
- if not os.path.exists(dir_subst):
- os.makedirs(dir_subst)
- return 0
- return Action(Func, 'SafeMkdir("' + dir + '")')
-
-def RecursiveDelete(pattern):
- """Recursively deletes directories matching a pattern."""
- def Func(target, source, env):
- # strip off '.dir' suffix
- target_dir = env.subst('${TARGET.base}', target=target)
- for root, dirs, files in os.walk(target_dir):
- if fnmatch.fnmatch(os.path.normpath(root), pattern):
- print 'Deleting', root
- shutil.rmtree(root)
- return 0
- return Action(Func, 'RecursiveDelete("' + pattern + '")')
-
-def ToUnixPath(path):
- """Converts windows-style \ to unix-style /."""
- return re.sub(r'\\', r'/', path)
-
-def DirBuilder(env, dirtarget, dirsrcs):
- """Builder that makes a directory tree by copying source files to
- corresponding locations inside 'dirtarget'. 'dirsrcs' specifies the list of
- mappings from source file/directory to the target location. It's formatted
- like:
- (<target file or dir>, <list of source files>)
-
- Note: source files that come from an output directory must be explicitly
- specified relative to the toplevel dir '#'.
- Note: as shorthand, if the target ends with a '/', then the sources will
- be placed into that dir. Otherwise, source is renamed into the target.
- """
-
- srcs = []
- actions = [Delete('${TARGET.base}')]
- for target, sources in dirsrcs:
- target_is_dir = target.endswith('/')
- if target_is_dir:
- actions.append(SafeMkdir('${TARGET.base}/' + target))
- else:
- actions.append(SafeMkdir('${TARGET.base}/' + os.path.dirname(target)))
- for source in env.Flatten(sources):
- source = env.subst(source, conv=lambda x:x)
- srcs.append(source)
-
- # Special-case for Nodes and Node lists: use their absolute paths for
- # the Copy() action, otherwise it will be relative to our variant dir
- # (not what Copy expects).
- if isinstance(source, list): source = source[0]
- if isinstance(source, SCons.Node.Node): source = source.abspath
-
- # HACK: Compensate for the workaround below. We want the .dir file
- # to be the dependency to the Command() builder, but we want to copy
- # the actual directory - so strip the extension here.
- if source.endswith('.dir'):
- source = source[:-4]
-
- if target_is_dir:
- actions.append(
- Copy('${TARGET.base}/' + target + os.path.basename(source),
- source))
- else:
- actions.append(Copy('${TARGET.base}/' + target, source))
-
- # Remove any .svn directories that were copied.
- actions.append(RecursiveDelete('*/.svn'))
-
- # HACK: Workaround for bug in scons where directories aren't checked for
- # dependency changes. Instead, we make a temp file the target, and ensure
- # that that file changes everytime we execute these actions.
- # See http://scons.tigris.org/issues/show_bug.cgi?id=2261
- actions += ['$DATE > ${TARGET}']
- return env.Command(env.subst(dirtarget) + '.dir', srcs, actions)
-env.AddMethod(DirBuilder)
-
-def FirefoxInstaller():
- dirsrcs = [
- ('/', ['$FF3_OUTDIR/genfiles/install.rdf',
- '$FF3_OUTDIR/genfiles/chrome.manifest']),
- ('lib/', ['$OPEN_DIR/base/firefox/static_files/lib/updater.js']),
- ('chrome/chromeFiles/content/',
- GetInputs('$FF3_RESOURCES $COMMON_RESOURCES')),
- ('chrome/chromeFiles/locale', ['$FF3_OUTDIR/genfiles/i18n']),
- ('components/',
- ['$FF3_MODULE_TYPELIB',
- '$OPEN_DIR/base/firefox/static_files/components/bootstrap.js']),
- ('components/${SHLIBPREFIX}gears${SHLIBSUFFIX}', ['$FF2_MODULE']),
- ('components/${SHLIBPREFIX}gears_ff2${SHLIBSUFFIX}', ['$FF3_MODULE']),
- ]
-
- if env['USING_CCTESTS']:
- dirsrcs += [
- ('components/', ['$IPC_TEST_EXE']),
- ]
- if env['OS'] != 'win32':
- # TODO(playmobil): Inspector should be located in extensions dir on win32.
- dirsrcs += [
- ('resources/inspector', [env.Dir('#/$OPEN_DIR/inspector')]),
- ('resources/inspector/common/', ['$OPEN_DIR/sdk/gears_init.js',
- '$OPEN_DIR/sdk/samples/sample.js']),
- ]
- if env['MODE'] == 'dbg' and env['OS'] in ['win32', 'wince']:
- dirsrcs += [
- ('components/gears_ff2.pdb', ['$FF2_MODULE_PDB']),
- ('components/gears.pdb', ['$FF3_MODULE_PDB']),
- ]
- if env['OS'] == 'osx':
- dirsrcs += [
- ('resources/', ['$OSX_LAUNCHURL_EXE']),
- ]
-
- dir = env.DirBuilder('$INSTALLER_OUTDIR/$INSTALLER_BASENAME', dirsrcs)
- actions = [
- # Mark files writeable to allow .xpi rebuilds
- 'chmod -R 777 ${SOURCE.base}',
- '(cd ${SOURCE.base} && zip -r ../${TARGET.file} .)'
- ]
-
- return env.Command('$FF_XPI', dir, actions)
-firefox_installer = FirefoxInstaller()
-
-def Win32Installer():
- wxiobj = env.Command(
- '$COMMON_GENFILES_DIR/win32_msi.wxiobj',
- '$COMMON_GENFILES_DIR/win32_msi.wxs',
- '$CANDLECOM')
- # TODO(mpcomplete): remove this if/when the notifier goes away. This
- # creates fake targets to satisfy the installer build.
- notifier = env.Command(
- [
- '$COMMON_OUTDIR/notifier.exe',
- '$COMMON_OUTDIR/notifier.dll',
- '$COMMON_OUTDIR/notifier_test.exe'
- ], [],
- 'touch $TARGETS')
- # light.exe must be run from $OPEN_DIR
- msi = env.Command(
- '$WIN32_INSTALLER_MSI',
- [wxiobj, notifier, firefox_installer, '$IE_MODULE', '$NPAPI_MODULE'],
- 'cd $OPEN_DIR && light.exe -out ${TARGET.abspath} ${SOURCES[0].abspath}')
- return msi
-win32_installer = Win32Installer()
-
-def WinCEInstaller():
- env['ToUnixPath'] = ToUnixPath
- inf_outdir = ToUnixPath(env.subst('$IE_OUTDIR'))
- inf = env.Command(
- '$COMMON_GENFILES_DIR/wince_cab_fixed.inf',
- '$COMMON_GENFILES_DIR/wince_cab_ie.inf',
- 'sed -e "s#bin-....wince-arm.ie.#' + inf_outdir + '#g" $SOURCE > $TARGET')
- cab = env.Command(
- '$WINCE_INSTALLER_CAB',
- [inf, '$IE_MODULE', '$IE_WINCE_SETUP_DLL'],
- ['cabwiz ${ToUnixPath(str(SOURCE))} /compress'
- ' /err ${SOURCES[0].base}.log',
- Copy('$TARGET', '${SOURCE.base}.CAB')])
- return cab
-wince_installer = WinCEInstaller()
-
-def SafariPluginBundle():
- """This is the actual gears plugin bundle for Safari."""
- dirsrcs = [
- ('Contents/', ['$SF_OUTDIR/genfiles/Info.plist']),
- ('Contents/Resources/English.lproj/InfoPlist.strings',
- ['$OPEN_DIR/tools/osx/English.lproj/InfoPlist.strings']),
- ('Contents/Resources/', env.Glob('#/$OPEN_DIR/ui/safari/*.nib')),
- ('Contents/Resources/', ['$CRASH_SENDER_EXE']),
- ('Contents/Resources/', ['$OSX_CRASH_INSPECTOR_EXE']),
- ('Contents/Resources/', ['$OSX_LAUNCHURL_EXE']),
- ('Contents/MacOS/', ['$SF_MODULE']),
- ]
-
- if env['USING_CCTESTS']:
- dirsrcs += [
- ('Contents/Resources/', ['$IPC_TEST_EXE']),
- ]
-
- return env.DirBuilder('$SF_PLUGIN_BUNDLE', dirsrcs)
-safari_plugin_bundle = SafariPluginBundle()
-
-def SafariPluginProxyBundle():
- """This is a proxy plugin which simply loads gears into Safari and keeps
- it in memory. It exists so that gears doesn't unload when Safari wants us
- to, since that causes crashes."""
- dirsrcs = [
- ('Contents/', ['$SF_OUTDIR/genfiles/Info.plist']),
- ('Contents/MacOS/${SHLIBPREFIX}gears${SHLIBSUFFIX}', ['$SF_PROXY_DLL']),
- ('Contents/Resources/', [safari_plugin_bundle]),
- ('Contents/Resources/', ['$OPEN_DIR/tools/osx/uninstall.command']),
- ]
-
- return env.DirBuilder('$SF_PLUGIN_PROXY_BUNDLE', dirsrcs)
-safari_plugin_proxy_bundle = SafariPluginProxyBundle()
-
-def SafariInstallerPluginBundle():
- dirsrcs = [
- ('Contents/Info.plist',
- ['$OPEN_DIR/base/safari/advanced_stats_sheet.plist']),
- ('Contents/MacOS/InstallerPlugin', ['$SF_INSTALLER_PLUGIN_EXE']),
- ('Contents/Resources/AdvancedStatsSheet.nib',
- [env.Dir('#/$OPEN_DIR/base/safari/advanced_stats_sheet.nib')]),
- ]
-
- return env.DirBuilder('$SF_INSTALLER_PLUGIN_BUNDLE', dirsrcs)
-safari_installer_plugin_bundle = SafariInstallerPluginBundle()
-
-def SafariInputManagerBundle():
- info = env.Command('$SF_OUTDIR/genfiles/Enabler-Info.plist',
- '$OPEN_DIR/tools/osx/Enabler-Info.plist',
- 'cat $SOURCE |'
- 'sed \'s/$${EXECUTABLE_NAME}/GearsEnabler/\' |'
- 'sed \'s/$${PRODUCT_NAME}/GearsEnabler/\' > $TARGET')
- dirsrcs = [
- ('GearsEnabler.bundle/Contents/Info.plist', [info]),
- ('GearsEnabler.bundle/Contents/MacOS/', ['$SF_INPUTMANAGER_EXE']),
- ('GearsEnabler.bundle/Contents/Resources/English.lproj/',
- ['$OPEN_DIR/tools/osx/English.lproj/InfoPlist.strings']),
- ('Info', ['$OPEN_DIR/tools/osx/Info']),
- ]
-
- return env.DirBuilder('$SF_INPUTMANAGER_BUNDLE', dirsrcs)
-safari_input_manager_bundle = SafariInputManagerBundle()
-
-def SafariInstallerPackage():
- pkg = env.Iceberg(env.Dir('${SF_INSTALLER_PKG}'),
- [
- '$SF_OUTDIR/genfiles/installer.packproj',
- safari_plugin_proxy_bundle,
- safari_input_manager_bundle,
- ])
- return pkg
-safari_installer_package = SafariInstallerPackage()
-
-def SafariKeystoneInstaller():
- if not os.path.exists(env.Dir('#/$PRIVATE_DIR').abspath):
- print 'Skipping Safari Keystone installer. Required sources are not public.'
- return []
-
- env.Append(CREATE_DISK_IMAGE =
- "/usr/bin/hdiutil create -ov -imagekey zlib-level=9 -fs HFS+"
- " -format UDZO -volname '$FRIENDLY_NAME ${VERSION}'"
- " -srcfolder '${INSTALLER_OUTDIR}/Safari/dmg/' -scrub"
- " -nocrossdev '${SF_KEYSTONE_INSTALLER_DMG}'"
- )
-
- pkg = env.Iceberg(env.Dir('${SF_KEYSTONE_INSTALLER_MPKG}'),
- ['$SF_OUTDIR/genfiles/keystone_installer.packproj'])
- env.Depends(pkg, GetInputs('$SF_M4S'))
- env.Depends(pkg, safari_installer_package)
-
- dirsrcs = [
- ('/', [pkg]),
- ('/.keystone_install',
- ['$PRIVATE_DIR/tools/osx/installer/keystone_install']),
- ]
- dmg = env.DirBuilder('$INSTALLER_OUTDIR/Safari/dmg', dirsrcs)
- env.AddPostAction(dmg, 'chmod +x ${TARGET.base}/.keystone_install')
- # hdiutil is crashy under leopard, so try twice.
- env.AddPostAction(dmg, '$CREATE_DISK_IMAGE || $CREATE_DISK_IMAGE')
-
- return dmg
-safari_keystone_installer = SafariKeystoneInstaller()
-
-installers = []
-if 'FF3' in env['VALID_BROWSERS']:
- installers += firefox_installer
-if 'SF' in env['VALID_BROWSERS']:
- installers += [
- safari_input_manager_bundle,
- safari_plugin_bundle,
- safari_plugin_proxy_bundle,
- safari_installer_plugin_bundle,
- safari_installer_package,
- safari_input_manager_bundle,
- safari_keystone_installer,
- ]
-if env['OS'] == 'win32':
- installers += win32_installer
-if env['OS'] == 'wince':
- installers += wince_installer
-
-env.Alias('gears-installers', installers)
« no previous file with comments | « gears/SConscript.inputs ('k') | gears/SConscript.libbreakpad_osx » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698