18e8a56eaa068d431a4b4a1795e2cb52711f168d6José FonsecaImport('*')
28e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca
38e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonsecaenv = env.Clone()
48e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca
58e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonsecaenv.Prepend(CPPPATH = [
68e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    '#src/mapi',
78e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    '#src/mesa',
88e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca])
98e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca
108e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonsecaenv.Prepend(LIBS = [
118e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    glapi,
128e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    mesa,
138e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    glsl,
148e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca])
158e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca
168e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonsecasources = [
178e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    'osmesa.c',
188e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca]
198e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca
208e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonsecaif env['platform'] == 'windows':
218e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    env.AppendUnique(CPPDEFINES = [
228e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca        '_GDI32_', # prevent wgl* being declared __declspec(dllimport)
238e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca        'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers 
248e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    ])
258e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    if not env['gles']:
268e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca        # prevent _glapi_* from being declared __declspec(dllimport)
278e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
288e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca
298e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    sources += ['osmesa.def']
308e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    
318e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonsecaosmesa = env.SharedLibrary(
328e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    target ='osmesa',
338e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca    source = sources,
348e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca)
358e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonseca
368e8a56eaa068d431a4b4a1795e2cb52711f168d6José Fonsecaenv.Alias('osmesa', osmesa)
37dff36e900c645401b26c9a44106459e96ee7a24dBrian Paul
38dff36e900c645401b26c9a44106459e96ee7a24dBrian Paulenv.Depends(sources, glapi_headers)
39