0,0 → 1,106 |
####################################################################### |
# SConscript for glapi |
|
|
from sys import executable as python_cmd |
|
Import('*') |
|
env = env.Clone() |
|
env.MSVC2013Compat() |
|
env.Append(CPPDEFINES = [ |
'MAPI_MODE_UTIL', |
]) |
|
if env['platform'] == 'windows': |
env.Append(CPPDEFINES = [ |
'_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers |
'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers |
'KHRONOS_DLL_EXPORTS', # declare gl* as __declspec(dllexport) in Khronos headers |
]) |
if env['gles']: |
env.Append(CPPDEFINES = ['_GLAPI_DLL_EXPORTS']) |
else: |
# prevent _glapi_* from being declared __declspec(dllimport) |
env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS']) |
|
env.Append(CPPPATH = [ |
'#/src', |
'#/src/mapi', |
'#/src/mesa', |
Dir('..'), # src/mapi build path |
]) |
|
glapi_sources = [ |
'glapi_dispatch.c', |
'glapi_entrypoint.c', |
'glapi_getproc.c', |
'glapi_nop.c', |
'glapi.c', |
] |
|
mapi_sources = [ |
'u_current.c', |
'u_execmem.c', |
] |
for s in mapi_sources: |
o = env.SharedObject(s[:-2], '../' + s) |
glapi_sources.append(o) |
|
# |
# Assembly sources |
# |
if (env['gcc'] or env['clang']) and \ |
env['platform'] not in ('cygwin', 'darwin', 'windows'): |
GLAPI = '#src/mapi/glapi/' |
sources = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml') |
|
if env['machine'] == 'x86': |
env.Append(CPPDEFINES = [ |
'USE_X86_ASM', |
]) |
glapi_sources += [ |
'glapi_x86.S', |
] |
env.CodeGenerate( |
target = 'glapi_x86.S', |
script = GLAPI + 'gen/gl_x86_asm.py', |
source = sources, |
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' |
) |
elif env['machine'] == 'x86_64': |
env.Append(CPPDEFINES = [ |
'USE_X86_64_ASM', |
]) |
glapi_sources += [ |
'glapi_x86-64.S' |
] |
env.CodeGenerate( |
target = 'glapi_x86-64.S', |
script = GLAPI + 'gen/gl_x86-64_asm.py', |
source = sources, |
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' |
) |
elif env['machine'] == 'sparc': |
env.Append(CPPDEFINES = [ |
'USE_SPARC_ASM', |
]) |
glapi_sources += [ |
'glapi_sparc.S' |
] |
env.CodeGenerate( |
target = 'glapi_sparc.S', |
script = GLAPI + 'gen/gl_SPARC_asm.py', |
source = sources, |
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' |
) |
else: |
pass |
|
glapi = env.ConvenienceLibrary( |
target = 'glapi', |
source = glapi_sources, |
) |
Export('glapi') |