From d26832c2ad2e62500fed8b9168098c4b5c61ce6e Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Fri, 2 Nov 2007 06:47:34 +0100 Subject: Initial standalone version of nbb. --- m4/ndim-check-sh-command-substitution.m4 | 26 ++++++++++++++++++ m4/ndim-check-sh-functions.m4 | 29 ++++++++++++++++++++ m4/ndim-check-sh-param-expansion.m4 | 31 ++++++++++++++++++++++ m4/ndim-detect-man2txt.m4 | 45 ++++++++++++++++++++++++++++++++ m4/ndim-require-posix-sh.m4 | 15 +++++++++++ 5 files changed, 146 insertions(+) create mode 100644 m4/ndim-check-sh-command-substitution.m4 create mode 100644 m4/ndim-check-sh-functions.m4 create mode 100644 m4/ndim-check-sh-param-expansion.m4 create mode 100644 m4/ndim-detect-man2txt.m4 create mode 100644 m4/ndim-require-posix-sh.m4 (limited to 'm4') diff --git a/m4/ndim-check-sh-command-substitution.m4 b/m4/ndim-check-sh-command-substitution.m4 new file mode 100644 index 0000000..de2e80c --- /dev/null +++ b/m4/ndim-check-sh-command-substitution.m4 @@ -0,0 +1,26 @@ +dnl NDIM_CHECK_SH_COMMAND_SUBSTITUTION([ACTION-IF-SUPPORTED], +dnl [ACTION-IF-NOT-SUPPORTED)dnl +dnl +m4_pattern_forbid([NDIM_CHECK_SH_COMMAND_SUBSTITUTION])dnl +AC_DEFUN([NDIM_CHECK_SH_COMMAND_SUBSTITUTION],[dnl +AS_IF([test "x$ndim_sh_command_substitution" = "x"], [dnl +AC_MSG_CHECKING([\$(cmd) type sh command substition]) +ndim_sh_command_substitution=no +test "x$(pwd)" = "x`pwd`" && test "y$(echo "foobar")" = "y`echo foobar`" \ + && ndim_sh_command_substitution=yes +AC_MSG_RESULT([$ndim_sh_command_substitution])]) +m4_ifval([$1], [ +if test "x$ndim_sh_command_substitution" = "xyes"; then +$1 +fi +])dnl +m4_ifval([$2], [ +if test "x$ndim_sh_command_substitution" = "xno"; then +$2 +fi +]) +])dnl +dnl +dnl Local Variables: +dnl mode: autoconf +dnl End: diff --git a/m4/ndim-check-sh-functions.m4 b/m4/ndim-check-sh-functions.m4 new file mode 100644 index 0000000..0b03dd7 --- /dev/null +++ b/m4/ndim-check-sh-functions.m4 @@ -0,0 +1,29 @@ +# version 1.11 +dnl NDIM_CHECK_SH_FUNCTIONS([ACTION-IF-SUPPORTED], +dnl [ACTION-IF-NOT-SUPPORTED)dnl +dnl +m4_pattern_forbid([NDIM_CHECK_SH_FUNCTIONS])dnl +AC_DEFUN([NDIM_CHECK_SH_FUNCTIONS],[dnl +NDIM_CHECK_SH_COMMAND_SUBSTITUTION([], [dnl +AC_MSG_ERROR([Sorry, POSIX sh with \$() required.])dnl +])dnl +AS_IF([test "x$ndim_sh_functions" = "x"], [dnl +AC_MSG_CHECKING([whether sh supports POSIX sh functions]) +ndim_sh_functions=no +test "x$(moo() { echo "meh"; }; moo)" = "xmeh" && ndim_sh_functions=yes +AC_MSG_RESULT([$ndim_sh_functions])]) +m4_ifval([$1], [ +if test "x$ndim_sh_functions" = "xyes"; then +$1 +fi +])dnl +m4_ifval([$2], [ +if test "x$ndim_sh_functions" = "xno"; then +$2 +fi +]) +])dnl +dnl +dnl Local Variables: +dnl mode: autoconf +dnl End: diff --git a/m4/ndim-check-sh-param-expansion.m4 b/m4/ndim-check-sh-param-expansion.m4 new file mode 100644 index 0000000..b253131 --- /dev/null +++ b/m4/ndim-check-sh-param-expansion.m4 @@ -0,0 +1,31 @@ +# version 1.11 +dnl NDIM_CHECK_SH_COMMAND_SUBSTITUTION([ACTION-IF-SUPPORTED], +dnl [ACTION-IF-NOT-SUPPORTED)dnl +dnl +m4_pattern_forbid([NDIM_CHECK_SH_PARAM_SUBSTITUTION])dnl +AC_DEFUN([NDIM_CHECK_SH_PARAM_SUBSTITUTION],[dnl +AS_IF([test "x$ndim_sh_param_substitution" = "x"], [dnl +AC_MSG_CHECKING([\${foo%%bar} type sh param substitution]) +ndim_sh_param_substitution=no +ndim_testvalue="12.34.56-1.23.4-615asdg" +test "x${ndim_testvalue%%-*}" = "x12.34.56" \ + && test "x${ndim_testvalue%-*}" = "x12.34.56-1.23.4" \ + && test "x${ndim_testvalue##*-}" = "x615asdg" \ + && test "x${ndim_testvalue#*-}" = "x1.23.4-615asdg" \ + && ndim_sh_param_substitution=yes +AC_MSG_RESULT([$ndim_sh_param_substitution])]) +m4_ifval([$1], [ +if test "x$ndim_sh_param_substitution" = "xyes"; then +$1 +fi +])dnl +m4_ifval([$2], [ +if test "x$ndim_sh_param_substitution" = "xno"; then +$2 +fi +]) +])dnl +dnl +dnl Local Variables: +dnl mode: autoconf +dnl End: diff --git a/m4/ndim-detect-man2txt.m4 b/m4/ndim-detect-man2txt.m4 new file mode 100644 index 0000000..023b5ba --- /dev/null +++ b/m4/ndim-detect-man2txt.m4 @@ -0,0 +1,45 @@ +# serial 1.6.3 +dnl +dnl NDIM_DETECT_MAN2TXT +dnl +dnl Syntax: +dnl +dnl configure.ac: +dnl NDIM_DETECT_MAN2TXT()dnl +dnl +dnl Makefile.am: +dnl if HAVE_NDIM_MAN2TXT +dnl .txt.man: +dnl $(NDIM_MAN2TXT) $< > $@ +dnl endif +dnl +dnl Define AM_CONDITIONAL HAVE_NDIM_MAN2TXT. +dnl If that is true, define NDIM_MAN2TXT. +dnl +m4_pattern_forbid([NDIM_DETECT_MAN2TXT])dnl +AC_DEFUN([NDIM_DETECT_MAN2TXT], [dnl +NDIM_CHECK_SH_FUNCTIONS([], [dnl +AC_MSG_ERROR([Sorry, POSIX sh with functions required.])dnl +])dnl +AC_ARG_VAR([MAN]) +AC_PATH_PROG([MAN], [man], [false]) +AC_ARG_VAR([COL]) +AC_PATH_PROG([COL], [col], [false]) +AM_CONDITIONAL([HAVE_NDIM_MAN2TXT], + [test "x$MAN" != "xfalse" && + test "x$COL" != "xfalse" && + test "x$(echo "ABXY" | $COL -b)" = "xBY"]) +AC_MSG_CHECKING([man and col -b work correctly]) +if test "x$HAVE_NDIM_MAN2TXT_FALSE" = "x#"; then + AC_MSG_RESULT([yes]) + NDIM_MAN2TXT='m2t(){ $(MAN) "$$(dirname "[$$]1")/$$(basename "[$$]1")"|$(COL) -b; }; m2t' +else + AC_MSG_RESULT([no $(echo "ABXY" | $COL -b)]) + NDIM_MAN2TXT='false' +fi +AC_SUBST([NDIM_MAN2TXT]) +])dnl +dnl +dnl Local Variables: +dnl mode: autoconf +dnl End: diff --git a/m4/ndim-require-posix-sh.m4 b/m4/ndim-require-posix-sh.m4 new file mode 100644 index 0000000..e5e4814 --- /dev/null +++ b/m4/ndim-require-posix-sh.m4 @@ -0,0 +1,15 @@ +dnl NDIM_REQUIRE_POSIX_SH()dnl +dnl dnl +m4_pattern_forbid([NDIM_REQUIRE_POSIX_SH])dnl +AC_DEFUN([NDIM_REQUIRE_POSIX_SH],[dnl +NDIM_CHECK_SH_COMMAND_SUBSTITUTION([], [dnl +AC_MSG_ERROR([Sorry, POSIX sh with \$() required.])dnl +])dnl +NDIM_CHECK_SH_PARAM_SUBSTITUTION([], [dnl +AC_MSG_ERROR([Sorry, POSIX sh with \${foo%%bar} & Co. required.])dnl +])dnl +])dnl +dnl +dnl Local Variables: +dnl mode: autoconf +dnl End: -- cgit