From 4b3e1099e5517333dd690ba948bce1236466a395 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Fri, 1 Jan 2021 18:42:01 +0000 Subject: [PATCH] Fix configure scripts to work with autoconf 2.70. Numerous deprecated features have now become obsolete. Mostly done by running autoupdate, but that left a few fixes to be done manually. This includes the latest version of AX_PROG_CC_FOR_BUILD from https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html --- INSTALL | 5 ++-- Makefile.in | 2 +- README.txt | 2 +- aclocal.m4 | 57 ++++++++++++++++++++++-------------- configure.in => configure.ac | 45 +++++++++++++--------------- 5 files changed, 59 insertions(+), 52 deletions(-) rename configure.in => configure.ac (87%) diff --git a/INSTALL b/INSTALL index a2c8722cc..95b403761 100644 --- a/INSTALL +++ b/INSTALL @@ -19,8 +19,8 @@ diffs or instructions to the address given in the `README' so they can be considered for the next release. If at some point `config.cache' contains results you don't want to keep, you may remove or edit it. - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change + The file `configure.ac' is used to create `configure' by a program +called `autoconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: @@ -178,4 +178,3 @@ operates. script, and exit. `configure' also accepts some other, not widely useful, options. - diff --git a/Makefile.in b/Makefile.in index 974593374..90ecadeb5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -202,7 +202,7 @@ stamp-_pli_types-h: $(srcdir)/_pli_types.h.in config.status ./config.status _pli_types.h _pli_types.h: stamp-_pli_types-h -$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4 +$(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4 cd $(srcdir) && autoconf config.status: $(srcdir)/configure diff --git a/README.txt b/README.txt index 26533ebcf..d04dab88c 100644 --- a/README.txt +++ b/README.txt @@ -72,7 +72,7 @@ If you are building from git, you will also need software to generate the configure scripts. - autoconf 2.53 or later - This generates configure scripts from configure.in. The 2.53 + This generates configure scripts from configure.ac. The 2.53 or later versions are known to work, autoconf 2.13 is reported to *not* work. diff --git a/aclocal.m4 b/aclocal.m4 index 1b2dd6a1e..5fcc7cbf2 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -6,7 +6,7 @@ # different builds. Remember to change the default suffix string to some # value appropriate for the current version. AC_DEFUN([AX_ENABLE_SUFFIX], -[AC_ARG_ENABLE([suffix],[AC_HELP_STRING([--enable-suffix], +[AC_ARG_ENABLE([suffix],[AS_HELP_STRING([--enable-suffix], [Use/set the installation command suffix])], [true],[enable_suffix=no]) if test X$enable_suffix = Xyes; then @@ -250,7 +250,7 @@ echo "timestamp for $_config_header" > `AS_DIRNAME(["$_config_header"])`/[]$_sta ]) #_AC_AM_CONFIG_HEADER_HOOK # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html +# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html # =========================================================================== # # SYNOPSIS @@ -283,31 +283,35 @@ echo "timestamp for $_config_header" > `AS_DIRNAME(["$_config_header"])`/[]$_sta # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 8 +#serial 18 AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CPP])dnl -AC_REQUIRE([AC_EXEEXT])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl dnl Use the standard macros, but make them use other variable names dnl pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl +pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl +pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl pushdef([ac_cv_objext], ac_cv_build_objext)dnl pushdef([ac_exeext], ac_build_exeext)dnl pushdef([ac_objext], ac_build_objext)dnl pushdef([CC], CC_FOR_BUILD)dnl pushdef([CPP], CPP_FOR_BUILD)dnl +pushdef([GCC], GCC_FOR_BUILD)dnl pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl +pushdef([EXEEXT], BUILD_EXEEXT)dnl pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl +pushdef([OBJEXT], BUILD_OBJEXT)dnl pushdef([host], build)dnl pushdef([host_alias], build_alias)dnl pushdef([host_cpu], build_cpu)dnl @@ -318,27 +322,29 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl pushdef([ac_cv_host_os], ac_cv_build_os)dnl -pushdef([ac_cpp], ac_build_cpp)dnl -pushdef([ac_compile], ac_build_compile)dnl -pushdef([ac_link], ac_build_link)dnl +pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl +pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl +pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl +pushdef([cross_compiling], cross_compiling_build)dnl -save_cross_compiling=$cross_compiling -save_ac_tool_prefix=$ac_tool_prefix -cross_compiling=no -ac_tool_prefix= +cross_compiling_build=no +ac_build_tool_prefix= +AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"], + [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) + +AC_LANG_PUSH([C]) AC_PROG_CC +_AC_COMPILER_EXEEXT +_AC_COMPILER_OBJEXT AC_PROG_CPP -AC_EXEEXT - -ac_tool_prefix=$save_ac_tool_prefix -cross_compiling=$save_cross_compiling dnl Restore the old definitions dnl -popdef([ac_link])dnl -popdef([ac_compile])dnl -popdef([ac_cpp])dnl +popdef([cross_compiling])dnl +popdef([am_cv_prog_cc_c_o])dnl +popdef([am_cv_CC_dependencies_compiler_type])dnl +popdef([ac_tool_prefix])dnl popdef([ac_cv_host_os])dnl popdef([ac_cv_host_vendor])dnl popdef([ac_cv_host_cpu])dnl @@ -349,29 +355,36 @@ popdef([host_vendor])dnl popdef([host_cpu])dnl popdef([host_alias])dnl popdef([host])dnl +popdef([OBJEXT])dnl popdef([LDFLAGS])dnl +popdef([EXEEXT])dnl popdef([CPPFLAGS])dnl popdef([CFLAGS])dnl +popdef([GCC])dnl popdef([CPP])dnl popdef([CC])dnl popdef([ac_objext])dnl popdef([ac_exeext])dnl popdef([ac_cv_objext])dnl popdef([ac_cv_exeext])dnl +popdef([ac_cv_c_compiler_gnu])dnl popdef([ac_cv_prog_cc_g])dnl popdef([ac_cv_prog_cc_cross])dnl popdef([ac_cv_prog_cc_works])dnl +popdef([ac_cv_prog_cc_c89])dnl popdef([ac_cv_prog_gcc])dnl popdef([ac_cv_prog_CPP])dnl +dnl restore global variables ac_ext, ac_cpp, ac_compile, +dnl ac_link, ac_compiler_gnu (dependant on the current +dnl language after popping): +AC_LANG_POP([C]) + dnl Finally, set Makefile variables dnl -BUILD_EXEEXT=$ac_build_exeext -BUILD_OBJEXT=$ac_build_objext AC_SUBST(BUILD_EXEEXT)dnl AC_SUBST(BUILD_OBJEXT)dnl AC_SUBST([CFLAGS_FOR_BUILD])dnl AC_SUBST([CPPFLAGS_FOR_BUILD])dnl AC_SUBST([LDFLAGS_FOR_BUILD])dnl ]) - diff --git a/configure.in b/configure.ac similarity index 87% rename from configure.in rename to configure.ac index 83e0fe50e..8913fb74c 100644 --- a/configure.in +++ b/configure.ac @@ -1,21 +1,19 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(netlist.h) -AC_CONFIG_HEADER(config.h) -AC_CONFIG_HEADER(_pli_types.h) -AC_CONFIG_HEADER(vhdlpp/vhdlpp_config.h) -AC_CONFIG_HEADER(vvp/config.h) -AC_CONFIG_HEADER(vpi/vpi_config.h) -AC_CONFIG_HEADER(libveriuser/config.h) -AC_CONFIG_HEADER(tgt-vvp/vvp_config.h) -AC_CONFIG_HEADER(tgt-vhdl/vhdl_config.h) -AC_CONFIG_HEADER(tgt-pcb/pcb_config.h) +AC_INIT +AC_CONFIG_SRCDIR([netlist.h]) +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_HEADERS([_pli_types.h]) +AC_CONFIG_HEADERS([vhdlpp/vhdlpp_config.h]) +AC_CONFIG_HEADERS([vvp/config.h]) +AC_CONFIG_HEADERS([vpi/vpi_config.h]) +AC_CONFIG_HEADERS([libveriuser/config.h]) +AC_CONFIG_HEADERS([tgt-vvp/vvp_config.h]) +AC_CONFIG_HEADERS([tgt-vhdl/vhdl_config.h]) +AC_CONFIG_HEADERS([tgt-pcb/pcb_config.h]) AC_CANONICAL_HOST dnl Checks for programs. AC_PROG_CC -# AC_PROG_CC_C99 is only available in autoconf version 2.60 and later. -AC_PREREQ([2.60]) -AC_PROG_CC_C99 AC_PROG_CXX AC_PROG_RANLIB AC_CHECK_TOOL(LD, ld, false) @@ -92,7 +90,7 @@ fi AC_LANG(C++) -AC_ARG_WITH([m32], [AC_HELP_STRING([--with-m32], [Compile 32-bit on x86_64])], +AC_ARG_WITH([m32], [AS_HELP_STRING([--with-m32],[Compile 32-bit on x86_64])], [ with_m32=yes ],[ with_m32=no ]) AS_IF( [test "x$with_m32" = xyes], @@ -170,8 +168,7 @@ AC_FUNC_ALLOCA AC_FUNC_FSEEKO # valgrind checks -AC_ARG_WITH([valgrind], [AC_HELP_STRING([--with-valgrind], - [Add valgrind hooks])], +AC_ARG_WITH([valgrind], [AS_HELP_STRING([--with-valgrind],[Add valgrind hooks])], [], [check_valgrind=yes]) AS_IF([test "x$check_valgrind" = xyes], @@ -182,14 +179,11 @@ AS_IF([test "x$check_valgrind" = xyes], [AC_MSG_ERROR([Could not find ])])]) AC_MSG_CHECKING(for sys/times) -AC_TRY_LINK( -#include +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #include -,{clock_t a = times(0)/sysconf(_SC_CLK_TCK);}, -do_times=yes -AC_DEFINE([HAVE_TIMES], [1], [The times system call is available in the host operating system.]), -do_times=no -) +]], [[{clock_t a = times(0)/sysconf(_SC_CLK_TCK);}]])],[do_times=yes +AC_DEFINE(HAVE_TIMES, 1, The times system call is available in the host operating system.)],[do_times=no +]) AC_MSG_RESULT($do_times) # -- @@ -262,7 +256,7 @@ AC_CHECK_FUNCS(fopen64) # The following math functions may be defined in the math library so look # in the default libraries first and then look in -lm for them. On some # systems we may need to use the compiler in C99 mode to get a definition. -# We requested C99 mode earlier with AC_PROG_CC_C99. +# Modern versions of autoconf will enable C99 if it is available. AC_SEARCH_LIBS([lround], [m], [AC_DEFINE([HAVE_LROUND], [1])]) AC_SEARCH_LIBS([llround], [m], [AC_DEFINE([HAVE_LLROUND], [1])]) AC_SEARCH_LIBS([nan], [m], [AC_DEFINE([HAVE_NAN], [1])]) @@ -337,4 +331,5 @@ AC_MSG_ERROR(cannot configure white space in libdir: $libdir) fi AC_MSG_RESULT(ok) AX_PROG_CC_FOR_BUILD -AC_OUTPUT(Makefile ivlpp/Makefile vhdlpp/Makefile vvp/Makefile vpi/Makefile driver/Makefile driver-vpi/Makefile cadpli/Makefile libveriuser/Makefile tgt-null/Makefile tgt-stub/Makefile tgt-vvp/Makefile tgt-vhdl/Makefile tgt-fpga/Makefile tgt-verilog/Makefile tgt-pal/Makefile tgt-vlog95/Makefile tgt-pcb/Makefile tgt-blif/Makefile tgt-sizer/Makefile) +AC_CONFIG_FILES([Makefile ivlpp/Makefile vhdlpp/Makefile vvp/Makefile vpi/Makefile driver/Makefile driver-vpi/Makefile cadpli/Makefile libveriuser/Makefile tgt-null/Makefile tgt-stub/Makefile tgt-vvp/Makefile tgt-vhdl/Makefile tgt-fpga/Makefile tgt-verilog/Makefile tgt-pal/Makefile tgt-vlog95/Makefile tgt-pcb/Makefile tgt-blif/Makefile tgt-sizer/Makefile]) +AC_OUTPUT