50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
#! /usr/bin/env python
|
|
# encoding: utf-8
|
|
|
|
def options(opt):
|
|
pass
|
|
|
|
def configure(conf):
|
|
if not conf.path.find_dir('libogg') or not conf.path.find_dir('libogg/src'):
|
|
conf.fatal('Can\'t find libogg submodule. Run `git submodule update --init --recursive`.')
|
|
return
|
|
|
|
conf.env.INCLUDE_INTTYPES_H = 0
|
|
conf.env.INCLUDE_SYS_TYPES_H = 0
|
|
conf.env.INCLUDE_STDINT_H = 0
|
|
|
|
if conf.check_cc(header_name='inttypes.h', mandatory = False):
|
|
conf.env.INCLUDE_INTTYPES_H = 1
|
|
elif conf.check_cc(header_name='sys/types.h', mandatory = False):
|
|
conf.env.INCLUDE_SYS_TYPES_H = 1
|
|
elif conf.check_cc(header_name='stdint.h', mandatory = False):
|
|
conf.env.INCLUDE_STDINT_H = 1
|
|
|
|
def build(bld):
|
|
sources = bld.path.ant_glob([
|
|
'libogg/src/*.c'
|
|
])
|
|
|
|
bld(
|
|
features = 'subst',
|
|
name = 'libogg_config_types',
|
|
source = 'libogg/include/ogg/config_types.h.in',
|
|
target = 'libogg/include/ogg/config_types.h',
|
|
INCLUDE_INTTYPES_H = bld.env.INCLUDE_INTTYPES_H,
|
|
INCLUDE_SYS_TYPES_H = bld.env.INCLUDE_SYS_TYPES_H,
|
|
INCLUDE_STDINT_H = bld.env.INCLUDE_STDINT_H,
|
|
SIZE16 = 'int16_t',
|
|
USIZE16 = 'uint16_t',
|
|
SIZE32 = 'int32_t',
|
|
USIZE32 = 'uint32_t',
|
|
SIZE64 = 'int64_t',
|
|
USIZE64 = 'uint64_t'
|
|
)
|
|
|
|
bld.stlib(
|
|
source = sources,
|
|
target = 'ogg',
|
|
use = 'libogg_config_types',
|
|
includes = 'libogg/include/',
|
|
export_includes = 'libogg/include/'
|
|
)
|