mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 20:18:18 +00:00
Improved support for MSYS/MINGW. Fixes #969.
This commit is contained in:
parent
d44d918414
commit
45975bec65
|
@ -1240,9 +1240,9 @@ def get_so_ext():
|
||||||
sysname = os.uname()[0]
|
sysname = os.uname()[0]
|
||||||
if sysname == 'Darwin':
|
if sysname == 'Darwin':
|
||||||
return 'dylib'
|
return 'dylib'
|
||||||
elif sysname == 'Linux' or sysname == 'FreeBSD' or sysname == 'OpenBSD' or sysname.startswith('MSYS_NT') or sysname.startswith('MINGW'):
|
elif sysname == 'Linux' or sysname == 'FreeBSD' or sysname == 'OpenBSD':
|
||||||
return 'so'
|
return 'so'
|
||||||
elif sysname == 'CYGWIN':
|
elif sysname == 'CYGWIN' or sysname.startswith('MSYS_NT') or sysname.startswith('MINGW'):
|
||||||
return 'dll'
|
return 'dll'
|
||||||
else:
|
else:
|
||||||
assert(False)
|
assert(False)
|
||||||
|
@ -2442,6 +2442,8 @@ def mk_config():
|
||||||
CXX = find_cxx_compiler()
|
CXX = find_cxx_compiler()
|
||||||
CC = find_c_compiler()
|
CC = find_c_compiler()
|
||||||
SLIBEXTRAFLAGS = ''
|
SLIBEXTRAFLAGS = ''
|
||||||
|
EXE_EXT = ''
|
||||||
|
LIB_EXT = '.a'
|
||||||
if GPROF:
|
if GPROF:
|
||||||
CXXFLAGS = '%s -pg' % CXXFLAGS
|
CXXFLAGS = '%s -pg' % CXXFLAGS
|
||||||
LDFLAGS = '%s -pg' % LDFLAGS
|
LDFLAGS = '%s -pg' % LDFLAGS
|
||||||
|
@ -2471,18 +2473,19 @@ def mk_config():
|
||||||
if DEBUG_MODE:
|
if DEBUG_MODE:
|
||||||
CXXFLAGS = '%s -g -Wall' % CXXFLAGS
|
CXXFLAGS = '%s -g -Wall' % CXXFLAGS
|
||||||
EXAMP_DEBUG_FLAG = '-g'
|
EXAMP_DEBUG_FLAG = '-g'
|
||||||
|
CPPFLAGS = '%s -DZ3DEBUG -D_DEBUG' % CPPFLAGS
|
||||||
else:
|
else:
|
||||||
|
CXXFLAGS = '%s -O3' % CXXFLAGS
|
||||||
if GPROF:
|
if GPROF:
|
||||||
CXXFLAGS = '%s -O3 -D _EXTERNAL_RELEASE' % CXXFLAGS
|
CXXFLAGS += '-fomit-frame-pointer'
|
||||||
else:
|
CPPFLAGS = '%s -DNDEBUG -D_EXTERNAL_RELEASE' % CPPFLAGS
|
||||||
CXXFLAGS = '%s -O3 -D _EXTERNAL_RELEASE -fomit-frame-pointer' % CXXFLAGS
|
|
||||||
if is_CXX_clangpp():
|
if is_CXX_clangpp():
|
||||||
CXXFLAGS = '%s -Wno-unknown-pragmas -Wno-overloaded-virtual -Wno-unused-value' % CXXFLAGS
|
CXXFLAGS = '%s -Wno-unknown-pragmas -Wno-overloaded-virtual -Wno-unused-value' % CXXFLAGS
|
||||||
sysname, _, _, _, machine = os.uname()
|
sysname, _, _, _, machine = os.uname()
|
||||||
if sysname == 'Darwin':
|
if sysname == 'Darwin':
|
||||||
SO_EXT = '.dylib'
|
SO_EXT = '.dylib'
|
||||||
SLIBFLAGS = '-dynamiclib'
|
SLIBFLAGS = '-dynamiclib'
|
||||||
elif sysname == 'Linux' or sysname.startswith('MSYS_NT') or sysname.startswith('MINGW'):
|
elif sysname == 'Linux':
|
||||||
CXXFLAGS = '%s -D_LINUX_' % CXXFLAGS
|
CXXFLAGS = '%s -D_LINUX_' % CXXFLAGS
|
||||||
OS_DEFINES = '-D_LINUX_'
|
OS_DEFINES = '-D_LINUX_'
|
||||||
SO_EXT = '.so'
|
SO_EXT = '.so'
|
||||||
|
@ -2501,15 +2504,22 @@ def mk_config():
|
||||||
OS_DEFINES = '-D_OPENBSD_'
|
OS_DEFINES = '-D_OPENBSD_'
|
||||||
SO_EXT = '.so'
|
SO_EXT = '.so'
|
||||||
SLIBFLAGS = '-shared'
|
SLIBFLAGS = '-shared'
|
||||||
elif sysname[:6] == 'CYGWIN':
|
elif sysname.startswith('CYGWIN'):
|
||||||
CXXFLAGS = '%s -D_CYGWIN' % CXXFLAGS
|
CXXFLAGS = '%s -D_CYGWIN' % CXXFLAGS
|
||||||
OS_DEFINES = '-D_CYGWIN'
|
OS_DEFINES = '-D_CYGWIN'
|
||||||
SO_EXT = '.dll'
|
SO_EXT = '.dll'
|
||||||
SLIBFLAGS = '-shared'
|
SLIBFLAGS = '-shared'
|
||||||
|
elif sysname.startswith('MSYS_NT') or sysname.startswith('MINGW'):
|
||||||
|
CXXFLAGS = '%s' % CXXFLAGS
|
||||||
|
OS_DEFINES = ''
|
||||||
|
SO_EXT = '.dll'
|
||||||
|
SLIBFLAGS = '-shared'
|
||||||
|
EXE_EXT = '.exe'
|
||||||
|
LIB_EXT = '.lib'
|
||||||
else:
|
else:
|
||||||
raise MKException('Unsupported platform: %s' % sysname)
|
raise MKException('Unsupported platform: %s' % sysname)
|
||||||
if is64():
|
if is64():
|
||||||
if sysname[:6] != 'CYGWIN':
|
if not sysname.startswith('CYGWIN') and not sysname.startswith('MSYS') and not sysname.startswith('MINGW'):
|
||||||
CXXFLAGS = '%s -fPIC' % CXXFLAGS
|
CXXFLAGS = '%s -fPIC' % CXXFLAGS
|
||||||
CPPFLAGS = '%s -D_AMD64_' % CPPFLAGS
|
CPPFLAGS = '%s -D_AMD64_' % CPPFLAGS
|
||||||
if sysname == 'Linux':
|
if sysname == 'Linux':
|
||||||
|
@ -2518,10 +2528,6 @@ def mk_config():
|
||||||
CXXFLAGS = '%s -m32' % CXXFLAGS
|
CXXFLAGS = '%s -m32' % CXXFLAGS
|
||||||
LDFLAGS = '%s -m32' % LDFLAGS
|
LDFLAGS = '%s -m32' % LDFLAGS
|
||||||
SLIBFLAGS = '%s -m32' % SLIBFLAGS
|
SLIBFLAGS = '%s -m32' % SLIBFLAGS
|
||||||
if DEBUG_MODE:
|
|
||||||
CPPFLAGS = '%s -DZ3DEBUG -D_DEBUG' % CPPFLAGS
|
|
||||||
else:
|
|
||||||
CPPFLAGS = '%s -DNDEBUG -D_EXTERNAL_RELEASE' % CPPFLAGS
|
|
||||||
if TRACE or DEBUG_MODE:
|
if TRACE or DEBUG_MODE:
|
||||||
CPPFLAGS = '%s -D_TRACE' % CPPFLAGS
|
CPPFLAGS = '%s -D_TRACE' % CPPFLAGS
|
||||||
if is_cygwin_mingw():
|
if is_cygwin_mingw():
|
||||||
|
@ -2541,11 +2547,11 @@ def mk_config():
|
||||||
config.write('CXX_OUT_FLAG=-o \n')
|
config.write('CXX_OUT_FLAG=-o \n')
|
||||||
config.write('C_OUT_FLAG=-o \n')
|
config.write('C_OUT_FLAG=-o \n')
|
||||||
config.write('OBJ_EXT=.o\n')
|
config.write('OBJ_EXT=.o\n')
|
||||||
config.write('LIB_EXT=.a\n')
|
config.write('LIB_EXT=%s\n' % LIB_EXT)
|
||||||
config.write('AR=%s\n' % AR)
|
config.write('AR=%s\n' % AR)
|
||||||
config.write('AR_FLAGS=rcs\n')
|
config.write('AR_FLAGS=rcs\n')
|
||||||
config.write('AR_OUTFLAG=\n')
|
config.write('AR_OUTFLAG=\n')
|
||||||
config.write('EXE_EXT=\n')
|
config.write('EXE_EXT=%s\n' % EXE_EXT)
|
||||||
config.write('LINK=%s\n' % CXX)
|
config.write('LINK=%s\n' % CXX)
|
||||||
config.write('LINK_FLAGS=\n')
|
config.write('LINK_FLAGS=\n')
|
||||||
config.write('LINK_OUT_FLAG=-o \n')
|
config.write('LINK_OUT_FLAG=-o \n')
|
||||||
|
|
Loading…
Reference in a new issue