1 # client libglvnd glx provider, direct rendering mode with dri
2 echo "building client libglvnd glx provider components-->"
3 #===============================================================================
5 mkdir
$build_dir/src
/glx
6 #-------------------------------------------------------------------------------
7 # filenames should be different since we build in one directory
9 $build_dir/src/mapi/glapi/indirect.c \
10 $build_dir/src/mapi/glapi/indirect_init.c \
11 $build_dir/src/mapi/glapi/indirect_size.c \
13 $src_dir/src/glx/glxglvnd.c \
14 $src_dir/src/glx/drisw_glx.c \
15 $src_dir/src/glx/g_glxglvnddispatchfuncs.c \
17 $src_dir/src/glx/clientattrib.c \
18 $src_dir/src/glx/clientinfo.c \
19 $src_dir/src/glx/compsize.c \
20 $src_dir/src/glx/create_context.c \
21 $src_dir/src/glx/eval.c \
22 $src_dir/src/glx/glx_error.c \
23 $src_dir/src/glx/glx_pbuffer.c \
24 $src_dir/src/glx/glx_query.c \
25 $src_dir/src/glx/glxcmds.c \
26 $src_dir/src/glx/glxconfig.c \
27 $src_dir/src/glx/glxcurrent.c \
28 $src_dir/src/glx/glxext.c \
29 $src_dir/src/glx/glxextensions.c \
30 $src_dir/src/glx/glxhash.c \
31 $src_dir/src/glx/indirect_glx.c \
32 $src_dir/src/glx/indirect_texture_compression.c \
33 $src_dir/src/glx/indirect_transpose_matrix.c \
34 $src_dir/src/glx/indirect_vertex_array.c \
35 $src_dir/src/glx/indirect_vertex_program.c \
36 $src_dir/src/glx/indirect_window_pos.c \
37 $src_dir/src/glx/pixel.c \
38 $src_dir/src/glx/pixelstore.c \
39 $src_dir/src/glx/query_renderer.c \
40 $src_dir/src/glx/render2.c \
41 $src_dir/src/glx/renderpix.c \
42 $src_dir/src/glx/single2.c \
43 $src_dir/src/glx/singlepix.c \
44 $src_dir/src/glx/vertarr.c \
45 $src_dir/src/glx/dri_common.c \
46 $src_dir/src/glx/dri_common_query_renderer.c \
47 $src_dir/src/glx/xfont.c \
48 $src_dir/src/glx/dri3_glx.c \
50 #-------------------------------------------------------------------------------
51 for src_pathname
in $libglx_c_pathnames
53 cpp_filename
=$
(basename $src_pathname .c
).cpp.c
54 printf "CPP $src_pathname --> $build_dir/src/glx/$cpp_filename\n"
55 $cpp $src_pathname -o $build_dir/src
/glx
/$cpp_filename \
57 -DGL_LIB_NAME=\"libGLX_mesa.so
.0.0.0\" \
59 -I$cc_internal_fixed_incdir \
60 -I$cc_internal_incdir \
64 -I$build_dir/src
/gallium
/frontends
/dri \
65 -I$src_dir/src
/gallium
/frontends
/dri \
66 -I$build_dir/src
/gallium
/auxiliary \
67 -I$src_dir/src
/gallium
/auxiliary \
68 -I$build_dir/src
/gallium
/include \
69 -I$src_dir/src
/gallium
/include \
70 -I$build_dir/src
/mapi
/glapi \
71 -I$src_dir/src
/mapi
/glapi \
72 -I$build_dir/src
/glx \
74 -I$build_dir/src
/loader_dri3 \
75 -I$src_dir/src
/loader_dri3 \
76 -I$build_dir/src
/loader \
77 -I$src_dir/src
/loader \
78 -I$build_dir/src
/x11 \
80 -I$build_dir/src
/mesa \
84 -I$build_dir/include
/GL
/internal \
85 -I$src_dir/include
/GL
/internal \
86 -I$build_dir/include \
89 $syslib_cpp_flags_defs \
90 $linux_cpp_flags_defs \
91 $cc_builtins_cpp_flags_defs \
92 $cc_attributes_cpp_flags_defs \
93 $mesa_cpp_flags_defs \
95 $external_deps_cpp_flags &
97 #-------------------------------------------------------------------------------
99 #------------------------------------------------------------------------------
100 for src_pathname
in $libglx_c_pathnames
102 cpp_filename
=$
(basename $src_pathname .c
).cpp.c
103 asm_filename
=$
(basename $src_pathname .c
).cpp.c.s
104 printf "CC_S $build_dir/src/glx/$cpp_filename --> $build_dir/src/glx/$asm_filename\n"
105 $cc_s $build_dir/src
/glx
/$cpp_filename -o $build_dir/src
/glx
/$asm_filename &
107 #------------------------------------------------------------------------------
109 #------------------------------------------------------------------------------
111 for src_pathname
in $libglx_c_pathnames
113 asm_filename
=$
(basename $src_pathname .c
).cpp.c.s
114 o_filename
=$
(basename $src_pathname .c
).cpp.c.s.o
115 os
="$os $build_dir/src/glx/$o_filename"
116 printf "AS $build_dir/src/glx/$asm_filename --> $build_dir/src/glx/$o_filename\n"
117 $as $build_dir/src
/glx
/$asm_filename -o $build_dir/src
/glx
/$o_filename &
119 #------------------------------------------------------------------------------
121 #------------------------------------------------------------------------------
122 printf "AR RCS $build_dir/libglx.a $os\n"
123 $ar_rcs $build_dir/libglx.a
$os
124 #===============================================================================
125 # This is the client shared lib, which does routing among the enabled GL
126 # related APIs and hardware drivers (in our case, hardware supported by
127 # gallium drivers). For the glx API, it deals with indirect/direct rendering
129 #-------------------------------------------------------------------------------
130 # XXX: if some c++ were pulled in, it is not using the c++ runtime.
131 # TODO:should depends on libpipe_loader_dynamic
132 printf "BINUTILS LD $build_dir/to_install/libGLX_mesa.so.0.0.0\n"
133 $binutils_ld -o $build_dir/to_install
/libGLX_mesa.so
.0.0.0 \
135 -soname=libGLX_mesa.so
.0 \
140 $syslib_ld_slib_start_files \
141 $cc_ld_slib_start_files \
143 $build_dir/libglx.a \
146 $build_dir/libglapi_static.a \
147 $build_dir/libpipe_loader_dynamic.a \
148 $build_dir/libloader_x11.a \
149 $build_dir/libloader.a \
150 $build_dir/libxmlconfig.a \
151 $build_dir/libmesa_util.a \
154 $build_dir/to_install
/libgallium_dri.so \
155 $build_dir/to_install
/libglapi.so
.0.0.0 \
157 $libx11_xcb_ld_flags \
160 $libxxf86vm_ld_flags \
161 $libxshmfence_ld_flags \
162 $libxfixes_ld_flags \
164 $syslibs_libm_ld_flags \
165 $syslibs_libdl_ld_flags \
166 $syslibs_libpthread_ld_flags \
167 $syslibs_libc_ld_flags \
169 $cc_ld_slib_end_files \
170 $syslib_ld_slib_end_files
171 #-------------------------------------------------------------------------------
172 ln -s libGLX_mesa.so
.0.0.0 $build_dir/to_install
/libGLX_mesa.so
.0
173 #===============================================================================
174 mkdir
$build_dir/to_install
/include
/GL
175 cp $src_dir/include
/GL
/glcorearb.h
$build_dir/to_install
/include
/GL
/glcorearb.h
176 cp $src_dir/include
/GL
/gl.h
$build_dir/to_install
/include
/GL
/gl.h
177 cp $src_dir/include
/GL
/glext.h
$build_dir/to_install
/include
/GL
/glext.h
178 cp $src_dir/include
/GL
/glx.h
$build_dir/to_install
/include
/GL
/glx.h
179 cp $src_dir/include
/GL
/glxext.h
$build_dir/to_install
/include
/GL
/glxext.h
180 #------------------------------------------------------------------------------
181 mkdir
$build_dir/to_install
/include
/GL
/internal
182 cp $src_dir/include
/GL
/internal
/dri_interface.h
$build_dir/to_install
/include
/GL
/internal
/dri_interface.h
183 #------------------------------------------------------------------------------
184 mkdir
$build_dir/to_install
/include
/KHR
185 cp $src_dir/include
/KHR
/khrplatform.h
$build_dir/to_install
/include
/KHR
/khrplatform.h
186 #===============================================================================
187 echo "<--client libglvnd glx provider components built"