diff options
Diffstat (limited to 'libgcobol/configure.ac')
-rw-r--r-- | libgcobol/configure.ac | 279 |
1 files changed, 111 insertions, 168 deletions
diff --git a/libgcobol/configure.ac b/libgcobol/configure.ac index 2e4a88e..ca56997 100644 --- a/libgcobol/configure.ac +++ b/libgcobol/configure.ac @@ -26,8 +26,32 @@ AC_INIT(package-unused, version-unused,,libgcobol) AC_CONFIG_SRCDIR(Makefile.am) AC_CONFIG_HEADER(config.h) +# Do not delete or change the following two lines. For why, see +# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html +AC_CANONICAL_SYSTEM +ACX_NONCANONICAL_TARGET + AM_ENABLE_MULTILIB(, ..) +target_alias=${target_alias-$host_alias} +AC_SUBST(target_alias) + +AM_MAINTAINER_MODE + +AM_INIT_AUTOMAKE([1.15.1 no-define foreign no-dist -Wall -Wno-portability]) + +AC_MSG_CHECKING([for --enable-version-specific-runtime-libs]) +AC_ARG_ENABLE(version-specific-runtime-libs, +AS_HELP_STRING([--enable-version-specific-runtime-libs], +[Specify that runtime libraries should be installed in a compiler-specific directory]), +[case "$enableval" in + yes) version_specific_libs=yes ;; + no) version_specific_libs=no ;; + *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);; + esac], +[version_specific_libs=no]) +AC_MSG_RESULT($version_specific_libs) + # This works around the fact that libtool configuration may change LD # for this particular configuration, but some shells, instead of # keeping the changes in LD private, export them just because LD is @@ -38,107 +62,40 @@ GCC_NO_EXECUTABLES AC_USE_SYSTEM_EXTENSIONS -# Do not delete or change the following two lines. For why, see -# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html -AC_CANONICAL_SYSTEM -target_alias=${target_alias-$host_alias} -AC_SUBST(target_alias) - -AM_INIT_AUTOMAKE # ([1.15.1 no-define foreign no-dist -Wall -Wno-portability]) +# Find other programs we need. +AC_CHECK_TOOL(AR, ar) +AC_CHECK_TOOL(NM, nm) +AC_CHECK_TOOL(RANLIB, ranlib, ranlib-not-found-in-path-error) +AC_PROG_MAKE_SET +AC_PROG_INSTALL -AH_TEMPLATE(PACKAGE, [Name of package]) -AH_TEMPLATE(VERSION, [Version number of package]) +AM_PROG_LIBTOOL +LT_INIT -AC_ARG_WITH(cross-host, -[ --with-cross-host=HOST Configuring with a cross compiler]) +AC_LIBTOOL_DLOPEN +LT_LIB_M -# Checks for header files. -AC_CHECK_HEADERS(malloc.h) +AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test x$enable_darwin_at_rpath = xyes]) -AC_CANONICAL_HOST -ACX_NONCANONICAL_HOST -ACX_NONCANONICAL_TARGET -GCC_TOPLEV_SUBDIRS +AC_SUBST(enable_shared) +AC_SUBST(enable_static) -AC_CHECK_SIZEOF([void *]) +# This library is written in C++ and needs to link with the C++ runtime. +AC_LANG([C++]) -# Get target configury. -unset LIBGCOBOL_SUPPORTED -. ${srcdir}/configure.tgt - -# ----------------- -# __int128 support -# ----------------- +# We must force CC/CXX to /not/ be precious variables; otherwise +# the wrong, non-multilib-adjusted value will be used in multilibs. +# As a side effect, we have to subst CFLAGS ourselves. -AC_CACHE_CHECK([whether __int128 is supported], [libgcobol_cv_have_int128], - [GCC_TRY_COMPILE_OR_LINK([ - __int128 foo (__int128 ) - { - __int128 aaa; - return (__int128) aaa; - } +m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) +m4_define([_AC_ARG_VAR_PRECIOUS],[]) +AC_PROG_CXX +m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) - __int128 bar (__int128 ) - { - __int128 aaa; - return (__int128) aaa; - } - ],[ - foo (1); - bar (1); - ],[ - libgcobol_cv_have_int128=yes - ],[ - libgcobol_cv_have_int128=no -])]) -# The following conditional is useful when this creates a Makefile.am file that -# is subsequently processed into a Makefile.in file. At the present time, -# however the libgcobol build uses a hardcoded Makefile.in file. -AM_CONDITIONAL(BUILD_LIBGCOBOL, [test "x$LIBGCOBOL_SUPPORTED" = xyes && test "x$libgcobol_cv_have_int128" = xyes]) +AC_SUBST(CXXFLAGS) GCC_WITH_TOOLEXECLIBDIR -AC_MSG_CHECKING([for --enable-version-specific-runtime-libs]) -AC_ARG_ENABLE(version-specific-runtime-libs, -[ --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory ], -[case "$enableval" in - yes) version_specific_libs=yes ;; - no) version_specific_libs=no ;; - *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);; - esac], -[version_specific_libs=no]) -AC_MSG_RESULT($version_specific_libs) - -AC_ARG_WITH(slibdir, -[ --with-slibdir=DIR shared libraries in DIR [LIBDIR]], -slibdir="$with_slibdir", -if test "${version_specific_libs}" = yes; then - slibdir='$(libsubdir)' -elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then - slibdir='$(exec_prefix)/$(host_noncanonical)/lib' -else - slibdir='$(libdir)' -fi) -AC_SUBST(slibdir) - -# Command-line options. -# Very limited version of AC_MAINTAINER_MODE. -AC_ARG_ENABLE([maintainer-mode], - [AC_HELP_STRING([--enable-maintainer-mode], - [enable make rules and dependencies not useful (and - sometimes confusing) to the casual installer])], - [case ${enable_maintainer_mode} in - yes) MAINT='' ;; - no) MAINT='#' ;; - *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;; - esac - maintainer_mode=${enableval}], - [MAINT='#']) -AC_SUBST([MAINT])dnl - -toolexecdir=no -toolexeclibdir=no - # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -166,54 +123,76 @@ case ${version_specific_libs} in esac ;; esac - AC_SUBST(toolexecdir) AC_SUBST(toolexeclibdir) -# Determine what GCC version number to use in filesystem paths. -GCC_BASE_VER +# For iconv support. +AM_ICONV -AH_TEMPLATE(PACKAGE, [Name of package]) -AH_TEMPLATE(VERSION, [Version number of package]) +# Checks for header files. +AC_CHECK_HEADERS(malloc.h) -AM_MAINTAINER_MODE +AC_CHECK_SIZEOF([void *]) -# Check the compiler. -# The same as in boehm-gc and libstdc++. Have to borrow it from there. -# We must force CC to /not/ be precious variables; otherwise -# the wrong, non-multilib-adjusted value will be used in multilibs. -# As a side effect, we have to subst CFLAGS ourselves. +# Get target configury. +unset LIBGCOBOL_SUPPORTED +. ${srcdir}/configure.tgt -m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) -m4_define([_AC_ARG_VAR_PRECIOUS],[]) -AC_PROG_CC -AC_PROG_CXX -AM_PROG_AS -m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) +# ----------------- +# __int128 support +# ----------------- -AC_SUBST(CFLAGS) +AC_CACHE_CHECK([whether __int128 is supported], [libgcobol_cv_have_int128], + [GCC_TRY_COMPILE_OR_LINK([ + __int128 foo (__int128 ) + { + __int128 aaa; + return (__int128) aaa; + } -# In order to override CFLAGS_FOR_TARGET, all of our special flags go -# in XCFLAGS. But we need them in CFLAGS during configury. So put them -# in both places for now and restore CFLAGS at the end of config. -save_CFLAGS="$CFLAGS" + __int128 bar (__int128 ) + { + __int128 aaa; + return (__int128) aaa; + } + ],[ + foo (1); + bar (1); + ],[ + libgcobol_cv_have_int128=yes + ],[ + libgcobol_cv_have_int128=no +])]) -# Find other programs we need. -AC_CHECK_TOOL(AR, ar) -AC_CHECK_TOOL(NM, nm) -AC_CHECK_TOOL(RANLIB, ranlib, ranlib-not-found-in-path-error) -AC_PROG_MAKE_SET -AC_PROG_INSTALL +AM_CONDITIONAL(BUILD_LIBGCOBOL, [test "x$LIBGCOBOL_SUPPORTED" = xyes && test "x$libgcobol_cv_have_int128" = xyes]) -AM_PROG_LIBTOOL -LT_INIT +# Check if functions are available in libc before adding extra libs. +AC_SEARCH_LIBS([malloc], [c]) +AC_SEARCH_LIBS([clock_gettime], [c rt]) +AC_SEARCH_LIBS([cosf128], [c m]) -AC_LIBTOOL_DLOPEN +# libgcobol soname version +LIBGCOBOL_VERSION=1:0:0 +AC_SUBST(LIBGCOBOL_VERSION) -AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test x$enable_darwin_at_rpath = xyes]) +## added, currently unused. +# VERSION_SUFFIX=$(echo $LIBGCOBOL_VERSION | tr ':' '.' ) +# AC_SUBST(VERSION_SUFFIX) +## end added -AC_SUBST(enable_shared) -AC_SUBST(enable_static) +extra_ldflags_libgcobol= +case $host in + *-*-darwin*) + extra_ldflags_libgcobol=-Wl,-U,___cobol_main ;; + *) ;; +esac +AC_SUBST(extra_ldflags_libgcobol) + +# These are GLIBC +AC_CHECK_FUNCS_ONCE(random_r srandom_r initstate_r setstate_r) + +# These are C23, and might not be available in libc. +AC_CHECK_FUNCS_ONCE(strfromf32 strfromf64) if test "${multilib}" = "yes"; then multilib_arg="--enable-multilib" @@ -221,54 +200,18 @@ else multilib_arg= fi -AC_LANG_C -# Check the compiler. -# The same as in boehm-gc and libstdc++. Have to borrow it from there. -# We must force CC to /not/ be precious variables; otherwise -# the wrong, non-multilib-adjusted value will be used in multilibs. -# As a side effect, we have to subst CFLAGS ourselves. - -m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) -m4_define([_AC_ARG_VAR_PRECIOUS],[]) -AC_PROG_CC -m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) - -AC_SUBST(CFLAGS) - -CC_FOR_BUILD=${CC_FOR_BUILD:-gcc} -AC_SUBST(CC_FOR_BUILD) - -AC_SEARCH_LIBS([malloc], [c]) -AC_SEARCH_LIBS([cosf], [m]) -AC_SEARCH_LIBS([clock_gettime], [rt]) - -# Add dependencies for libgcobol.spec file -SPEC_LIBGCOBOL_DEPS="$LIBS" -AC_SUBST(SPEC_LIBGCOBOL_DEPS) - -# libgcobol soname version -LIBGCOBOL_VERSION=1:0:0 -AC_SUBST(LIBGCOBOL_VERSION) - -## added -VERSION_SUFFIX=$(echo $LIBGCOBOL_VERSION | tr ':' '.' ) -AC_SUBST(VERSION_SUFFIX) -## end added - # Determine what GCC version number to use in filesystem paths. GCC_BASE_VER -extra_darwin_ldflags_libgcobol= -case $host in - *-*-darwin*) - extra_darwin_ldflags_libgcobol=-Wl,-U,___cobol_main ;; - *) ;; -esac -AC_SUBST(extra_darwin_ldflags_libgcobol) +# Add dependencies for libgcobol.spec file, this might be excessive - since +# the spec file might not use all of them. +SPEC_LIBGCOBOL_DEPS="$LIBS" +AC_SUBST(SPEC_LIBGCOBOL_DEPS) -AC_CONFIG_SRCDIR([Makefile.am]) -AC_CONFIG_FILES([Makefile]) -####AC_CONFIG_FILES(libgcobol.spec) +AC_CONFIG_FILES([ +Makefile +libgcobol.spec +]) AC_MSG_NOTICE([libgcobol has been configured.]) |