diff options
| author | Vicent Marti <tanoku@gmail.com> | 2010-11-19 17:07:34 +0200 |
|---|---|---|
| committer | Vicent Marti <tanoku@gmail.com> | 2010-11-24 00:23:14 +0200 |
| commit | 357547fa1261b435c0f974aa8e839eb83247956d (patch) | |
| tree | ecf1ba82c4661ef21321b7b725e6335d3472ad39 /wscript | |
| parent | 30b171a185a1ef788d41265f08ad1da98d72918a (diff) | |
| download | libgit2-357547fa1261b435c0f974aa8e839eb83247956d.tar.gz | |
Change to waf as the buildsystem
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Diffstat (limited to 'wscript')
| -rw-r--r-- | wscript | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/wscript b/wscript new file mode 100644 index 000000000..0e514c8d1 --- /dev/null +++ b/wscript @@ -0,0 +1,70 @@ +CFLAGS = ["-g", "-O2", "-Wall", "-Wextra"] + +def options(opt): + opt.load('compiler_c') + opt.add_option('--sha1', action='store', default='builtin', help='TODO') + +def configure(conf): + conf.load('compiler_c') + + if conf.options.sha1 not in ['openssh', 'ppc', 'builtin']: + ctx.fatal('Invalid SHA1 option') + + conf.env.sha1 = conf.options.sha1 + + +def build(bld): + import glob, sys + + sources = glob.glob('src/*.c') + flags = CFLAGS + defines = [] + visibility = True + os = 'unix' + + if sys.platform == 'win32': + # windows configuration + flags = flags + ['-TC', '-W4', '-RTC1', '-Zi'] + defines = defines = ['WIN32', '_DEBUG', '_LIB'] + visibility = False + os = 'win32' + + elif sys.platform == 'cygwin': + visibility = False + + elif sys.platform == 'mingw': # TODO + pass + + if bld.env.sha1 == "openssh": + defines.append('OPENSSL_SHA1') + + elif bld.env.sha1 == "ppc": + defines.append('PPC_SHA1') + sources.append('src/ppc/sha1.c') + + else: + sources.append('src/block-sha1/sha1.c') + + if not visibility: + flags.append('-fvisibility=hidden') + + sources = sources + glob.glob('src/%s/*.c' % os) + + bld.stlib( + source=sources, + target='git2', + includes='src', + cflags=flags, + defines=defines + ) + + bld.shlib( + source=sources, + target='git2', + includes='src', + cflags=flags, + defines=defines + ) + + bld.install_files('${PREFIX}/include/git', glob.glob('src/git/*.h')) + |
