From 1669b42e0ac24bcbb9e1b17f21806c102ddc5f0d Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Wed, 24 Oct 2012 17:53:37 -0700 Subject: [PATCH] Improving Z3 build for cygwin. Fixed sets deprecated warning. Signed-off-by: Leonardo de Moura --- configure.ac | 15 ++++++--------- scripts/config-release.mk.in | 2 +- scripts/mk_util.py | 7 +++---- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/configure.ac b/configure.ac index ddb26b776..54d8acf27 100644 --- a/configure.ac +++ b/configure.ac @@ -123,11 +123,10 @@ AS_IF([test "$host_os" = "Darwin"], [ PLATFORM=win SO_EXT=.dll LDFLAGS= - SLIBFLAGS="-shared -fopenmp" - SLIBEXTRAFLAGS="" + SLIBFLAGS="-shared -fopenmp -Wl,--whole-archive" + SLIBEXTRAFLAGS="-Wl,--no-whole-archive" COMP_VERSIONS= - STATIC_FLAGS=-static - CXXFLAGS+=" -D_CYGWIN" + CXXFLAGS+=" -D_CYGWIN -fno-strict-aliasing" ], [ AC_MSG_ERROR([Unknown host platform: $host_os]) @@ -145,16 +144,14 @@ AC_CHECK_SIZEOF(int *) if test $ac_cv_sizeof_int_p -eq 8; then dnl In 64-bit systems we have to compile using -fPIC - CXXFLAGS="-fPIC" - CPPFLAGS="$CPPFLAGS -D_AMD64_" + CXXFLAGS+=" -fPIC" + CPPFLAGS+=" -D_AMD64_" dnl Only enable use of thread local storage for 64-bit Linux. It is disabled for OSX and 32-bit Linux if test $PLATFORM = "linux"; then - CPPFLAGS="$CPPFLAGS -D_USE_THREAD_LOCAL" + CPPFLAGS+=" -D_USE_THREAD_LOCAL" fi - EXTRA_LIBS="" IS_X64="yes" else - CXXFLAGS="" IS_X64="no" fi diff --git a/scripts/config-release.mk.in b/scripts/config-release.mk.in index 8e0f0f4c2..53a50b9db 100644 --- a/scripts/config-release.mk.in +++ b/scripts/config-release.mk.in @@ -1,7 +1,7 @@ CXX=@CXX@ -CXXFLAGS=@CPPFLAGS@ @CXXFLAGS@ -c -O3 -fomit-frame-pointer -Wall -fopenmp -msse -msse2 -mfpmath=sse -fPIC +CXXFLAGS=@CPPFLAGS@ @CXXFLAGS@ -c -O3 -fomit-frame-pointer -Wall -fopenmp -msse -msse2 -mfpmath=sse CXX_OUT_FLAG=-o OBJ_EXT=.o LIB_EXT=.a diff --git a/scripts/mk_util.py b/scripts/mk_util.py index 32faf2504..5817bb6bb 100644 --- a/scripts/mk_util.py +++ b/scripts/mk_util.py @@ -8,7 +8,6 @@ ############################################ import os import glob -import sets import re import getopt import sys @@ -118,9 +117,9 @@ def mk_fresh_name(prefix): _Id = 0 _Components = [] -_ComponentNames = sets.Set() +_ComponentNames = set() _Name2Component = {} -_Processed_Headers = sets.Set() +_Processed_Headers = set() def get_cpp_files(path): return filter(lambda f: f.endswith('.cpp'), os.listdir(path)) @@ -315,7 +314,7 @@ class DLLComponent(Component): if IS_WINDOW: dllfile = '%s$(SO_EXT)' % self.dll_name else: - dllfile = '%libs$(SO_EXT)' % self.dll_name + dllfile = 'lib%s$(SO_EXT)' % self.dll_name out.write('%s:' % dllfile) deps = sort_components(self.deps) objs = []