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

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: sync again Created 8 years, 4 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 -MMD -g -pthread $(NACL_WARNINGS) 16 NEWLIB_CCFLAGS?=-O0 -MMD -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT )/include
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 -MMD -g -pthread $(NACL_WARNINGS) 28 GLIBC_CCFLAGS?=-O0 -MMD -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT) /include
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 -MMD -g -pthread $(NACL_WARNINGS) 38 PNACL_CCFLAGS?=-O0 -MMD -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT) /include
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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe 96 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe
94 """ 97 """
95 98
96 SO_LINK_RULE = """ 99 SO_LINK_RULE = """
97 <tc>/<proj>_<ARCH>.so : <OBJS> 100 <tc>/<proj>_<ARCH>.so : <OBJS>
98 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST> 101 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST>
99 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so 102 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so
100 <TC>_NMF+=<tc>/<proj>_<ARCH>.so 103 <TC>_NMF+=<tc>/<proj>_<ARCH>.so
101 """ 104 """
102 105
103 WIN_LIB_RULE = """
104 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS>
105 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST>
106 """
107
108 WIN_LINK_RULE = """ 106 WIN_LINK_RULE = """
109 win/<proj>.dll : <OBJS> 107 win/<proj>.dll : <OBJS>
110 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $ ^ <LIBLIST> $(WIN_LDFLAGS) 108 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $ ^ <LIBLIST> $(WIN_LDFLAGS)
111 <TC>_NMF+=<tc>/<proj>.dll 109 <TC>_NMF+=<tc>/<proj>.dll
112 110
113 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac l 111 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac l
114 LAUNCH_HOST: CHECK_FOR_CHROME all 112 LAUNCH_HOST: CHECK_FOR_CHROME all
115 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html" 113 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html"
116 """ 114 """
117 115
116 #
117 # Lib rules for various platforms.
118 #
119 POSIX_LIB_RULE = """
120 $(NACL_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/lib<proj>.a : <OBJS>
121 <TAB>$(MKDIR) $(dir $@)
122 <TAB>$(<LIB>) $@ $^
123 """
124
125 WIN_LIB_RULE = """
126 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS>
127 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST>
128 """
129
130
118 131
119 NMF_RULE = """ 132 NMF_RULE = """
120 <tc>/<proj>.nmf : $(<TC>_NMF) 133 <tc>/<proj>.nmf : $(<TC>_NMF)
121 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc> 134 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc>
122 """ 135 """
123 136
124 NMF_EMPTY = """ 137 NMF_EMPTY = """
125 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc> 138 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc>
126 <TAB>echo {} > $@ 139 <TAB>echo {} > $@
127 """ 140 """
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 195
183 196
184 BUILD_RULES = { 197 BUILD_RULES = {
185 'newlib' : { 198 'newlib' : {
186 'ARCHES': [NACL_X86_32, NACL_X86_64], 199 'ARCHES': [NACL_X86_32, NACL_X86_64],
187 'DEFS': NEWLIB_DEFAULTS, 200 'DEFS': NEWLIB_DEFAULTS,
188 'CC' : NACL_CC_RULE, 201 'CC' : NACL_CC_RULE,
189 'CXX' : NACL_CC_RULE, 202 'CXX' : NACL_CC_RULE,
190 'NMF' : NMF_RULE, 203 'NMF' : NMF_RULE,
191 'MAIN': NEXE_LINK_RULE, 204 'MAIN': NEXE_LINK_RULE,
192 'LIB': None, 205 'LIB': POSIX_LIB_RULE,
193 'SO' : None, 206 'SO' : None,
194 'TOOL': NACL_TOOL, 207 'TOOL': NACL_TOOL,
195 }, 208 },
196 'glibc' : { 209 'glibc' : {
197 'ARCHES': [NACL_X86_32, NACL_X86_64], 210 'ARCHES': [NACL_X86_32, NACL_X86_64],
198 'DEFS': GLIBC_DEFAULTS, 211 'DEFS': GLIBC_DEFAULTS,
199 'CC': NACL_CC_RULE, 212 'CC': NACL_CC_RULE,
200 'CXX': NACL_CC_RULE, 213 'CXX': NACL_CC_RULE,
201 'NMF' : GLIBC_NMF_RULE, 214 'NMF' : GLIBC_NMF_RULE,
202 'MAIN': NEXE_LINK_RULE, 215 'MAIN': NEXE_LINK_RULE,
203 'LIB': None, 216 'LIB': POSIX_LIB_RULE,
204 'SO': SO_LINK_RULE, 217 'SO': SO_LINK_RULE,
205 'TOOL': NACL_TOOL, 218 'TOOL': NACL_TOOL,
206 }, 219 },
207 'pnacl' : { 220 'pnacl' : {
208 'ARCHES': [NACL_PNACL], 221 'ARCHES': [NACL_PNACL],
209 'DEFS': PNACL_DEFAULTS, 222 'DEFS': PNACL_DEFAULTS,
210 'CC': NACL_CC_RULE, 223 'CC': NACL_CC_RULE,
211 'CXX': NACL_CC_RULE, 224 'CXX': NACL_CC_RULE,
212 'NMF' : NMF_RULE, 225 'NMF' : NMF_RULE,
213 'MAIN': PEXE_LINK_RULE, 226 'MAIN': PEXE_LINK_RULE,
214 'LIB': None, 227 'LIB': POSIX_LIB_RULE,
215 'SO': None, 228 'SO': None,
216 'TOOL': NACL_TOOL 229 'TOOL': NACL_TOOL
217 }, 230 },
218 'win' : { 231 'win' : {
219 'ARCHES': [WIN_32], 232 'ARCHES': [WIN_32],
220 'DEFS': WIN_DEFAULTS, 233 'DEFS': WIN_DEFAULTS,
221 'CC': WIN_CC_RULE, 234 'CC': WIN_CC_RULE,
222 'CXX': WIN_CC_RULE, 235 'CXX': WIN_CC_RULE,
223 'NMF' : NMF_EMPTY, 236 'NMF' : NMF_EMPTY,
224 'MAIN': WIN_LINK_RULE, 237 'MAIN': WIN_LINK_RULE,
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 for key in kwargs: 287 for key in kwargs:
275 replace['<%s>' % key] = kwargs[key] 288 replace['<%s>' % key] = kwargs[key]
276 289
277 if '<OBJS>' not in replace: 290 if '<OBJS>' not in replace:
278 if replace.get('<ARCH>', ''): 291 if replace.get('<ARCH>', ''):
279 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT) 292 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT)
280 else: 293 else:
281 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT) 294 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT)
282 return replace 295 return replace
283 296
OLDNEW
« no previous file with comments | « native_client_sdk/src/build_tools/library.mk ('k') | native_client_sdk/src/libraries/nacl_mounts/kernel_handle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698