gcc/libffi/configure.ac

435 lines
13 KiB
Text
Raw Normal View History

1999-08-08 13:27:18 +00:00
dnl Process this with autoconf to create configure
AC_PREREQ(2.68)
AC_INIT([libffi], [3.4.2], [http://github.com/libffi/libffi/issues])
AC_CONFIG_HEADERS([fficonfig.h])
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
AM_ENABLE_MULTILIB(, ..)
003-09-04 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Add dejagnu test framework. Fixes PR other/11411. * Makefile.in: Rebuilt. * configure.in: Add dejagnu test framework. * configure: Rebuilt. * testsuite/Makefile.am: New file. * testsuite/Makefile.in: Built * testsuite/lib/libffi-dg.exp: New file. * testsuite/config/default.exp: Likewise. * testsuite/libffi.call/call.exp: Likewise. * testsuite/libffi.call/ffitest.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Likewise. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/float.c: Likewise. * testsuite/libffi.call/float1.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. * testsuite/libffi.call/many.c: Likewise. * testsuite/libffi.call/many_win32.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/pyobjc-tc.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/return_ll.c: Likewise. * testsuite/libffi.call/return_sc.c: Likewise. * testsuite/libffi.call/return_uc.c: Likewise. * testsuite/libffi.call/strlen.c: Likewise. * testsuite/libffi.call/strlen_win32.c: Likewise. * testsuite/libffi.call/struct1.c: Likewise. * testsuite/libffi.call/struct2.c: Likewise. * testsuite/libffi.call/struct3.c: Likewise. * testsuite/libffi.call/struct4.c: Likewise. * testsuite/libffi.call/struct5.c: Likewise. * testsuite/libffi.call/struct6.c: Likewise. * testsuite/libffi.call/struct7.c: Likewise. * testsuite/libffi.call/struct8.c: Likewise. * testsuite/libffi.call/struct9.c: Likewise. * testsuite/libffi.special/special.exp: New file. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. From-SVN: r71068
2003-09-04 16:47:05 +02:00
AC_CANONICAL_SYSTEM
target_alias=${target_alias-$host_alias}
1999-08-08 13:27:18 +00:00
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
AM_INIT_AUTOMAKE([no-dist])
# We would like our source tree to be readonly. However when releases or
# pre-releases are generated, the flex/bison generated files as well as the
# various formats of manuals need to be included along with the rest of the
# sources. Therefore we have --enable-generated-files-in-srcdir to do
# just that.
AC_MSG_CHECKING(generated-files-in-srcdir)
AC_ARG_ENABLE(generated-files-in-srcdir,
AS_HELP_STRING([--enable-generated-files-in-srcdir],
[put copies of generated files in source dir intended for creating source tarballs for users without texinfo bison or flex]),
[case "$enableval" in
yes) enable_generated_files_in_srcdir=yes ;;
no) enable_generated_files_in_srcdir=no ;;
*) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
esac],
[enable_generated_files_in_srcdir=no])
AC_MSG_RESULT($enable_generated_files_in_srcdir)
AM_CONDITIONAL(GENINSRC, test "$enable_generated_files_in_srcdir" = yes)
# 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.
# Also save and restore CFLAGS, since AC_PROG_CC will come up with
# defaults of its own if none are provided.
1999-08-08 13:27:18 +00:00
m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
m4_define([_AC_ARG_VAR_PRECIOUS],[])
save_CFLAGS=$CFLAGS
1999-08-08 13:27:18 +00:00
AC_PROG_CC
AC_PROG_CXX
CFLAGS=$save_CFLAGS
m4_undefine([_AC_ARG_VAR_PRECIOUS])
m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
003-09-04 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Add dejagnu test framework. Fixes PR other/11411. * Makefile.in: Rebuilt. * configure.in: Add dejagnu test framework. * configure: Rebuilt. * testsuite/Makefile.am: New file. * testsuite/Makefile.in: Built * testsuite/lib/libffi-dg.exp: New file. * testsuite/config/default.exp: Likewise. * testsuite/libffi.call/call.exp: Likewise. * testsuite/libffi.call/ffitest.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Likewise. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/float.c: Likewise. * testsuite/libffi.call/float1.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. * testsuite/libffi.call/many.c: Likewise. * testsuite/libffi.call/many_win32.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/pyobjc-tc.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/return_ll.c: Likewise. * testsuite/libffi.call/return_sc.c: Likewise. * testsuite/libffi.call/return_uc.c: Likewise. * testsuite/libffi.call/strlen.c: Likewise. * testsuite/libffi.call/strlen_win32.c: Likewise. * testsuite/libffi.call/struct1.c: Likewise. * testsuite/libffi.call/struct2.c: Likewise. * testsuite/libffi.call/struct3.c: Likewise. * testsuite/libffi.call/struct4.c: Likewise. * testsuite/libffi.call/struct5.c: Likewise. * testsuite/libffi.call/struct6.c: Likewise. * testsuite/libffi.call/struct7.c: Likewise. * testsuite/libffi.call/struct8.c: Likewise. * testsuite/libffi.call/struct9.c: Likewise. * testsuite/libffi.special/special.exp: New file. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. From-SVN: r71068
2003-09-04 16:47:05 +02:00
AC_SUBST(CFLAGS)
# Add CET specific flags if CET is enabled
GCC_CET_FLAGS(CET_FLAGS)
AC_SUBST(CET_FLAGS)
AM_PROG_AS
AM_PROG_CC_C_O
1999-08-08 13:27:18 +00:00
AC_PROG_LIBTOOL
Config,Darwin: Allow for configuring Darwin to use embedded runpath. Recent Darwin versions place contraints on the use of run paths specified in environment variables. This breaks some assumptions in the GCC build. This change allows the user to configure a Darwin build to use '@rpath/libraryname.dylib' in library names and then to add an embedded runpath to executables (and libraries with dependents). The embedded runpath is added by default unless the user adds '-nodefaultrpaths' to the link line. For an installed compiler, it means that any executable built with that compiler will reference the runtimes installed with the compiler (equivalent to hard-coding the library path into the name of the library). During build-time configurations any "-B" entries will be added to the runpath thus the newly-built libraries will be found by exes. Since the install name is set in libtool, that decision needs to be available here (but might also cause dependent ones in Makefiles, so we need to export a conditional). This facility is not available for Darwin 8 or earlier, however the existing environment variable runpath does work there. We default this on for systems where the external DYLD_LIBRARY_PATH does not work and off for Darwin 8 or earlier. For systems that can use either method, if the value is unset, we use the default (which is currently DYLD_LIBRARY_PATH). ChangeLog: * configure: Regenerate. * configure.ac: Do not add default runpaths to GCC exes when we are building -static-libstdc++/-static-libgcc (the default). * libtool.m4: Add 'enable-darwin-at-runpath'. Act on the enable flag to alter Darwin libraries to use @rpath names. gcc/ChangeLog: * aclocal.m4: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths. * config/darwin.h: Handle Darwin rpaths. * config/darwin.opt: Handle Darwin rpaths. * Makefile.in: Handle Darwin rpaths. gcc/ada/ChangeLog: * gcc-interface/Makefile.in: Handle Darwin rpaths. gcc/jit/ChangeLog: * Make-lang.in: Handle Darwin rpaths. libatomic/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths. libbacktrace/ChangeLog: * configure: Regenerate. * configure.ac: Handle Darwin rpaths. libcc1/ChangeLog: * configure: Regenerate. libffi/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * configure: Regenerate. libgcc/ChangeLog: * config/t-slibgcc-darwin: Generate libgcc_s with an @rpath name. * config.host: Handle Darwin rpaths. libgfortran/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths libgm2/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths. * libm2cor/Makefile.am: Handle Darwin rpaths. * libm2cor/Makefile.in: Regenerate. * libm2iso/Makefile.am: Handle Darwin rpaths. * libm2iso/Makefile.in: Regenerate. * libm2log/Makefile.am: Handle Darwin rpaths. * libm2log/Makefile.in: Regenerate. * libm2min/Makefile.am: Handle Darwin rpaths. * libm2min/Makefile.in: Regenerate. * libm2pim/Makefile.am: Handle Darwin rpaths. * libm2pim/Makefile.in: Regenerate. libgomp/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths libitm/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths. libobjc/ChangeLog: * configure: Regenerate. * configure.ac: Handle Darwin rpaths. libphobos/ChangeLog: * configure: Regenerate. * configure.ac: Handle Darwin rpaths. * libdruntime/Makefile.am: Handle Darwin rpaths. * libdruntime/Makefile.in: Regenerate. * src/Makefile.am: Handle Darwin rpaths. * src/Makefile.in: Regenerate. libquadmath/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths. libsanitizer/ChangeLog: * asan/Makefile.am: Handle Darwin rpaths. * asan/Makefile.in: Regenerate. * configure: Regenerate. * hwasan/Makefile.am: Handle Darwin rpaths. * hwasan/Makefile.in: Regenerate. * lsan/Makefile.am: Handle Darwin rpaths. * lsan/Makefile.in: Regenerate. * tsan/Makefile.am: Handle Darwin rpaths. * tsan/Makefile.in: Regenerate. * ubsan/Makefile.am: Handle Darwin rpaths. * ubsan/Makefile.in: Regenerate. libssp/ChangeLog: * Makefile.am: Handle Darwin rpaths. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Handle Darwin rpaths. libstdc++-v3/ChangeLog: * configure: Regenerate. * configure.ac: Handle Darwin rpaths. * src/Makefile.am: Handle Darwin rpaths. * src/Makefile.in: Regenerate. libvtv/ChangeLog: * configure: Regenerate. * configure.ac: Handle Darwin rpaths. lto-plugin/ChangeLog: * configure: Regenerate. * configure.ac: Handle Darwin rpaths. zlib/ChangeLog: * configure: Regenerate. * configure.ac: Handle Darwin rpaths.
2021-03-28 14:48:17 +01:00
AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test x$enable_darwin_at_rpath = xyes])
AC_CHECK_TOOL(READELF, readelf)
1999-08-08 13:27:18 +00:00
# Test for 64-bit build.
AC_CHECK_SIZEOF([size_t])
AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
libffi/test: Fix compilation for build sysroot Fix a problem with the libffi testsuite using a method to determine the compiler to use resulting in the tool being different from one the library has been built with, and causing a catastrophic failure from the inability to actually choose any compiler at all in a cross-compilation configuration. Address this problem by providing a DejaGNU configuration file defining the compiler to use, via the CC_FOR_TARGET TCL variable, set from $CC by autoconf, which will have all the required options set for the target compiler to build executables in the environment configured, removing failures like: FAIL: libffi.call/closure_fn0.c -W -Wall -Wno-psabi -O0 (test for excess errors) Excess errors: default_target_compile: No compiler to compile with UNRESOLVED: libffi.call/closure_fn0.c -W -Wall -Wno-psabi -O0 compilation failed to produce executable and bringing overall test results for the `riscv64-linux-gnu' target (here with the `x86_64-linux-gnu' host and RISC-V QEMU in the Linux user emulation mode as the target board) from: === libffi Summary === # of unexpected failures 708 # of unresolved testcases 708 # of unsupported tests 30 to: === libffi Summary === # of expected passes 1934 # of unsupported tests 28 This is a combined backport of the relevant parts of upstream libffi changes as follows: - commit 8308984e479e ("[PATCH] Make sure we're running dejagnu tests with the right compiler."), - commit 2d9b3939751b ("[PATCH] Fix for closures with sunpro compiler"), - commit 0c3824702d3d ("[PATCH] Always set CC_FOR_TARGET for dejagnu, to make the testsuite respect $CC"), - commit 7d698125b1f0 ("[PATCH] Use the proper C++ compiler to run C++ tests"), - commit 6b6df1a7bb37 ("[PATCH] Adds `local.exp` to CLEANFILES"), - commit 6cf0dea78a5a ("[PATCH] Change CLEANFILES to DISTCLEANFILES") libffi/ * Makefile.am (DISTCLEANFILES): New variable. * configure.ac: Produce `local.exp'. * Makefile.in: Regenerate. * configure: Regenerate. * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New variable. * testsuite/Makefile.in: Regenerate.
2020-04-25 21:27:14 +01:00
cat > local.exp <<EOF
set SYSROOT_CFLAGS_FOR_TARGET "$SYSROOT_CFLAGS_FOR_TARGET"
set compiler_vendor "$ax_cv_c_compiler_vendor"
libffi/test: Fix compilation for build sysroot Fix a problem with the libffi testsuite using a method to determine the compiler to use resulting in the tool being different from one the library has been built with, and causing a catastrophic failure from the inability to actually choose any compiler at all in a cross-compilation configuration. Address this problem by providing a DejaGNU configuration file defining the compiler to use, via the CC_FOR_TARGET TCL variable, set from $CC by autoconf, which will have all the required options set for the target compiler to build executables in the environment configured, removing failures like: FAIL: libffi.call/closure_fn0.c -W -Wall -Wno-psabi -O0 (test for excess errors) Excess errors: default_target_compile: No compiler to compile with UNRESOLVED: libffi.call/closure_fn0.c -W -Wall -Wno-psabi -O0 compilation failed to produce executable and bringing overall test results for the `riscv64-linux-gnu' target (here with the `x86_64-linux-gnu' host and RISC-V QEMU in the Linux user emulation mode as the target board) from: === libffi Summary === # of unexpected failures 708 # of unresolved testcases 708 # of unsupported tests 30 to: === libffi Summary === # of expected passes 1934 # of unsupported tests 28 This is a combined backport of the relevant parts of upstream libffi changes as follows: - commit 8308984e479e ("[PATCH] Make sure we're running dejagnu tests with the right compiler."), - commit 2d9b3939751b ("[PATCH] Fix for closures with sunpro compiler"), - commit 0c3824702d3d ("[PATCH] Always set CC_FOR_TARGET for dejagnu, to make the testsuite respect $CC"), - commit 7d698125b1f0 ("[PATCH] Use the proper C++ compiler to run C++ tests"), - commit 6b6df1a7bb37 ("[PATCH] Adds `local.exp` to CLEANFILES"), - commit 6cf0dea78a5a ("[PATCH] Change CLEANFILES to DISTCLEANFILES") libffi/ * Makefile.am (DISTCLEANFILES): New variable. * configure.ac: Produce `local.exp'. * Makefile.in: Regenerate. * configure: Regenerate. * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New variable. * testsuite/Makefile.in: Regenerate.
2020-04-25 21:27:14 +01:00
EOF
AM_MAINTAINER_MODE
AC_CHECK_HEADERS(sys/memfd.h)
AC_CHECK_FUNCS([memfd_create])
AC_CHECK_HEADERS(sys/mman.h)
AC_CHECK_FUNCS([mmap mkostemp mkstemp])
acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST. 2003-11-21 Andreas Jaeger <aj@suse.de> Andreas Tobler <a.tobler@schweiz.ch> * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST. * configure.in: Call AC_FUNC_MMAP_BLACKLIST. * Makefile.in: Rebuilt. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * testsuite/lib/libffi-dg.exp: Add include dir. * testsuite/libffi.call/ffitest.h: Add MMAP definitions. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality for ffi_closure if available. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/closure_fn4.c: Likewise. * testsuite/libffi.call/closure_fn5.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_18byte.c: Likewise. * testsuite/libffi.call/cls_19byte.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_20byte1.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_64byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_9byte1.c: Likewise. * testsuite/libffi.call/cls_9byte2.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_schar.c: Likewise. * testsuite/libffi.call/cls_sint.c: Likewise. * testsuite/libffi.call/cls_sshort.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/nested_struct2.c: Likewise. * testsuite/libffi.call/nested_struct3.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch> From-SVN: r73800
2003-11-21 12:24:10 +01:00
AC_FUNC_MMAP_BLACKLIST
003-09-04 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Add dejagnu test framework. Fixes PR other/11411. * Makefile.in: Rebuilt. * configure.in: Add dejagnu test framework. * configure: Rebuilt. * testsuite/Makefile.am: New file. * testsuite/Makefile.in: Built * testsuite/lib/libffi-dg.exp: New file. * testsuite/config/default.exp: Likewise. * testsuite/libffi.call/call.exp: Likewise. * testsuite/libffi.call/ffitest.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Likewise. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/float.c: Likewise. * testsuite/libffi.call/float1.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. * testsuite/libffi.call/many.c: Likewise. * testsuite/libffi.call/many_win32.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/pyobjc-tc.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/return_ll.c: Likewise. * testsuite/libffi.call/return_sc.c: Likewise. * testsuite/libffi.call/return_uc.c: Likewise. * testsuite/libffi.call/strlen.c: Likewise. * testsuite/libffi.call/strlen_win32.c: Likewise. * testsuite/libffi.call/struct1.c: Likewise. * testsuite/libffi.call/struct2.c: Likewise. * testsuite/libffi.call/struct3.c: Likewise. * testsuite/libffi.call/struct4.c: Likewise. * testsuite/libffi.call/struct5.c: Likewise. * testsuite/libffi.call/struct6.c: Likewise. * testsuite/libffi.call/struct7.c: Likewise. * testsuite/libffi.call/struct8.c: Likewise. * testsuite/libffi.call/struct9.c: Likewise. * testsuite/libffi.special/special.exp: New file. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. From-SVN: r71068
2003-09-04 16:47:05 +02:00
dnl The -no-testsuite modules omit the test subdir.
AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
1999-08-08 13:27:18 +00:00
TARGETDIR="unknown"
HAVE_LONG_DOUBLE_VARIANT=0
1999-08-08 13:27:18 +00:00
. ${srcdir}/configure.host
003-09-04 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Add dejagnu test framework. Fixes PR other/11411. * Makefile.in: Rebuilt. * configure.in: Add dejagnu test framework. * configure: Rebuilt. * testsuite/Makefile.am: New file. * testsuite/Makefile.in: Built * testsuite/lib/libffi-dg.exp: New file. * testsuite/config/default.exp: Likewise. * testsuite/libffi.call/call.exp: Likewise. * testsuite/libffi.call/ffitest.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Likewise. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/float.c: Likewise. * testsuite/libffi.call/float1.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. * testsuite/libffi.call/many.c: Likewise. * testsuite/libffi.call/many_win32.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/pyobjc-tc.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/return_ll.c: Likewise. * testsuite/libffi.call/return_sc.c: Likewise. * testsuite/libffi.call/return_uc.c: Likewise. * testsuite/libffi.call/strlen.c: Likewise. * testsuite/libffi.call/strlen_win32.c: Likewise. * testsuite/libffi.call/struct1.c: Likewise. * testsuite/libffi.call/struct2.c: Likewise. * testsuite/libffi.call/struct3.c: Likewise. * testsuite/libffi.call/struct4.c: Likewise. * testsuite/libffi.call/struct5.c: Likewise. * testsuite/libffi.call/struct6.c: Likewise. * testsuite/libffi.call/struct7.c: Likewise. * testsuite/libffi.call/struct8.c: Likewise. * testsuite/libffi.call/struct9.c: Likewise. * testsuite/libffi.special/special.exp: New file. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. From-SVN: r71068
2003-09-04 16:47:05 +02:00
if test -n "${UNSUPPORTED}"; then
AC_MSG_ERROR(["libffi has not been ported to $host."])
1999-08-08 13:27:18 +00:00
fi
AC_SUBST(AM_RUNTESTFLAGS)
AC_SUBST(AM_LTLDFLAGS)
1999-08-08 13:27:18 +00:00
AC_HEADER_STDC
AC_CHECK_FUNCS(memcpy)
AC_FUNC_ALLOCA
AC_CHECK_SIZEOF(double)
AC_CHECK_SIZEOF(long double)
[multiple changes] 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.in: AC_LINK_FILES(ffitarget.h). * configure: Regenerate. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. 2003-10-21 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com> Avoid that ffi.h includes fficonfig.h. * Makefile.am (EXTRA_DIST): Include ffitarget.h files (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (TARGET_SRC_MIPS_SGI): Removed. (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (MIPS_SGI): Removed. (CLEANFILES): Removed. (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New targets. * acconfig.h: Removed. * configure.in: Compute sizeofs only for double and long double. Use them to define and subst HAVE_LONG_DOUBLE. Include comments into AC_DEFINE instead of using acconfig.h. Create include/ffitarget.h instead of include/fficonfig.h. Rename MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. AC_DEFINE EH_FRAME_FLAGS. * include/Makefile.am (DISTCLEANFILES): New automake macro. (hack_DATA): Add ffitarget.h. * include/ffi.h.in: Remove all system specific definitions. Declare raw API even if it is not installed, why bother? Use limits.h instead of SIZEOF_* to define ffi_type_*. Do not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include ffitarget.h instead of fficonfig.h. Remove ALIGN macro. (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. * include/ffi_common.h (bool): Do not define. (ffi_assert): Accept failed assertion. (ffi_type_test): Return void and accept file/line. (FFI_ASSERT): Pass stringized failed assertion. (FFI_ASSERT_AT): New macro. (FFI_ASSERT_VALID_TYPE): New macro. (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, UINT64, SINT64): Define here with gcc's __attribute__ macro instead of in ffi.h (FLOAT32, ALIGN): Define here instead of in ffi.h * include/ffi-mips.h: Removed. Its content moved to src/mips/ffitarget.h after separating assembly and C sections. * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: SIZEOF_ARG -> FFI_SIZEOF_ARG. * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). * src/debug.c (ffi_assert): Accept stringized failed assertion. (ffi_type_test): Rewritten. * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call FFI_ASSERT_VALID_TYPE. * src/alpha/ffitarget.h, src/arm/ffitarget.h, src/ia64/ffitarget.h, src/m68k/ffitarget.h, src/mips/ffitarget.h, src/powerpc/ffitarget.h, src/s390/ffitarget.h, src/sh/ffitarget.h, src/sh64/ffitarget.h, src/sparc/ffitarget.h, src/x86/ffitarget.h: New files. * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, src/powerpc/aix.S, src/powerpc/darwin.S, src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: include fficonfig.h From-SVN: r72766
2003-10-21 21:01:58 +02:00
# Also AC_SUBST this variable for ffi.h.
if test -z "$HAVE_LONG_DOUBLE"; then
HAVE_LONG_DOUBLE=0
if test $ac_cv_sizeof_long_double != 0; then
if test $HAVE_LONG_DOUBLE_VARIANT != 0; then
AC_DEFINE(HAVE_LONG_DOUBLE_VARIANT, 1, [Define if you support more than one size of the long double type])
HAVE_LONG_DOUBLE=1
else
if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
HAVE_LONG_DOUBLE=1
AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
fi
fi
[multiple changes] 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.in: AC_LINK_FILES(ffitarget.h). * configure: Regenerate. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. 2003-10-21 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com> Avoid that ffi.h includes fficonfig.h. * Makefile.am (EXTRA_DIST): Include ffitarget.h files (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (TARGET_SRC_MIPS_SGI): Removed. (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (MIPS_SGI): Removed. (CLEANFILES): Removed. (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New targets. * acconfig.h: Removed. * configure.in: Compute sizeofs only for double and long double. Use them to define and subst HAVE_LONG_DOUBLE. Include comments into AC_DEFINE instead of using acconfig.h. Create include/ffitarget.h instead of include/fficonfig.h. Rename MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. AC_DEFINE EH_FRAME_FLAGS. * include/Makefile.am (DISTCLEANFILES): New automake macro. (hack_DATA): Add ffitarget.h. * include/ffi.h.in: Remove all system specific definitions. Declare raw API even if it is not installed, why bother? Use limits.h instead of SIZEOF_* to define ffi_type_*. Do not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include ffitarget.h instead of fficonfig.h. Remove ALIGN macro. (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. * include/ffi_common.h (bool): Do not define. (ffi_assert): Accept failed assertion. (ffi_type_test): Return void and accept file/line. (FFI_ASSERT): Pass stringized failed assertion. (FFI_ASSERT_AT): New macro. (FFI_ASSERT_VALID_TYPE): New macro. (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, UINT64, SINT64): Define here with gcc's __attribute__ macro instead of in ffi.h (FLOAT32, ALIGN): Define here instead of in ffi.h * include/ffi-mips.h: Removed. Its content moved to src/mips/ffitarget.h after separating assembly and C sections. * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: SIZEOF_ARG -> FFI_SIZEOF_ARG. * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). * src/debug.c (ffi_assert): Accept stringized failed assertion. (ffi_type_test): Rewritten. * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call FFI_ASSERT_VALID_TYPE. * src/alpha/ffitarget.h, src/arm/ffitarget.h, src/ia64/ffitarget.h, src/m68k/ffitarget.h, src/mips/ffitarget.h, src/powerpc/ffitarget.h, src/s390/ffitarget.h, src/sh/ffitarget.h, src/sh64/ffitarget.h, src/sparc/ffitarget.h, src/x86/ffitarget.h: New files. * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, src/powerpc/aix.S, src/powerpc/darwin.S, src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: include fficonfig.h From-SVN: r72766
2003-10-21 21:01:58 +02:00
fi
fi
AC_SUBST(HAVE_LONG_DOUBLE)
AC_SUBST(HAVE_LONG_DOUBLE_VARIANT)
[multiple changes] 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.in: AC_LINK_FILES(ffitarget.h). * configure: Regenerate. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. 2003-10-21 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com> Avoid that ffi.h includes fficonfig.h. * Makefile.am (EXTRA_DIST): Include ffitarget.h files (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (TARGET_SRC_MIPS_SGI): Removed. (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (MIPS_SGI): Removed. (CLEANFILES): Removed. (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New targets. * acconfig.h: Removed. * configure.in: Compute sizeofs only for double and long double. Use them to define and subst HAVE_LONG_DOUBLE. Include comments into AC_DEFINE instead of using acconfig.h. Create include/ffitarget.h instead of include/fficonfig.h. Rename MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. AC_DEFINE EH_FRAME_FLAGS. * include/Makefile.am (DISTCLEANFILES): New automake macro. (hack_DATA): Add ffitarget.h. * include/ffi.h.in: Remove all system specific definitions. Declare raw API even if it is not installed, why bother? Use limits.h instead of SIZEOF_* to define ffi_type_*. Do not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include ffitarget.h instead of fficonfig.h. Remove ALIGN macro. (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. * include/ffi_common.h (bool): Do not define. (ffi_assert): Accept failed assertion. (ffi_type_test): Return void and accept file/line. (FFI_ASSERT): Pass stringized failed assertion. (FFI_ASSERT_AT): New macro. (FFI_ASSERT_VALID_TYPE): New macro. (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, UINT64, SINT64): Define here with gcc's __attribute__ macro instead of in ffi.h (FLOAT32, ALIGN): Define here instead of in ffi.h * include/ffi-mips.h: Removed. Its content moved to src/mips/ffitarget.h after separating assembly and C sections. * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: SIZEOF_ARG -> FFI_SIZEOF_ARG. * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). * src/debug.c (ffi_assert): Accept stringized failed assertion. (ffi_type_test): Rewritten. * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call FFI_ASSERT_VALID_TYPE. * src/alpha/ffitarget.h, src/arm/ffitarget.h, src/ia64/ffitarget.h, src/m68k/ffitarget.h, src/mips/ffitarget.h, src/powerpc/ffitarget.h, src/s390/ffitarget.h, src/sh/ffitarget.h, src/sh64/ffitarget.h, src/sparc/ffitarget.h, src/x86/ffitarget.h: New files. * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, src/powerpc/aix.S, src/powerpc/darwin.S, src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: include fficonfig.h From-SVN: r72766
2003-10-21 21:01:58 +02:00
AC_C_BIGENDIAN
1999-08-08 13:27:18 +00:00
GCC_AS_CFI_PSEUDO_OP
case "$TARGET" in
SPARC)
AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
libffi_cv_as_sparc_ua_pcrel, [
save_CFLAGS="$CFLAGS"
save_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS -fpic"
LDFLAGS="$LDFLAGS -shared"
AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
[libffi_cv_as_sparc_ua_pcrel=yes],
[libffi_cv_as_sparc_ua_pcrel=no])
CFLAGS="$save_CFLAGS"
LDFLAGS="$save_LDFLAGS"])
if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
[Define if your assembler and linker support unaligned PC relative relocs.])
fi
AC_CACHE_CHECK([assembler .register pseudo-op support],
libffi_cv_as_register_pseudo_op, [
libffi_cv_as_register_pseudo_op=unknown
# Check if we have .register
AC_TRY_COMPILE(,[asm (".register %g2, #scratch");],
[libffi_cv_as_register_pseudo_op=yes],
[libffi_cv_as_register_pseudo_op=no])
])
if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
[Define if your assembler supports .register.])
fi
;;
X86*)
AC_CACHE_CHECK([assembler supports pc related relocs],
libffi_cv_as_x86_pcrel, [
libffi_cv_as_x86_pcrel=no
echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then
libffi_cv_as_x86_pcrel=yes
fi
])
if test "x$libffi_cv_as_x86_pcrel" = xyes; then
AC_DEFINE(HAVE_AS_X86_PCREL, 1,
[Define if your assembler supports PC relative relocs.])
fi
;;
S390)
AC_CACHE_CHECK([compiler uses zarch features],
libffi_cv_as_s390_zarch, [
libffi_cv_as_s390_zarch=no
echo 'void foo(void) { bar(); bar(); }' > conftest.c
if $CC $CFLAGS -S conftest.c > /dev/null 2>&1; then
if grep -q brasl conftest.s; then
libffi_cv_as_s390_zarch=yes
fi
fi
])
if test "x$libffi_cv_as_s390_zarch" = xyes; then
AC_DEFINE(HAVE_AS_S390_ZARCH, 1,
[Define if the compiler uses zarch features.])
fi
;;
esac
AC_CACHE_CHECK([whether compiler supports pointer authentication],
libffi_cv_as_ptrauth, [
libffi_cv_as_ptrauth=unknown
AC_TRY_COMPILE(,[
#ifdef __clang__
# if __has_feature(ptrauth_calls)
# define HAVE_PTRAUTH 1
# endif
#endif
#ifndef HAVE_PTRAUTH
# error Pointer authentication not supported
#endif
],
[libffi_cv_as_ptrauth=yes],
[libffi_cv_as_ptrauth=no])
])
if test "x$libffi_cv_as_ptrauth" = xyes; then
AC_DEFINE(HAVE_PTRAUTH, 1,
[Define if your compiler supports pointer authentication.])
fi
2012-12-26 16:28:02 +00:00
# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC.
AC_ARG_ENABLE(pax_emutramp,
[ --enable-pax_emutramp enable pax emulated trampolines, for we can't use PROT_EXEC],
if test "$enable_pax_emutramp" = "yes"; then
AC_DEFINE(FFI_MMAP_EXEC_EMUTRAMP_PAX, 1,
[Define this if you want to enable pax emulated trampolines])
fi)
FFI_EXEC_TRAMPOLINE_TABLE=0
case "$target" in
*arm*-apple-* | aarch64-apple-*)
2012-12-26 16:28:02 +00:00
FFI_EXEC_TRAMPOLINE_TABLE=1
AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
[Cannot use PROT_EXEC on this target, so, we revert to
alternative means])
;;
*-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris* | *-linux-android*)
AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
[Cannot use malloc on this target, so, we revert to
alternative means])
;;
esac
2012-12-26 16:28:02 +00:00
AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
if test x$TARGET = xX86_64; then
AC_CACHE_CHECK([toolchain supports unwind section type],
libffi_cv_as_x86_64_unwind_section_type, [
cat > conftest1.s << EOF
.text
.globl foo
foo:
jmp bar
.section .eh_frame,"a",@unwind
bar:
EOF
cat > conftest2.c << EOF
extern void foo();
int main(){foo();}
EOF
libffi_cv_as_x86_64_unwind_section_type=no
# we ensure that we can compile _and_ link an assembly file containing an @unwind section
# since the compiler can support it and not the linker (ie old binutils)
if $CC -Wa,--fatal-warnings $CFLAGS -c conftest1.s > /dev/null 2>&1 && \
$CC conftest2.c conftest1.o > /dev/null 2>&1 ; then
libffi_cv_as_x86_64_unwind_section_type=yes
fi
])
if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
[Define if your assembler supports unwind section type.])
fi
fi
2012-12-26 16:28:02 +00:00
if test "x$GCC" = "xyes"; then
AC_CACHE_CHECK([whether .eh_frame section should be read-only],
libffi_cv_ro_eh_frame, [
libffi_cv_ro_eh_frame=yes
2012-12-26 16:28:02 +00:00
echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
if $CC $CFLAGS -c -fpic -fexceptions -fno-lto -o conftest.o conftest.c > /dev/null 2>&1; then
if $READELF -WS conftest.o | grep -q -n 'eh_frame .* WA'; then
libffi_cv_ro_eh_frame=no
fi
2012-12-26 16:28:02 +00:00
fi
rm -f conftest.*
])
if test "x$libffi_cv_ro_eh_frame" = xyes; then
AC_DEFINE(HAVE_RO_EH_FRAME, 1,
[Define if .eh_frame sections should be read-only.])
AC_DEFINE(EH_FRAME_FLAGS, "a",
[Define to the flags needed for the .section .eh_frame directive. ])
else
AC_DEFINE(EH_FRAME_FLAGS, "aw",
[Define to the flags needed for the .section .eh_frame directive. ])
fi
2012-12-26 16:28:02 +00:00
AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
libffi_cv_hidden_visibility_attribute, [
echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
libffi_cv_hidden_visibility_attribute=no
if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
if egrep '(\.hidden|\.private_extern).*foo' conftest.s >/dev/null; then
2012-12-26 16:28:02 +00:00
libffi_cv_hidden_visibility_attribute=yes
fi
fi
rm -f conftest.*
])
if test $libffi_cv_hidden_visibility_attribute = yes; then
AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
[Define if __attribute__((visibility("hidden"))) is supported.])
fi
fi
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
# See if makeinfo has been installed and is modern enough
# that we can use it.
ACX_CHECK_PROG_VER([MAKEINFO], [makeinfo], [--version],
[GNU texinfo.* \([0-9][0-9.]*\)],
[4.[4-9]*|4.[1-9][0-9]*|[5-9]*|[1-9][0-9]*])
AM_CONDITIONAL(BUILD_DOCS, test $gcc_cv_prog_makeinfo_modern = "yes")
AH_BOTTOM([
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
#ifdef LIBFFI_ASM
#ifdef __APPLE__
#define FFI_HIDDEN(name) .private_extern name
#else
#define FFI_HIDDEN(name) .hidden name
#endif
#else
#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
#endif
#else
#ifdef LIBFFI_ASM
#define FFI_HIDDEN(name)
#else
#define FFI_HIDDEN
#endif
#endif
])
1999-08-08 13:27:18 +00:00
AC_SUBST(TARGET)
AC_SUBST(TARGETDIR)
changequote(<,>)
TARGET_OBJ=
for i in $SOURCES; do
TARGET_OBJ="${TARGET_OBJ} src/${TARGETDIR}/"`echo $i | sed 's/[cS]$/lo/'`
done
changequote([,])
AC_SUBST(TARGET_OBJ)
1999-08-08 13:27:18 +00:00
AC_SUBST(SHELL)
AC_ARG_ENABLE(debug,
[ --enable-debug debugging mode],
if test "$enable_debug" = "yes"; then
[multiple changes] 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.in: AC_LINK_FILES(ffitarget.h). * configure: Regenerate. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. 2003-10-21 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com> Avoid that ffi.h includes fficonfig.h. * Makefile.am (EXTRA_DIST): Include ffitarget.h files (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (TARGET_SRC_MIPS_SGI): Removed. (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (MIPS_SGI): Removed. (CLEANFILES): Removed. (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New targets. * acconfig.h: Removed. * configure.in: Compute sizeofs only for double and long double. Use them to define and subst HAVE_LONG_DOUBLE. Include comments into AC_DEFINE instead of using acconfig.h. Create include/ffitarget.h instead of include/fficonfig.h. Rename MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. AC_DEFINE EH_FRAME_FLAGS. * include/Makefile.am (DISTCLEANFILES): New automake macro. (hack_DATA): Add ffitarget.h. * include/ffi.h.in: Remove all system specific definitions. Declare raw API even if it is not installed, why bother? Use limits.h instead of SIZEOF_* to define ffi_type_*. Do not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include ffitarget.h instead of fficonfig.h. Remove ALIGN macro. (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. * include/ffi_common.h (bool): Do not define. (ffi_assert): Accept failed assertion. (ffi_type_test): Return void and accept file/line. (FFI_ASSERT): Pass stringized failed assertion. (FFI_ASSERT_AT): New macro. (FFI_ASSERT_VALID_TYPE): New macro. (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, UINT64, SINT64): Define here with gcc's __attribute__ macro instead of in ffi.h (FLOAT32, ALIGN): Define here instead of in ffi.h * include/ffi-mips.h: Removed. Its content moved to src/mips/ffitarget.h after separating assembly and C sections. * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: SIZEOF_ARG -> FFI_SIZEOF_ARG. * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). * src/debug.c (ffi_assert): Accept stringized failed assertion. (ffi_type_test): Rewritten. * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call FFI_ASSERT_VALID_TYPE. * src/alpha/ffitarget.h, src/arm/ffitarget.h, src/ia64/ffitarget.h, src/m68k/ffitarget.h, src/mips/ffitarget.h, src/powerpc/ffitarget.h, src/s390/ffitarget.h, src/sh/ffitarget.h, src/sh64/ffitarget.h, src/sparc/ffitarget.h, src/x86/ffitarget.h: New files. * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, src/powerpc/aix.S, src/powerpc/darwin.S, src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: include fficonfig.h From-SVN: r72766
2003-10-21 21:01:58 +02:00
AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
fi)
2012-12-26 16:28:02 +00:00
AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
AC_ARG_ENABLE(structs,
[ --disable-structs omit code for struct support],
if test "$enable_structs" = "no"; then
AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this if you do not want support for aggregate types.])
fi)
AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
AC_ARG_ENABLE(raw-api,
[ --disable-raw-api make the raw api unavailable],
if test "$enable_raw_api" = "no"; then
AC_DEFINE(FFI_NO_RAW_API, 1, [Define this if you do not want support for the raw API.])
fi)
1999-08-08 13:27:18 +00:00
AC_ARG_ENABLE(exec-static-tramp,
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
[ --enable-exec-static-tramp enable use of static exec trampolines])
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
if test "$enable_exec_static_tramp" = yes; then
case "$target" in
*-cygwin*)
;;
*arm*-*-linux-* | aarch64*-*-linux-* | i*86-*-linux-* | x86_64-*-linux-*)
AC_DEFINE(FFI_EXEC_STATIC_TRAMP, 1,
[Define this if you want statically defined trampolines])
;;
esac
fi
1999-08-08 13:27:18 +00:00
AC_ARG_ENABLE(purify-safety,
[ --enable-purify-safety purify-safe mode],
if test "$enable_purify_safety" = "yes"; then
[multiple changes] 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.in: AC_LINK_FILES(ffitarget.h). * configure: Regenerate. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. 2003-10-21 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com> Avoid that ffi.h includes fficonfig.h. * Makefile.am (EXTRA_DIST): Include ffitarget.h files (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (TARGET_SRC_MIPS_SGI): Removed. (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (MIPS_SGI): Removed. (CLEANFILES): Removed. (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New targets. * acconfig.h: Removed. * configure.in: Compute sizeofs only for double and long double. Use them to define and subst HAVE_LONG_DOUBLE. Include comments into AC_DEFINE instead of using acconfig.h. Create include/ffitarget.h instead of include/fficonfig.h. Rename MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. AC_DEFINE EH_FRAME_FLAGS. * include/Makefile.am (DISTCLEANFILES): New automake macro. (hack_DATA): Add ffitarget.h. * include/ffi.h.in: Remove all system specific definitions. Declare raw API even if it is not installed, why bother? Use limits.h instead of SIZEOF_* to define ffi_type_*. Do not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include ffitarget.h instead of fficonfig.h. Remove ALIGN macro. (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. * include/ffi_common.h (bool): Do not define. (ffi_assert): Accept failed assertion. (ffi_type_test): Return void and accept file/line. (FFI_ASSERT): Pass stringized failed assertion. (FFI_ASSERT_AT): New macro. (FFI_ASSERT_VALID_TYPE): New macro. (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, UINT64, SINT64): Define here with gcc's __attribute__ macro instead of in ffi.h (FLOAT32, ALIGN): Define here instead of in ffi.h * include/ffi-mips.h: Removed. Its content moved to src/mips/ffitarget.h after separating assembly and C sections. * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: SIZEOF_ARG -> FFI_SIZEOF_ARG. * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). * src/debug.c (ffi_assert): Accept stringized failed assertion. (ffi_type_test): Rewritten. * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call FFI_ASSERT_VALID_TYPE. * src/alpha/ffitarget.h, src/arm/ffitarget.h, src/ia64/ffitarget.h, src/m68k/ffitarget.h, src/mips/ffitarget.h, src/powerpc/ffitarget.h, src/s390/ffitarget.h, src/sh/ffitarget.h, src/sh64/ffitarget.h, src/sparc/ffitarget.h, src/x86/ffitarget.h: New files. * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, src/powerpc/aix.S, src/powerpc/darwin.S, src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: include fficonfig.h From-SVN: r72766
2003-10-21 21:01:58 +02:00
AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
fi)
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
GCC_WITH_TOOLEXECLIBDIR
if test -n "$with_cross_host" &&
test x"$with_cross_host" != x"no"; then
toolexecdir='$(exec_prefix)/$(target_alias)'
case ${with_toolexeclibdir} in
no)
toolexeclibdir='$(toolexecdir)/lib'
;;
*)
toolexeclibdir=${with_toolexeclibdir}
;;
esac
else
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
toolexeclibdir='$(libdir)'
fi
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
multi_os_directory=`$CC -print-multi-os-directory`
case $multi_os_directory in
.) ;; # Avoid trailing /.
*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
esac
AC_SUBST(toolexecdir)
AC_SUBST(toolexeclibdir)
1999-08-08 13:27:18 +00:00
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
else
multilib_arg=
fi
# Check linker support.
LIBFFI_ENABLE_SYMVERS
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) PR other/79046 libatomic/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libffi/ * configure.ac: Add GCC_BASE_VER. * include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * testsuite/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * Makefile.in: Regenerated. * man/Makefile.in: Regenerated. libgomp/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libitm/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libmpx/ * mpxrt/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * mpxwrap/Makefile.am (gcc_version): Likewise. * mpxrt/Makefile.in: Regenerated. * mpxwrap/Makefile.in: Regenerated. liboffloadmic/ * plugin/configure.ac: Add GCC_BASE_VER. * plugin/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * plugin/configure: Regenerated. * plugin/aclocal.m4: Regenerated. * plugin/Makefile.in: Regenerated. libsanitizer/ * interception/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * asan/Makefile.am (gcc_version): Likewise. * ubsan/Makefile.am (gcc_version): Likewise. * sanitizer_common/Makefile.am (gcc_version): Likewise. * lsan/Makefile.am (gcc_version): Likewise. * tsan/Makefile.am (gcc_version): Likewise. * interception/Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * ubsan/Makefile.in: Regenerated. * sanitizer_common/Makefile.in: Regenerated. * lsan/Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. libvtv/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. From-SVN: r244742
2017-01-21 09:47:11 +01:00
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
# Determine what GCC version number to use in filesystem paths.
GCC_BASE_VER
AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
AC_CONFIG_COMMANDS(src, [
test -d src || mkdir src
test -d src/$TARGETDIR || mkdir src/$TARGETDIR
], [TARGETDIR="$TARGETDIR"])
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
[multiple changes] 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.in: AC_LINK_FILES(ffitarget.h). * configure: Regenerate. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. 2003-10-21 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com> Avoid that ffi.h includes fficonfig.h. * Makefile.am (EXTRA_DIST): Include ffitarget.h files (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (TARGET_SRC_MIPS_SGI): Removed. (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (MIPS_SGI): Removed. (CLEANFILES): Removed. (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New targets. * acconfig.h: Removed. * configure.in: Compute sizeofs only for double and long double. Use them to define and subst HAVE_LONG_DOUBLE. Include comments into AC_DEFINE instead of using acconfig.h. Create include/ffitarget.h instead of include/fficonfig.h. Rename MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. AC_DEFINE EH_FRAME_FLAGS. * include/Makefile.am (DISTCLEANFILES): New automake macro. (hack_DATA): Add ffitarget.h. * include/ffi.h.in: Remove all system specific definitions. Declare raw API even if it is not installed, why bother? Use limits.h instead of SIZEOF_* to define ffi_type_*. Do not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include ffitarget.h instead of fficonfig.h. Remove ALIGN macro. (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. * include/ffi_common.h (bool): Do not define. (ffi_assert): Accept failed assertion. (ffi_type_test): Return void and accept file/line. (FFI_ASSERT): Pass stringized failed assertion. (FFI_ASSERT_AT): New macro. (FFI_ASSERT_VALID_TYPE): New macro. (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, UINT64, SINT64): Define here with gcc's __attribute__ macro instead of in ffi.h (FLOAT32, ALIGN): Define here instead of in ffi.h * include/ffi-mips.h: Removed. Its content moved to src/mips/ffitarget.h after separating assembly and C sections. * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: SIZEOF_ARG -> FFI_SIZEOF_ARG. * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). * src/debug.c (ffi_assert): Accept stringized failed assertion. (ffi_type_test): Rewritten. * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call FFI_ASSERT_VALID_TYPE. * src/alpha/ffitarget.h, src/arm/ffitarget.h, src/ia64/ffitarget.h, src/m68k/ffitarget.h, src/mips/ffitarget.h, src/powerpc/ffitarget.h, src/s390/ffitarget.h, src/sh/ffitarget.h, src/sh64/ffitarget.h, src/sparc/ffitarget.h, src/x86/ffitarget.h: New files. * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, src/powerpc/aix.S, src/powerpc/darwin.S, src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: include fficonfig.h From-SVN: r72766
2003-10-21 21:01:58 +02:00
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
libffi: Integrate build with GCC 1. Integrate with GCC build. 2. Disable static trampolines by default. 3. Support multilib. * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir. (ACLOCAL_AMFLAGS): Set to -I .. -I ../config. (SUBDIRS): Don't add doc. (TEXINFO_TEX): New. (MAKEINFOFLAGS): Likewise. (info_TEXINFOS): Likewise. (STAMP_GENINSRC): Likewise. (STAMP_BUILD_INFO): Likewise. (all-local): Likewise. (stamp-geninsrc): Likewise. (doc/libffi.info): Likewise. (stamp-build-info:): Likewise. (CLEANFILES): Likewise. (MAINTAINERCLEANFILES): Likewise. (AM_MAKEFLAGS): Likewise. (all-recursive): Likewise. (install-recursive): Likewise. (mostlyclean-recursive): Likewise. (clean-recursive): Likewise. (distclean-recursive): Likewise. (maintainer-clean-recursive): Likewise. (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags. (AM_CFLAGS): Add -g -fexceptions. (libffi.map-sun): Replace make_sunver.pl with ../contrib/make_sunver.pl. (dist-hook): Removed. Include $(top_srcdir)/../multilib.am. * configure.ac: Add AM_ENABLE_MULTILIB. Remove the frv*-elf check. (AX_ENABLE_BUILDDIR): Removed. (AM_INIT_AUTOMAKE): Add [no-dist]. Add --enable-generated-files-in-srcdir. (C_CONFIG_MACRO_DIR): Removed. (AX_COMPILER_VENDOR): Likewise. (AX_CC_MAXOPT): Likewise. (AX_CFLAGS_WARN_ALL): Likewise. Remove the GCC check. (SYMBOL_UNDERSCORE): Removed. (AX_CHECK_COMPILE_FLAG): Likewise. Remove --disable-docs. (ACX_CHECK_PROG_VER): Check makeinfo. (BUILD_DOCS): Updated. (exec-static-tramp): Don't enable use of static exec trampolines by default. Remove --disable-multi-os-directory. (GCC_WITH_TOOLEXECLIBDIR): New. Support cross host. Support --enable-multilib. * include/Makefile.am (nodist_include_HEADERS): Removed. (gcc_version): New. (toollibffidir): Likewise. (toollibffi_HEADERS): Likewise. * Makefile.in: Regenerate. (GCC_BASE_VER): New. (AC_CONFIG_FILES): Remove doc/Makefile. (AC_CONFIG_LINKS): New. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * mdate-sh: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
2021-08-30 14:31:19 -07:00
AC_OUTPUT