diff options
| author | Vicent Marti <tanoku@gmail.com> | 2011-03-15 21:04:41 +0200 |
|---|---|---|
| committer | Vicent Marti <tanoku@gmail.com> | 2011-03-15 21:14:07 +0200 |
| commit | bbcc7ffc690c4065954102530447aef4e8ccf895 (patch) | |
| tree | 94566de36b18a1345a83a33fd8be9df0a35afe35 /wscript | |
| parent | b5abb881a623b8b492e0375b8e9c8936079c39bb (diff) | |
| download | libgit2-bbcc7ffc690c4065954102530447aef4e8ccf895.tar.gz | |
Add proper threading support to libgit2
We now depend on libpthread on all Unix platforms (should be installed
by default) and use a simple wrapper for Windows threads under Win32.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Diffstat (limited to 'wscript')
| -rw-r--r-- | wscript | 48 |
1 files changed, 32 insertions, 16 deletions
@@ -5,10 +5,12 @@ from waflib.Build import BuildContext, CleanContext, \ # Unix flags CFLAGS_UNIX = ["-O2", "-Wall", "-Wextra"] CFLAGS_UNIX_DBG = ['-g'] +CFLAGS_UNIX_PED = ['-pedantic', '-Werror'] # Windows MSVC flags -CFLAGS_WIN32_COMMON = ['/TC', '/W4', '/WX', '/nologo', '/Zi'] +CFLAGS_WIN32_COMMON = ['/TC', '/W4', '/nologo', '/Zi'] CFLAGS_WIN32_RELEASE = ['/O2', '/MD'] +CFLAGS_WIN32_PED = ['/Wx'] # Note: /RTC* cannot be used with optimization on. CFLAGS_WIN32_DBG = ['/Od', '/RTC1', '/RTCc', '/DEBUG', '/MDd'] @@ -31,9 +33,10 @@ PPC optimized version (ppc) or the SHA1 functions from OpenSSL (openssl)") help='Select target architecture (ia64, x64, x86, x86_amd64, x86_ia64)') opt.add_option('--without-sqlite', action='store_false', default=True, dest='use_sqlite', help='Disable sqlite support') + opt.add_option('--strict', action='store_true', default=False, + help='Max warning level; treat warnings as errors') def configure(conf): - # load the MSVC configuration flags if conf.options.msvc: conf.env['MSVC_VERSIONS'] = ['msvc ' + conf.options.msvc] @@ -43,25 +46,38 @@ def configure(conf): # default configuration for C programs conf.load('compiler_c') - dbg = conf.options.debug - - conf.env.CFLAGS = CFLAGS_UNIX + (CFLAGS_UNIX_DBG if dbg else []) - + debug = conf.options.debug + pedantic = conf.options.strict + + if conf.env.CC_NAME == 'msvc': + conf.env.CFLAGS = CFLAGS_WIN32_COMMON + conf.env.LINKFLAGS = CFLAGS_WIN32_L + if debug: + conf.env.CFLAGS += CFLAGS_WIN32_DEBUG + conf.env.LINKFLAGS += CFLAGS_WIN32_L_DBG + else: + conf.env.CFLAGS += CFLAGS_WIN32_RELEASE + + if pedantic: + conf.ENV.CFLAGS += CFLAGS_WIN32_PED + + elif conf.env.CC_NAME == 'gcc': + conf.env.CFLAGS = CFLAGS_UNIX + if debug: + conf.env.CFLAGS += CFLAGS_UNIX_DBG + if pedantic: + conf.env.CFLAGS += CFLAGS_UNIX_PED + + + # Win32 Platform: MinGW and MSVC if conf.env.DEST_OS == 'win32': conf.env.PLATFORM = 'win32' + conf.env.DEFINES += ['WIN32', '_DEBUG', '_LIB'] - if conf.env.CC_NAME == 'msvc': - conf.env.CFLAGS = CFLAGS_WIN32_COMMON + \ - (CFLAGS_WIN32_DBG if dbg else CFLAGS_WIN32_RELEASE) - conf.env.LINKFLAGS += CFLAGS_WIN32_L + \ - (CFLAGS_WIN32_L_DBG if dbg else []) - conf.env.DEFINES += ['WIN32', '_DEBUG', '_LIB'] - - elif conf.env.CC_NAME == 'gcc': - conf.check_cc(lib='pthread', uselib_store='pthread') - + # Unix-like platforms: Linux, Darwin, Cygwin, *BSD, etc else: conf.env.PLATFORM = 'unix' + conf.check_cc(lib='pthread', uselib_store='pthread') # Do not build ZLib with GZIP support conf.env.DEFINES += ['NO_GZIP'] |
