ncurses 6.0 - patch 20160521
[ncurses.git] / Ada95 / configure.in
index 3b72139548251b07977d9220914b5bd5ea379633..06188a500ff12136086d1f41d65d2d05f6d1faca 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 2010 Free Software Foundation, Inc.                        *
+dnl Copyright (c) 2010-2015,2016 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -28,24 +28,20 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey
 dnl
-dnl $Id: configure.in,v 1.21 2010/11/06 22:11:21 tom Exp $
+dnl $Id: configure.in,v 1.62 2016/05/21 22:25:03 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl See http://invisible-island.net/autoconf/ for additional information.
 dnl
 dnl ---------------------------------------------------------------------------
-AC_PREREQ(2.13.20020210)
-AC_REVISION($Revision: 1.21 $)
+AC_PREREQ(2.52.20030208)
+AC_REVISION($Revision: 1.62 $)
 AC_INIT(gen/gen.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 CF_TOP_BUILDDIR
 
-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
-AC_ARG_WITH(system-type,
-[  --with-system-type=XXX  test: override derived host system-type],
-[AC_MSG_WARN(overriding system type to $withval)
- cf_cv_system_name=$withval])
+CF_WITH_SYSTYPE
 
 ###    Save the given $CFLAGS to allow user-override.
 cf_user_CFLAGS="$CFLAGS"
@@ -54,15 +50,10 @@ cf_user_CFLAGS="$CFLAGS"
 CF_CFG_DEFAULTS
 
 ###    Checks for programs.
-AC_PROG_CC
-CF_GCC_VERSION
-
+CF_PROG_CC(gnatgcc gcc cc)
 AC_PROG_CPP
 AC_PROG_GCC_TRADITIONAL
-CF_PROG_CC_C_O(CC)
-AC_ISC_POSIX
-CF_ANSI_CC_REQD
-CF_PROG_EXT
+CF_PROG_CC_C_O(CC,[$CFLAGS $CPPFLAGS])
 
 AC_ARG_PROGRAM
 
@@ -75,28 +66,7 @@ AC_SYS_LONG_FILE_NAMES
 
 # if we find pkg-config, check if we should install the ".pc" files.
 CF_PKG_CONFIG
-
-if test "$PKG_CONFIG" != no ; then
-       AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
-
-       # Leave this as something that can be overridden in the environment.
-       if test -z "$PKG_CONFIG_LIBDIR" ; then
-               PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
-       fi
-       PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
-       if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
-               AC_ARG_ENABLE(pc-files,
-                       [  --enable-pc-files       generate and install .pc files for pkg-config],
-                       [enable_pc_files=$enableval],
-                       [enable_pc_files=no])
-               AC_MSG_RESULT($enable_pc_files)
-       else
-               AC_MSG_RESULT(no)
-               AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
-               enable_pc_files=no
-       fi
-fi
-AC_SUBST(PKG_CONFIG_LIBDIR)
+CF_WITH_PKG_CONFIG_LIBDIR
 
 AC_MSG_CHECKING(if you want to build test-programs)
 AC_ARG_WITH(tests,
@@ -112,12 +82,12 @@ AC_ARG_ENABLE(mixed-case,
        [enable_mixedcase=auto])
 AC_MSG_RESULT($enable_mixedcase)
 if test "$enable_mixedcase" = "auto" ; then
-    CF_MIXEDCASE_FILENAMES
+       CF_MIXEDCASE_FILENAMES
 else
-    cf_cv_mixedcase=$enable_mixedcase
-    if test "$enable_mixedcase" = "yes" ; then
-        AC_DEFINE(MIXEDCASE_FILENAMES)
-    fi
+       cf_cv_mixedcase=$enable_mixedcase
+       if test "$enable_mixedcase" = "yes" ; then
+               AC_DEFINE(MIXEDCASE_FILENAMES)
+       fi
 fi
 
 # do this after mixed-case option (tags/TAGS is not as important as tic).
@@ -130,6 +100,7 @@ AC_CHECK_TOOL(RANLIB, ranlib, ':')
 AC_CHECK_TOOL(LD, ld, ld)
 AC_CHECK_TOOL(AR, ar, ar)
 CF_AR_FLAGS
+CF_PATHSEP
 
 dnl Special option for use by system-builders: the install-prefix is used to
 dnl adjust the location into which the actual install is done, so that an
@@ -137,10 +108,10 @@ dnl archive can be built without modifying the host system's configuration.
 AC_MSG_CHECKING(if you have specified an install-prefix)
 AC_ARG_WITH(install-prefix,
        [  --with-install-prefix   prefixes actual install-location ($DESTDIR)],
-       [case "$withval" in #(vi
-       yes|no) #(vi
+       [case "$withval" in
+       (yes|no)
                ;;
-       *)      DESTDIR="$withval"
+       (*)     DESTDIR="$withval"
                ;;
        esac])
 AC_MSG_RESULT($DESTDIR)
@@ -160,6 +131,15 @@ CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
 ### Use "--without-normal --with-shared" to allow the default model to be
 ### shared, for example.
 cf_list_models=""
+
+AC_MSG_CHECKING(if you want to build shared C-objects)
+AC_ARG_WITH(shared,
+       [  --with-shared           generate shared C-objects (needed for --with-ada-sharedlib)],
+       [with_shared=$withval],
+       [with_shared=no])
+AC_MSG_RESULT($with_shared)
+test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
+
 AC_MSG_CHECKING(for specified models)
 test -z "$cf_list_models" && cf_list_models=normal
 AC_MSG_RESULT($cf_list_models)
@@ -177,9 +157,7 @@ AC_SUBST(DFT_UPR_MODEL)dnl  the default model ("NORMAL")
 
 CF_NCURSES_ADDON
 
-CF_LIB_PREFIX(cf_prefix)
-LIB_PREFIX=$cf_prefix
-AC_SUBST(LIB_PREFIX)
+CF_WITH_LIB_PREFIX(cf_prefix)
 
 LIB_SUFFIX=
 AC_SUBST(LIB_SUFFIX)
@@ -196,21 +174,36 @@ AC_SUBST(CC_G_OPT)
 
 AC_MSG_CHECKING(for default loader flags)
 case $DFT_LWR_MODEL in
-normal)  LD_MODEL=''   ;;
-debug)   LD_MODEL=$CC_G_OPT ;;
-profile) LD_MODEL='-pg';;
-shared)  LD_MODEL=''   ;;
+(normal)  LD_MODEL=''   ;;
+(debug)   LD_MODEL=$CC_G_OPT ;;
+(profile) LD_MODEL='-pg';;
+(shared)  LD_MODEL=''   ;;
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
 AC_MSG_RESULT($LD_MODEL)
 
 CF_SHARED_OPTS
 
