summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/util.scons
blob: 69e39d1bcb5f0d26069daddb1acf22de5a034b73 (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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# Copyright (c) 2006-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('env')

env = env.Clone()

env.ApplySConscript([
    '$BREAKPAD_DIR/using_breakpad.scons',
    '$CHROME_DIR/third_party/wtl/using_wtl.scons',
    '$ICU38_DIR/using_icu38.scons',
    '$LIBJPEG_DIR/using_libjpeg.scons',
    '$LIBPNG_DIR/using_libpng.scons',
    '$LIBXML_DIR/using_libxml.scons',
    '$LZMA_SDK_DIR/using_lzma_sdk.scons',
    '$NPAPI_DIR/using_npapi.scons',
    '$SKIA_DIR/using_skia.scons',
    '$ZLIB_DIR/using_zlib.scons',
])

env.Prepend(
    CPPPATH = [
        '$CHROME_SRC_DIR',
        '.',
    ],
)

input_files = ChromeFileList([
    'browser_distribution.cc',
    'browser_distribution.h',
    'copy_tree_work_item.cc',
    'copy_tree_work_item.h',
    'create_dir_work_item.cc',
    'create_dir_work_item.h',
    'create_reg_key_work_item.cc',
    'create_reg_key_work_item.h',
    'delete_reg_value_work_item.cc',
    'delete_reg_value_work_item.h',
    'delete_tree_work_item.cc',
    'delete_tree_work_item.h',
    'google_chrome_distribution.cc',
    'google_chrome_distribution.h',
    'google_update_constants.cc',
    'google_update_constants.h',
    'google_update_settings.cc',
    'google_update_settings.h',
    'helper.cc',
    'helper.h',
    'html_dialog.h',
    'html_dialog_impl.cc',
    'install_util.cc',
    'install_util.h',
    'l10n_string_util.cc',
    'l10n_string_util.h',
    'logging_installer.cc',
    'logging_installer.h',
    'lzma_util.cc',
    'lzma_util.h',
    'master_preferences.cc',
    'master_preferences.h',
    'set_reg_value_work_item.cc',
    'set_reg_value_work_item.h',
    'shell_util.cc',
    'shell_util.h',
    'util_constants.cc',
    'util_constants.h',
    'version.cc',
    'version.h',
    'work_item.cc',
    'work_item.h',
    'work_item_list.cc',
    'work_item_list.h',
])

# TODO(port):
if env.Bit('windows'):
  env.ChromeLibrary('util', input_files)

p = env.ChromeMSVSProject('util.vcproj',
                          dest=('$CHROME_SRC_DIR/chrome/'
                                + 'installer/util/util.vcproj'),
                          guid='{EFBB1436-A63F-4CD8-9E99-B89226E782EC}',
                          dependencies = [
                              ('$CHROME_DIR/installer/util/prebuild/' + 
                                   'util_prebuild.vcproj'),
                          ],
                          # TODO(sgk):  when we can intuit the hierarchy
                          # from the built targets.
                          #buildtargets=TODO,
                          files=input_files,
                          local_directory_prefix='./',
                          tools=[
                              'VCPreBuildEventTool',
                              'VCCustomBuildTool',
                              'VCXMLDataGeneratorTool',
                              'VCWebServiceProxyGeneratorTool',
                              'VCMIDLTool',
                              'VCCLCompilerTool',
                              'VCManagedResourceCompilerTool',
                              'VCResourceCompilerTool',
                              'VCPreLinkEventTool',
                              'VCLibrarianTool',
                              'VCALinkTool',
                              'VCXDCMakeTool',
                              'VCBscMakeTool',
                              'VCFxCopTool',
                              'VCPostBuildEventTool',
                          ],
                          ConfigurationType='4')


p.AddConfig('Debug|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/debug.vsprops',
                '$(SolutionDir)common/common.vsprops',
                '$(SolutionDir)installer/util/using_util.vsprops',
                '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops',
            ])

p.AddConfig('Release|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/release.vsprops',
                '$(SolutionDir)common/common.vsprops',
                '$(SolutionDir)installer/util/using_util.vsprops',
                '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops',
            ])


##############################################################################

input_files = ChromeFileList([
  'prebuild/create_string_rc.bat',
  'prebuild/create_string_rc.py',
])

# TODO(port):
if env.Bit('windows'):
  # create_string_rc.py imports FP.py from the tools/grit/grit/extern
  # directory, so add that to PYTHONPATH for this command execution.
  env_x = env.Clone()
  env_x.AppendENVPath('PYTHONPATH',
      [env_x.Dir('$CHROME_SRC_DIR/tools/grit/grit/extern').abspath])
  env_x.Command(['$CHROME_DIR/installer/util/installer_util_strings.rc',
                 '$CHROME_DIR/installer/util/installer_util_strings.h'],
                ['$CHROME_DIR/installer/util/prebuild/create_string_rc.py',
                 '$CHROME_DIR/app/generated_resources.grd'] +
                 env.Glob('$CHROME_DIR/app/resources/*.xtb'),
                "$PYTHON ${SOURCES[0]} ${TARGET.dir}")

p = env.ChromeMSVSProject('prebuild/util_prebuild.vcproj',
                          dest=('$CHROME_SRC_DIR/chrome/installer/'
                                + 'util/prebuild/util_prebuild.vcproj'),
                          guid='{0026A376-C4F1-4575-A1BA-578C69F07013}',
                          # TODO(sgk):  when we can intuit the hierarchy
                          # from the built targets.
                          #buildtargets=TODO,
                          files=input_files,
                          relative_path_prefix='./',
                          tools=[
                              'VCPreBuildEventTool',
                              MSVSTool('VCCustomBuildTool',
                                       CommandLine=('create_string_rc.bat '
                                                    + '$(IntDir)'),
                                       AdditionalDependencies=(
                                           'create_string_rc.py;'
                                           + '$(SolutionDir)/app/'
                                           + 'generated_resources.grd'),
                                       Outputs=('$(IntDir)/'
                                                + 'installer_util_strings.rc;'
                                                + '$(IntDir)/'
                                                + 'installer_util_strings.h')),
                              'VCMIDLTool',
                              'VCPostBuildEventTool',
                          ],
                          ConfigurationType='10')


p.AddConfig('Debug|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/debug.vsprops',
            ])

p.AddConfig('Release|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/release.vsprops',
            ])