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

Side by Side Diff: native_client_sdk/src/build_tools/make_rules.py

Issue 10829027: [NaCl SDK] Add nacl_mounts to NaCl SDK build. Experimental for now. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix for windows Created 8 years, 5 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 6
7 # 7 #
8 # Default macros for various platforms. 8 # Default macros for various platforms.
9 # 9 #
10 NEWLIB_DEFAULTS = """ 10 NEWLIB_DEFAULTS = """
11 NEWLIB_CC?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-gcc -c 11 NEWLIB_CC?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-gcc -c
12 NEWLIB_CXX?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -c -std=gnu++98 12 NEWLIB_CXX?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -c -std=gnu++98
13 NEWLIB_LINK?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -Wl,-as-needed 13 NEWLIB_LINK?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -Wl,-as-needed
14 NEWLIB_LIB?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-ar r
14 NEWLIB_DUMP?=$(TC_PATH)/$(OSNAME)_x86_newlib/x86_64-nacl/bin/objdump 15 NEWLIB_DUMP?=$(TC_PATH)/$(OSNAME)_x86_newlib/x86_64-nacl/bin/objdump
15 NEWLIB_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) 16 NEWLIB_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)/inc lude
16 NEWLIB_LDFLAGS?=-g -pthread 17 NEWLIB_LDFLAGS?=-g -pthread
17 """ 18 """
18 19
19 GLIBC_DEFAULTS = """ 20 GLIBC_DEFAULTS = """
20 GLIBC_CC?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-gcc -c 21 GLIBC_CC?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-gcc -c
21 GLIBC_CXX?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -c -std=gnu++98 22 GLIBC_CXX?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -c -std=gnu++98
22 GLIBC_LINK?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -Wl,-as-needed 23 GLIBC_LINK?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -Wl,-as-needed
24 GLIBC_LIB?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-ar r
23 GLIBC_DUMP?=$(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/bin/objdump 25 GLIBC_DUMP?=$(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/bin/objdump
24 GLIBC_PATHS:=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib32 26 GLIBC_PATHS:=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib32
25 GLIBC_PATHS+=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib 27 GLIBC_PATHS+=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib
26 GLIBC_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) 28 GLIBC_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)/incl ude
27 GLIBC_LDFLAGS?=-g -pthread 29 GLIBC_LDFLAGS?=-g -pthread
28 """ 30 """
29 31
30 PNACL_DEFAULTS = """ 32 PNACL_DEFAULTS = """
31 PNACL_CC?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang -c 33 PNACL_CC?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang -c
32 PNACL_CXX?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++ -c -std=gnu++ 98 34 PNACL_CXX?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++ -c -std=gnu++ 98
33 PNACL_LINK?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++ 35 PNACL_LINK?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++
36 PNACL_LIB?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-ar r
34 PNACL_DUMP?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/objdump 37 PNACL_DUMP?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/objdump
35 PNACL_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) 38 PNACL_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)/incl ude
36 PNACL_LDFLAGS?=-g -pthread 39 PNACL_LDFLAGS?=-g -pthread
37 TRANSLATE:=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-translate 40 TRANSLATE:=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-translate
38 """ 41 """
39 42
40 WIN_DEFAULTS = """ 43 WIN_DEFAULTS = """
41 WIN_CC?=cl.exe 44 WIN_CC?=cl.exe
42 WIN_CXX?=cl.exe 45 WIN_CXX?=cl.exe
43 WIN_LINK?=link.exe 46 WIN_LINK?=link.exe
44 WIN_LIB?=lib.exe 47 WIN_LIB?=lib.exe
45 WIN_CCFLAGS=/I$(NACL_SDK_ROOT)/include /I$(NACL_SDK_ROOT)/include/win -D WIN32 - D _WIN32 48 WIN_CCFLAGS=/I$(NACL_SDK_ROOT)/include /I$(NACL_SDK_ROOT)/include/win -D WIN32 - D _WIN32
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe 94 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe
92 """ 95 """
93 96
94 SO_LINK_RULE = """ 97 SO_LINK_RULE = """
95 <tc>/<proj>_<ARCH>.so : <OBJS> 98 <tc>/<proj>_<ARCH>.so : <OBJS>
96 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST> 99 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST>
97 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so 100 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so
98 <TC>_NMF+=<tc>/<proj>_<ARCH>.so 101 <TC>_NMF+=<tc>/<proj>_<ARCH>.so
99 """ 102 """
100 103
101 WIN_LIB_RULE = """
102 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS>
103 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST>
104 """
105
106 WIN_LINK_RULE = """ 104 WIN_LINK_RULE = """
107 win/<proj>.dll : <OBJS> 105 win/<proj>.dll : <OBJS>
108 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $ ^ <LIBLIST> $(WIN_LDFLAGS) 106 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $ ^ <LIBLIST> $(WIN_LDFLAGS)
109 <TC>_NMF+=<tc>/<proj>.dll 107 <TC>_NMF+=<tc>/<proj>.dll
110 108
111 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac l 109 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac l
112 LAUNCH_HOST: CHECK_FOR_CHROME all 110 LAUNCH_HOST: CHECK_FOR_CHROME all
113 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html" 111 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html"
114 """ 112 """
115 113
114 #
115 # Lib rules for various platforms.
116 #
117 POSIX_LIB_RULE = """
118 $(NACL_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/lib<proj>.a : <OBJS>
119 <TAB>$(MKDIR) $(dir $@)
120 <TAB>$(<LIB>) $@ $^
121 """
122
123 WIN_LIB_RULE = """
124 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS>
125 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST>
126 """
127
128
116 129
117 NMF_RULE = """ 130 NMF_RULE = """
118 <tc>/<proj>.nmf : $(<TC>_NMF) 131 <tc>/<proj>.nmf : $(<TC>_NMF)
119 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc> 132 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc>
120 """ 133 """
121 134
122 NMF_EMPTY = """ 135 NMF_EMPTY = """
123 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc> 136 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc>
124 <TAB>echo {} > $@ 137 <TAB>echo {} > $@
125 """ 138 """
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 193
181 194
182 BUILD_RULES = { 195 BUILD_RULES = {
183 'newlib' : { 196 'newlib' : {
184 'ARCHES': [NACL_X86_32, NACL_X86_64], 197 'ARCHES': [NACL_X86_32, NACL_X86_64],
185 'DEFS': NEWLIB_DEFAULTS, 198 'DEFS': NEWLIB_DEFAULTS,
186 'CC' : NACL_CC_RULE, 199 'CC' : NACL_CC_RULE,
187 'CXX' : NACL_CC_RULE, 200 'CXX' : NACL_CC_RULE,
188 'NMF' : NMF_RULE, 201 'NMF' : NMF_RULE,
189 'MAIN': NEXE_LINK_RULE, 202 'MAIN': NEXE_LINK_RULE,
190 'LIB': None, 203 'LIB': POSIX_LIB_RULE,
191 'SO' : None, 204 'SO' : None,
192 'TOOL': NACL_TOOL, 205 'TOOL': NACL_TOOL,
193 }, 206 },
194 'glibc' : { 207 'glibc' : {
195 'ARCHES': [NACL_X86_32, NACL_X86_64], 208 'ARCHES': [NACL_X86_32, NACL_X86_64],
196 'DEFS': GLIBC_DEFAULTS, 209 'DEFS': GLIBC_DEFAULTS,
197 'CC': NACL_CC_RULE, 210 'CC': NACL_CC_RULE,
198 'CXX': NACL_CC_RULE, 211 'CXX': NACL_CC_RULE,
199 'NMF' : GLIBC_NMF_RULE, 212 'NMF' : GLIBC_NMF_RULE,
200 'MAIN': NEXE_LINK_RULE, 213 'MAIN': NEXE_LINK_RULE,
201 'LIB': None, 214 'LIB': POSIX_LIB_RULE,
202 'SO': SO_LINK_RULE, 215 'SO': SO_LINK_RULE,
203 'TOOL': NACL_TOOL, 216 'TOOL': NACL_TOOL,
204 }, 217 },
205 'pnacl' : { 218 'pnacl' : {
206 'ARCHES': [NACL_PNACL], 219 'ARCHES': [NACL_PNACL],
207 'DEFS': PNACL_DEFAULTS, 220 'DEFS': PNACL_DEFAULTS,
208 'CC': NACL_CC_RULE, 221 'CC': NACL_CC_RULE,
209 'CXX': NACL_CC_RULE, 222 'CXX': NACL_CC_RULE,
210 'NMF' : NMF_RULE, 223 'NMF' : NMF_RULE,
211 'MAIN': PEXE_LINK_RULE, 224 'MAIN': PEXE_LINK_RULE,
212 'LIB': None, 225 'LIB': POSIX_LIB_RULE,
213 'SO': None, 226 'SO': None,
214 'TOOL': NACL_TOOL 227 'TOOL': NACL_TOOL
215 }, 228 },
216 'win' : { 229 'win' : {
217 'ARCHES': [WIN_32], 230 'ARCHES': [WIN_32],
218 'DEFS': WIN_DEFAULTS, 231 'DEFS': WIN_DEFAULTS,
219 'CC': WIN_CC_RULE, 232 'CC': WIN_CC_RULE,
220 'CXX': WIN_CC_RULE, 233 'CXX': WIN_CC_RULE,
221 'NMF' : NMF_EMPTY, 234 'NMF' : NMF_EMPTY,
222 'MAIN': WIN_LINK_RULE, 235 'MAIN': WIN_LINK_RULE,
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 for key in kwargs: 285 for key in kwargs:
273 replace['<%s>' % key] = kwargs[key] 286 replace['<%s>' % key] = kwargs[key]
274 287
275 if '<OBJS>' not in replace: 288 if '<OBJS>' not in replace:
276 if replace.get('<ARCH>', ''): 289 if replace.get('<ARCH>', ''):
277 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT) 290 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT)
278 else: 291 else:
279 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT) 292 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT)
280 return replace 293 return replace
281 294
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698