Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(755)

Side by Side Diff: mi_exe_stub/build.scons

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mi_exe_stub/README.txt ('k') | mi_exe_stub/mi.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright 2008-2009 Google Inc.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 # ========================================================================
15
16 Import('env')
17
18 # Build subdirectories before switching to use WDK
19 env.BuildSConscript('x86_encoder')
20
21 # Build at warning level 4.
22 env.FilterOut(CCFLAGS=['/W3'])
23 env.Append(
24 CCFLAGS = [
25 '/W4',
26 '/Wall',
27 ],
28 )
29
30 def _UseWdkCrt(env):
31 env.Prepend(
32 WDK_PATH = '$GOOGLECLIENT/third_party/windows_driver_kit_vc80/files',
33 CPPPATH = [
34 '$WDK_PATH/inc/api/crt/stl70',
35 '$WDK_PATH/inc/crt',
36 '$WDK_PATH/inc/crt/atl71',
37 ],
38 LIBPATH = [
39 '$WDK_PATH/lib/atl/i386',
40 '$WDK_PATH/lib/crt/i386',
41 ],
42 )
43 # Magic for STL to work. Note that even though we're using ATL, a few things
44 # from STL are still required to correctly build, e.g. the iosfwd header.
45 env.Append(
46 CPPDEFINES = [
47 '_CRT_SECURE_NO_WARNINGS',
48 '_STATIC_CPPLIB', # Taken from WDK makefile.
49 '_STL70_', # Taken from WDK makefile.
50 # Prefer ATL CRT replacements to system CRT. This makes a big
51 # difference on calls to CStringT::Format style functions--in testing,
52 # I measured a 5 KiB difference.
53 '_ATL_MIN_CRT',
54 '_ATL_CSTRING_NO_CRT',
55 ],
56 CCFLAGS = [
57 '/D_SECURE_SCL=0',
58 '/EHsc',
59 '/FI$MAIN_DIR/mi_exe_stub/ptrdiff_t.h',
60 '/wd4068', # unknown pragma (ATL uses PreFAST pragmas)
61 ],
62 )
63 env.FilterOut(
64 CPPDEFINES = [
65 'NOMINMAX',
66 ],
67 CCFLAGS = [
68 '/D_HAS_EXCEPTIONS=0',
69 '/RTC1',
70 ],
71 )
72
73 for omaha_version_info in env['omaha_versions_info']:
74 prefix = omaha_version_info.filename_prefix
75 temp_env = env.Clone()
76
77 if prefix == 'TEST_':
78 temp_env['OBJPREFIX'] = temp_env.subst('test/$OBJPREFIX')
79 elif prefix:
80 raise Exception('ERROR: Unrecognized prefix "%s"' % prefix)
81
82 temp_env.Append(
83 LIBS = [
84 'lzma',
85 'mi_exe_stub_lib',
86 ('atls', 'atlsd')[temp_env.Bit('debug')],
87 ('msvcrt', 'libcmtd')[temp_env.Bit('debug')],
88 ('msvcprt', 'libcpmtd')[temp_env.Bit('debug')],
89 # 'msvcprt_btowc.lib',
90 # 'ntstc_msvcrt', # Only required if STL classes are used.
91 'shlwapi',
92 'version',
93 ],
94 RCFLAGS = [
95 '/DVERSION_MAJOR=%d' % omaha_version_info.version_major,
96 '/DVERSION_MINOR=%d' % omaha_version_info.version_minor,
97 '/DVERSION_BUILD=%d' % omaha_version_info.version_build,
98 '/DVERSION_PATCH=%d' % omaha_version_info.version_patch,
99 '/DVERSION_NUMBER_STRING=\\"%s\\"' % (
100 omaha_version_info.GetVersionString()),
101 '/DLANGUAGE_STRING=\\"%s\\"' % 'en'
102 ],
103
104 # This avoids missing __load_config_used
105 LINKFLAGS = [
106 '/SAFESEH:NO'
107 ],
108 )
109
110
111 exe_inputs = temp_env.RES(
112 target=prefix + 'mi.res',
113 source=[
114 'mi.rc',
115 ],
116 )
117
118 # Force a rebuild when the version changes.
119 temp_env.Depends(exe_inputs, '$MAIN_DIR/VERSION')
120
121 for language in omaha_version_info.GetSupportedLanguages():
122 base_name = 'mi_generated_resources_' + language
123 exe_inputs += temp_env.RES(
124 target=prefix + base_name + '.res',
125 source=base_name + '.rc',
126 )
127
128 if not temp_env.Bit('debug'):
129 # Stubs for W2k compatibility.
130 exe_inputs += '$WDK_PATH/lib/w2k/i386/msvcrt_win2000.obj',
131
132 temp_env.ComponentProgram(
133 prog_name = prefix + 'mi_exe_stub',
134 source = exe_inputs,
135 )
136
137
138 local_env = env.Clone()
139
140 # Avoid target conflicts over extractor.obj
141 local_env['OBJSUFFIX'] = '_mi' + local_env['OBJSUFFIX']
142
143 local_inputs = [
144 'mi.cc',
145 'process.cc',
146 'tar.cc',
147 '../base/extractor.cc',
148 ]
149
150 # Precompiled headers cannot be used because debug builds must link against
151 # base.lib due to base/ inclusions in precompile.h.
152 local_env.ComponentStaticLibrary('mi_exe_stub_lib',
153 local_inputs,
154 use_pch_default=False)
OLDNEW
« no previous file with comments | « mi_exe_stub/README.txt ('k') | mi_exe_stub/mi.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698