+# The test/sample programs in the original tree link using rpath option.
+# Make it optional for packagers.
+if test -n "$LOCAL_LDFLAGS"
+then
+       AC_MSG_CHECKING(if you want to link sample programs with rpath option)
+       AC_ARG_ENABLE(rpath-link,
+               [  --enable-rpath-link     link sample programs with rpath option],
+               [with_rpath_link=$enableval],
+               [with_rpath_link=yes])
+       AC_MSG_RESULT($with_rpath_link)
+       if test "$with_rpath_link" = no
+       then
+               LOCAL_LDFLAGS=
+               LOCAL_LDFLAGS2=
+       fi
+fi
+
 ###############################################################################
 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 
-CF_PATHSEP
-
 ###   use option --enable-broken-linker to force on use of broken-linker support
 AC_MSG_CHECKING(if you want broken-linker support code)
 AC_ARG_ENABLE(broken_linker,
@@ -224,8 +217,8 @@ if test "$with_broken_linker" = yes ; then
        AC_DEFINE(BROKEN_LINKER)
        BROKEN_LINKER=1
 elif test "$DFT_LWR_MODEL" = shared ; then
-       case $cf_cv_system_name in #(vi
-       cygwin*)
+       case $cf_cv_system_name in
+       (cygwin*)
                AC_DEFINE(BROKEN_LINKER)
                BROKEN_LINKER=1
                CF_VERBOSE(cygwin linker is broken anyway)
