Add Python REPL that works inside the browser
[nativeclient.git] / npapi_plugin / install.scons
blob52e6904ce8f03ec60033561704a4ff23fb033be9
1 # Copyright 2008, Google Inc.
2 # All rights reserved.
3
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7
8 #     * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 #     * Redistributions in binary form must reproduce the above
11 # copyright notice, this list of conditions and the following disclaimer
12 # in the documentation and/or other materials provided with the
13 # distribution.
14 #     * Neither the name of Google Inc. nor the names of its
15 # contributors may be used to endorse or promote products derived from
16 # this software without specific prior written permission.
17
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 import os
32 import sys
33 Import('env')
35 # Add alias to install plugin
36 # NOTE: this depends on sel_ldr but we cannot model the dependency
37 #       and hence use a run-time check inside firefoxinstall.py
38 mode = ARGUMENTS.get('DBG', '0')
39 base = '${SCONSTRUCT_DIR}/scons-out/'
40 package_install = ARGUMENTS.get('SILENT', '0')
42 # Two arguments that can be used for testing - backing up the plugin before
43 # the test and restoring it afterwards.
44 backup = ARGUMENTS.get('BACKUP', '0')
45 restore = ARGUMENTS.get('RESTORE', '0')
47 if backup=='1' and restore=='1':
48   sys.stderr.write('Illegal arguments - '
49                    'BACKUP and RESTORE cannot be used simultaneously\n')
50   exit(1)
52 command = ['./tools/firefoxinstall.py']
54 if backup=='1':
55   command.append('BACKUP="1"')
56 elif restore=='1':
57   command.append('RESTORE="1"')
58 else:
59   # Install
60   command.append('MODE="%s"' %(mode))
61   command.append('PLATFORM_BASE="%s"' %(base))
62   if (package_install == '1'):
63     command.append('PKGINSTALL="1"')
65 env.AppendENVPath('HOME', os.environ.get('HOME', os.environ.get('HOMEPATH')))
67 # Use PROGRAMFILES to get the correct path to Firefox installation folder.
68 env['ENV']['PROGRAMFILES'] = os.getenv('PROGRAMFILES')
69 n = env.Alias(target='firefox_install',
70               source=[env.Alias('npGoogleNaClPlugin${PLUGIN_SUFFIX}')],
71               action='${PYTHON} ' + " ".join(command))
73 AlwaysBuild(n)