Commit 0964123
build with clang on linux
Changed files (5)
modifiedconfiguremodifieddodo.pymodifiedinstallmodifiedscripts/bavala.pymodifiedscripts/configfile.py
Diff
@@ -77,11 +77,18 @@ def configure (): parser = OptionParser() parser.add_option("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX")+parser.add_option("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")+parser.add_option("-c", "--cc", dest="cc", help="C compiler", metavar="CC") (options, args) = parser.parse_args() if not options.prefix: options.prefix = "/usr"-+if not options.dest:+ options.dest = "/"+if not options.cc:+ options.cc = "gcc"+ configure () configfile.write_config (options.prefix)+configfile.write_compile_parameters (options.prefix, options.dest, options.cc)@@ -1,6 +1,7 @@ import os import glob import subprocess+from optparse import OptionParser from doit.tools import run_once from doit.action import CmdAction@@ -103,6 +104,6 @@ def task_man(): def task_distclean (): return {- 'actions': ['rm -rf .doit.db build scripts/*.pyc dodo.pyc libbirdfont/Config.vala'],+ 'actions': ['rm -rf .doit.db build scripts/config.py scripts/*.pyc dodo.pyc libbirdfont/Config.vala'], } @@ -3,6 +3,7 @@ import os import subprocess import glob from optparse import OptionParser+from scripts import config def install (file, dir): f = dest + prefix + dir + '/'@@ -25,18 +26,14 @@ if not os.path.exists ("build/installed"): exit (1) parser = OptionParser()-parser.add_option ("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX") parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST") (options, args) = parser.parse_args() -if not options.prefix:- options.prefix = "/usr"- if not options.dest: options.dest = "" -prefix = options.prefix+prefix = config.PREFIX dest = options.dest # create uninstall file@@ -1,9 +1,11 @@ """bavala is a build-tool for Vala based on doit (http://pydoit.org)""" import glob+import os+import sys from os.path import join- from doit.action import CmdAction+import config def cmd(name, *args):@@ -88,7 +90,7 @@ class Vala(object): """compile C files to obj `.o` """ def compile_cmd(conf, opts, libs, pos): flags = [conf[l].strip() for l in libs]- return cmd('gcc', opts, flags, pos)+ return cmd(config.CC, opts, flags, pos) for cc, obj in zip(self.cc, self.obj): pos = ["-c " + cc, "-o " + obj ]@@ -110,7 +112,7 @@ class Vala(object): opts = ['-shared ' + obj_glob, '-o ' + self.so ] flags = [conf[l].strip() for l in libs]- return cmd('gcc', opts, flags)+ return cmd(config.CC, opts, flags) return { 'name': self.so.rsplit('/')[-1],@@ -125,7 +127,7 @@ class Vala(object): """generate binary""" def compile_cmd(conf, opts, libs): flags = [conf[l].strip() for l in libs]- return cmd('gcc', opts, flags)+ return cmd(config.CC, opts, flags) bin_path = join(self.build, 'bin') target = join(bin_path, self.src)@@ -21,3 +21,10 @@ def write_config (prefix): f.write(var_line % (name, value)) f.write("}")++def write_compile_parameters (prefix, dest, cc):+ f = open('./scripts/config.py', 'w+')+ f.write("#!/usr/bin/python\n")+ f.write("PREFIX = \"" + prefix + "\"\n")+ f.write("DEST = \"" + dest + "\"\n")+ f.write("CC = \"" + cc + "\"\n")