Commit 405ac511 by Vicent Marti

Add --debug flag to toggle debugging

Signed-off-by: Vicent Marti <tanoku@gmail.com>
parent 277e45f4
...@@ -2,8 +2,12 @@ from waflib.Context import Context ...@@ -2,8 +2,12 @@ from waflib.Context import Context
from waflib.Build import BuildContext, CleanContext, \ from waflib.Build import BuildContext, CleanContext, \
InstallContext, UninstallContext InstallContext, UninstallContext
CFLAGS_UNIX = ["-g", "-O2", "-Wall", "-Wextra"] CFLAGS_UNIX = ["-O2", "-Wall", "-Wextra"]
CFLAGS_WIN32 = ['/TC', '/W4', '/RTC1', '/Zi', '/nologo'] CFLAGS_WIN32 = ['/TC', '/W4', '/RTC1', '/nologo']
CFLAGS_UNIX_DBG = ['-g']
CFLAGS_WIN32_DBG = ['/Zi', '/DEBUG']
CFLAGS_WIN32_L_DBG = ['/DEBUG']
ALL_LIBS = ['z', 'crypto', 'pthread'] ALL_LIBS = ['z', 'crypto', 'pthread']
...@@ -12,20 +16,24 @@ def options(opt): ...@@ -12,20 +16,24 @@ def options(opt):
opt.add_option('--sha1', action='store', default='builtin', opt.add_option('--sha1', action='store', default='builtin',
help="Use the builtin SHA1 routines (builtin), the \ help="Use the builtin SHA1 routines (builtin), the \
PPC optimized version (ppc) or the SHA1 functions from OpenSSL (openssl)") PPC optimized version (ppc) or the SHA1 functions from OpenSSL (openssl)")
opt.add_option('--debug', action='store_true', default=False,
help='Compile with debug symbols')
def configure(conf): def configure(conf):
# default configuration for C programs # default configuration for C programs
conf.load('compiler_c') conf.load('compiler_c')
dbg = conf.options.debug
zlib_name = 'z' zlib_name = 'z'
conf.env.CFLAGS = CFLAGS_UNIX conf.env.CFLAGS = CFLAGS_UNIX + CFLAGS_UNIX_DBG if dbg else []
if conf.env.DEST_OS == 'win32': if conf.env.DEST_OS == 'win32':
conf.env.PLATFORM = 'win32' conf.env.PLATFORM = 'win32'
if conf.env.CC_NAME == 'msvc': if conf.env.CC_NAME == 'msvc':
conf.env.CFLAGS = CFLAGS_WIN32 conf.env.CFLAGS += CFLAGS_WIN32 + CFLAGS_WIN32_DBG if dbg else []
conf.env.LINKFLAGS += CFLAGS_WIN32_L_DBG if dbg else []
conf.env.DEFINES += ['WIN32', '_DEBUG', '_LIB', 'ZLIB_WINAPI'] conf.env.DEFINES += ['WIN32', '_DEBUG', '_LIB', 'ZLIB_WINAPI']
zlib_name = 'zlibwapi' zlib_name = 'zlibwapi'
...@@ -36,7 +44,7 @@ def configure(conf): ...@@ -36,7 +44,7 @@ def configure(conf):
conf.env.PLATFORM = 'unix' conf.env.PLATFORM = 'unix'
# check for Z lib # check for Z lib
conf.check(features='c cprogram', lib=zlib_name, uselib_store='z') conf.check(features='c cprogram', lib=zlib_name, uselib_store='z', install_path=None)
if conf.options.sha1 not in ['openssl', 'ppc', 'builtin']: if conf.options.sha1 not in ['openssl', 'ppc', 'builtin']:
ctx.fatal('Invalid SHA1 option') ctx.fatal('Invalid SHA1 option')
...@@ -141,6 +149,7 @@ def build_tests(bld): ...@@ -141,6 +149,7 @@ def build_tests(bld):
target=test_name, target=test_name,
includes=['src', 'tests'], includes=['src', 'tests'],
defines=['TEST_TOC="%s.toc"' % test_name], defines=['TEST_TOC="%s.toc"' % test_name],
install_path=None,
stlib=['git2'], # link with the git2 static lib we've just compiled' stlib=['git2'], # link with the git2 static lib we've just compiled'
stlibpath=[directory.find_node('build/static/').abspath(), directory.abspath()], stlibpath=[directory.find_node('build/static/').abspath(), directory.abspath()],
use=['test_helper'] + ALL_LIBS # link with all the libs we know use=['test_helper'] + ALL_LIBS # link with all the libs we know
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment