From 95f771b096ad7e9728b16c619f3644b177cea4d3 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 25 Apr 2021 23:42:10 +0530 Subject: Add autotools build system. * Makefile.am, bootstrap.sh, configure.ac, pre-inst-env.in: New files. --- Makefile.am | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ bootstrap.sh | 21 +++++++++++++++++++++ configure.ac | 29 +++++++++++++++++++++++++++++ pre-inst-env.in | 28 ++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+) create mode 100644 Makefile.am create mode 100755 bootstrap.sh create mode 100644 configure.ac create mode 100644 pre-inst-env.in 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 +# +# 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 . + +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 +# +# 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 +# +# 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 . + +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 +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 . + +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 +# +# 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 . + +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 "$@" -- cgit v1.2.3