diff options
author | Alexey Neyman <stilor@att.net> | 2018-04-11 04:27:07 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-11 04:27:07 (GMT) |
commit | ffc638142d8bb5d70204047a7bd3bdd34b127d85 (patch) | |
tree | 317cf27c6163d608a3df30e15eecc540c7020ef4 /configure.ac | |
parent | 7c3422675909ea8b117f94a26170af06a265477e (diff) | |
parent | c4608f07f7e06a58d48d74b64296be663a94c604 (diff) |
Merge pull request #937 from stilor/build-autotoolize
Autotoolize crosstool-ng
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 500 |
1 files changed, 154 insertions, 346 deletions
diff --git a/configure.ac b/configure.ac index 8ae98bf..5cb82a8 100644 --- a/configure.ac +++ b/configure.ac @@ -2,162 +2,52 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.67]) + +# FIXME Temporary hack until the next release (we'll switch to plain numeric tags then) +# FIXME need to quote sed expression AC_INIT( [crosstool-NG], - [m4_esyscmd_s([git describe --always --dirty])], - [crossgcc@sourceware.org]) + [m4_esyscmd_s([git describe --always --dirty | sed s,^crosstool-ng-,,])], + [crossgcc@sourceware.org], + [crosstool-ng], + [http://crosstool-ng.org]) AC_CONFIG_AUX_DIR([scripts]) +AC_CONFIG_MACRO_DIR([m4]) -#-------------------------------------------------------------------- -# A few helper macros - -# ACX_WITH_DEPRECATED(PROG, VAR) -# Declare a deprecated --with option: instead of --with-PROG=xxx, must use VAR=xxx -AC_DEFUN( - [ACX_WITH_DEPRECATED], - [AC_ARG_WITH([$1], - [AS_HELP_STRING([--with-$1=PATH], - [Deprecated; use $2=PATH instead])], - [AC_MSG_ERROR([--with-$1=$withval deprecated; use $2=$withval instead])]) - ]) - -# Check for required tool -AC_DEFUN( - [ACX_CHECK_TOOL_REQ], - [AC_CHECK_TOOLS([$1], [$2]) - AS_IF( - [test -z "$$1"], - [AC_MSG_ERROR([missing required tool: $2])]) - ]) - -# Check for required tool, set variable to full pathname -AC_DEFUN( - [ACX_PATH_TOOL_REQ], - [ACX_WITH_DEPRECATED([$3], [$1]) - AC_ARG_VAR([$1], [Specify the full path to GNU $3]) - ACX_CHECK_TOOL_REQ([$1], [$2]) - AS_CASE( - [$$1], - [/*],, - [?*],[AC_MSG_CHECKING([for absolute path to $$1]) - $1=$(which $$1) - AC_MSG_RESULT([$$1])])]) - -# Check for required program -AC_DEFUN( - [ACX_CHECK_PROGS_REQ], - [AC_CHECK_PROGS([$1], [$2]) - AS_IF( - [test -z "$$1"], - [AC_MSG_ERROR([missing required tool: $2])]) - ]) - -# Check for path to required program -AC_DEFUN( - [ACX_PATH_PROGS_REQ], - [AC_PATH_PROGS([$1], [$2]) - AS_IF( - [test -z "$$1"], - [AC_MSG_ERROR([missing required tool: $2])]) - ]) - -# Set the kconfig option -AC_DEFUN( - [ACX_SET_KCONFIG_OPTION], - [AS_IF( - [test -n "$$1"], - [AC_SUBST([KCONFIG_$1], ["def_bool y"])], - [AC_SUBST([KCONFIG_$1], ["bool"])])]) - -# Check if a given program is available with a particular version. -# ACX_PROG_VERSION(VAR, HELP, PROG, SRCH, VERSION_CHECK[, CONFIG_OPT]) -# Search for PROG under possible names of SRCH. Allow user overrides in variable -# VAR; display HELP message. Try to find a version that satisfies VERSION_CHECK -# regexp; if that is achieved, set CONFIG_OPT in the kconfig. Otherwise, settle -# for any version found. -# Sets acx_version_VAR_ok to ':' if the version met the criterion, or false otherwise. -AC_DEFUN( - [ACX_PROG_VERSION], - [AS_IF([test -z "$EGREP"], - [AC_MSG_ERROR([This macro can only be used after checking for EGREP])]) - ACX_WITH_DEPRECATED([$3], [$1]) - AC_ARG_VAR([$1], [Specify the full path to $2]) - acx_version_$1_ok=false - AC_CACHE_CHECK([for $3], [ac_cv_path_$1], - [AC_PATH_PROGS_FEATURE_CHECK([$1], [$4], - [[ver=`$ac_path_$1 --version 2>/dev/null| $EGREP $5` - test -z "$ac_cv_path_$1" && ac_cv_path_$1=$ac_path_$1 - test -n "$ver" && ac_cv_path_$1="$ac_path_$1" ac_path_$1_found=: acx_version_$1_ok=:]])]) - AS_IF([test -n "$1"], - [[ver=`$ac_path_$1 --version 2>/dev/null| $EGREP $5` - test -n "$ver" && acx_version_$1_ok=:]]) - AC_MSG_CHECKING([for $2]) - AS_IF([$acx_version_$1_ok], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - AC_SUBST([$1], [$ac_cv_path_$1]) - AS_IF([test -n "$6"], - [AS_IF([$acx_version_$1_ok], [$6=y], [$6=]) - ACX_SET_KCONFIG_OPTION([$6])]) - ]) - -# Same as above, but make it a fatal error if the tool is not found at all -# (i.e. "require any version, prefer version X or newer") -AC_DEFUN( - [ACX_PROG_VERSION_REQ_ANY], - [ACX_PROG_VERSION([$1], [$2], [$3], [$4], [$5], [$6]) - AS_IF([test -z "$$1"], - [AC_MSG_ERROR([Required tool not found: $3])]) - ]) - -# Same, but also require the version check to pass -# (i.e. "require version X or newer") -AC_DEFUN( - [ACX_PROG_VERSION_REQ_STRICT], - [ACX_PROG_VERSION([$1], [$2], [$3], [$4], [$5], [$6]) - AS_IF([test -z "$$1" || ! $acx_version_$1_ok], - [AC_MSG_ERROR([Required tool not found: $2])]) - ]) - -# Check if install(1) supports --strip-program=... -AC_DEFUN( - [ACX_INSTALL_STRIP_PROGRAM], - [touch conftest - mkdir conftest.dir - AC_MSG_CHECKING([if install takes --strip-program option]) - AS_IF([$INSTALL --strip-program=true -s conftest conftest.dir/conftest 2>/dev/null], - [install_with_strip_program=y - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - ACX_SET_KCONFIG_OPTION([install_with_strip_program]) - rm -rf conftest.dir - rm -f conftest - ]) - +# FIXME try to use gnu strictness? Just add the missing files? +# Set automake defaults: +# - Tarballs are compressed with xz and bzip2 +# - Object files are generated in a subdirectory (new default in automake) +# - Request new tar format (old, tar-v7, breaks on long paths we have) +AM_INIT_AUTOMAKE([-Wall -Werror foreign no-dist-gzip dist-xz dist-bzip2 subdir-objects tar-pax]) + +# Safety check per autoconf best practices +AC_CONFIG_SRCDIR([ct-ng.in]) #-------------------------------------------------------------------- # Allow dummy --{en,dis}able-{static,shared} -AC_ARG_ENABLE( - [local], - [AS_HELP_STRING( - [--enable-local], - [do not install, and use current directory])]) +AC_ARG_ENABLE([local], + [AS_HELP_STRING([--enable-local], + [run ct-ng from the current directory; 'make install' unsupported])]) AC_SUBST([enable_local], [${enable_local:-no}]) -# FIXME: I don't know why we have this. Will remove after the next -# release. -AC_ARG_ENABLE( - [shared], - [AS_HELP_STRING( - [--enable-shared], - [build shared libraries (deprecated, ignored)])]) -AC_ARG_ENABLE( - [static], - [AS_HELP_STRING( - [--enable-static], - [build static libraries (deprecated, ignored)])]) - -#--------------------------------------------------------------------- +AC_ARG_ENABLE([maintainer-mode], + [AS_HELP_STRING([--enable-maintainer-mode], + [Ignored; accepted to avoid a warning from debuild])]) + +AC_ARG_WITH([bash-completion], + [AS_HELP_STRING([--with-bash-completion], + [install bash(1) command completion; can specify a path where it will be installed])], + [], + [with_bash_completion=yes]) +AS_IF([test "${with_bash_completion}" = "no"], + [BASH_COMPLETION_DIR=], + [test "${with_bash_completion}" != "yes"], + [BASH_COMPLETION_DIR="${with_bash_completion}"], + [BASH_COMPLETION_DIR='${datadir}/bash-completion/completions']) +AM_CONDITIONAL([INSTALL_BASH_COMPLETION], [test -n "${BASH_COMPLETION_DIR}"]) +AC_SUBST([BASH_COMPLETION_DIR]) + # Check for --build and --host... AC_CANONICAL_BUILD AC_CANONICAL_HOST @@ -168,46 +58,42 @@ AS_IF([test -n "$target_alias"], # Allow program name tranformation (--program-{prefix,suffix,transform-name}) AC_ARG_PROGRAM -#--------------------------------------------------------------------- -# Initial checks that are usually done first (I don't know why, that's -# just what I seem to experience...) -#--------------------------------------------------------------------- -ACX_WITH_DEPRECATED([install], [INSTALL]) -AC_ARG_VAR([INSTALL], [Specify the full path to a BSD-compatible install]) -AC_PROG_INSTALL -ACX_INSTALL_STRIP_PROGRAM +AC_PROG_MKDIR_P +AC_PROG_LN_S + +CTNG_PROG_INSTALL -ACX_WITH_DEPRECATED([grep], [GREP]) +CTNG_WITH_DEPRECATED([grep], [GREP]) AC_ARG_VAR([GREP], [Specify the full path to GNU grep]) # This is not a typo! Prefer GNU grep on macOS if it is installed. -ACX_PATH_TOOL_REQ([GREP], [ggrep grep], [grep]) -ACX_PATH_TOOL_REQ([EGREP], [gegrep egrep], [egrep]) +CTNG_PATH_TOOL_REQ([GREP], [ggrep grep], [grep]) +CTNG_PATH_TOOL_REQ([EGREP], [gegrep egrep], [egrep]) AC_PROG_GREP AC_PROG_EGREP + +# FIXME: ct-ng assumes this in many places... AS_IF([test "$EGREP" != "$GREP -E"], [AC_MSG_ERROR([egrep is not $GREP -E])]) -ACX_PROG_VERSION_REQ_STRICT([SED], +CTNG_PROG_VERSION_REQ_STRICT([SED], [GNU sed >= 4.0], [sed], [gsed sed], ['GNU sed[^0-9]* [4-9]\.']) AC_ARG_VAR([SED], [Specify the full path to GNU sed]) -AC_PROG_LN_S +AC_CONFIG_HEADERS([config.h]) -#-------------------------------------------------------------------- -# A bunch of boring tests... -#-------------------------------------------------------------------- # Modern GCC/GDB releases require C++ support in the compiler AC_PROG_CC AC_PROG_CXX +AC_PROG_CPP +AC_PROG_LEX +AC_PROG_YACC AS_IF([test -z "$CC" -o -z "$CXX"], [AC_MSG_ERROR([no suitable compiler found])]) -AC_PROG_CPP -#--------------------------------------------------------------------- # Check to see if the compiler can link statically AC_MSG_CHECKING([if $CC can static link]) echo "int main() {}" | ${CC} -static -o /dev/null -xc - > /dev/null 2>&1 @@ -218,82 +104,49 @@ AS_IF([test $static_test -eq 0], [test $static_test -ne 0], [static_link= AC_MSG_RESULT([no])]) -ACX_SET_KCONFIG_OPTION([static_link]) +CTNG_SET_KCONFIG_OPTION([static_link]) AC_PROG_RANLIB -ACX_PATH_TOOL_REQ([OBJCOPY], [gobjcopy objcopy], [objcopy]) -ACX_PATH_TOOL_REQ([OBJDUMP], [gobjdump objdump], [objdump]) -ACX_PATH_TOOL_REQ([READELF], [greadelf readelf], [readelf]) -ACX_PATH_TOOL_REQ([GPERF], [gperf], [gperf]) - -ACX_CHECK_PROGS_REQ([bison], [bison]) -ACX_CHECK_PROGS_REQ([flex], [flex]) -ACX_CHECK_PROGS_REQ([makeinfo], [makeinfo]) -ACX_CHECK_PROGS_REQ([cut], [cut]) -ACX_CHECK_PROGS_REQ([readlink], [readlink]) -ACX_CHECK_PROGS_REQ([tar], [tar]) -ACX_CHECK_PROGS_REQ([gzip], [gzip]) -ACX_CHECK_PROGS_REQ([bzip2], [bzip2]) -ACX_CHECK_PROGS_REQ([xz], [xz]) -ACX_CHECK_PROGS_REQ([help2man], [help2man]) +CTNG_PATH_TOOL_REQ([OBJCOPY], [gobjcopy objcopy], [objcopy]) +CTNG_PATH_TOOL_REQ([OBJDUMP], [gobjdump objdump], [objdump]) +CTNG_PATH_TOOL_REQ([READELF], [greadelf readelf], [readelf]) + +CTNG_CHECK_PROGS_REQ([bison], [bison]) +CTNG_CHECK_PROGS_REQ([flex], [flex]) +CTNG_CHECK_PROGS_REQ([makeinfo], [makeinfo]) +CTNG_CHECK_PROGS_REQ([cut], [cut]) +CTNG_CHECK_PROGS_REQ([readlink], [readlink]) +CTNG_CHECK_PROGS_REQ([tar], [tar]) +CTNG_CHECK_PROGS_REQ([gzip], [gzip]) +CTNG_CHECK_PROGS_REQ([bzip2], [bzip2]) +CTNG_CHECK_PROGS_REQ([xz], [xz]) +CTNG_CHECK_PROGS_REQ([help2man], [help2man]) # Not a fatal failure even if we have neither - the tarballs may # be provided in a local directory. AC_CHECK_PROGS([wget], [wget]) -ACX_SET_KCONFIG_OPTION([wget]) +CTNG_SET_KCONFIG_OPTION([wget]) AC_SUBST([wget]) AC_CHECK_PROGS([curl], [curl]) -ACX_SET_KCONFIG_OPTION([curl]) +CTNG_SET_KCONFIG_OPTION([curl]) AC_SUBST([curl]) -ACX_CHECK_PROGS_REQ([stat], [stat]) -AC_CACHE_CHECK([whether stat takes GNU or BSD format], - [acx_cv_stat_flavor], - [touch conftest - chmod 642 conftest - attr_bsd=`stat -f '%Lp' conftest 2>/dev/null` - attr_gnu=`stat -c '%a' conftest 2>/dev/null` - rm -f conftest - AS_IF([test "$attr_bsd" = "642"], - [acx_cv_stat_flavor=BSD], - [test "$attr_gnu" = "642"], - [acx_cv_stat_flavor=GNU], - [AC_MSG_ERROR([cannot determine stat(1) format option])])]) - -# FIXME: support SET_KCONFIG_OPTION with string values? But then -# again, these checks may be moved into ct-ng script. -test "$acx_cv_stat_flavor" = "BSD" && stat_flavor_BSD=y -ACX_SET_KCONFIG_OPTION([stat_flavor_BSD]) -test "$acx_cv_stat_flavor" = "GNU" && stat_flavor_GNU=y -ACX_SET_KCONFIG_OPTION([stat_flavor_GNU]) - -#Find out how to count CPUs -AC_CACHE_CHECK([whether to use getconf or sysctl to count CPUs], - [acx_cv_cpu_count], - [getconf _NPROCESSORS_ONLN >/dev/null 2>&1 && \ - acx_cv_cpu_count="getconf _NPROCESSORS_ONLN" - sysctl -n hw.ncpu >/dev/null 2>&1 && \ - acx_cv_cpu_count="sysctl -n hw.ncpu"]) -AC_SUBST(CPU_COUNT, "$acx_cv_cpu_count") +CTNG_PROG_STAT -#-------------------------------------------------------------------- -# Still boring, but remember the path, now... -#-------------------------------------------------------------------- -ACX_PATH_TOOL_REQ([PATCH], [gpatch patch], [patch]) +CTNG_CPU_COUNT + +CTNG_PATH_TOOL_REQ([PATCH], [gpatch patch], [patch]) -#-------------------------------------------------------------------- -# And a bunch of less boring tests... -#-------------------------------------------------------------------- # We need a bash that is >= 3.1 -ACX_PROG_VERSION_REQ_STRICT([BASH_SHELL], +CTNG_PROG_VERSION_REQ_STRICT([BASH_SHELL], [GNU bash >= 3.1], [bash], [bash], ['^GNU bash, version (3\.[1-9]|4)']) # We need a awk that *is* GNU awk -ACX_PROG_VERSION_REQ_STRICT([AWK], +CTNG_PROG_VERSION_REQ_STRICT([AWK], [GNU awk], [awk], [gawk awk], @@ -306,187 +159,142 @@ ACX_PROG_VERSION_REQ_STRICT([AWK], # build/install crosstool-ng itself. #---------------------------------------- # Check for GNU make (want 3.81 or above, but will accept as long as any make is found) -ACX_PROG_VERSION_REQ_ANY([MAKE], +CTNG_PROG_VERSION_REQ_ANY([MAKE], [GNU make >= 3.81], [make], [gmake make], ['^GNU Make (3\.8[1-9]|3\.9[0-9]|[4-9]\.)'], [make_3_81_or_newer]) -# Check other companion tools that we may or may not build -ACX_PROG_VERSION([LIBTOOL], +# Check other companion tools that we may or may not build. +CTNG_PROG_VERSION([LIBTOOL], [GNU libtool >= 2.4], [libtool], [glibtool libtool], ['\(GNU libtool\) ([3-9]\.|2.[4-9]|2.[1-3][0-9])'], [libtool_2_4_or_newer]) -ACX_PROG_VERSION([LIBTOOLIZE], +CTNG_PROG_VERSION([LIBTOOLIZE], [GNU libtoolize >= 2.4], [libtoolize], [glibtoolize libtoolize], ['\(GNU libtool\) ([3-9]\.|2.[4-9]|2.[1-3][0-9])'], [libtoolize_2_4_or_newer]) -ACX_PROG_VERSION([AUTOCONF], +CTNG_PROG_VERSION([AUTOCONF], [GNU autoconf >= 2.65], [autoconf], [autoconf], ['\(GNU Autoconf\) ([3-9]\.|2\.[7-9][0-9]|2\.6[5-9])'], - [autoconf_2_63_or_newer]) + [autoconf_2_65_or_newer]) -ACX_PROG_VERSION([AUTORECONF], +CTNG_PROG_VERSION([AUTORECONF], [GNU autoreconf >= 2.63], [autoreconf], [autoreconf], - ['\(GNU Autoconf\) ([3-9]\.|2\.[7-9][0-9]|2\.6[3-9])'], - [autoreconf_2_63_or_newer]) + ['\(GNU Autoconf\) ([3-9]\.|2\.[7-9][0-9]|2\.6[5-9])'], + [autoreconf_2_65_or_newer]) -ACX_PROG_VERSION([AUTOMAKE], +CTNG_PROG_VERSION([AUTOMAKE], [GNU automake >= 1.15], [automake], [automake], ['\(GNU automake\) ([2-9]\.|1\.[2-9][0-9]|1\.1[5-9])'], [automake_1_15_or_newer]) -ACX_PROG_VERSION([M4], +CTNG_PROG_VERSION([M4], [GNU m4 >= 1.4.12], [m4], [gm4 m4], ['\(GNU M4\) ([2-9]\.|1\.[5-9]|1\.[1-4][0-9]|1\.4\.[2-9][0-9]|1\.4\.1[2-9])'], [gnu_m4_1_4_12_or_newer]) -#---------------------------------------- -# Gperf 3.1 started generating functions with size_t rather than unsigned int -AC_MSG_CHECKING([for the type used in gperf declarations]) -echo "#include <string.h>" > conftest.gperf.c -echo "const char * in_word_set(const char *, GPERF_LEN_TYPE);" >> conftest.gperf.c -echo foo,bar | ${GPERF} -L ANSI-C >> conftest.gperf.c -AS_IF([${CC} -c -o /dev/null conftest.gperf.c -DGPERF_LEN_TYPE='size_t' >/dev/null 2>&1], - [AC_MSG_RESULT([size_t]) - GPERF_LEN_TYPE='size_t'], - [${CC} -c -o /dev/null conftest.gperf.c -DGPERF_LEN_TYPE='unsigned int' >/dev/null 2>&1], - [AC_MSG_RESULT([unsigned int]) - GPERF_LEN_TYPE='unsigned int'], - [AC_MSG_ERROR([unable to determine gperf len type])]) -rm -f conftest.gperf.c -AC_SUBST([GPERF_LEN_TYPE]) - -#-------------------------------------------------------------------- -# Boring again... But still a bit of work to do... -#-------------------------------------------------------------------- AC_SUBST([kconfig_options]) -#---------------------------------------- AC_CHECK_PROGS([cvs], [cvs]) -ACX_SET_KCONFIG_OPTION([cvs]) +CTNG_SET_KCONFIG_OPTION([cvs]) -#---------------------------------------- AC_CHECK_PROGS([svn], [svn]) -ACX_SET_KCONFIG_OPTION([svn]) +CTNG_SET_KCONFIG_OPTION([svn]) AC_CHECK_PROGS([git], [git]) -ACX_SET_KCONFIG_OPTION([git]) +CTNG_SET_KCONFIG_OPTION([git]) -AC_CHECK_PROGS([DPKG_BUILDFLAGS], [dpkg-buildflags]) - -#-------------------------------------------------------------------- -# Now, for some fun... -#-------------------------------------------------------------------- +# FIXME why checking if not using the result? We don't provide replacemant malloc/alloca/... AC_C_INLINE AC_HEADER_STDC AC_FUNC_MALLOC AC_FUNC_REALLOC AC_FUNC_ALLOCA -#---------------------------------------- -# Check for gettext and libintl for the kconfig frontends -AC_SUBST([gettext]) -AC_CHECK_HEADERS( - [libintl.h], - [ac_ct_gettext_hdr=$ac_header; break]) -AS_IF( - [test -n "$ac_ct_gettext_hdr"], - [AC_CHECK_DECL( - [gettext], - [gettext=y],, - [AC_INCLUDES_DEFAULT() - #include <$ac_ct_gettext_hdr>])]) -SAVE_LIBS=$LIBS -AC_SEARCH_LIBS(bindtextdomain, intl, [test "$ac_res" = "none required" || INTL_LIBS="${ac_res}"]) -LIBS=$SAVE_LIBS -AC_SUBST([INTL_LIBS]) - -#---------------------------------------- -# Check for ncurses, for the kconfig frontends -AC_SUBST([ac_ct_curses_hdr]) -AC_CHECK_HEADERS( - [ncurses/ncurses.h ncurses/curses.h ncursesw/curses.h ncurses.h curses.h], - [ac_ct_curses_hdr=$ac_header; break]) -AS_IF( - [test -z "$ac_ct_curses_hdr"], - [AC_MSG_ERROR([could not find curses header, required for the kconfig frontends])]) -AC_SEARCH_LIBS( - [initscr], - [ncursesw ncurses curses], - [ac_ct_curses_lib_found=yes; break]) -AS_IF( - [test -z "$ac_ct_curses_lib_found"], - [AC_MSG_ERROR([could not find curses library, required for the kconfig frontends])]) -AC_SEARCH_LIBS( - [tgetent], - [termcap tinfo ncursesw ncurses curses]) - -#-------------------------------------------------------------------- -# Lastly, take care of crosstool-NG internal values -#-------------------------------------------------------------------- -# Hey! We need the date! :-) -DATE_FMT="%Y%m%d" -if test "x$SOURCE_DATE_EPOCH" = "x"; then - DATE=$(date "+$DATE_FMT") -else - DATE="$(date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u "+$DATE_FMT")" -fi +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.19.8]) + +# For now, curses are needed to build kconfig. We may support a command-line +# only configuration without curses later. For now, fail in configure but +# consider it ok in config.h. +AX_WITH_CURSES +AS_IF([test "x$ax_cv_curses" != "xyes" ], [AC_MSG_ERROR([curses library not found])]) +AX_WITH_CURSES_PANEL +AS_IF([test "x$ax_cv_panel" != "xyes" ], [AC_MSG_ERROR([panel library not found])]) +AX_WITH_CURSES_MENU +AS_IF([test "x$ax_cv_menu" != "xyes" ], [AC_MSG_ERROR([menu library not found])]) + +AH_BOTTOM([ +/* Select the correct curses/menu/panel headers */ +#if defined HAVE_NCURSESW_CURSES_H +# define CURSES_LOC <ncursesw/curses.h> +#elif defined HAVE_NCURSESW_H +# define CURSES_LOC <ncursesw.h> +#elif defined HAVE_NCURSES_CURSES_H +# define CURSES_LOC <ncurses/curses.h> +#elif defined HAVE_NCURSES_H +# define CURSES_LOC <ncurses.h> +#elif defined HAVE_CURSES_H +# define CURSES_LOC <curses.h> +#else +# /* not an error - maybe a configuration didn't need curses */ +#endif + +#if defined HAVE_NCURSESW_PANEL_H +# define PANEL_LOC <ncursesw/panel.h> +#elif defined HAVE_NCURSES_PANEL_H +# define PANEL_LOC <ncurses/panel.h> +#elif defined HAVE_PANEL_H +# define PANEL_LOC <panel.h> +#else +# /* not an error */ +#endif + +#if defined HAVE_NCURSESW_MENU_H +# define MENU_LOC <ncursesw/menu.h> +#elif defined HAVE_NCURSES_MENU_H +# define MENU_LOC <ncurses/menu.h> +#elif defined HAVE_MENU_H +# define MENU_LOC <menu.h> +#else +# /* not an error */ +#endif +]) + +AX_BUILD_DATE_EPOCH(DATE, [%c]) AC_SUBST([DATE]) -# Decorate the version string if needed +AM_CONDITIONAL([INSTALL_USER_MANUAL], [test ! -f "${srcdir}/docs/MANUAL_ONLINE"]) +AC_MSG_CHECKING([if the manual needs to be installed]) +AM_COND_IF([INSTALL_USER_MANUAL], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + +# FIXME Retire? We don't want to debug a version that has been mislabeled by a user +# Decorate the version string per user-supplied version.sh, if any AS_IF( [test -f version.sh -a -x version.sh], - [V=$(./version.sh "${PACKAGE_VERSION}")]) -AS_IF( - [test -n "${V}"], - [PACKAGE_VERSION="${V}"], - [AS_CASE( - [${PACKAGE_VERSION}], - [git|*+git], - [rev_id="$( git rev-parse --short HEAD )" - git diff-index --quiet HEAD || rev_id="${rev_id}-dirty" - PACKAGE_VERSION="${PACKAGE_VERSION}+${rev_id:-unknown-$( date +%Y%m%d.%H%M%S )}" - ])]) -# Arrange to have no / in the directory name, no need to create an -# arbitrarily deep directory structure -[PACKAGE_VERSION="$( printf "${PACKAGE_VERSION}\n" |"${SED}" -r -e 's:/+:_:g;' )"] - -# Handle the local case -AC_SUBST([sublibdir]) -AC_SUBST([subdocdir]) -AS_IF( - [test "x$enable_local" = "xyes"], - [AC_MSG_NOTICE([overiding all of --prefix and the likes, because --enable-local was set]) - prefix=$(pwd) - exec_prefix="$prefix" - bindir="$prefix" - libdir="$prefix" - sublibdir="" - docdir="$prefix""/docs" - subdocdir="" - datarootdir="$prefix" - mandir="$docdir"], - [sublibdir="/\${VERSION}" - subdocdir="/\${VERSION}"]) + [PACKAGE_VERSION=$(./version.sh "${PACKAGE_VERSION}")]) + +AC_CONFIG_FILES([ + Makefile + paths.sh + kconfig/Makefile + config/configure.in +]) -#-------------------------------------------------------------------- -# Finally, generate the output file(s) -#-------------------------------------------------------------------- -AC_CONFIG_FILES([Makefile kconfig/Makefile config/configure.in]) AC_OUTPUT |