Gfx Stack Update
[nyanlinux.git] / builders / mesa-gl-amd-sh-3d24f0ece139e040d515c3d15af11af4dbe44bd2 / contrib / glx.sh
blobc2eb71b989f04d6beed48f434dd0c2399b5efec6
1 # client libglvnd glx provider, direct rendering mode with dri
2 echo "building client libglvnd glx provider components-->"
3 #===============================================================================
4 mkdir $build_dir/src
5 mkdir $build_dir/src/glx
6 #-------------------------------------------------------------------------------
7 # filenames should be different since we build in one directory
8 libglx_c_pathnames="\
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 \
56 -D_REENTRANT=1 \
57 -DGL_LIB_NAME=\"libGLX_mesa.so.0.0.0\" \
59 -I$cc_internal_fixed_incdir \
60 -I$cc_internal_incdir \
61 -I$linux_incdir \
62 -I$syslib_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 \
73 -I$src_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 \
79 -I$src_dir/src/x11 \
80 -I$build_dir/src/mesa \
81 -I$src_dir/src/mesa \
82 -I$build_dir/src \
83 -I$src_dir/src \
84 -I$build_dir/include/GL/internal \
85 -I$src_dir/include/GL/internal \
86 -I$build_dir/include \
87 -I$src_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 &
96 done
97 #-------------------------------------------------------------------------------
98 wait
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 &
106 done
107 #------------------------------------------------------------------------------
108 wait
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 &
118 done
119 #------------------------------------------------------------------------------
120 wait
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
128 # too.
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 \
134 -shared \
135 -soname=libGLX_mesa.so.0 \
136 -Bsymbolic \
137 --no-undefined \
138 --gc-sections \
139 -s \
140 $syslib_ld_slib_start_files \
141 $cc_ld_slib_start_files \
142 --whole-archive \
143 $build_dir/libglx.a \
144 --no-whole-archive \
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 \
153 --as-needed \
154 $build_dir/to_install/libgallium_dri.so \
155 $build_dir/to_install/libglapi.so.0.0.0 \
156 $libx11_ld_flags \
157 $libx11_xcb_ld_flags \
158 $libxcb_ld_flags \
159 $libxext_ld_flags \
160 $libxxf86vm_ld_flags \
161 $libxshmfence_ld_flags \
162 $libxfixes_ld_flags \
163 $libdrm_ld_flags \
164 $syslibs_libm_ld_flags \
165 $syslibs_libdl_ld_flags \
166 $syslibs_libpthread_ld_flags \
167 $syslibs_libc_ld_flags \
168 --no-as-needed \
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"