]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/configure.in
ncurses 5.9 - patch 20110716
[ncurses.git] / Ada95 / configure.in
index abbd8189ef526f33cabb2af70aea4bc1b4070fcb..b6d022874e022e949668ff906991b4df409cbfe6 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 2010 Free Software Foundation, Inc.                        *
+dnl Copyright (c) 2010,2011 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,14 +28,14 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey
 dnl
-dnl $Id: configure.in,v 1.11 2010/02/27 23:02:46 tom Exp $
+dnl $Id: configure.in,v 1.32 2011/07/16 21:53:28 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.11 $)
+AC_REVISION($Revision: 1.32 $)
 AC_INIT(gen/gen.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
@@ -69,34 +69,20 @@ AC_ARG_PROGRAM
 CF_PROG_AWK
 CF_PROG_EGREP
 AC_PROG_INSTALL
-AC_PROG_LN_S
+CF_PROG_LN_S
 
 AC_SYS_LONG_FILE_NAMES
 
 # if we find pkg-config, check if we should install the ".pc" files.
 CF_PKG_CONFIG
+CF_ENABLE_PC_FILES
 
-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)
+AC_MSG_CHECKING(if you want to build test-programs)
+AC_ARG_WITH(tests,
+       [  --without-tests         suppress build with test-programs],
+       [cf_with_tests=$withval],
+       [cf_with_tests=yes])
+AC_MSG_RESULT($cf_with_tests)
 
 AC_MSG_CHECKING(if we should assume mixed-case filenames)
 AC_ARG_ENABLE(mixed-case,
@@ -153,6 +139,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)
@@ -199,17 +194,32 @@ 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,
        [  --enable-broken_linker  compile with broken-linker support code],
        [with_broken_linker=$enableval],
-       [with_broken_linker=${BROKEN_LINKER-no}])
+       [with_broken_linker=${BROKEN_LINKER:-no}])
 AC_MSG_RESULT($with_broken_linker)
 
 BROKEN_LINKER=0
@@ -317,6 +327,9 @@ if test "$with_pthread" = "yes" ; then
 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
@@ -325,13 +338,13 @@ 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)
@@ -379,7 +392,7 @@ AC_ARG_ENABLE(warnings,
 AC_MSG_RESULT($with_warnings)
 
 if test "x$with_warnings" = "xyes"; then
-       ADAFLAGS="$ADAFLAGS -gnatg"
+       CF_ADD_ADAFLAGS(-gnatg)
        CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
 fi
 CF_GCC_ATTRIBUTES
@@ -398,7 +411,7 @@ then
                AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        else
-               ADAFLAGS="$ADAFLAGS -gnata"
+               CF_ADD_ADAFLAGS(-gnata)
        fi
 fi
 
@@ -481,85 +494,40 @@ CF_HELP_MESSAGE(Ada95 Binding Options:)
 
 dnl Check for availability of GNU Ada Translator (GNAT).
 dnl At the moment we support no other Ada95 compiler.
-cf_ada_make=gnatmake
-AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
-if test "$ac_cv_prog_gnat_exists" = no; then
-   cf_ada_make=
+if test "$cf_with_ada" != "no" ; then
+       CF_PROG_GNAT
+       if test "$cf_cv_prog_gnat_correct" = yes; then
+
+               # make ADAFLAGS consistent with CFLAGS
+               case "$CFLAGS" in
+               *-g*)
+                       CF_ADD_ADAFLAGS(-g)
+                       ;;
+               esac
+               case "$CFLAGS" in
+               *-O*)
+                       CF_ADD_ADAFLAGS(-O3)
+                       ;;
+               esac
+
+               CF_GNAT_GENERICS
+               CF_GNAT_SIGINT
+               CF_GNAT_PRAGMA_UNREF
+               CF_GNAT_PROJECTS
+
+               CF_WITH_ADA_COMPILER
+
+               cf_ada_package=terminal_interface
+               AC_SUBST(cf_ada_package)
+
+               CF_WITH_ADA_INCLUDE
+               CF_WITH_ADA_OBJECTS
+               CF_WITH_ADA_SHAREDLIB
+       else
+               AC_MSG_ERROR(No usable Ada compiler found)
+       fi
 else
