53 lines
1.3 KiB
Text
53 lines
1.3 KiB
Text
![]() |
#! /usr/bin/env python
|
||
|
# encoding: utf-8
|
||
|
|
||
|
FRAGMENT_MEMORY_H='''#include <memory.h>
|
||
|
int main (void) {
|
||
|
return 0;
|
||
|
}'''
|
||
|
|
||
|
FRAGMENT_MEMCMP='''#include <string.h>
|
||
|
int main (void) {
|
||
|
memcmp(NULL, NULL, 0);
|
||
|
return 0;
|
||
|
}'''
|
||
|
|
||
|
FRAGMENT_ALLOCA_H='''#include <alloca.h>
|
||
|
int main (void) {
|
||
|
int foo=10;
|
||
|
int * array = alloca(foo);
|
||
|
}'''
|
||
|
|
||
|
def options(opt):
|
||
|
pass
|
||
|
|
||
|
def configure(conf):
|
||
|
if not conf.path.find_dir('../vorbis-src') or not conf.path.find_dir('../vorbis-src/lib'):
|
||
|
conf.fatal('Can\'t find libvorbis submodule. Run `git submodule update --init --recursive`.')
|
||
|
return
|
||
|
|
||
|
if conf.check_cc(fragment=FRAGMENT_MEMORY_H, msg = 'Checking for memory.h header', mandatory = False):
|
||
|
conf.define('USE_MEMORY_H', 1)
|
||
|
|
||
|
conf.check_cc(fragmenmt=FRAGMENT_MEMCMP, msg = 'Checking for memcmp in string.h header', mandatory = False)
|
||
|
conf.check_cc(fragment=FRAGMENT_ALLOCA_H, msg = 'Checking for alloca in alloca.h header', mandatory = False)
|
||
|
|
||
|
if conf.env.COMPILER_CC == 'msvc':
|
||
|
conf.define('_CRT_SECURE_NO_WARNINGS', 1)
|
||
|
conf.define('_CRT_SECURE_NO_DEPRECATE', 1)
|
||
|
conf.define('_CRT_NONSTDC_NO_DEPRECATE', 1)
|
||
|
|
||
|
def build(bld):
|
||
|
sources = [
|
||
|
'../vorbis-src/lib/vorbisfile.c'
|
||
|
]
|
||
|
|
||
|
bld.stlib(
|
||
|
source = sources,
|
||
|
target = 'libvorbisfile',
|
||
|
features = 'c',
|
||
|
includes = ['../vorbis-src/include/'],
|
||
|
use = ['libvorbis'],
|
||
|
export_includes = ['../vorbis-src/include/']
|
||
|
)
|