~mmach/netext73/mesa-haswell

« back to all changes in this revision

Viewing changes to src/mapi/glapi/SConscript

  • Committer: mmach
  • Date: 2021-04-17 06:19:36 UTC
  • Revision ID: netbit73@gmail.com-20210417061936-peb5vc5ysl5zeoad
1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#######################################################################
 
2
# SConscript for glapi
 
3
 
 
4
 
 
5
from sys import executable as python_cmd
 
6
 
 
7
Import('*')
 
8
 
 
9
env = env.Clone()
 
10
 
 
11
env.MSVC2013Compat()
 
12
 
 
13
env.Append(CPPDEFINES = [
 
14
    'MAPI_MODE_UTIL',
 
15
])
 
16
 
 
17
if env['platform'] == 'windows':
 
18
    env.Append(CPPDEFINES = [
 
19
        '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
 
20
        'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
 
21
        'KHRONOS_DLL_EXPORTS', # declare gl* as __declspec(dllexport) in Khronos headers
 
22
        '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared __declspec(dllimport)
 
23
    ])
 
24
 
 
25
env.Append(CPPPATH = [
 
26
    '#/src',
 
27
    '#/src/mapi',
 
28
    '#/src/mesa',
 
29
    Dir('.'), # src/mapi/glapi build path
 
30
    Dir('gen'), # src/mapi/glapi/gen build path
 
31
])
 
32
 
 
33
glapi_sources = [
 
34
    'glapi_dispatch.c',
 
35
    'glapi_entrypoint.c',
 
36
    'glapi_getproc.c',
 
37
    'glapi_nop.c',
 
38
    'glapi.c',
 
39
]
 
40
 
 
41
mapi_sources = [
 
42
    'u_current.c',
 
43
    'u_execmem.c',
 
44
]
 
45
for s in mapi_sources:
 
46
    o = env.SharedObject(s[:-2], '../' + s)
 
47
    glapi_sources.append(o)
 
48
 
 
49
#
 
50
# Assembly sources
 
51
#
 
52
if env['platform'] not in ('cygwin', 'darwin', 'windows'):
 
53
    GLAPI = '#src/mapi/glapi/'
 
54
    sources = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml')
 
55
 
 
56
    if env['machine'] == 'x86':
 
57
        env.Append(CPPDEFINES = [
 
58
            'USE_X86_ASM',
 
59
        ])
 
60
        glapi_sources += [
 
61
            'glapi_x86.S',
 
62
        ]
 
63
        env.CodeGenerate(
 
64
            target = 'glapi_x86.S',
 
65
            script = GLAPI + 'gen/gl_x86_asm.py',
 
66
            source = sources,
 
67
            command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
 
68
            )
 
69
    elif env['machine'] == 'x86_64':
 
70
        env.Append(CPPDEFINES = [
 
71
            'USE_X86_64_ASM',
 
72
        ])
 
73
        glapi_sources += [
 
74
            'glapi_x86-64.S'
 
75
        ]
 
76
        env.CodeGenerate(
 
77
            target = 'glapi_x86-64.S',
 
78
            script = GLAPI + 'gen/gl_x86-64_asm.py',
 
79
            source = sources,
 
80
            command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
 
81
            )
 
82
    elif env['machine'] == 'sparc':
 
83
        env.Append(CPPDEFINES = [
 
84
            'USE_SPARC_ASM',
 
85
        ])
 
86
        glapi_sources += [
 
87
            'glapi_sparc.S'
 
88
        ]
 
89
        env.CodeGenerate(
 
90
            target = 'glapi_sparc.S',
 
91
            script = GLAPI + 'gen/gl_SPARC_asm.py',
 
92
            source = sources,
 
93
            command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
 
94
            )
 
95
    else:
 
96
        pass
 
97
 
 
98
glapi = env.ConvenienceLibrary(
 
99
    target = 'glapi',
 
100
    source = glapi_sources,
 
101
)
 
102
Export('glapi')