@@ -246,7 +239,7 @@ AC_ARG_WITH(rcs-ids,
        [with_rcs_ids=$withval],
        [with_rcs_ids=no])
 AC_MSG_RESULT($with_rcs_ids)
-test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
+test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 if RCS identifiers should be compiled-in)])
 
 ###############################################################################
 CF_HELP_MESSAGE(Extensions:)
@@ -260,8 +253,8 @@ AC_ARG_ENABLE(ext-funcs,
 AC_MSG_RESULT($with_ext_funcs)
 if test "$with_ext_funcs" = yes ; then
        NCURSES_EXT_FUNCS=1
-       AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
-       AC_DEFINE(NCURSES_EXT_FUNCS)
+       AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 if we have use_default_colors function])
+       AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 if we have ncurses extended functions])
 else
        NCURSES_EXT_FUNCS=0
 fi
@@ -300,30 +293,33 @@ CF_WITH_PTHREAD
 
 AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
 AC_ARG_ENABLE(weak-symbols,
-    [  --enable-weak-symbols   enable weak-symbols for pthreads],
-    [use_weak_symbols=$withval],
-    [use_weak_symbols=no])
+       [  --enable-weak-symbols   enable weak-symbols for pthreads],
+       [use_weak_symbols=$withval],
+       [use_weak_symbols=no])
 AC_MSG_RESULT($use_weak_symbols)
 if test "$use_weak_symbols" = yes ; then
-    CF_WEAK_SYMBOLS
+       CF_WEAK_SYMBOLS
 else
-    cf_cv_weak_symbols=no
+       cf_cv_weak_symbols=no
 fi
 
 if test $cf_cv_weak_symbols = yes ; then
-    AC_DEFINE(USE_WEAK_SYMBOLS)
+       AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
 fi
 
 PTHREAD=
 if test "$with_pthread" = "yes" ; then
-    AC_DEFINE(USE_PTHREADS)
-    enable_reentrant=yes
-    if test $cf_cv_weak_symbols = yes ; then
-        PTHREAD=-lpthread
-    fi
+       AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use the pthreads library])
+       enable_reentrant=yes
+       if test $cf_cv_weak_symbols = yes ; then
+               PTHREAD=-lpthread
+       fi
 fi
 AC_SUBST(PTHREAD)
 
+# OpenSUSE is installing ncurses6, using reentrant option.
+AC_CHECK_FUNC(_nc_TABSIZE,[assume_reentrant=yes], [assume_reentrant=no])
+
 # Reentrant code has to be opaque; there's little advantage to making ncurses
 # opaque outside of that, so there is no --enable-opaque option.  We can use
 # this option without --with-pthreads, but this will be always set for
@@ -332,16 +328,16 @@ AC_MSG_CHECKING(if you want experimental reentrant code)
 AC_ARG_ENABLE(reentrant,
        [  --enable-reentrant      compile with experimental reentrant code],
        [with_reentrant=$enableval],
-       [with_reentrant=no])
+       [with_reentrant=$assume_reentrant])
 AC_MSG_RESULT($with_reentrant)
 if test "$with_reentrant" = yes ; then
        cf_cv_enable_reentrant=1
        if test $cf_cv_weak_symbols = yes ; then
                CF_REMOVE_LIB(LIBS,$LIBS,pthread)
-       else
+       elif test "$assume_reentrant" = no ; then
                LIB_SUFFIX="t${LIB_SUFFIX}"
        fi
-       AC_DEFINE(USE_REENTRANT)
+       AC_DEFINE(USE_REENTRANT,1,[Define to 1 to compile with experimental reentrant code])
 else
        cf_cv_enable_reentrant=0
 fi
@@ -359,24 +355,13 @@ else
        NCURSES_WRAP_PREFIX=_nc_
 fi
 AC_SUBST(NCURSES_WRAP_PREFIX)
-AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
+AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ ncurses internal prefix])
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###    use option --disable-echo to suppress full display compiling commands
-AC_MSG_CHECKING(if you want to display full commands during build)
-AC_ARG_ENABLE(echo,
-       [  --enable-echo           build: display "compiling" commands (default)],
-       [with_echo=$enableval],
-       [with_echo=yes])
-if test "$with_echo" = yes; then
-       ECHO_LINK=
-else
-       ECHO_LINK='@ echo linking $@ ... ;'
-fi
-AC_MSG_RESULT($with_echo)
-AC_SUBST(ECHO_LINK)
+CF_DISABLE_ECHO
 
 ###    use option --enable-warnings to turn on all gcc warnings
 AC_MSG_CHECKING(if you want to see compiler warnings)
