summaryrefslogtreecommitdiffstats
path: root/src/mapi/vgapi/SConscript
blob: fd4467bb2310e458eeeb8bf57ba61c1bc0ac5338 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#######################################################################
# SConscript for vgapi

from sys import executable as python_cmd

Import('*')

env = env.Clone()

vgapi_header, = env.CodeGenerate(
    target = 'vgapi_tmp.h',
    script = '../mapi/mapi_abi.py',
    source = 'vgapi.csv',
    command = python_cmd + ' $SCRIPT --printer vgapi --mode lib $SOURCE > $TARGET'
)

env.Append(CPPDEFINES = [
    'MAPI_ABI_HEADER=\\"vgapi/vgapi_tmp.h\\"',
    'MAPI_DLL_EXPORTS',
    'KHRONOS_DLL_EXPORTS',
])

env.Append(CPPPATH = [
    '#/include',
    '#/src/mapi',
    Dir('..'), # vgapi/vgapi_tmp.h build path
])

mapi_sources = [
    'entry.c',
    'mapi.c',
    'stub.c',
    'table.c',
    'u_current.c',
    'u_execmem.c',
]

vgapi_objects = []
for s in mapi_sources:
    o = env.SharedObject(s[:-2], '../mapi/' + s)
    vgapi_objects.append(o)

env.Depends(vgapi_objects, vgapi_header)

# libOpenVG.dll
env['LIBPREFIX'] = 'lib'
env['SHLIBPREFIX'] = 'lib'

openvg = env.SharedLibrary(
    target = 'OpenVG',
    source = vgapi_objects,
)

env.InstallSharedLibrary(openvg, version=(1, 0, 0))

if env['platform'] == 'windows':
    openvg = env.FindIxes(openvg, 'LIBPREFIX', 'LIBSUFFIX')
else:
    openvg = env.FindIxes(openvg, 'SHLIBPREFIX', 'SHLIBSUFFIX')

Export(['openvg'])