OLD | NEW |
| (Empty) |
1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 Import('env') | |
6 | |
7 env = env.Clone() | |
8 | |
9 env.ApplySConscript([ | |
10 '$BASE_DIR/using_base.scons', | |
11 '$BSPATCH_DIR/using_bspatch.scons', | |
12 '$ICU38_DIR/using_icu38.scons', | |
13 '$LZMA_SDK_DIR/using_lzma_sdk.scons', | |
14 ]) | |
15 | |
16 if env.Bit('windows'): | |
17 env_res = env.Clone() | |
18 | |
19 env_res.Append( | |
20 CPPPATH = [ | |
21 ".", | |
22 "$CHROME_SRC_DIR", | |
23 "$CHROME_DIR/installer/util", | |
24 ], | |
25 RCFLAGS = [ | |
26 ["/l", "0x409"], | |
27 ], | |
28 ) | |
29 | |
30 resources = env_res.RES('setup.rc') | |
31 | |
32 # TODO(sgk): implicit dependency should be picked up automatically | |
33 env_res.Depends(resources, | |
34 '$CHROME_DIR/installer/util/installer_util_strings.rc') | |
35 | |
36 | |
37 env.Prepend( | |
38 CPPPATH = [ | |
39 '../util', | |
40 '.', | |
41 '$CHROME_SRC_DIR', | |
42 ], | |
43 LIBS = [ | |
44 'common', | |
45 'util', | |
46 ], | |
47 ) | |
48 | |
49 if env.Bit('windows'): | |
50 env.Prepend( | |
51 LINKFLAGS = [ | |
52 '/INCREMENTAL', | |
53 '/DEBUG', | |
54 | |
55 '/DELAYLOAD:"dwmapi.dll"', | |
56 '/DELAYLOAD:"uxtheme.dll"', | |
57 | |
58 '/OPT:NOWIN98', | |
59 '/SUBSYSTEM:WINDOWS', | |
60 '/MACHINE:X86', | |
61 '/FIXED:No', | |
62 | |
63 '/safeseh', | |
64 '/dynamicbase', | |
65 '/ignore:4199', | |
66 '/nxcompat', | |
67 | |
68 '/PDB:${TARGETS[1]}', | |
69 ], | |
70 LIBS = [ | |
71 'msi', | |
72 ], | |
73 ) | |
74 | |
75 input_files = ChromeFileList([ | |
76 # TODO(sgk): violate standard indentation so we don't have to | |
77 # reindent too much when we remove the explicit MSVSFilter() calls | |
78 # in favor of generating the hierarchy to reflect the file system. | |
79 MSVSFilter('resources', [ | |
80 'setup.ico', | |
81 'setup.rc', | |
82 'setup_exe_version.rc.version', | |
83 'setup_resource.h', | |
84 ]), | |
85 'install.cc', | |
86 'main.cc', | |
87 'setup.cc', | |
88 'setup.h', | |
89 'setup_constants.cc', | |
90 'setup_constants.h', | |
91 'uninstall.cc', | |
92 'uninstall.h', | |
93 ]) | |
94 | |
95 # TODO(port): | |
96 if env.Bit('windows'): | |
97 env.ChromeProgram('setup', resources + input_files[1:]) | |
98 | |
99 p = env.ChromeMSVSProject('setup.vcproj', | |
100 dest=('$CHROME_SRC_DIR/chrome/' | |
101 + 'installer/setup/setup.vcproj'), | |
102 guid='{21C76E6E-8B38-44D6-8148-B589C13B9554}', | |
103 keyword='Win32Proj', | |
104 dependencies = [ | |
105 '$BASE_DIR/build/base.vcproj', | |
106 '$CHROME_DIR/common/common.vcproj', | |
107 '$ICU38_DIR/build/icu.vcproj', | |
108 '$LZMA_SDK_DIR/7z_C.vcproj', | |
109 '$BSPATCH_DIR/bspatch.vcproj', | |
110 '$CHROME_DIR/installer/util/util.vcproj', | |
111 ], | |
112 # TODO(sgk): when we can intuit the hierarchy | |
113 # from the built targets. | |
114 #buildtargets=TODO, | |
115 files=input_files, | |
116 relative_path_prefix='./', | |
117 tools=[ | |
118 'Version', | |
119 'VCCLCompilerTool', | |
120 'VCResourceCompilerTool', | |
121 'VCLinkerTool', | |
122 'VCManifestTool', | |
123 ], | |
124 ConfigurationType='1') | |
125 | |
126 p.AddToolFile('$CHROME_DIR/tools/build/win/version.rules') | |
127 | |
128 p.AddConfig('Debug|Win32', | |
129 InheritedPropertySheets=[ | |
130 './setup_debug.vsprops', | |
131 '$(SolutionDir)installer/util/using_util.vsprops', | |
132 ]) | |
133 | |
134 p.AddConfig('Release|Win32', | |
135 InheritedPropertySheets=[ | |
136 './setup_release.vsprops', | |
137 '$(SolutionDir)installer/util/using_util.vsprops', | |
138 ]) | |
139 | |
140 # TODO(port): | |
141 if env.Bit('windows'): | |
142 exe_version_rc = env.ChromeVersionRC('setup_exe_version.rc', | |
143 'setup_exe_version.rc.version', | |
144 PWD = env.Dir('.')) | |
145 | |
146 # TODO(sgk): implicit dependency should be picked up automatically | |
147 env_res.Depends(resources, exe_version_rc) | |
OLD | NEW |