diff options
Diffstat (limited to 'demo-project/configure')
-rwxr-xr-x | demo-project/configure | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/demo-project/configure b/demo-project/configure new file mode 100755 index 0000000..61a2c2e --- /dev/null +++ b/demo-project/configure @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +# Copyright 2013 Ben Longbons <b.r.longbons@gmail.com> +# +# This file is part of attoconf. +# +# attoconf is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# attoconf is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with attoconf. If not, see <http://www.gnu.org/licenses/>. + +import os +import sys + +from attoconf.version import require_version +require_version(0, 6) + +from attoconf.classy import add_slots +from attoconf.lib.c import C +from attoconf.lib.install import Install +from attoconf.lib.config_hash import ConfigHash +from attoconf.lib.make import Make + +@add_slots +class Configuration(C, Install, ConfigHash, 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() + + 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', 'Demo project for attoconf') + proj.jiggle() + build = proj.build('.') + build.configure(sys.argv[1:], os.environ) + + +if __name__ == '__main__': + main() |