OSDN Git Service

meson: standardize .so version to major.minor.patch
[android-x86/external-mesa.git] / src / glx / SConscript
1 Import('*')
2
3 if not env['x11'] or not env['xcb'] or not env['drm']:
4     Return()
5
6 from sys import executable as python_cmd
7
8 env = env.Clone()
9
10 env.Prepend(CPPPATH = [
11         '.',           # the build/<platform>/glx/ directory
12         '#include',
13         '#include/GL/internal',
14         '#src/',
15         '#src/loader',
16         '#src/mesa',
17         '#src/mapi',
18         '#src/mapi/glapi',
19         #$(LIBDRM_CFLAGS)
20         #$(DRI2PROTO_CFLAGS)
21         #$(GLPROTO_CFLAGS)
22         #$(X11_INCLUDES)
23 ])
24
25 env.Append(CPPDEFINES = [
26     '_REENTRANT',
27     #('DEFAULT_DRIVER_DIR', 'DRI_DRIVER_SEARCH_DIR')
28 ])
29
30 env.Prepend(LIBS = [
31     libloader,
32     mesautil,
33     glapi
34 ])
35
36 env.PkgUseModules('X11')
37 env.PkgUseModules('XCB')
38 env.PkgUseModules('DRM')
39
40 if env['HAVE_XF86VIDMODE']:
41     env.Append(CPPDEFINES = ['XF86VIDMODE'])
42     env.PkgUseModules('XF86VIDMODE')
43
44 sources = [
45     'clientattrib.c',
46     'clientinfo.c',
47     'create_context.c',
48     'compsize.c',
49     'eval.c',
50     'glx_error.c',
51     'glxconfig.c',
52     'glxcmds.c',
53     'glxcurrent.c',
54     'glxext.c',
55     'glxextensions.c',
56     'indirect_glx.c',
57     'indirect.c',
58     'indirect_init.c',
59     'indirect_size.c',
60     'indirect_window_pos.c',
61     'indirect_texture_compression.c',
62     'indirect_transpose_matrix.c',
63     'indirect_vertex_array.c',
64     'indirect_vertex_program.c',
65     'pixel.c',
66     'pixelstore.c',
67     'query_renderer.c',
68     'render2.c',
69     'renderpix.c',
70     'single2.c',
71     'singlepix.c',
72     'vertarr.c',
73     'xfont.c',
74     'glx_pbuffer.c',
75     'glx_query.c',
76     'drisw_glx.c',
77     'dri_common.c',
78     'dri_glx.c',
79     'XF86dri.c',
80     'glxhash.c',
81     'dri2_glx.c',
82     'dri2.c',
83     'dri_common_query_renderer.c',
84     'dri_common_interop.c',
85     #'dri3_glx.c',
86     'applegl_glx.c',
87 ]
88
89 libgl = env.SharedLibrary(
90     target ='GL',
91     source = sources,
92 )
93
94
95 # Generate GLX-specific .c and .h files here.  Other GL API-related
96 # files are used, but they're generated in mapi/glapi/gen/ since they're
97 # used by other targets as well.
98
99 GLAPI = '#src/mapi/glapi/'
100 sources = [GLAPI + 'gen/gl_API.xml'] + env.Glob(GLAPI + 'gen/*.xml')
101
102 env.CodeGenerate(
103     target = 'indirect.c',
104     script = GLAPI + 'gen/glX_proto_send.py',
105     source = sources,
106     command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET'
107     )
108
109 env.CodeGenerate(
110     target = 'indirect_size.c',
111     script = GLAPI + 'gen/glX_proto_size.py',
112     source = sources,
113     command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET'
114 )
115
116 env.CodeGenerate(
117     target = 'indirect_init.c',
118     script = GLAPI + 'gen/glX_proto_send.py',
119     source = sources,
120     command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET'
121 )
122
123 env.CodeGenerate(
124     target = 'indirect_size.h',
125     script = GLAPI + 'gen/glX_proto_size.py',
126     source = sources,
127     command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set --header-tag _INDIRECT_SIZE_H > $TARGET'
128 )
129
130 env.CodeGenerate(
131     target = 'indirect.h',
132     script = GLAPI + 'gen/glX_proto_send.py',
133     source = sources,
134     command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET',
135     )
136
137
138 libgl = env.InstallSharedLibrary(libgl, version=(1, 2))
139
140 env.Alias('glx', libgl)
141 env.Alias('libgl', libgl)