diff options
author | Arun Isaac | 2021-04-25 23:42:10 +0530 |
---|---|---|
committer | Arun Isaac | 2021-04-26 00:25:06 +0530 |
commit | 95f771b096ad7e9728b16c619f3644b177cea4d3 (patch) | |
tree | f5b8669cf6c0dc7398e268e1c31ca4aaab3cbd32 | |
parent | 9ab2f84cfa1d4e7016dd0aba1fa9a41eec85b4a1 (diff) | |
download | ccwl-95f771b096ad7e9728b16c619f3644b177cea4d3.tar.gz ccwl-95f771b096ad7e9728b16c619f3644b177cea4d3.tar.lz ccwl-95f771b096ad7e9728b16c619f3644b177cea4d3.zip |
Add autotools build system.
* Makefile.am, bootstrap.sh, configure.ac, pre-inst-env.in: New files.
-rw-r--r-- | Makefile.am | 54 | ||||
-rwxr-xr-x | bootstrap.sh | 21 | ||||
-rw-r--r-- | configure.ac | 29 | ||||
-rw-r--r-- | pre-inst-env.in | 28 |
4 files changed, 132 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..a5e66f9 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,54 @@ +# ccwl --- Concise Common Workflow Language +# Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> +# +# This file is part of ccwl. +# +# ccwl 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. +# +# ccwl 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 ccwl. If not, see <https://www.gnu.org/licenses/>. + +GOBJECTS = $(SOURCES:%.scm=%.go) + +nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES) +nobase_go_DATA = $(GOBJECTS) + +# Make sure source files are installed first, so that the mtime of +# installed compiled files is greater than that of installed source +# files. See +# <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html> +# for details. +guile_install_go_files = install-nobase_goDATA +$(guile_install_go_files): install-nobase_modDATA + +CLEANFILES = $(GOBJECTS) +EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES) +GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat +SUFFIXES = .scm .go +.scm.go: + $(AM_V_GEN)$(top_builddir)/pre-inst-env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" + +moddir = $(prefix)/share/guile/site/$(GUILE_EFFECTIVE_VERSION) +godir = $(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache + +SOURCES = \ + ccwl/ccwl.scm \ + ccwl/yaml.scm \ + ccwl/utils.scm + +SCM_LOG_DRIVER = \ + $(top_builddir)/pre-inst-env \ + $(GUILE) --no-auto-compile -s \ + $(top_builddir)/build-aux/test-driver.scm + +EXTRA_DIST += \ + COPYING \ + README.org diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..1e8f2fb --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,21 @@ +#! /bin/sh + +# ccwl --- Concise Common Workflow Language +# Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> +# +# This file is part of ccwl. +# +# ccwl 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. +# +# ccwl 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 ccwl. If not, see <https://www.gnu.org/licenses/>. + +autoreconf --verbose --install --force diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..2e1f1fe --- /dev/null +++ b/configure.ac @@ -0,0 +1,29 @@ +dnl ccwl --- Concise Common Workflow Language +dnl Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> +dnl +dnl This file is part of ccwl. +dnl +dnl ccwl is free software: you can redistribute it and/or modify it +dnl under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl ccwl is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with ccwl. If not, see <https://www.gnu.org/licenses/>. + +AC_INIT([ccwl], [0.1.0]) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE([color-tests -Wall -Wno-portability foreign check-news no-dist-gzip dist-lzip]) +AM_SILENT_RULES([yes]) + +GUILE_PKG([3.0 2.2]) +GUILE_PROGS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env]) +AC_OUTPUT diff --git a/pre-inst-env.in b/pre-inst-env.in new file mode 100644 index 0000000..4e73d75 --- /dev/null +++ b/pre-inst-env.in @@ -0,0 +1,28 @@ +#! /bin/sh + +# ccwl --- Concise Common Workflow Language +# Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> +# +# This file is part of ccwl. +# +# ccwl 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. +# +# ccwl 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 ccwl. If not, see <https://www.gnu.org/licenses/>. + +abs_top_srcdir="`cd "@abs_top_srcdir@" > /dev/null; pwd -P`" +abs_top_builddir="`cd "@abs_top_builddir@" > /dev/null; pwd -P`" + +GUILE_LOAD_COMPILED_PATH="$abs_top_builddir${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH" +GUILE_LOAD_PATH="$abs_top_builddir:$abs_top_srcdir${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH" +export GUILE_LOAD_COMPILED_PATH GUILE_LOAD_PATH + +exec "$@" |