@@ -386,8 +371,8 @@ AC_ARG_ENABLE(warnings,
 AC_MSG_RESULT($with_warnings)
 
 if test "x$with_warnings" = "xyes"; then
-       ADAFLAGS="$ADAFLAGS -gnatg"
-       CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
+       CF_ADD_ADAFLAGS(-gnatg)
+       CF_GCC_WARNINGS(Wno-unknown-pragmas Wswitch-enum)
 fi
 CF_GCC_ATTRIBUTES
 
@@ -402,31 +387,30 @@ if test -n "$GCC"
 then
        if test "$with_assertions" = no
        then
-               AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        else
-               ADAFLAGS="$ADAFLAGS -gnata"
+               CF_ADD_ADAFLAGS(-gnata)
        fi
 fi
 
 ###    use option --disable-leaks to suppress "permanent" leaks, for testing
-AC_DEFINE(HAVE_NC_ALLOC_H)
+AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
 
 ###    use option --enable-expanded to generate certain macros as functions
 AC_ARG_ENABLE(expanded,
        [  --enable-expanded       test: generate functions for certain macros],
-       [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
+       [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 if ncurses macros should be expanded as functions])])
 
 ###    use option --disable-macros to suppress macros in favor of functions
 AC_ARG_ENABLE(macros,
        [  --disable-macros        test: use functions rather than macros],
-       [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
+       [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 if ncurses macros should be expanded as functions])])
 
 # Normally we only add trace() to the debug-library.  Allow this to be
 # extended to all models of the ncurses library:
 cf_all_traces=no
 case "$CFLAGS $CPPFLAGS" in
-*-DTRACE*)
+(*-DTRACE*)
        cf_all_traces=yes
        ;;
 esac
@@ -447,21 +431,24 @@ fi
 
 AC_SUBST(ADA_TRACE)
 
+CF_DISABLE_GNAT_PROJECTS
+
 ###    Checks for libraries.
-case $cf_cv_system_name in #(vi
-*mingw32*) #(vi
+case $cf_cv_system_name in
+(*mingw32*)
        ;;
-*)
+(*)
 AC_CHECK_FUNC(gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY),[
 
 AC_CHECK_LIB(bsd, gettimeofday,
-       AC_DEFINE(HAVE_GETTIMEOFDAY)
+       AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday])
        LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
        ;;
 esac
 
 ###    Checks for header files.
+AC_CHECK_SIZEOF([signed char], 0)
 AC_STDC_HEADERS
 AC_HEADER_DIRENT
 AC_HEADER_TIME
@@ -476,8 +463,6 @@ CF_LINK_DATAONLY
 ###    Checks for library functions.
 CF_MKSTEMP
 
-AC_TYPE_SIGNAL
-
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
 if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
        CF_STRIP_G_OPT(CFLAGS)
@@ -485,15 +470,19 @@ if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
 fi
 
 CF_HELP_MESSAGE(Ada95 Binding Options:)
-
+cf_with_ada=yes
 dnl Check for availability of GNU Ada Translator (GNAT).
 dnl At the moment we support no other Ada95 compiler.
 if test "$cf_with_ada" != "no" ; then
        CF_PROG_GNAT
        if test "$cf_cv_prog_gnat_correct" = yes; then
-               CF_ADD_ADAFLAGS(-O3 -gnatpn)
+               CF_FIXUP_ADAFLAGS
 
-               CF_GNAT_PRAGMA_UNREF
+               CF_GNATPREP_OPT_T
+
+               CF_GNAT_GENERICS
+               CF_GNAT_SIGINT
+               CF_GNAT_PROJECTS
 
                CF_WITH_ADA_COMPILER
 
@@ -503,14 +492,20 @@ if test "$cf_with_ada" != "no" ; then
                CF_WITH_ADA_INCLUDE
                CF_WITH_ADA_OBJECTS
                CF_WITH_ADA_SHAREDLIB
