| OLD | NEW |
| 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 import os | 6 import os |
| 7 | 7 |
| 8 | 8 |
| 9 # | 9 # |
| 10 # Default macros for various platforms. | 10 # Default macros for various platforms. |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 PEXE_LINK_RULES = { | 102 PEXE_LINK_RULES = { |
| 103 'Debug': '<TAB>$(<LINK>) -o $@ $^ -g $(<TC>_LDFLAGS) $(<PROJ>_LDFLAGS) -L$(NAC
L_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/<config> <LIBLIST>\n' + PEXE_TRANSLATE_RUL
E, | 103 'Debug': '<TAB>$(<LINK>) -o $@ $^ -g $(<TC>_LDFLAGS) $(<PROJ>_LDFLAGS) -L$(NAC
L_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/<config> <LIBLIST>\n' + PEXE_TRANSLATE_RUL
E, |
| 104 'Release': '<TAB>$(<LINK>) -o $@ $^ $(<TC>_LDFLAGS) $(<PROJ>_LDFLAGS) -L$(NACL
_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/<config> <LIBLIST>\n' + PEXE_TRANSLATE_RULE
, | 104 'Release': '<TAB>$(<LINK>) -o $@ $^ $(<TC>_LDFLAGS) $(<PROJ>_LDFLAGS) -L$(NACL
_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/<config> <LIBLIST>\n' + PEXE_TRANSLATE_RULE
, |
| 105 } | 105 } |
| 106 | 106 |
| 107 WIN_LINK_RULES = { | 107 WIN_LINK_RULES = { |
| 108 'Debug': '<TAB>$(<LINK>) /DLL /OUT:$@ /PDG:$@.pdb /Zi $(<PROJ>_LDFLAGS) /DEBUG
/LIBPATH:$(NACL_SDK_ROOT)/lib/win_x86_32_host/Debug $^ <LIBLIST> $(WIN_LDFLAGS)
', | 108 'Debug': '<TAB>$(<LINK>) /DLL /OUT:$@ /PDG:$@.pdb /Zi $(<PROJ>_LDFLAGS) /DEBUG
/LIBPATH:$(NACL_SDK_ROOT)/lib/win_x86_32_host/Debug $^ <LIBLIST> $(WIN_LDFLAGS)
', |
| 109 'Release': '<TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_LDFLAGS) /LIBPATH:$(NACL_SDK_
ROOT)/lib/win_x86_32_host/Release $^ <LIBLIST> $(WIN_LDFLAGS)' | 109 'Release': '<TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_LDFLAGS) /LIBPATH:$(NACL_SDK_
ROOT)/lib/win_x86_32_host/Release $^ <LIBLIST> $(WIN_LDFLAGS)' |
| 110 } | 110 } |
| 111 | 111 |
| 112 WIN_LAUNCH_RULES = """ | |
| 113 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac
l | |
| 114 LAUNCH_HOST: CHECK_FOR_CHROME all | |
| 115 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html" | |
| 116 """ | |
| 117 | 112 |
| 118 # | 113 # |
| 119 # Lib rules for various platforms. | 114 # Lib rules for various platforms. |
| 120 # | 115 # |
| 121 POSIX_LIB_RULES = { | 116 POSIX_LIB_RULES = { |
| 122 'Debug': | 117 'Debug': |
| 123 '<TAB>$(MKDIR) -p $(dir $@)\n' | 118 '<TAB>$(MKDIR) -p $(dir $@)\n' |
| 124 '<TAB>$(<LIB>) $@ $^', | 119 '<TAB>$(<LIB>) $@ $^', |
| 125 'Release': | 120 'Release': |
| 126 '<TAB>$(MKDIR) -p $(dir $@)\n' | 121 '<TAB>$(MKDIR) -p $(dir $@)\n' |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 'MAIN': '<tc>/<config>/<proj>.dll', | 158 'MAIN': '<tc>/<config>/<proj>.dll', |
| 164 'NMFMAIN': '<tc>/<config>/<proj>.dll', | 159 'NMFMAIN': '<tc>/<config>/<proj>.dll', |
| 165 'SO': None, | 160 'SO': None, |
| 166 'LIB': '$(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<config>/<proj>.lib', | 161 'LIB': '$(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<config>/<proj>.lib', |
| 167 } | 162 } |
| 168 | 163 |
| 169 LINUX_TOOL = { | 164 LINUX_TOOL = { |
| 170 'DEFINE': '-D%s', | 165 'DEFINE': '-D%s', |
| 171 'INCLUDE': '-I%s', | 166 'INCLUDE': '-I%s', |
| 172 'LIBRARY': '-l%s', | 167 'LIBRARY': '-l%s', |
| 173 'MAIN': '<tc>/<config>/lib<proj>_<ARCH>.so', | 168 'MAIN': '<tc>/<config>/lib<proj>.so', |
| 174 'NMFMAIN': '<tc>/<config>/lib<proj>_<ARCH>.so', | 169 'NMFMAIN': '<tc>/<config>/lib<proj>.so', |
| 175 'SO': '<tc>/<config>/lib<proj>_<ARCH>.so', | 170 'SO': '<tc>/<config>/lib<proj>.so', |
| 176 'LIB': '$(NACL_SDK_ROOT)/lib/linux_<ARCH>_host/<config>/lib<proj>.a', | 171 'LIB': '$(NACL_SDK_ROOT)/lib/linux_<ARCH>_host/<config>/lib<proj>.a', |
| 177 } | 172 } |
| 178 | 173 |
| 179 NACL_TOOL = { | 174 NACL_TOOL = { |
| 180 'DEFINE': '-D%s', | 175 'DEFINE': '-D%s', |
| 181 'INCLUDE': '-I%s', | 176 'INCLUDE': '-I%s', |
| 182 'LIBRARY': '-l%s', | 177 'LIBRARY': '-l%s', |
| 183 'MAIN': '<tc>/<config>/<proj>_<ARCH>.nexe', | 178 'MAIN': '<tc>/<config>/<proj>_<ARCH>.nexe', |
| 184 'NMFMAIN': '<tc>/<config>/<proj>_<ARCH>.nexe', | 179 'NMFMAIN': '<tc>/<config>/<proj>_<ARCH>.nexe', |
| 185 'SO': '<tc>/<config>/<proj>_<ARCH>.so', | 180 'SO': '<tc>/<config>/<proj>_<ARCH>.so', |
| (...skipping 10 matching lines...) Expand all Loading... |
| 196 '<tc>/<config>/<proj>_x86_64.nexe ' | 191 '<tc>/<config>/<proj>_x86_64.nexe ' |
| 197 '<tc>/<config>/<proj>_arm.nexe', | 192 '<tc>/<config>/<proj>_arm.nexe', |
| 198 'SO': None, | 193 'SO': None, |
| 199 'LIB': '$(NACL_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/<config>/lib<proj>.a', | 194 'LIB': '$(NACL_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/<config>/lib<proj>.a', |
| 200 } | 195 } |
| 201 | 196 |
| 202 | 197 |
| 203 # | 198 # |
| 204 # Various Architectures | 199 # Various Architectures |
| 205 # | 200 # |
| 206 LINUX_32 = { | 201 LINUX = { |
| 207 '<arch>': '32', | 202 '<arch>': '', |
| 208 '<ARCH>': 'x86_32', | 203 '<ARCH>': '', |
| 209 '<MACH>': '-m32', | 204 '<MACH>': '', |
| 210 } | |
| 211 LINUX_64 = { | |
| 212 '<arch>': '64', | |
| 213 '<ARCH>': 'x86_64', | |
| 214 '<MACH>': '-m64', | |
| 215 } | 205 } |
| 216 NACL_X86_32 = { | 206 NACL_X86_32 = { |
| 217 '<arch>': '32', | 207 '<arch>': '32', |
| 218 '<ARCH>': 'x86_32', | 208 '<ARCH>': 'x86_32', |
| 219 '<MACH>': '-m32', | 209 '<MACH>': '-m32', |
| 220 } | 210 } |
| 221 NACL_X86_64 = { | 211 NACL_X86_64 = { |
| 222 '<arch>': '64', | 212 '<arch>': '64', |
| 223 '<ARCH>': 'x86_64', | 213 '<ARCH>': 'x86_64', |
| 224 '<MACH>': '-m64', | 214 '<MACH>': '-m64', |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 'DEFS': WIN_DEFAULTS, | 264 'DEFS': WIN_DEFAULTS, |
| 275 'CC': WIN_CC_RULES, | 265 'CC': WIN_CC_RULES, |
| 276 'CXX': WIN_CC_RULES, | 266 'CXX': WIN_CC_RULES, |
| 277 'NMF' : NMF_EMPTY, | 267 'NMF' : NMF_EMPTY, |
| 278 'MAIN': WIN_LINK_RULES, | 268 'MAIN': WIN_LINK_RULES, |
| 279 'LIB': WIN_LIB_RULES, | 269 'LIB': WIN_LIB_RULES, |
| 280 'SO': None, | 270 'SO': None, |
| 281 'TOOL': WIN_TOOL | 271 'TOOL': WIN_TOOL |
| 282 }, | 272 }, |
| 283 'linux' : { | 273 'linux' : { |
| 284 'ARCHES': [LINUX_32, LINUX_64], | 274 'ARCHES': [LINUX], |
| 285 'DEFS': LINUX_DEFAULTS, | 275 'DEFS': LINUX_DEFAULTS, |
| 286 'CC': SO_CC_RULES, | 276 'CC': SO_CC_RULES, |
| 287 'CXX': SO_CC_RULES, | 277 'CXX': SO_CC_RULES, |
| 288 'NMF' : NMF_EMPTY, | 278 'NMF' : NMF_EMPTY, |
| 289 'MAIN': SO_LINK_RULES, | 279 'MAIN': SO_LINK_RULES, |
| 290 'LIB': POSIX_LIB_RULES, | 280 'LIB': POSIX_LIB_RULES, |
| 291 'SO': None, | 281 'SO': None, |
| 292 'TOOL': LINUX_TOOL | 282 'TOOL': LINUX_TOOL |
| 293 } | 283 } |
| 294 } | 284 } |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 self.tc, self.cfg, self.arch['<ARCH>'], self.project.upper()) | 350 self.tc, self.cfg, self.arch['<ARCH>'], self.project.upper()) |
| 361 return '%s:=%s\n' % (obj_list, sub_str) | 351 return '%s:=%s\n' % (obj_list, sub_str) |
| 362 | 352 |
| 363 def GetArches(self): | 353 def GetArches(self): |
| 364 return BUILD_RULES[self.tc]['ARCHES'] | 354 return BUILD_RULES[self.tc]['ARCHES'] |
| 365 | 355 |
| 366 def GetObjectList(self): | 356 def GetObjectList(self): |
| 367 return '%s_%s_%s_%s_O' % (self.project.upper(), self.tc.upper(), | 357 return '%s_%s_%s_%s_O' % (self.project.upper(), self.tc.upper(), |
| 368 self.cfg.upper(), self.arch['<ARCH>']) | 358 self.cfg.upper(), self.arch['<ARCH>']) |
| 369 | 359 |
| 360 def GetPepperPlugin(self): |
| 361 plugin = self.Replace(BUILD_RULES[self.tc]['TOOL']['MAIN']) |
| 362 text = 'PPAPI_<CONFIG>:=$(abspath %s)' % plugin |
| 363 text += ';application/x-ppapi-%s\n' % self.vars['<config>'].lower() |
| 364 return self.Replace(text) |
| 365 |
| 366 |
| 370 def SetArch(self, arch): | 367 def SetArch(self, arch): |
| 371 self.arch = arch | 368 self.arch = arch |
| 372 for key in arch: | 369 for key in arch: |
| 373 self.vars[key] = arch[key] | 370 self.vars[key] = arch[key] |
| 374 | 371 |
| 375 def SetConfig(self, config): | 372 def SetConfig(self, config): |
| 376 self.cfg = config | 373 self.cfg = config |
| 377 self.vars['<config>'] = config | 374 self.vars['<config>'] = config |
| 378 self.vars['<CONFIG>'] = config.upper() | 375 self.vars['<CONFIG>'] = config.upper() |
| 379 | 376 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 } | 476 } |
| 480 for dll in dlls: | 477 for dll in dlls: |
| 481 replace['<proj>'] = dll | 478 replace['<proj>'] = dll |
| 482 nmf_targets.append(Replace(dll_target, replace)) | 479 nmf_targets.append(Replace(dll_target, replace)) |
| 483 replace['<proj>'] = main | 480 replace['<proj>'] = main |
| 484 nmf_targets.append(Replace(target, replace)) | 481 nmf_targets.append(Replace(target, replace)) |
| 485 | 482 |
| 486 replace['<NMF_TARGETS>'] = ' '.join(nmf_targets) | 483 replace['<NMF_TARGETS>'] = ' '.join(nmf_targets) |
| 487 rules = Replace(BUILD_RULES[tc]['NMF'], replace) | 484 rules = Replace(BUILD_RULES[tc]['NMF'], replace) |
| 488 return '\nALL_TARGETS+=%s/%s/%s.nmf' % (tc, cfg, main) + rules + '\n' | 485 return '\nALL_TARGETS+=%s/%s/%s.nmf' % (tc, cfg, main) + rules + '\n' |
| OLD | NEW |