diff options
author | Andres Noetzli <andres.noetzli@gmail.com> | 2017-10-27 14:01:35 -0700 |
---|---|---|
committer | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2017-10-27 16:01:35 -0500 |
commit | 36bf9f8bcb2a1a3aea1f90eb4d13aed3bbf6da8f (patch) | |
tree | 35ba59e8ec1d505f00a5fc7c6c2c119e48abc0d4 /configure.ac | |
parent | 0891ff3d00975ee9697855dcb2b6cbb232ec5523 (diff) |
Modify LDFLAGS to support shared libraries for Win (#1280)
* Use uintptr_t for pointer casts in Swig files
CVC4's Swig interface files were casting pointers to longs in multiple
instances. The problem with that is that on certain platforms *cough*
Windows/MinGW *cough* long is only 32-bit even when compiling a 64-bit
executable (they use the LLP64 data model). This made the compilation of
language bindings fail with MinGW. This commit changes the types to
uintptr_t defined in Swig's stdint.i.
* Modify LDFLAGS to support shared libraries for Win
This commit adds "-no-undefined" to the LDFLAGS of CVC4's library, which
is required for building DLLs (shared libraries on Windows). It also
adds "--export-all-symbols" to the linker flags of the parser to ensure
that there are no unresolved symbols when linking against it (see
comment in the Makefile.am for details).
* Fix for non-Windows builds
* add no-undefined to libcvc4compatjni
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 85660f223..cb36c7a9d 100644 --- a/configure.ac +++ b/configure.ac @@ -1305,12 +1305,16 @@ LDFLAGS="${LDFLAGS:+$LDFLAGS }$CVC4LDFLAGS" # visibility flag not supported for Windows builds # also increase default stack size for Windows binaries +windows_build=no case $host_os in (*mingw*) FLAG_VISIBILITY_HIDDEN= cvc4_LDFLAGS=-Wl,--stack,134217728 pcvc4_LDFLAGS=-Wl,--stack,134217728 + windows_build=yes esac +AM_CONDITIONAL([CVC4_WINDOWS_BUILD], [test "$windows_build" = "yes"]) + AC_SUBST(FLAG_VISIBILITY_HIDDEN) AC_SUBST(cvc4_LDFLAGS) AC_SUBST(pcvc4_LDFLAGS) |