summaryrefslogtreecommitdiffstats
path: root/o3d/svn_paths.scons
blob: 6e7f96e5ef03936f115377f057cb5f42bcb0cb3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# 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 sys

Import('env')
env.Replace(
    GOOGLECLIENT = '$SCONSTRUCT_DIR/..',
    THIRD_PARTY = '$GOOGLECLIENT/third_party',

    # A whole bunch of third-party and internal dependencies
    ANTLRLIBC_DIR = '$THIRD_PARTY/antlr3/runtime/C',
    ANTLR_DIR = '$THIRD_PARTY/antlr3/lib',
    BREAKPAD_DIR = '$THIRD_PARTY/breakpad/files/src',
    CG_BASE_DIR = '$THIRD_PARTY/cg/files',
    # TODO: pull from Chrome's SVN with gclient ?
    CHROME_SRC_DIR = '$THIRD_PARTY/chrome/files',
    COLLADA_DIR = '$THIRD_PARTY/fcollada/files',
    DOXYGEN_DIR = '$THIRD_PARTY/doxygen',
    GFLAGS_DIR = '$THIRD_PARTY/gflags',
    GLEW_DIR = '$THIRD_PARTY/glew/files',
    GMOCK_DIR = '$THIRD_PARTY/gmock/files',
    GTEST_DIR = '$THIRD_PARTY/gtest/files',
    # TODO: pull from Chrome's SVN with gclient ?
    ICU38_DIR = '$THIRD_PARTY/icu38/files',
    JPEG_DIR = '$THIRD_PARTY/jpeg/src',
    JSDOCTOOLKIT_DIR = '$THIRD_PARTY/jsdoctoolkit/files',
    # Set this to run an hermetic version of Firefox with Selenium on the Mac.
    # See tests/build.scons
    MAC_HERMETIC_FIREFOX_DIR = None,
    NACL_DIR = '$GOOGLECLIENT/native_client',
    NIXYSA_DIR = '$THIRD_PARTY/nixysa/files',
    NPAPI_DIR = '$THIRD_PARTY/npapi/files',
    PDIFF_DIR = '$THIRD_PARTY/pdiff/files',
    PLY_DIR = '$THIRD_PARTY/ply/files',
    PNG_DIR = '$THIRD_PARTY/png/src',
    SCONS_DIR = '$THIRD_PARTY/scons',
    SELENIUM_JAVA_DIR = '$THIRD_PARTY/java/selenium/rev2478_mod',
    SELENIUM_PYTHON_DIR = '$THIRD_PARTY/py/selenium',
    # TODO: pull from SVN with gclient ?
    SKIA_DIR = '$THIRD_PARTY/skia/files',
    # TODO: pull from SVN with gclient ?
    V8_SRC_DIR = '$THIRD_PARTY/v8',
    WIX_DIR = '$THIRD_PARTY/wix_2_0_4221/files',
    ZIP_UTILS_DIR = '$THIRD_PARTY/zip_utils/files',
    ZLIB_DIR = '$THIRD_PARTY/zlib/files',
    # Big stuff that we don't want to be part of the chrome tree.
    SAMPLE_ASSETS = '$GOOGLECLIENT/o3d_assets/samples',
    TEST_REFERENCE_IMAGES = '$GOOGLECLIENT/o3d_assets/tests/screenshots',
)
if env.Bit('host_windows'):
  import _winreg
  try:
    dxsdk_dir = os.environ['DXSDK_DIR']
  except KeyError:
    print 'The DirectX SDK needs to be installed, and the DXSDK_DIR environment'
    print 'variable must point to the installation directory.'
    sys.exit(1)
  try:
    winsdk_key = _winreg.OpenKey(
        _winreg.HKEY_LOCAL_MACHINE,
        'SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.0\\WinSDKBuild')
  except WindowsError:
    try:
      winsdk_key = _winreg.OpenKey(
          _winreg.HKEY_LOCAL_MACHINE,
          'SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.1\\WinSDKBuild')
    except WindowsError:
      print 'The Windows SDK version 6.0 or later needs to be installed'
      sys.exit(1)
  try:
    winsdk_dir, value_type = _winreg.QueryValueEx(winsdk_key,
                                                  'InstallationFolder')
  except WindowsError:
    print 'The Windows SDK version 6.0 or later needs to be installed'
    sys.exit(1)
  _winreg.CloseKey(winsdk_key)
  # Strip off trailing slashes
  winsdk_dir = winsdk_dir.rstrip('\\/')
  dxsdk_dir = dxsdk_dir.rstrip('\\/')
  env.Replace(JAVA_EXE = '%SystemRoot%\\system32\\java.exe',
              PLATFORM_SDK_VISTA_6_0_DIR = winsdk_dir,
              DIRECTX9_18_944_0_PARTIAL_DIR = dxsdk_dir,
              DOXYGEN = '$DOXYGEN_DIR/win/doxygen.exe')
  try:
    env['ENV']['PATH'] = "%s%s%s" % (env['ENV']['PATH'], os.pathsep,
                                     os.path.join(winsdk_dir, 'Bin'))
  except KeyError:
    env['ENV']['PATH'] = os.path.join(winsdk_dir, 'Bin')
else:
  env.Replace(JAVA_EXE = 'java')
  if env.Bit('host_linux'):
    env.Replace(DOXYGEN = '$DOXYGEN_DIR/linux/doxygen')
  else:
    env.Replace(DOXYGEN = '$DOXYGEN_DIR/osx/doxygen')