mirror of
https://github.com/YGGverse/xash3d-fwgs.git
synced 2025-02-06 04:04:33 +00:00
wscript: refactor opus wscript files, now it builds only if system package wasn't found
This commit is contained in:
parent
9242a0a510
commit
44cd03f464
1
3rdparty/opus
vendored
1
3rdparty/opus
vendored
@ -1 +0,0 @@
|
|||||||
Subproject commit dfd6c88aaa54a03a61434c413e30c217eb98f1d5
|
|
1
3rdparty/opus/opus
vendored
Submodule
1
3rdparty/opus/opus
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 1639592368fc2dadc82d63f3be6f17ed0b554d71
|
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/']
|
||||||
|
)
|
@ -166,7 +166,7 @@ def build(bld):
|
|||||||
'client/vgui/*.c',
|
'client/vgui/*.c',
|
||||||
'client/avi/*.c'])
|
'client/avi/*.c'])
|
||||||
|
|
||||||
libs.append('OPUS')
|
libs.append('opus')
|
||||||
|
|
||||||
includes = ['common', 'server', 'client', 'client/vgui', 'tests', '.', '../public', '../common', '../filesystem', '../pm_shared' ]
|
includes = ['common', 'server', 'client', 'client/vgui', 'tests', '.', '../public', '../common', '../filesystem', '../pm_shared' ]
|
||||||
|
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
# encoding: utf-8
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
def options(opt):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def configure(conf):
|
|
||||||
path = conf.path.find_dir('3rdparty/opus')
|
|
||||||
conf.env.LIB_OPUS = ['opus']
|
|
||||||
conf.env.INCLUDES_OPUS = [path.find_dir('include/').abspath()]
|
|
||||||
|
|
||||||
def build(bld):
|
|
||||||
path = bld.path.find_dir('3rdparty/opus')
|
|
||||||
|
|
||||||
sources = path.ant_glob([
|
|
||||||
'src/*.c',
|
|
||||||
'celt/*.c',
|
|
||||||
'silk/*.c',
|
|
||||||
'silk/float/*.c'])
|
|
||||||
|
|
||||||
includes = [
|
|
||||||
path.find_dir('include/'),
|
|
||||||
path.find_dir('celt/'),
|
|
||||||
path.find_dir('silk/'),
|
|
||||||
path.find_dir('silk/float/')
|
|
||||||
]
|
|
||||||
|
|
||||||
defines = [
|
|
||||||
'USE_ALLOCA',
|
|
||||||
'OPUS_BUILD',
|
|
||||||
'PACKAGE_VERSION="1.3.1"'
|
|
||||||
]
|
|
||||||
|
|
||||||
bld.stlib(
|
|
||||||
source = sources,
|
|
||||||
target = 'opus',
|
|
||||||
features = 'c',
|
|
||||||
includes = includes,
|
|
||||||
defines = defines,
|
|
||||||
subsystem = bld.env.MSVC_SUBSYSTEM
|
|
||||||
)
|
|
5
wscript
5
wscript
@ -54,6 +54,7 @@ class Subproject:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
SUBDIRS = [
|
SUBDIRS = [
|
||||||
|
Subproject('3rdparty/opus'),
|
||||||
Subproject('public', dedicated=False, mandatory = True),
|
Subproject('public', dedicated=False, mandatory = True),
|
||||||
Subproject('filesystem', dedicated=False, mandatory = True),
|
Subproject('filesystem', dedicated=False, mandatory = True),
|
||||||
Subproject('game_launch', singlebin=True),
|
Subproject('game_launch', singlebin=True),
|
||||||
@ -353,11 +354,9 @@ int main(int argc, char **argv) { strcasestr(argv[1], argv[2]); return 0; }'''
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
conf.add_subproject(i.name)
|
conf.add_subproject(i.name)
|
||||||
|
|
||||||
conf.load('opus')
|
|
||||||
|
|
||||||
def build(bld):
|
def build(bld):
|
||||||
bld.load('opus xshlib')
|
bld.load('xshlib')
|
||||||
|
|
||||||
for i in SUBDIRS:
|
for i in SUBDIRS:
|
||||||
if not i.is_enabled(bld):
|
if not i.is_enabled(bld):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user