| #!/usr/bin/env scons |
| # |
| |
| from build import APREnv |
| |
| EnsureSConsVersion(1, 1, 0) |
| |
| vars = Variables('build.py') |
| |
| vars.Add('prefix', 'Installation Prefix', '/usr/local') |
| vars.Add('maintainer_mode', 'Turn on debugging and compile time warnings', 0) |
| vars.Add('profile', 'Turn on profiling for the build (GCC)', 0) |
| vars.Add('lfs', 'Large file support on 32-bit platforms', 1) |
| vars.Add('ipv6', 'IPv6 support', 1) |
| vars.Add(EnumVariable('pool_debug', 'Turn on pools debugging', 'no', |
| allowed_values=('yes', 'no', 'verbose', 'verbose-alloc', 'lifetime', 'owner', 'all'))) |
| |
| env = APREnv(args=ARGUMENTS, variables=vars) |
| |
| |
| Help(vars.GenerateHelpText(env)) |
| |
| env.APRHints() |
| |
| env = env.APRAutoconf() |
| |
| if env['maintainer_mode']: |
| if env.is_gcc(): |
| env.AppendUnique(CPPFLAGS = ['-g', '-Wall', '-Wmissing-prototypes', '-Wstrict-prototypes', '-Wmissing-declarations']) |
| |
| if env['profile']: |
| env.Filter(CPPFLAGS = '-g') |
| env.AppendUnique(CPPFLAGS = ['-pg']) |
| |
| if env['pool_debug'] != 'no': |
| flags = {'yes': 1, |
| 'verbose': 2, |
| 'lifetime': 4, |
| 'owner': 8, |
| 'verbose-alloc': 16, |
| 'all': 31} |
| env.AppendUnique(CPPFLAGS = "-DAPR_POOL_DEBUG=%d" % flags[env['pool_debug']]) |
| |
| Export("env") |
| |
| # TODO: Support debug/release builds |
| targets = SConscript("SConscript", variant_dir='builds/default', duplicate=0) |
| |
| env.Default(targets) |