| #! /bin/sh |
| . "${srcdir=.}/init.sh"; path_prepend_ . ../src |
| |
| # Test the autopoint program, with Automake. |
| |
| # Note: This tests fails on Alpine Linux, because the 'gzip' binary on this |
| # system does not support the '--best' option. |
| |
| : ${AUTOCONF=autoconf} |
| ${AUTOCONF} --version >/dev/null 2>/dev/null \ |
| || { echo "Skipping test: autoconf not found"; Exit 77; } |
| |
| cat <<\EOF >configure.ac |
| AC_PREREQ([2.60]) |
| EOF |
| |
| ${AUTOCONF} >/dev/null 2>/dev/null \ |
| || { echo "Skipping test: autoconf version too old"; Exit 77; } |
| |
| rm -f configure.ac |
| |
| : ${AUTOMAKE=automake} |
| ${AUTOMAKE} --version >/dev/null 2>/dev/null \ |
| || { echo "Skipping test: automake not found"; Exit 77; } |
| |
| cat <<\EOF >configure.ac |
| AC_PREREQ([2.60]) |
| AC_INIT([foo], [0.0], [bug-gnu-gettext@gnu.org]) |
| AM_INIT_AUTOMAKE([1.11 foreign]) |
| AC_CONFIG_FILES([Makefile]) |
| AC_OUTPUT |
| EOF |
| |
| : ${ACLOCAL=aclocal} |
| ${ACLOCAL} >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| : > Makefile.am |
| |
| ${AUTOMAKE} --add-missing >/dev/null 2>/dev/null \ |
| || { echo "Skipping test: automake version too old"; Exit 77; } |
| |
| rm -f configure.ac Makefile.am |
| |
| : ${MAKE=make} |
| ${MAKE} --version >/dev/null 2>/dev/null \ |
| || { echo "Skipping test: make not found"; Exit 77; } |
| |
| gettext_datadir=$top_builddir/misc |
| export gettext_datadir |
| |
| cat <<EOF >configure.ac |
| AC_INIT([hello], [0.0.0], [bug-gnu-gettext@gnu.org]) |
| AM_INIT_AUTOMAKE([foreign]) |
| LT_INIT |
| |
| AC_CONFIG_MACRO_DIR([m4]) |
| |
| AC_PROG_CC |
| AM_GNU_GETTEXT([external]) |
| AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION]) |
| |
| AC_CONFIG_HEADERS([config.h]) |
| AC_CONFIG_FILES([Makefile]) |
| AC_CONFIG_FILES([po/Makefile.in]) |
| AC_OUTPUT |
| EOF |
| |
| cat <<\EOF >Makefile.am |
| # Example for use of GNU gettext. |
| # This file is in the public domain. |
| # |
| # Makefile configuration - processed by automake. |
| |
| # The list of subdirectories containing Makefiles. |
| SUBDIRS = po |
| |
| # The list of programs that are built. |
| bin_PROGRAMS = hello |
| |
| # The source files of the 'hello' program. |
| hello_SOURCES = hello.c gettext.h |
| |
| # Define a C macro LOCALEDIR indicating where catalogs will be installed. |
| DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ |
| |
| # Make sure the gettext.h include file is found. |
| AM_CPPFLAGS = -I. -I$(srcdir) |
| |
| # Link time dependencies. |
| LDADD = @LTLIBINTL@ |
| EOF |
| |
| cp -p "$abs_top_srcdir"/gnulib-lib/gettext.h . |
| cp -p "$abs_top_srcdir"/examples/hello-c/hello.c . |
| |
| $gettext_datadir/autopoint -f >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| test ! -d intl || Exit 1 |
| test -d m4 || Exit 1 |
| test -d po || Exit 1 |
| |
| test -f m4/po.m4 || Exit 1 |
| test -f po/Makefile.in.in || Exit 1 |
| |
| cp -p po/Makevars.template po/Makevars |
| echo hello.c > po/POTFILES.in |
| |
| ${ACLOCAL} -I m4 >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| : ${AUTOHEADER=autoheader} |
| ${AUTOHEADER} >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| ${AUTOCONF} >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| # If ltmain.sh is not present, some installations of Automake fail with an |
| # error "configure.ac:3: error: required file './ltmain.sh' not found". |
| touch ltmain.sh |
| |
| ${AUTOMAKE} -a -c >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| # Check that it all compiles. |
| : ${CONFIG_SHELL=${SHELL-/bin/sh}} |
| ${CONFIG_SHELL} ./configure >/dev/null 2>autpoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| ${MAKE} >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| ${MAKE} dist >/dev/null 2>autopoint.err |
| test $? = 0 || { cat autopoint.err; Exit 1; } |
| |
| Exit 0 |