xash3d-fwgs/ref/gl/wscript

85 lines
2.0 KiB
Python

#! /usr/bin/env python
# encoding: utf-8
# mittorn, 2018
from waflib import Logs
import os
top = '.'
def options(opt):
grp = opt.add_option_group('ref_gl options')
grp.add_option('--enable-static-gl', action='store_true', dest='GL_STATIC', default=False,
help = 'enable direct linking to opengl [default: %default]')
# stub
return
def configure(conf):
# check for dedicated server build
if conf.options.DEDICATED:
return
conf.define_cond('SUPPORT_BSP2_FORMAT', conf.options.SUPPORT_BSP2_FORMAT)
conf.env.GL_STATIC = conf.options.GL_STATIC
if conf.env.GL_STATIC:
conf.check(lib='GL')
conf.define('REF_DLL', 1)
if conf.env.DEST_OS2 == 'android':
conf.check_cc(lib='log')
def build(bld):
libs = [ 'engine_includes' ]
# on PSVita do not link any libraries that are already in the main executable, but add the includes target
if bld.env.DEST_OS == 'psvita':
libs += [ 'sdk_includes', 'vgl_shim' ]
else:
libs += [ 'public', 'M' ]
source = bld.path.ant_glob(['*.c', 'gl2_shim/*.c'])
includes = '.'
targets = {
'ref_gl': {
'enable': bld.env.GL,
'libs': ['GL'] if bld.env.GL_STATIC else [],
'defines': ['XASH_GL_STATIC'] if bld.env.GL_STATIC else [],
},
'ref_gles1': {
'enable': bld.env.NANOGL,
'libs': ['DL', 'nanogl', 'LOG'],
'defines': ['XASH_NANOGL'],
},
'ref_gles2': {
'enable': bld.env.GLWES,
'libs': ['DL', 'gl-wes-v2', 'LOG'],
'defines': ['XASH_WES'],
},
'ref_gl4es': {
'enable': bld.env.GL4ES,
'libs': ['DL', 'gl4es', 'LOG'],
'defines': ['XASH_GL_STATIC', 'XASH_GL4ES'],
},
'ref_gles3compat': {
'enable': bld.env.GLES3COMPAT,
'libs': ['DL', 'gl4es', 'LOG'],
'defines': ['XASH_GLES3COMPAT'],
},
}
for k,v in targets.items():
if not v['enable']:
continue
bld.shlib(source = source,
target = k,
features = 'c',
includes = includes,
use = libs + v['libs'],
defines = v['defines'],
install_path = bld.env.LIBDIR,
subsystem = bld.env.MSVC_SUBSYSTEM)