gash/configure.ac

50 lines
1.8 KiB
Plaintext
Raw Normal View History

# Gash --- Guile As SHell
# Copyright © 2017, 2018, 2019 Timothy Sample <samplet@ngyro.com>
#
# This file is part of Gash.
#
# Gash 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.
#
# Gash 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 Gash. If not, see <http://www.gnu.org/licenses/>.
AC_INIT([Gash: Guile as Shell],
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
[gash-devel@nongnu.org],
[gash])
AC_CONFIG_SRCDIR([gash])
2017-12-09 17:01:40 +00:00
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([color-tests silent-rules -Wall -Werror])
2017-12-09 17:01:40 +00:00
AM_SILENT_RULES([yes])
GUILE_PKG([3.0 2.2 2.0])
2017-12-09 17:01:40 +00:00
GUILE_PROGS
AC_ARG_VAR([GUILD], [guild (Guile compiler) command])
AS_IF([test "x$GUILD" = "x"],
[PKG_CHECK_VAR([GUILD], [guile-$GUILE_EFFECTIVE_VERSION], [guild], [],
[AC_MSG_ERROR(m4_normalize([
'guild' binary not found; please check your Guile installation.]))])])
2017-12-09 17:01:40 +00:00
AC_PATH_PROG([GENHTML], [genhtml])
AM_CONDITIONAL([HAVE_GENHTML], [test -n $GENHTML])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([gash/config.scm])
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
[chmod +x pre-inst-env])
Aggregate tests into test suites. This is a big change, but it is conceptually quite simple. In the old system, the tests were specified each by multiple files ('.sh', '.exit', '.stdout', and '.stderr'), and run with the 'test.sh' script. In the new system there are multiple tests per file ('.org') and these test suite files are run with the 'tests/run-test-suite' script. * tests/00-exit-0.sh, tests/00-exit-1.exit, tests/00-exit-1.sh, tests/00-exit-2.exit, tests/00-exit-2.sh, tests/00-exit-error.exit, tests/00-exit-error.sh, tests/00-exit-var.exit, tests/00-exit-var.sh, tests/00-exit.sh: Delete files, moving their contents... * tests/exiting.org: ...here. * tests/01-script-arg-0.sh, tests/01-script-arg-length.sh, tests/01-script-arg-length.stdout, tests/01-script-arg-list.sh, tests/01-script-arg-list.stdout, tests/01-script-backslash-space.sh, tests/01-script-backslash-twice.exit, tests/01-script-backslash-twice.sh, tests/01-script-backslash.exit, tests/01-script-backslash.sh, tests/01-script-newline.exit, tests/01-script-newline.sh, tests/01-script-semi.exit, tests/01-script-semi.sh, tests/01-script-shift.sh, tests/01-script-shift.stdout: Delete files, moving their contents... * tests/arguments.org: ...here. * tests/03-echo-brace.sh, tests/03-echo-brace.stdout, tests/03-echo-doublequotes.sh, tests/03-echo-doublequotes.stdout, tests/03-echo-escaped-doublequotes.sh, tests/03-echo-escaped-doublequotes.stdout, tests/03-echo-nesting.sh, tests/03-echo-nesting.stdout, tests/03-echo-quoted-doublequotes.sh, tests/03-echo-quoted-doublequotes.stdout, tests/03-echo.sh: Delete files, moving their contents... * tests/words.org: ...here. * tests/04-echo-equal.sh, tests/04-echo-equal.stdout, tests/04-echo-var.sh, tests/04-echo-word-at-word.sh, tests/04-echo-word-at-word.stdout, tests/04-echo-word-at.sh, tests/04-echo-word-at.stdout: Delete files, moving their contents... * tests/variable-words.org: ...here. * tests/05-assignment-backtick.sh, tests/05-assignment-backtick.stdout, tests/05-assignment-double-quote.sh, tests/05-assignment-doublequoted-doublequotes.sh, tests/05-assignment-doublequoted-doublequotes.stdout, tests/05-assignment-echo.sh, tests/05-assignment-echo.stdout, tests/05-assignment-empty.sh, tests/05-assignment-empty.stdout, tests/05-assignment-singlequote.sh, tests/05-assignment-variable-word.sh, tests/05-assignment-variable-word.stdout, tests/05-assignment-word-variable.sh, tests/05-assignment-word-variable.stdout, tests/05-assignment.sh: Delete files, moving their contents... * tests/assignments.org: ...here. * tests/06-command-compound-word.sh, tests/06-command-compound-word.stdout, tests/06-compound-word.sh, tests/06-compound-word.stdout: Delete files, moving their contents... * tests/compound-words.org: ...here. * tests/07-variable-not-or.sh, tests/07-variable-not-or.stdout, tests/07-variable-or-doublequote.sh, tests/07-variable-or-doublequote.stdout, tests/07-variable-or-empty.sh, tests/07-variable-or-empty.stdout, tests/07-variable-or-slash.sh, tests/07-variable-or-variable.sh, tests/07-variable-or-variable.stdout, tests/07-variable-or.sh, tests/07-variable-or.stdout: Delete files, moving their contents... * tests/variable-or.org: ...here. * tests/08-variable-and.sh, tests/08-variable-and.stdout, tests/08-variable-not-and.sh, tests/08-variable-not-and.stdout: Delete files, moving their contents... * tests/variable-and.org: ...here. * tests/10-else-multiple.sh, tests/10-else.multiple.stdout, tests/10-if-bracket-false.sh, tests/10-if-bracket.sh, tests/10-if-elif.sh, tests/10-if-else.sh, tests/10-if-false.sh, tests/10-if-line.sh, tests/10-if-multiple.sh, tests/10-if-multiple.stdout, tests/10-if-redirect.sh, tests/10-if-test-false.sh, tests/10-if-test.sh, tests/10-if-word-variable.sh, tests/10-if.sh: Delete files, moving their contents... * tests/conditionals.org: ...here. * tests/11-for-done-subshell.sh, tests/11-for-done-subshell.stdout, tests/11-for-split-sequence.sh, tests/11-for-split-sequence.stdout, tests/11-for.sh, tests/11-for.stdout: Delete files, moving their contents... * tests/loops.org: ...here. * tests/20-and.exit, tests/20-and.sh, tests/20-exec.sh, tests/20-or.sh, tests/20-pipe-exit-0.sh, tests/20-pipe-exit-1.exit, tests/20-pipe-exit-1.sh, tests/20-pipe-sed-cat.sh, tests/20-pipe-sed-cat.stdout, tests/20-pipe-sed.sh, tests/20-pipe-sed.stdout, tests/20-semi.exit, tests/20-semi.sh: Delete files, moving their contents... * tests/pipes-and-booleans.org: ...here. * tests/30-for-substitution.sh, tests/30-for-substitution.stdout, tests/30-substitution-assignment-at.sh, tests/30-substitution-assignment-at.stdout, tests/30-substitution-assignment.sh, tests/30-substitution-assignment.stdout, tests/30-substitution-backtick.sh, tests/30-substitution-backtick.stdout, tests/30-substitution-redirect.sh, tests/30-substitution-redirect.stdout, tests/30-substitution-word.sh, tests/30-substitution-word.stdout, tests/30-substitution.sh, tests/30-substitution.stdout: Delete files, moving their contents... * tests/command-substitution.org: ...here. * tests/40-assignment-eval-echo.sh, tests/40-assignment-eval-echo.stdout, tests/40-eval-echo-variable.sh, tests/40-eval-echo-variable.stdout, tests/40-eval.sh, tests/40-eval.stdout: Delete files, moving their contents... * tests/eval.org: ...here. * tests/41-dot.sh, tests/41-dot.stdout: Delete files, moving their contents... * tests/dot.org: ...here. * tests/42-export-new.sh, tests/42-export-new.stdout, tests/42-sh-export-new.sh, tests/42-sh-export-new.stdout, tests/42-sh-export.sh, tests/42-sh-export.stdout, tests/42-sh.sh, tests/42-sh.stdout: Delete files, moving their contents... * tests/exporting.org: ...here. * tests/data/42-export-new.sh: New file (copied from 'tests/42-export-new.sh'). * tests/43-trap-subshell.sh, tests/43-trap-subshell.stdout: Delete files, moving their contents... * tests/signals.org: ...here. * tests/50-iohere-builtin.sh, tests/50-iohere.sh, tests/50-iohere.stdout, tests/50-redirect-append.sh, tests/50-redirect-append.stdout, tests/50-redirect-clobber.sh, tests/50-redirect-clobber.stdout, tests/50-redirect-in-out.sh, tests/50-redirect-in-out.stdout, tests/50-redirect-in.sh, tests/50-redirect-merge.sh, tests/50-redirect-merge.stdout, tests/50-redirect-pipe.sh, tests/50-redirect-pipe.stdout, tests/50-redirect-sed.sh, tests/50-redirect-sed.stdout, tests/50-redirect-space.sh, tests/50-redirect-space.stdout, tests/50-redirect.sh, tests/50-redirect.stdout: Delete files, moving their contents... * tests/redirects.org: ...here. * tests/60-function-at.sh, tests/60-function-at.stdout, tests/60-function.sh, tests/60-function.stdout, tests/60-subst.sh: Delete files, moving their contents... * tests/functions.org: ...here. * tests/70-hash-hash.sh, tests/70-hash-hash.stdout, tests/70-hash.sh, tests/70-hash.stdout, tests/70-percent-percent.sh, tests/70-percent-percent.stdout, tests/70-percent-space.sh, tests/70-percent-space.stdout, tests/70-percent.sh, tests/70-percent.stdout, tests/70-slash-string-slash.sh, tests/70-slash-string.sh, tests/70-slash-string.stdout, tests/70-slash.sh, tests/70-slash.stdout: Delete files, moving their contents... * tests/variable-patterns.org: ...here. * tests/100-bracket-file.sh, tests/100-cd-foo.exit, tests/100-cd-foo.sh, tests/100-cd.sh, tests/100-cd.stdout, tests/100-test-false.sh, tests/100-test-file.sh, tests/100-test.sh: Delete files. * tests/README: Move this... * tests/data/README: ...here and adapt to the new directory. * test.sh: Delete file. * tests/run-test-suite.in: New file. * configure.ac: Configure it. * Makefile.am (TEST_EXTENSIONS): Replace '.sh' with '.org'. (SH_LOG_COMPILER): Delete variable. (ORG_LOG_COMPILER): New variable. (FULL_TESTS, XFAIL_TESTS): Replace '.sh' tests with '.org' tests. (BROKEN_TESTS): Delete variable. (TEST_DATA_FILES): Remove '.exit' and '.stdout' files; add tests/data/42-export-new.sh. (EXTRA_DIST): Add tests/data/README; remove tests/README, BROKEN_TESTS, and test.sh. * .gitignore: Adjust accordingly.
2019-06-12 22:21:41 +01:00
AC_CONFIG_FILES([tests/run-test-suite], [chmod +x tests/run-test-suite])
AC_CONFIG_FILES([tests/unit/config.scm])
AC_CONFIG_FILES([tests/spec/Makefile])
2017-12-09 17:01:40 +00:00
AC_CONFIG_FILES([tools/coverage], [chmod +x tools/coverage])
AC_OUTPUT