diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2013-08-05 15:41:04 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2013-08-05 15:41:04 -0700 |
commit | d7bb91cd264300351e94e37a84b1de45f2312745 (patch) | |
tree | 9464fd72647146c2642ab6b493f858afcfe51566 /demo-project/configure | |
parent | 3a475005ce9f48b6bbf45a18660dbed6c4921269 (diff) | |
download | attobuild-d7bb91cd264300351e94e37a84b1de45f2312745.tar.gz attobuild-d7bb91cd264300351e94e37a84b1de45f2312745.tar.bz2 attobuild-d7bb91cd264300351e94e37a84b1de45f2312745.tar.xz attobuild-d7bb91cd264300351e94e37a84b1de45f2312745.zip |
Add a classy API, and use it to implement all the common options
Diffstat (limited to 'demo-project/configure')
-rwxr-xr-x | demo-project/configure | 54 |
1 files changed, 45 insertions, 9 deletions
diff --git a/demo-project/configure b/demo-project/configure index dc29870..a3e49ee 100755 --- a/demo-project/configure +++ b/demo-project/configure @@ -23,17 +23,53 @@ import os import sys from attoconf.version import require_version, string as version_string -require_version(0, 1) +require_version(0, 2) -from attoconf.core import Project, Build +from attoconf.classy import add_slots +from attoconf.lib.c import C +from attoconf.lib.install import Install +from attoconf.lib.make import Make -def main(): - print('Using', version_string) - src = Project(os.path.dirname(sys.argv[0])) - # customizations go here +@add_slots +class Configuration(C, Install, Make): + # usually you'll only have vars, features, and packages + # the rest should only be inherited + def __init__(self, srcdir): + super(Configuration, self).__init__(srcdir) + + def general(self): + super(Configuration, self).general() + + def paths(self): + super(Configuration, self).paths() + + def arches(self): + super(Configuration, self).arches() + + def vars(self): + super(Configuration, self).vars() + + def features(self): + super(Configuration, self).features() - # the rest shouldn't change - build = Build(src, '.') + def packages(self): + super(Configuration, self).packages() + + if 0: + def tests(self): + super(Configuration, self).tests() + + def post(self): + super(Configuration, self).post() + + +def main(): + proj = Configuration(os.path.dirname(sys.argv[0])) + proj.set_package('attoconf-demo', version_string.split(' ')[1], 'Demo project for attoconf') + proj.jiggle() + build = proj.build('.') build.configure(sys.argv[1:], os.environ) -main() + +if __name__ == '__main__': + main() |