From 36bf9f8bcb2a1a3aea1f90eb4d13aed3bbf6da8f Mon Sep 17 00:00:00 2001 From: Andres Noetzli Date: Fri, 27 Oct 2017 14:01:35 -0700 Subject: 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 --- src/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Makefile.am') diff --git a/src/Makefile.am b/src/Makefile.am index 7f9d5a84b..b05a3503c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -25,7 +25,9 @@ include @top_srcdir@/src/Makefile.theories lib_LTLIBRARIES = libcvc4.la -libcvc4_la_LDFLAGS = -no-undefined -version-info $(LIBCVC4_VERSION) +libcvc4_la_LDFLAGS = \ + -no-undefined \ + -version-info $(LIBCVC4_VERSION) # This "tricks" automake into linking us as a C++ library (rather than # as a C library, which messes up exception handling support) -- cgit v1.2.3