+       else
+               AC_MSG_ERROR(No usable Ada compiler found)
        fi
+else
+       AC_MSG_ERROR(The Ada compiler is needed for this package)
 fi
 
 ################################################################################
 
 # not needed
-TINFO_ARGS2=
-AC_SUBST(TINFO_ARGS2)
+TINFO_LDFLAGS2=
+AC_SUBST(TINFO_LDFLAGS2)
+TINFO_LIBS=
+AC_SUBST(TINFO_LIBS)
 
 ### Construct the list of include-directories to be generated
 CF_INCLUDE_DIRS
@@ -535,36 +530,31 @@ AC_MSG_RESULT($DFT_OBJ_SUBDIR)
 ### Set up low-level terminfo dependencies for makefiles.
 
 if test "$DFT_LWR_MODEL" = shared ; then
-       case $cf_cv_system_name in #(vi
-       cygwin*)
+       case $cf_cv_system_name in
+       (cygwin*)
                # "lib" files have ".dll.a" suffix, "cyg" files have ".dll"
                ;;
+       (msys*)
+               # "lib" files have ".dll.a" suffix, "msys-" files have ".dll"
+               ;;
        esac
 fi
 
+USE_CFG_SUFFIX=${DFT_ARG_SUFFIX}
+AC_SUBST(USE_CFG_SUFFIX)
+
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
 
-SUB_MAKEFILES="gen/adacurses${DFT_ARG_SUFFIX}-config:gen/adacurses-config.in"
+SUB_MAKEFILES="gen/adacurses${USE_ARG_SUFFIX}-config:gen/adacurses-config.in"
 
-AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
+AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as the library path-separator])
 
 ### Now that we're done running tests, add the compiler-warnings, if any
 CF_ADD_CFLAGS($EXTRA_CFLAGS)
 
 ################################################################################
 
-if test x"$enable_pc_files" = xyes ; then \
-SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
-MAKE_PC_FILES=
-else
-MAKE_PC_FILES="#"
-fi
-AC_SUBST(MAKE_PC_FILES)
-AC_SUBST(cross_compiling)
-
-################################################################################
-
 TEST_ARG2=
 AC_SUBST(TEST_ARG2)
 
@@ -575,7 +565,7 @@ dnl for separate build, this is good enough for "sh $(top_srcdir)/misc/shlib"
 NCURSES_SHLIB2="sh -c"
 AC_SUBST(NCURSES_SHLIB2)
 
-ADA_SUBDIRS="include gen src"
+ADA_SUBDIRS="include gen src doc"
 if test "x$cf_with_tests" != "xno" ; then
        ADA_SUBDIRS="$ADA_SUBDIRS samples"
 fi
@@ -591,8 +581,21 @@ AC_SUBST(NCURSES_TREE)
 EXTERNAL_TREE=
 AC_SUBST(EXTERNAL_TREE)
 
+# match layout used by make-tar.sh
+ADAHTML_DIR=../doc/ada
+AC_SUBST(ADAHTML_DIR)
+
+if test "x$cross_compiling" = xyes ; then
+       ADAGEN_LDFLAGS='$(CROSS_LDFLAGS)'
+else
+       ADAGEN_LDFLAGS='$(NATIVE_LDFLAGS)'
+fi
+
+AC_SUBST(ADAGEN_LDFLAGS)
+
 AC_OUTPUT( \
        $SUB_MAKEFILES \
+       doc/adacurses${DFT_ARG_SUFFIX}-config.1:doc/MKada_config.in \
        Makefile,[
 if test -z "$USE_OLD_MAKERULES" ; then
        $AWK -f $srcdir/mk-1st.awk <$srcdir/src/modules >>src/Makefile
@@ -604,8 +607,8 @@ fi
 AWK="$AWK"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
-ECHO_LINK="$ECHO_LINK"
 LIB_NAME="$LIB_NAME"
+LIB_PREFIX="$LIB_PREFIX"
 LIB_SUFFIX="$LIB_SUFFIX"
 LN_S="$LN_S"
 NCURSES_MAJOR="$NCURSES_MAJOR"