mirror of
https://github.com/FWGS/xash3d-fwgs.git
synced 2026-08-05 03:24:56 +08:00
wscript: refactor opus wscript files, now it builds only if system package wasn't found
This commit is contained in:
1
3rdparty/opus
vendored
1
3rdparty/opus
vendored
Submodule 3rdparty/opus deleted from dfd6c88aaa
1
3rdparty/opus/opus
vendored
Submodule
1
3rdparty/opus/opus
vendored
Submodule
Submodule 3rdparty/opus/opus added at 1639592368
52
3rdparty/opus/wscript
vendored
Normal file
52
3rdparty/opus/wscript
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
import os
|
||||
|
||||
OPUS_CHECK='''#include <opus.h>
|
||||
#include <stddef.h>
|
||||
int main()
|
||||
{
|
||||
OpusEncoder *oe = opus_encoder_create(48000, 2, OPUS_APPLICATION_VOIP, NULL);
|
||||
OpusDecoder *od = opus_decoder_create(48000, 2, NULL);
|
||||
return !oe || !od;
|
||||
}
|
||||
'''
|
||||
|
||||
def options(opt):
|
||||
pass
|
||||
|
||||
def configure(conf):
|
||||
if conf.check_pkg('opus', 'OPUS', OPUS_CHECK, fatal = False):
|
||||
conf.env.HAVE_OPUS = True
|
||||
return
|
||||
|
||||
if not conf.path.find_dir('opus') or not conf.path.find_dir('opus/src'):
|
||||
conf.fatal('Can\'t find opus submodule. Run `git submodule update --init --recursive`.')
|
||||
return
|
||||
|
||||
# TODO: ARM/x86 intrinsics detection
|
||||
# TODO: maybe call autotools/cmake/meson instead?
|
||||
|
||||
def build(bld):
|
||||
if bld.env.HAVE_OPUS:
|
||||
return
|
||||
|
||||
sources = bld.path.ant_glob([
|
||||
'opus/src/*.c',
|
||||
'opus/celt/*.c',
|
||||
'opus/silk/*.c',
|
||||
'opus/silk/float/*.c'
|
||||
])
|
||||
includes = ['opus/include/', 'opus/celt/', 'opus/silk/', 'opus/silk/float/']
|
||||
defines = ['USE_ALLOCA', 'OPUS_BUILD', 'FLOAT_APPROX', 'PACKAGE_VERSION="1.3.1"']
|
||||
|
||||
bld.stlib(
|
||||
source = sources,
|
||||
target = 'opus',
|
||||
features = 'c',
|
||||
includes = includes,
|
||||
defines = defines,
|
||||
subsystem = bld.env.MSVC_SUBSYSTEM,
|
||||
export_includes = ['opus/include/']
|
||||
)
|
||||
Reference in New Issue
Block a user