diff options
Diffstat (limited to 'third_party/waf/wafadmin/3rdparty/go.py')
-rw-r--r-- | third_party/waf/wafadmin/3rdparty/go.py | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/third_party/waf/wafadmin/3rdparty/go.py b/third_party/waf/wafadmin/3rdparty/go.py deleted file mode 100644 index f8397c7e1c7..00000000000 --- a/third_party/waf/wafadmin/3rdparty/go.py +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 -# go.py - Waf tool for the Go programming language -# By: Tom Wambold <tom5760@gmail.com> - -import platform, os - -import Task -import Utils -from TaskGen import feature, extension, after - -Task.simple_task_type('gocompile', '${GOC} ${GOCFLAGS} -o ${TGT} ${SRC}', shell=False) -Task.simple_task_type('gopack', '${GOP} grc ${TGT} ${SRC}', shell=False) -Task.simple_task_type('golink', '${GOL} ${GOLFLAGS} -o ${TGT} ${SRC}', shell=False) - -def detect(conf): - - def set_def(var, val): - if not conf.env[var]: - conf.env[var] = val - - goarch = os.getenv("GOARCH") - - if goarch == '386': - set_def('GO_PLATFORM', 'i386') - elif goarch == 'amd64': - set_def('GO_PLATFORM', 'x86_64') - elif goarch == 'arm': - set_def('GO_PLATFORM', 'arm') - else: - set_def('GO_PLATFORM', platform.machine()) - - if conf.env.GO_PLATFORM == 'x86_64': - set_def('GO_COMPILER', '6g') - set_def('GO_LINKER', '6l') - set_def('GO_EXTENSION', '.6') - elif conf.env.GO_PLATFORM in ['i386', 'i486', 'i586', 'i686']: - set_def('GO_COMPILER', '8g') - set_def('GO_LINKER', '8l') - set_def('GO_EXTENSION', '.8') - elif conf.env.GO_PLATFORM == 'arm': - set_def('GO_COMPILER', '5g') - set_def('GO_LINKER', '5l') - set_def('GO_EXTENSION', '.5') - - if not (conf.env.GO_COMPILER or conf.env.GO_LINKER or conf.env.GO_EXTENSION): - raise conf.fatal('Unsupported platform ' + platform.machine()) - - set_def('GO_PACK', 'gopack') - set_def('GO_PACK_EXTENSION', '.a') - - conf.find_program(conf.env.GO_COMPILER, var='GOC', mandatory=True) - conf.find_program(conf.env.GO_LINKER, var='GOL', mandatory=True) - conf.find_program(conf.env.GO_PACK, var='GOP', mandatory=True) - conf.find_program('cgo', var='CGO', mandatory=True) - -@extension('.go') -def compile_go(self, node): - try: - self.go_nodes.append(node) - except AttributeError: - self.go_nodes = [node] - -@feature('go') -@after('apply_core') -def apply_compile_go(self): - try: - nodes = self.go_nodes - except AttributeError: - self.go_compile_task = None - else: - self.go_compile_task = self.create_task('gocompile', - nodes, - [self.path.find_or_declare(self.target + self.env.GO_EXTENSION)]) - -@feature('gopackage', 'goprogram') -@after('apply_compile_go') -def apply_goinc(self): - if not getattr(self, 'go_compile_task', None): - return - - names = self.to_list(getattr(self, 'uselib_local', [])) - for name in names: - obj = self.name_to_obj(name) - if not obj: - raise Utils.WafError('object %r was not found in uselib_local ' - '(required by %r)' % (lib_name, self.name)) - obj.post() - self.go_compile_task.set_run_after(obj.go_package_task) - self.go_compile_task.dep_nodes.extend(obj.go_package_task.outputs) - self.env.append_unique('GOCFLAGS', '-I' + obj.path.abspath(obj.env)) - self.env.append_unique('GOLFLAGS', '-L' + obj.path.abspath(obj.env)) - -@feature('gopackage') -@after('apply_goinc') -def apply_gopackage(self): - self.go_package_task = self.create_task('gopack', - self.go_compile_task.outputs[0], - self.path.find_or_declare(self.target + self.env.GO_PACK_EXTENSION)) - self.go_package_task.set_run_after(self.go_compile_task) - self.go_package_task.dep_nodes.extend(self.go_compile_task.outputs) - -@feature('goprogram') -@after('apply_goinc') -def apply_golink(self): - self.go_link_task = self.create_task('golink', - self.go_compile_task.outputs[0], - self.path.find_or_declare(self.target)) - self.go_link_task.set_run_after(self.go_compile_task) - self.go_link_task.dep_nodes.extend(self.go_compile_task.outputs) |