-   CF_GNAT_VERSION
-   AC_CHECK_PROG(M4_exists, m4, yes, no)
-   if test "$ac_cv_prog_M4_exists" = no; then
-      cf_cv_prog_gnat_correct=no
-      echo Ada95 binding required program m4 not found. Ada95 binding disabled.
-   fi
-   if test "$cf_cv_prog_gnat_correct" = yes; then
-      AC_MSG_CHECKING(if GNAT works)
-      CF_GNAT_TRY_RUN([procedure conftest;],
-[with Text_IO;
-with GNAT.OS_Lib;
-procedure conftest is
-begin
-   Text_IO.Put ("Hello World");
-   Text_IO.New_Line;
-   GNAT.OS_Lib.OS_Exit (0);
-end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
-      AC_MSG_RESULT($cf_cv_prog_gnat_correct)
-   fi
-fi
-if test        "$cf_cv_prog_gnat_correct" = yes; then
-   ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
-
-   AC_MSG_CHECKING(if GNAT pragma Unreferenced works)
-   CF_GNAT_TRY_LINK([procedure conftest;],
-[with Text_IO;
-with GNAT.OS_Lib;
-procedure conftest is
-   test : Integer;
-   pragma Unreferenced (test);
-begin
-   test := 1;
-   Text_IO.Put ("Hello World");
-   Text_IO.New_Line;
-   GNAT.OS_Lib.OS_Exit (0);
-end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no])
-   AC_MSG_RESULT($cf_cv_pragma_unreferenced)
-
-   # if the pragma is supported, use it (needed in the Trace code).
-   if test $cf_cv_pragma_unreferenced = yes ; then
-      PRAGMA_UNREF=TRUE
-   else
-      PRAGMA_UNREF=FALSE
-   fi
-
-   AC_ARG_WITH(ada-compiler,
-       [  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
-       [cf_ada_compiler=$withval],
-       [cf_ada_compiler=gnatmake])
-
-   cf_ada_package=terminal_interface
-
-   AC_SUBST(cf_ada_make)
-   AC_SUBST(cf_ada_compiler)
-   AC_SUBST(cf_ada_package)
-   AC_SUBST(ADAFLAGS)
-   AC_SUBST(cf_compile_generics)
-   AC_SUBST(cf_generic_objects)
-   AC_SUBST(PRAGMA_UNREF)
-
-   CF_WITH_PATH(ada-include,
-       [  --with-ada-include=DIR  Ada includes are in DIR],
-       ADA_INCLUDE,
-       PREFIX/lib/ada/adainclude,
-       [$]prefix/lib/ada/adainclude)
-   AC_SUBST(ADA_INCLUDE)
-
-   CF_WITH_PATH(ada-objects,
-       [  --with-ada-objects=DIR  Ada objects are in DIR],
-       ADA_OBJECTS,
-       PREFIX/lib/ada/adalib,
-       [$]prefix/lib/ada/adalib)
-   AC_SUBST(ADA_OBJECTS)
-
+       AC_MSG_ERROR(The Ada compiler is needed for this package)
 fi
 
 ################################################################################
@@ -624,22 +592,17 @@ AC_SUBST(cross_compiling)
 TEST_ARG2=
 AC_SUBST(TEST_ARG2)
 
+TEST_LIBS2=
+AC_SUBST(TEST_LIBS2)
+
 dnl for separate build, this is good enough for "sh $(top_srcdir)/misc/shlib"
 NCURSES_SHLIB2="sh -c"
 AC_SUBST(NCURSES_SHLIB2)
 
-dnl ditto for "$(top_srcdir)/tar-copy.sh"
-for cf_path in . .. ../..
-do
-       if test -f $cf_path/tar-copy.sh
-       then
-               NCURSES_COPY2=`echo 'sh $(top_srcdir)/'$cf_path'/tar-copy.sh' | sed -e 's,/./,/,'`
-               break
-       fi
-done
-AC_SUBST(NCURSES_COPY2)
-
-ADA_SUBDIRS="include gen src samples"
+ADA_SUBDIRS="include gen src doc"
+if test "x$cf_with_tests" != "xno" ; then
+       ADA_SUBDIRS="$ADA_SUBDIRS samples"
+fi
 for cf_dir in $ADA_SUBDIRS
 do
        SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
@@ -652,9 +615,18 @@ 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)
+
 AC_OUTPUT( \
        $SUB_MAKEFILES \
-       Makefile,,[
+       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
+fi
+],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
@@ -664,9 +636,11 @@ DFT_LWR_MODEL="$DFT_LWR_MODEL"
 ECHO_LINK="$ECHO_LINK"
 LIB_NAME="$LIB_NAME"
 LIB_SUFFIX="$LIB_SUFFIX"
+LN_S="$LN_S"
 NCURSES_MAJOR="$NCURSES_MAJOR"
 NCURSES_MINOR="$NCURSES_MINOR"
 NCURSES_PATCH="$NCURSES_PATCH"
+USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_rel_version="$cf_cv_rel_version"
 cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
@@ -678,4 +652,4 @@ host="$host"
 target="$target"
 
 ],cat)dnl
-${MAKE-make} preinstall
+${MAKE:-make} preinstall