diff options
author | Mad Camel <madcamel@gmail.com> | 2024-02-18 16:49:33 +0000 |
---|---|---|
committer | Mad Camel <madcamel@gmail.com> | 2024-02-18 16:49:33 +0000 |
commit | 8edebcaf5ecdb7bcc731142921e16390436fc7a3 (patch) | |
tree | eba669dc30a217af0d8a958b324dcaf9772f6c54 /demo-project | |
parent | 208f846464b96721d93436006365705fde3b6b2c (diff) | |
parent | f1a54c378b7b51b36103ad8111d66aef63e7f041 (diff) | |
download | attobuild-master.tar.gz attobuild-master.tar.bz2 attobuild-master.tar.xz attobuild-master.zip |
Import from specing's attoconf branch
See merge request legacy/attobuild!1
Diffstat (limited to 'demo-project')
-rw-r--r-- | demo-project/Makefile.in | 9 | ||||
l--------- | demo-project/attoconf | 1 | ||||
-rwxr-xr-x | demo-project/configure | 74 | ||||
-rw-r--r-- | demo-project/header.c | 16 | ||||
-rw-r--r-- | demo-project/hello.c | 25 | ||||
-rw-r--r-- | demo-project/hello.h | 22 | ||||
-rw-r--r-- | demo-project/main.c | 24 |
7 files changed, 171 insertions, 0 deletions
diff --git a/demo-project/Makefile.in b/demo-project/Makefile.in new file mode 100644 index 0000000..8f3f4f0 --- /dev/null +++ b/demo-project/Makefile.in @@ -0,0 +1,9 @@ +vpath %.c ${SRC_DIR} +vpath %.h ${SRC_DIR} + +hello: main.o hello.o +main.o: main.c hello.h +hello.o: hello.c hello.h + +clean: + rm -f hello main.o hello.o diff --git a/demo-project/attoconf b/demo-project/attoconf new file mode 120000 index 0000000..a0b3fcf --- /dev/null +++ b/demo-project/attoconf @@ -0,0 +1 @@ +../attoconf/
\ No newline at end of file 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() diff --git a/demo-project/header.c b/demo-project/header.c new file mode 100644 index 0000000..f231086 --- /dev/null +++ b/demo-project/header.c @@ -0,0 +1,16 @@ +// 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/>. diff --git a/demo-project/hello.c b/demo-project/hello.c new file mode 100644 index 0000000..b018dc3 --- /dev/null +++ b/demo-project/hello.c @@ -0,0 +1,25 @@ +// 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/>. + +#include "hello.h" + +#include <stdio.h> + +void hello(void) +{ + puts("Hello, World!"); +} diff --git a/demo-project/hello.h b/demo-project/hello.h new file mode 100644 index 0000000..899b9cc --- /dev/null +++ b/demo-project/hello.h @@ -0,0 +1,22 @@ +#ifndef HELLO_H +#define HELLO_H +// 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/>. + +void hello(void); + +#endif // HELLO_H diff --git a/demo-project/main.c b/demo-project/main.c new file mode 100644 index 0000000..2d363e2 --- /dev/null +++ b/demo-project/main.c @@ -0,0 +1,24 @@ +// 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/>. + +#include "hello.h" + +int main() +{ + hello(); + return 0; +} |