Port plugin build scripts to AMBuild 2 (bug 5997 part 5, r=ds).
This commit is contained in:
parent
58995fc829
commit
9c19f6efb7
@ -64,6 +64,8 @@ class SMConfig(object):
|
||||
self.binaries = []
|
||||
self.mms_root = None
|
||||
self.mysql_root = None
|
||||
self.spcomp = None
|
||||
self.smx_files = {}
|
||||
|
||||
def detectSDKs(self):
|
||||
sdk_list = builder.options.sdks.split(',')
|
||||
@ -409,6 +411,7 @@ builder.RunBuildScripts(
|
||||
'extensions/updater/AMBuilder',
|
||||
'sourcepawn/compiler/AMBuilder',
|
||||
'sourcepawn/jit/AMBuilder',
|
||||
'plugins/AMBuilder',
|
||||
],
|
||||
{
|
||||
'SM': SM
|
||||
|
@ -1,8 +1,5 @@
|
||||
# vim: set ts=2 sw=2 tw=99 noet ft=python:
|
||||
# vim: set ts=8 sts=2 sw=2 tw=99 et ft=python:
|
||||
import os
|
||||
import os.path
|
||||
import ambuild.osutil as osutil
|
||||
import ambuild.command as command
|
||||
|
||||
files = [
|
||||
'adminhelp.sp',
|
||||
@ -28,26 +25,38 @@ files = [
|
||||
'mapchooser.sp',
|
||||
'randomcycle.sp',
|
||||
'sql-admin-manager.sp'
|
||||
]
|
||||
|
||||
spcomp_argv = [
|
||||
os.path.join(builder.buildPath, SM.spcomp.binary.path),
|
||||
'SM_GENERATED_BUILD=',
|
||||
'-i' + os.path.relpath(os.path.join(builder.sourcePath, 'plugins', 'include'),
|
||||
os.path.join(builder.buildPath, builder.buildFolder)),
|
||||
'-h',
|
||||
]
|
||||
|
||||
def build_plugin(script_path, smx_file):
|
||||
inputs = [
|
||||
SM.spcomp.binary,
|
||||
script_path,
|
||||
]
|
||||
outputs = [
|
||||
smx_file
|
||||
]
|
||||
argv = spcomp_argv + [script_path]
|
||||
cmd_entry, smx_entry = builder.AddCommand(
|
||||
inputs = inputs,
|
||||
argv = argv,
|
||||
outputs = outputs,
|
||||
dep_type = 'msvc'
|
||||
)
|
||||
SM.smx_files[smx_file] = smx_entry
|
||||
|
||||
plugins = AMBuild.AddJob('plugins')
|
||||
|
||||
spcomp = os.path.join(AMBuild.outputFolder, 'spcomp', 'spcomp')
|
||||
includes = os.path.relpath(os.path.join(AMBuild.sourceFolder, 'plugins', 'include'),
|
||||
os.path.join(AMBuild.outputFolder, 'plugins'))
|
||||
|
||||
versioninc = os.path.relpath(os.path.join(AMBuild.outputFolder, 'includes'),
|
||||
os.path.join(AMBuild.outputFolder, 'plugins'))
|
||||
|
||||
#This one has to be special
|
||||
sp = os.path.join(AMBuild.sourceFolder, 'plugins', 'admin-flatfile', 'admin-flatfile.sp')
|
||||
args = [spcomp, 'SM_GENERATED_BUILD=', '-i' + versioninc, '-i' + includes, sp]
|
||||
plugins.AddCommand(command.DirectCommand(args))
|
||||
|
||||
#Do the normal ones
|
||||
for file in files:
|
||||
sp = os.path.join(AMBuild.sourceFolder, 'plugins', file)
|
||||
args = [spcomp, 'SM_GENERATED_BUILD=', '-i' + versioninc, '-i' + includes, sp]
|
||||
plugins.AddCommand(command.DirectCommand(args))
|
||||
|
||||
for script_file in files:
|
||||
script_path = os.path.join(builder.currentSourcePath, script_file)
|
||||
smx_file = os.path.splitext(script_file)[0] + '.smx'
|
||||
build_plugin(script_path, smx_file)
|
||||
|
||||
# This one has to be special.
|
||||
build_plugin(os.path.join(builder.currentSourcePath, 'admin-flatfile', 'admin-flatfile.sp'),
|
||||
'admin-flatfile.smx')
|
||||
|
@ -72,4 +72,4 @@ binary.sources += [
|
||||
if builder.target_platform is 'linux':
|
||||
binary.sources.append('binreloc.c')
|
||||
|
||||
SM.binaries += [builder.Add(binary)]
|
||||
SM.spcomp = builder.Add(binary)
|
||||
|
Loading…
Reference in New Issue
Block a user