| Index: plugin/build.scons
|
| ===================================================================
|
| --- plugin/build.scons (revision 30708)
|
| +++ plugin/build.scons (working copy)
|
| @@ -1,452 +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.path
|
| -import sys
|
| -Import('env')
|
| -env.SConscript('$SCONSTRUCT_DIR/plugin/idl_list.scons')
|
| -Import('O3D_IDL_SOURCES')
|
| -
|
| -env.Tool('replace_strings')
|
| -env.Append(O3D_PLUGIN_DESCRIPTION=
|
| - '$O3D_PLUGIN_NAME version:$O3D_PLUGIN_VERSION',
|
| - O3D_PLUGIN_MIME_TYPE='application/vnd.o3d.auto')
|
| -
|
| -plugin_replace_strings = [
|
| - ('@@@PluginName@@@', env.subst('$O3D_PLUGIN_NAME')),
|
| - ('@@@ProductVersionCommas@@@',
|
| - env.subst('$O3D_PLUGIN_VERSION_COMMAS')),
|
| - ('@@@ProductVersion@@@', env.subst('$O3D_PLUGIN_VERSION')),
|
| - ('@@@PluginDescription@@@', env.subst('$O3D_PLUGIN_DESCRIPTION')),
|
| - ('@@@PluginMimeType@@@', env.subst('$O3D_PLUGIN_MIME_TYPE')),
|
| -]
|
| -
|
| -# TODO: collapse these if possible.
|
| -env.Append(GLUE_DIR = env.Dir('glue'),
|
| - NIXYSA_STATIC_GLUE = '$NIXYSA_DIR/static_glue/npapi')
|
| -
|
| -if env.Bit('windows'):
|
| - testing_inputs = [
|
| - 'win/plugin_metrics-win32.cc',
|
| - 'win/plugin_logging-win32.cc',
|
| - ]
|
| -elif env.Bit('mac'):
|
| - testing_inputs = [
|
| - 'mac/plugin_metrics-mac.cc',
|
| - 'mac/plugin_logging-mac.mm',
|
| - ]
|
| -
|
| -# Add Skia include paths
|
| -env.Append(CPPPATH=['$SKIA_DIR/include/core',
|
| - '$SKIA_DIR/include/effects'])
|
| -
|
| -# Build a library for testing.
|
| -# Currently windows and mac.
|
| -if env.Bit('windows') or env.Bit('mac'):
|
| - logging_lib = env.ComponentLibrary('o3dPlugin_logging', testing_inputs)
|
| -
|
| -# vista SDK provides an incompatible version of npapi.h, so make sure we
|
| -# prepend our blessed version.
|
| -env.Prepend(CPPPATH = ['$NPAPI_DIR/include'])
|
| -env.Append(
|
| - CPPPATH = [
|
| - 'cross',
|
| - '$GLUE_DIR',
|
| - '$NIXYSA_STATIC_GLUE',
|
| - '$SCONSTRUCT_DIR/plugin/win', # for RES resource.h
|
| - '$WTL_71_DIR/include',
|
| - '$THIRD_PARTY',
|
| - ],
|
| - LIBPATH = [
|
| - '$NACL_LIB_DIR',
|
| - ],
|
| - LIBS = [
|
| -# 'o3dBreakpad',
|
| - 'o3dArchive',
|
| - 'o3dCore',
|
| - 'o3dArchive',
|
| - 'o3dCorePlatform',
|
| - 'o3dUtils',
|
| - 'google_nacl_imc',
|
| - 'o3d_base',
|
| - 'v8',
|
| - 'skia',
|
| - ],
|
| -)
|
| -
|
| -
|
| -if env.Bit('windows'):
|
| - env.Append(
|
| - LIBS = [
|
| - 'advapi32',
|
| - 'o3dBreakpad',
|
| - 'o3dStatsreport_Common',
|
| - 'o3dStatsreport',
|
| - 'shell32',
|
| - 'shlwapi',
|
| - ],
|
| - CPPDEFINES = ['XP_WIN']
|
| - )
|
| -
|
| -
|
| -
|
| -if env.Bit('mac'):
|
| - if env['DEBUG']:
|
| - env['MAC_BREAKPAD_CONFIG'] = 'Debug'
|
| - else:
|
| - env['MAC_BREAKPAD_CONFIG'] = 'Release'
|
| - env.Append(
|
| - MAC_BREAKPAD_SRC_DIR = '$BREAKPAD_DIR/client/mac',
|
| - # TODO: is there a way to tell xcodebuild to output the build in
|
| - # scons-out instead of the source tree ?
|
| - MAC_BREAKPAD_DIR = '$MAC_BREAKPAD_SRC_DIR/build/$MAC_BREAKPAD_CONFIG',
|
| - LIBS = [
|
| - 'o3dStatsreport_Common',
|
| - 'o3dStatsreport',
|
| - 'event',
|
| - logging_lib,
|
| - ],
|
| - FRAMEWORKS = [
|
| - 'Carbon',
|
| - 'OpenGL',
|
| - 'Cg',
|
| - 'AGL',
|
| - 'Foundation',
|
| - 'Breakpad',
|
| - 'Cocoa',
|
| - 'IOKit',
|
| - 'QuickTime',
|
| - ],
|
| - CCFLAGS = ['-F$MAC_BREAKPAD_DIR',
|
| - '-F$CG_DIR'],
|
| - CPPPATH = ['mac', '$MAC_BREAKPAD_SRC_DIR/Framework'],
|
| - CPPDEFINES = ['XP_MACOSX']
|
| - )
|
| -
|
| -if env.Bit('linux'):
|
| - env.Append(
|
| - CPPDEFINES = ['XP_UNIX', 'MOZ_X11'],
|
| - LIBS = [
|
| - 'event',
|
| - ],
|
| - );
|
| -
|
| -# Add libraries based on the requested renderer
|
| -env.Append(CPPPATH = env['RENDERER_INCLUDE_PATH'],
|
| - LIBPATH = env['RENDERER_LIB_PATH'],
|
| - LIBS = env['RENDERER_LIBS'] + env['ICU_LIBS'])
|
| -
|
| -
|
| -def NixysaEmitter(target, source, env):
|
| - bases = [os.path.splitext(s.name)[0] for s in source] + ['globals']
|
| - targets = ['glue/%s_glue.cc' % b for b in bases]
|
| - targets += ['glue/%s_glue.h' % b for b in bases]
|
| - return targets, source
|
| -
|
| -AUTOGEN_ARGS = ['$NIXYSA_DIR/codegen.py',
|
| - '--binding-module=o3d:plugin/o3d_binding.py',
|
| - '--generate=npapi',
|
| - '--output-dir=$GLUE_DIR',
|
| - '$SOURCES']
|
| -
|
| -env['PYTHONPATH'] = ['$NIXYSA_DIR',
|
| - '$GFLAGS_DIR/python',
|
| - '$PLY_DIR']
|
| -env['BUILDERS']['Nixysa'] = Builder(action=env.Python(AUTOGEN_ARGS),
|
| - emitter=NixysaEmitter)
|
| -AUTOGEN_OUTPUT = env.Nixysa(O3D_IDL_SOURCES)
|
| -env.SideEffect('glue/hash', AUTOGEN_OUTPUT)
|
| -AUTOGEN_CC_FILES = [f for f in AUTOGEN_OUTPUT if f.suffix == '.cc']
|
| -
|
| -inputs = AUTOGEN_CC_FILES + [
|
| - 'cross/async_loading.cc',
|
| - 'cross/archive_request_static_glue.cc',
|
| - 'cross/blacklist.cc',
|
| - 'cross/main_thread_task_poster.cc',
|
| - 'cross/o3d_glue.cc',
|
| - 'cross/np_v8_bridge.cc',
|
| - 'cross/out_of_memory.cc',
|
| - 'cross/stream_manager.cc',
|
| - 'cross/texture_static_glue.cc',
|
| - 'cross/config_common.cc',
|
| -]
|
| -
|
| -env_version = env.Clone()
|
| -env_version.Append(
|
| - CPPDEFINES = [
|
| - ('O3D_PLUGIN_NAME', '\\"$O3D_PLUGIN_NAME\\"'),
|
| - ('O3D_PLUGIN_DESCRIPTION', '\\"$O3D_PLUGIN_DESCRIPTION\\"'),
|
| - ('O3D_PLUGIN_MIME_TYPE', '\\"$O3D_PLUGIN_MIME_TYPE\\"')
|
| - ])
|
| -
|
| -idlglue_static_sources = [
|
| - 'common',
|
| - 'static_object',
|
| - 'npn_api',
|
| -]
|
| -env_idlglue = env.Clone()
|
| -
|
| -# TODO: figure out resources on the mac.
|
| -if env.Bit('windows'):
|
| - env.ReplaceStrings(
|
| - 'win/o3dPlugin.rc', 'win/o3dPlugin.rc_template',
|
| - REPLACE_STRINGS = plugin_replace_strings
|
| - )
|
| - if env['DEBUG']:
|
| - # release v8 brings libcmt that conflicts with libcmtd
|
| - env.Append(LINKFLAGS=['/NODEFAULTLIB:LIBCMT'])
|
| - env_idlglue.Append(CPPDEFINES=['OS_WINDOWS'])
|
| - inputs += [env_idlglue.ComponentObject(s, '$NIXYSA_STATIC_GLUE/%s.cc' % s)
|
| - for s in idlglue_static_sources]
|
| - inputs += env_version.ComponentObject('cross/main', 'cross/main.cc')
|
| - inputs += [
|
| - logging_lib,
|
| - 'win/main_win.cc',
|
| - 'win/config.cc',
|
| - 'win/o3dPlugin.def',
|
| - 'win/update_lock.cc',
|
| - env.RES('win/o3dPlugin.rc'),
|
| - ]
|
| -
|
| -
|
| -if env.Bit('linux'):
|
| - env_idlglue.Append(CPPDEFINES=['OS_LINUX'])
|
| - inputs += [env_idlglue.SharedObject(s, '$NIXYSA_STATIC_GLUE/%s.cc' % s)
|
| - for s in idlglue_static_sources]
|
| - inputs += env_version.SharedObject('cross/main', 'cross/main.cc')
|
| - inputs += [
|
| - 'linux/main_linux.cc',
|
| - 'linux/config.cc',
|
| - ]
|
| - # This sets the rpath property on the generated shared object, which specifies
|
| - # additional paths that the run-time linker/loader will search for its
|
| - # dependent shared libraries. We install libGLEW, libCg, and libCgGL to here.
|
| - env.Append(RPATH=['/opt/google/o3d/lib'])
|
| -
|
| -
|
| -# SCons doesn't really know about MacOSX bundles, so we need to override a
|
| -# lot of its behavior to make one, ie -bundle flag, no lib prefix, no .dylib suffix.
|
| -if env.Bit('mac'):
|
| - breakpad_framework = env.Command(
|
| - env.Dir('$MAC_BREAKPAD_DIR/Breakpad.framework'),
|
| - env.Dir('$MAC_BREAKPAD_SRC_DIR/Breakpad.xcodeproj'),
|
| - ' '.join(['cd $MAC_BREAKPAD_SRC_DIR &&',
|
| - 'xcodebuild',
|
| - '-project Breakpad.xcodeproj',
|
| - '-target Breakpad',
|
| - '-configuration $MAC_BREAKPAD_CONFIG']))
|
| - plugin_mac_object = env.SharedObject('mac/plugin_mac', 'mac/plugin_mac.mm')
|
| - env.Requires(plugin_mac_object, breakpad_framework)
|
| -
|
| - env_idlglue.Append(CPPDEFINES=['OS_MACOSX'])
|
| - inputs += [env_idlglue.SharedObject(s, '$NIXYSA_STATIC_GLUE/%s.cc' % s)
|
| - for s in idlglue_static_sources]
|
| - inputs += env_version.SharedObject('cross/main', 'cross/main.cc')
|
| - inputs += [
|
| - 'mac/main_mac.mm',
|
| - 'mac/config_mac.mm',
|
| - 'mac/graphics_utils_mac.mm',
|
| - plugin_mac_object
|
| - ]
|
| -
|
| - env['SHLINKFLAGS'] = ['-bundle',
|
| - '-F$MAC_BREAKPAD_DIR',
|
| - '-F$CG_DIR',
|
| - ]
|
| - env['SHLIBPREFIX'] = ['']
|
| - env['SHLIBSUFFIX'] = ['']
|
| - plugin_dll = env.SharedLibrary('O3D', inputs)
|
| - plugin_artifacts = env.Replicate('$ARTIFACTS_DIR/O3D.plugin/Contents/MacOS/', plugin_dll)
|
| -
|
| - # insert version number into Info.plist
|
| - env.ReplaceStrings(
|
| - 'mac/processed/Info.plist', '$SCONSTRUCT_DIR/plugin/mac/Info.plist',
|
| - REPLACE_STRINGS = plugin_replace_strings
|
| - )
|
| -
|
| - # copy mac resource data
|
| - env.Replicate('$ARTIFACTS_DIR/O3D.plugin/Contents/',
|
| - '$SCONSTRUCT_DIR/plugin/mac/Resources')
|
| - env.Replicate('$ARTIFACTS_DIR/O3D.plugin/Contents',
|
| - 'mac/processed/Info.plist')
|
| -
|
| - # Make a string substituted version of o3d_plugin.r in the artifacts
|
| - # directory.
|
| - env.ReplaceStrings(
|
| - '$ARTIFACTS_DIR/o3d_plugin.r', 'mac/o3d_plugin.r',
|
| - REPLACE_STRINGS = plugin_replace_strings
|
| - )
|
| - # Compile the string substituted o3d_plugin.r to make O3D.rsrc
|
| - env.Command('$ARTIFACTS_DIR/O3D.plugin/Contents/Resources/O3D.rsrc',
|
| - ['$ARTIFACTS_DIR/o3d_plugin.r'],
|
| - [
|
| - 'Rez -useDF "$ARTIFACTS_DIR/o3d_plugin.r" -o "$ARTIFACTS_DIR/O3D.plugin/Contents/Resources/O3D.rsrc"'
|
| - ])
|
| -
|
| - if env['DEBUG']:
|
| - stripCmd = 'echo debug build, no strip'
|
| - else:
|
| - stripCmd = 'strip -S "$ARTIFACTS_DIR/O3D.plugin/Contents/MacOS/O3D"'
|
| -
|
| - # Cleanup end result
|
| - created_installer = env.Command('$ARTIFACTS_DIR/plugin_done',
|
| - [env.Dir('$ARTIFACTS_DIR/O3D.plugin')],
|
| - [
|
| - 'xcodebuild -project installer/mac/O3D_Stats/O3D_Stats.xcodeproj -configuration Release',
|
| - 'ditto "$SCONSTRUCT_DIR/installer/mac/O3D_Stats/build/Release/O3D_Stats.bundle" "$ARTIFACTS_DIR/O3D_Stats.bundle"',
|
| - # Because the frameworks are inside a plugin bundle (not application bundle) the plugin executable needs to be
|
| - # tweaked to reference their paths via @loader_path instead of @executable_path.
|
| - '$SCONSTRUCT_DIR/plugin/mac/Tools/fix_install_names.sh $ARTIFACTS_DIR/O3D.plugin/Contents/MacOS/O3D',
|
| -
|
| - # make a copy of the executable, before we strip all the symbols
|
| - 'rm -f "$ARTIFACTS_DIR/O3D"',
|
| - 'cp -f "$ARTIFACTS_DIR/O3D.plugin/Contents/MacOS/O3D" "$ARTIFACTS_DIR/O3D"',
|
| - stripCmd,
|
| - # Delete frameworks so we start fresh, and ditto can't get confused
|
| - Delete("$ARTIFACTS_DIR/O3D.plugin/Contents/Frameworks/"),
|
| - # Use ditto, not Replicate() as Replicate mangles the symlinks.
|
| - # The use of ditto also lets us strip the frameworks down to just i386, which saves a lot of space.
|
| - 'ditto --arch i386 "$MAC_BREAKPAD_DIR/Breakpad.framework" "$ARTIFACTS_DIR/O3D.plugin/Contents/Frameworks/Breakpad.framework"',
|
| - '/usr/bin/install_name_tool -change '
|
| - '@executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib '
|
| - '@loader_path/Resources/breakpadUtilities.dylib '
|
| - '"$ARTIFACTS_DIR/O3D.plugin/Contents/Frameworks/Breakpad.framework/Breakpad"',
|
| - 'ditto --arch i386 "$CG_DIR/Cg.framework" "$ARTIFACTS_DIR/O3D.plugin/Contents/Frameworks/Cg.framework"',
|
| - # Delete private frameworks headers.
|
| - 'find "$ARTIFACTS_DIR/O3D.plugin/Contents/Frameworks" -iname "*.h" -delete',
|
| - 'find "$ARTIFACTS_DIR/O3D.plugin/Contents/Frameworks" -iname "Headers" -type l -delete',
|
| - 'find "$ARTIFACTS_DIR/O3D.plugin/Contents/Frameworks" -iname "Headers" -type d -prune -delete',
|
| - Touch("$ARTIFACTS_DIR/O3D.plugin/"),
|
| - Touch('$ARTIFACTS_DIR/plugin_done')
|
| - ])
|
| -
|
| - # Upload crash symbols to crash server.
|
| - if int(ARGUMENTS.get('O3D_ENABLE_BREAKPAD', 0)):
|
| - env.Command('$ARTIFACTS_DIR/O3D.sym.breakpad',
|
| - created_installer,
|
| - ['echo "UPLOADING SYMBOLS TO go/crash"',
|
| - ' '.join(['"$MAC_BREAKPAD_PREBUILT_DIR/dump_syms"',
|
| - '"$ARTIFACTS_DIR/O3D"',
|
| - '> $ARTIFACTS_DIR/O3D.sym.breakpad']),
|
| - ' '.join(['"$MAC_BREAKPAD_PREBUILT_DIR/symupload"',
|
| - '"$ARTIFACTS_DIR/O3D.sym.breakpad"',
|
| - 'http://crash-symbols:3842/upload'])
|
| - ])
|
| -
|
| - env['MAC_INSTALLER_DIR'] = env['SCONSTRUCT_DIR'] + '/../o3d-internal/mac_installer'
|
| - env['MAC_INSTALLER_PROJECT'] = 'o3d.packproj'
|
| - # Default is to make the installer.
|
| - make_installer = int(ARGUMENTS.get('MAKE_INSTALLER', 1)) and os.path.exists(env['MAC_INSTALLER_DIR'] + '/' + env['MAC_INSTALLER_PROJECT'])
|
| -
|
| -
|
| - if make_installer:
|
| - env.ReplaceStrings(
|
| - "$ARTIFACTS_DIR/postflight.sh", '$MAC_INSTALLER_DIR/postflight.sh',
|
| - REPLACE_STRINGS = plugin_replace_strings
|
| - )
|
| - if int(ARGUMENTS.get('MAC_KILLSWITCH', 0)):
|
| - kill_command = 'rm "$ARTIFACTS_DIR/O3D.plugin/Contents/MacOS/O3D"'
|
| - else:
|
| - kill_command = 'echo normal binary'
|
| - # Cleanup end result and build the installer
|
| - env.Command(env.Dir('$ARTIFACTS_DIR/O3D.mpkg'),
|
| - [
|
| - "$ARTIFACTS_DIR/plugin_done",
|
| - "$ARTIFACTS_DIR/postflight.sh",
|
| - ],
|
| - [
|
| - # Delete first as Copy can fail to overwrite if the packproj is locked
|
| - Delete("$ARTIFACTS_DIR/$MAC_INSTALLER_PROJECT"),
|
| - # Copy installer project file into artifacts so it can operate on files local to own directory
|
| - # and so work on debug or release builds without change.
|
| - Copy("$ARTIFACTS_DIR/$MAC_INSTALLER_PROJECT",
|
| - '$MAC_INSTALLER_DIR/$MAC_INSTALLER_PROJECT'),
|
| - 'ditto "$MAC_INSTALLER_DIR/GoogleSoftwareUpdate.pkg" "$ARTIFACTS_DIR/GoogleSoftwareUpdate.pkg"',
|
| - # Make the installer.
|
| - kill_command,
|
| - 'freeze "$ARTIFACTS_DIR/$MAC_INSTALLER_PROJECT"',
|
| - # Delete temp files in artifacts now we are done.
|
| - Delete("$ARTIFACTS_DIR/$MAC_INSTALLER_PROJECT")
|
| - ])
|
| -
|
| - env.Command('$ARTIFACTS_DIR/o3d.dmg',
|
| - [
|
| - env.Dir('$ARTIFACTS_DIR/O3D.mpkg'),
|
| - ],
|
| - [
|
| - Delete("$ARTIFACTS_DIR/DMG_SRC"),
|
| - 'mkdir "$ARTIFACTS_DIR/DMG_SRC"',
|
| - 'cp "$MAC_INSTALLER_DIR/.keystone_install" "$ARTIFACTS_DIR/DMG_SRC"',
|
| - 'ditto "$ARTIFACTS_DIR/O3D.mpkg" "$ARTIFACTS_DIR/DMG_SRC/O3D.mpkg"',
|
| - 'hdiutil create -srcfolder "$ARTIFACTS_DIR/DMG_SRC" -size 30mb -ov -fs HFS+ -imagekey zlib-level=9 -volname "O3D $O3D_PLUGIN_VERSION" "$ARTIFACTS_DIR/o3d.dmg"',
|
| - Delete("$ARTIFACTS_DIR/DMG_SRC"),
|
| - ])
|
| -
|
| -
|
| -# else build the shared library in a platform independent way
|
| -else:
|
| - plugin_dll = env.SharedLibrary('npo3dautoplugin', inputs)
|
| -# copy to artifacts
|
| - plugin_artifacts = env.Replicate('$ARTIFACTS_DIR', plugin_dll)
|
| -
|
| -if env.Bit('linux'):
|
| - env.Requires(plugin_artifacts, env.Replicate(
|
| - '$ARTIFACTS_DIR', [
|
| - '$CG_DIR/lib/libCg.so',
|
| - '$CG_DIR/lib/libCgGL.so',
|
| - '$GLEW_DIR/lib/libGLEW.so.1.5',
|
| - ]
|
| - ))
|
| -
|
| -
|
| -# alias 'plugin' to build the plug-in in artifacts
|
| -env.Alias('plugin', plugin_artifacts)
|
| -
|
| -# TODO: have a common way to do colliding installs like this.
|
| -# Do the install step only if this variant is the first target.
|
| -if (env['BUILD_TYPE'] == ARGUMENTS.get('MODE') or
|
| - (ARGUMENTS.get('MODE', 'default') == 'default' and
|
| - env['BUILD_TYPE'] == 'dbg-d3d')):
|
| - plugin_install = env.Replicate('$FIREFOX_PLUGIN_DIR', plugin_dll[0])
|
| - env.Alias('install', plugin_install)
|
| -
|
| - if env.Bit('windows'):
|
| - # Copy SwiftShader to plugin dir.
|
| - swiftshader_path = env.subst('$SWIFTSHADER_DIR/swiftshader_d3d9.dll')
|
| - if os.path.exists(swiftshader_path):
|
| - env.Requires(plugin_install,
|
| - env.Replicate('$FIREFOX_PLUGIN_DIR/O3DExtras', swiftshader_path))
|
| -
|
| -if env.Bit('windows'):
|
| - # Make the logging program
|
| - exe = env.ComponentProgram('statsLogger',
|
| - logging_lib + ['win/logger_main.cc'])
|
| - # Copy the resulting executable to the Artifacts directory.
|
| - env.Replicate('$ARTIFACTS_DIR', [exe])
|
|
|