X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Faclocal.m4;h=d3d6eb35acc095a4c2c0a3540096bf1c3436f27b;hp=e15cf037572333e03124ff75390cc769da0e7d07;hb=0ff9bcb7f97617085a8b8cba4a7ee374bb969cc9;hpb=3ab4db240283db0682a66a8587f2174508348bc6 diff --git a/Ada95/aclocal.m4 b/Ada95/aclocal.m4 index e15cf037..d3d6eb35 100644 --- a/Ada95/aclocal.m4 +++ b/Ada95/aclocal.m4 @@ -28,7 +28,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey dnl -dnl $Id: aclocal.m4,v 1.145 2019/09/07 23:37:09 tom Exp $ +dnl $Id: aclocal.m4,v 1.148 2019/12/31 14:00:55 tom Exp $ dnl Macros used in NCURSES Ada95 auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -288,7 +288,7 @@ if test -n "$1" ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIBS version: 2 updated: 2014/07/13 14:33:27 +dnl CF_ADD_LIBS version: 3 updated: 2019/11/02 16:47:33 dnl ----------- dnl Add one or more libraries, used to enforce consistency. Libraries are dnl prepended to an existing list, since their dependencies are assumed to @@ -297,19 +297,19 @@ dnl dnl $1 = libraries to add, with the "-l", etc. dnl $2 = variable to update (default $LIBS) AC_DEFUN([CF_ADD_LIBS],[ -cf_add_libs="$1" -# Filter out duplicates - this happens with badly-designed ".pc" files... -for cf_add_1lib in [$]ifelse($2,,LIBS,[$2]) -do - for cf_add_2lib in $cf_add_libs - do - if test "x$cf_add_1lib" = "x$cf_add_2lib" - then +cf_add_libs="[$]ifelse($2,,LIBS,[$2])" +# reverse order +cf_add_0lib= +for cf_add_1lib in $1; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done +# filter duplicates +for cf_add_1lib in $cf_add_0lib; do + for cf_add_2lib in $cf_add_libs; do + if test "x$cf_add_1lib" = "x$cf_add_2lib"; then cf_add_1lib= break fi done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_libs $cf_add_1lib" + test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" done ifelse($2,,LIBS,[$2])="$cf_add_libs" ])dnl @@ -677,6 +677,22 @@ if test ".$system_name" != ".$cf_cv_system_name" ; then fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_CHECK_GNAT_VERSION version: 2 updated: 2019/12/31 08:53:54 +dnl --------------------- +AC_DEFUN([CF_CHECK_GNAT_VERSION], +[ +AC_REQUIRE([CF_GNAT_VERSION]) +case $cf_cv_gnat_version in +(3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) + cf_cv_prog_gnat_correct=yes + ;; +(*) + AC_MSG_WARN(Unsupported GNAT version $cf_cv_gnat_version. We require 3.11 or better. Disabling Ada95 binding.) + cf_cv_prog_gnat_correct=no + ;; +esac +]) +dnl --------------------------------------------------------------------------- dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35 dnl ----------------- dnl Check if the given compiler is really clang. clang's C driver defines @@ -1296,14 +1312,14 @@ test "$cf_cv_gnatprep_opt_t" = yes && GNATPREP_OPTS="-T $GNATPREP_OPTS" AC_SUBST(GNATPREP_OPTS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GNAT_GENERICS version: 3 updated: 2015/04/17 21:13:04 +dnl CF_GNAT_GENERICS version: 4 updated: 2019/12/31 08:53:54 dnl ---------------- AC_DEFUN([CF_GNAT_GENERICS], [ AC_REQUIRE([CF_GNAT_VERSION]) AC_MSG_CHECKING(if GNAT supports generics) -case $cf_gnat_version in +case $cf_cv_gnat_version in (3.[[1-9]]*|[[4-9]].*) cf_gnat_generics=yes ;; @@ -1326,7 +1342,7 @@ AC_SUBST(cf_compile_generics) AC_SUBST(cf_generic_objects) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GNAT_PROJECTS version: 9 updated: 2018/01/14 15:46:09 +dnl CF_GNAT_PROJECTS version: 10 updated: 2019/12/31 08:53:54 dnl ---------------- dnl GNAT projects are configured with ".gpr" project files. dnl GNAT libraries are a further development, using the project feature. @@ -1340,7 +1356,7 @@ cf_gnat_projects=no if test "$enable_gnat_projects" != no ; then AC_MSG_CHECKING(if GNAT supports project files) -case $cf_gnat_version in +case $cf_cv_gnat_version in (3.[[0-9]]*) ;; (*) @@ -1536,27 +1552,21 @@ fi rm -rf conftest* *~conftest* ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GNAT_VERSION version: 20 updated: 2015/04/18 08:56:57 +dnl CF_GNAT_VERSION version: 22 updated: 2019/12/31 08:53:54 dnl --------------- -dnl Verify version of GNAT. +dnl $1 = cache variable to update +dnl $2 = program name +dnl Verify version of GNAT or related tool AC_DEFUN([CF_GNAT_VERSION], [ -AC_MSG_CHECKING(for gnat version) -cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \ +AC_CACHE_CHECK(for ifelse($2,,gnat,$2) version, cf_cv_gnat_version,[ +cf_cv_gnat_version=`ifelse($2,,${cf_ada_make:-gnatmake},$2) --version 2>&1 | \ grep '[[0-9]].[[0-9]][[0-9]]*' |\ sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'` -AC_MSG_RESULT($cf_gnat_version) - -case $cf_gnat_version in -(3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) - cf_cv_prog_gnat_correct=yes - ;; -(*) - AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.) - cf_cv_prog_gnat_correct=no - ;; -esac ]) +test -z "$cf_cv_gnat_version" && cf_cv_gnat_version=no +ifelse($1,,,[eval $1=$cf_cv_gnat_version; unset cf_cv_gnat_version]) +])dnl dnl --------------------------------------------------------------------------- dnl CF_GNU_SOURCE version: 10 updated: 2018/12/10 20:09:41 dnl ------------- @@ -1715,11 +1725,12 @@ test -d "$oldincludedir" && { $1="[$]$1 $cf_header_path_list" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23 +dnl CF_HELP_MESSAGE version: 4 updated: 2019/12/31 08:53:54 dnl --------------- dnl Insert text into the help-message, for readability, from AC_ARG_WITH. AC_DEFUN([CF_HELP_MESSAGE], -[AC_DIVERT_HELP([$1])dnl +[CF_ACVERSION_CHECK(2.53,[],[ +AC_DIVERT_HELP($1)])dnl ])dnl dnl --------------------------------------------------------------------------- dnl CF_INCLUDE_DIRS version: 10 updated: 2014/09/19 20:58:42 @@ -3044,11 +3055,15 @@ AC_PROG_AWK test -z "$AWK" && AC_MSG_ERROR(No awk program found) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58 +dnl CF_PROG_CC version: 5 updated: 2019/12/31 08:53:54 dnl ---------- dnl standard check for CC, plus followup sanity checks dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name AC_DEFUN([CF_PROG_CC],[ +CF_ACVERSION_CHECK(2.53, + [AC_MSG_WARN(this will incorrectly handle gnatgcc choice) + AC_REQUIRE([AC_PROG_CC])], + []) ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)]) CF_GCC_VERSION CF_ACVERSION_CHECK(2.52, @@ -3138,20 +3153,40 @@ AC_SUBST(PROG_EXT) test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_GNAT version: 8 updated: 2018/11/10 19:47:04 +dnl CF_PROG_GNAT version: 10 updated: 2019/12/31 08:53:54 dnl ------------ -dnl Check for gnatmake, ensure that it is complete. +dnl Check for gnat/gnatmake/etc, ensure that the toolset is complete. AC_DEFUN([CF_PROG_GNAT],[ -cf_ada_make=gnatmake -cf_ada_config="#" -AC_CHECK_PROG(gnatmake_exists, $cf_ada_make, yes, no) -if test "$ac_cv_prog_gnatmake_exists" = no; then +for cf_prog_gnat in gnat gnatmake gprconfig gprbuild +do + CF_UPPER(cf_upper_prog_gnat,${cf_prog_gnat}) + + unset ac_cv_path_cf_TEMP_gnat + unset cf_TEMP_gnat + AC_PATH_PROG(cf_TEMP_gnat,$cf_prog_gnat,no) + eval cf_cv_PATH_$cf_upper_prog_gnat=[$]ac_cv_path_cf_TEMP_gnat + + if test "x$cf_TEMP_gnat" != xno; then + unset cf_cv_gnat_version + unset cf_TEMP_gnat + CF_GNAT_VERSION(cf_TEMP_gnat,$cf_prog_gnat) + fi + eval cf_cv_VERSION_$cf_upper_prog_gnat=[$]cf_TEMP_gnat + + unset cf_TEMP_gnat + unset cf_cv_gnat_version + unset ac_cv_path_cf_TEMP_gnat +done + +if test "x$cf_cv_VERSION_GNATMAKE" = "xno"; then cf_ada_make= cf_cv_prog_gnat_correct=no else - AC_CHECK_PROG(gprconfig_exists, gprconfig, yes, no) - if test "$ac_cv_prog_gprconfig_exists" = yes - then + cf_ada_make=gnatmake + if test "x$cf_cv_VERSION_GPRCONFIG" = "xno"; then + # gprconfig is newer than gnatmake; we can continue... + cf_ada_config="##" + else rm -rf conftest* *~conftest* if mkdir conftest.src then @@ -3187,17 +3222,15 @@ else cd .. rm -rf conftest* *~conftest* fi - else - # gprconfig is newer than gnatmake; we can continue... - cf_ada_config="##" fi if test "x$cf_ada_config" != "x#" then CF_GNAT_VERSION + CF_CHECK_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. + AC_MSG_WARN(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) @@ -3209,7 +3242,9 @@ 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]) +end conftest;], +[cf_cv_prog_gnat_correct=yes], +[cf_cv_prog_gnat_correct=no]) AC_MSG_RESULT($cf_cv_prog_gnat_correct) fi else