sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro

/builders/mesa-gl-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/mesa.sh (39ab39e46c20b33291a1c4da256d12b4ae8658c2) (15404 bytes) (mode 100644) (type blob)

echo "building opengl related common components-->"
# opengl common part

#===============================================================================
# mesa/program

mkdir -p $build_dir/src/mesa/program

$flex \
-o $build_dir/src/mesa/program/lex.yy.c \
$src_dir/src/mesa/program/program_lexer.l &
#-------------------------------------------------------------------------------
$bison \
-o $build_dir/src/mesa/program/program_parse.tab.c \
--defines=$build_dir/src/mesa/program/program_parse.tab.h \
$src_dir/src/mesa/program/program_parse.y &

#===============================================================================
# mesa/main

mkdir -p $build_dir/src/mesa/main

$python3 $src_dir/src/mapi/glapi/gen/gl_table.py \
-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \
-m remap_table \
>$build_dir/src/mesa/main/dispatch.h &
#-------------------------------------------------------------------------------
$python3 $src_dir/src/mapi/glapi/gen/gl_marshal_h.py \
-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \
>$build_dir/src/mesa/main/marshal_generated.h &
#-------------------------------------------------------------------------------
$python3 $src_dir/src/mapi/glapi/gen/remap_helper.py \
-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \
>$build_dir/src/mesa/main/remap_helper.h &

#===============================================================================
# mesa

$python3 $src_dir/src/mesa/main/get_hash_generator.py \
-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \
>$build_dir/src/mesa/get_hash.h &
#-------------------------------------------------------------------------------
export PYTHONPATH="$mako"
$python3 $src_dir/src/mesa/main/format_fallback.py \
$src_dir/src/mesa/main/formats.csv \
$build_dir/src/mesa/format_fallback.c &
#-------------------------------------------------------------------------------
$python3 $src_dir/src/mesa/main/format_info.py \
$src_dir/src/mesa/main/formats.csv \
>$build_dir/src/mesa/format_info.h &
#-------------------------------------------------------------------------------
unset PYTHONPATH

wait 

#-------------------------------------------------------------------------------

libmesa_common_c_files="\
$build_dir/src/mesa/format_fallback.c \
$build_dir/src/mesa/program/lex.yy.c \
$build_dir/src/mesa/program/program_parse.tab.c \
$build_dir/src/mapi/glapi/api_exec_init.c \
$build_dir/src/mapi/glapi/enums.c \
$build_dir/src/mapi/glapi/marshal_generated0.c \
$build_dir/src/mapi/glapi/marshal_generated1.c \
$build_dir/src/mapi/glapi/marshal_generated2.c \
$build_dir/src/mapi/glapi/marshal_generated3.c \
$build_dir/src/mapi/glapi/marshal_generated4.c \
$build_dir/src/mapi/glapi/marshal_generated5.c \
$build_dir/src/mapi/glapi/marshal_generated6.c \
$build_dir/src/mapi/glapi/marshal_generated7.c \
$build_dir/src/mapi/glapi/unmarshal_table.c \
$src_dir/src/mesa/program/arbprogparse.c \
$src_dir/src/mesa/program/prog_cache.c \
$src_dir/src/mesa/program/prog_instruction.c \
$src_dir/src/mesa/program/prog_parameter.c \
$src_dir/src/mesa/program/prog_parameter_layout.c \
$src_dir/src/mesa/program/prog_print.c \
$src_dir/src/mesa/program/program.c \
$src_dir/src/mesa/program/programopt.c \
$src_dir/src/mesa/program/program_parse_extra.c \
$src_dir/src/mesa/program/prog_statevars.c \
$src_dir/src/mesa/program/symbol_table.c \
$src_dir/src/mesa/program/prog_to_nir.c \
$src_dir/src/mesa/main/accum.c \
$src_dir/src/mesa/main/api_arrayelt.c \
$src_dir/src/mesa/main/arbprogram.c \
$src_dir/src/mesa/main/arrayobj.c \
$src_dir/src/mesa/main/atifragshader.c \
$src_dir/src/mesa/main/attrib.c \
$src_dir/src/mesa/main/barrier.c \
$src_dir/src/mesa/main/bbox.c \
$src_dir/src/mesa/main/blend.c \
$src_dir/src/mesa/main/blit.c \
$src_dir/src/mesa/main/bufferobj.c \
$src_dir/src/mesa/main/buffers.c \
$src_dir/src/mesa/main/clear.c \
$src_dir/src/mesa/main/clip.c \
$src_dir/src/mesa/main/compute.c \
$src_dir/src/mesa/main/condrender.c \
$src_dir/src/mesa/main/conservativeraster.c \
$src_dir/src/mesa/main/context.c \
$src_dir/src/mesa/main/copyimage.c \
$src_dir/src/mesa/main/debug.c \
$src_dir/src/mesa/main/debug_output.c \
$src_dir/src/mesa/main/depth.c \
$src_dir/src/mesa/main/dlist.c \
$src_dir/src/mesa/main/draw.c \
$src_dir/src/mesa/main/drawpix.c \
$src_dir/src/mesa/main/drawtex.c \
$src_dir/src/mesa/main/draw_validate.c \
$src_dir/src/mesa/main/enable.c \
$src_dir/src/mesa/main/errors.c \
$src_dir/src/mesa/main/eval.c \
$src_dir/src/mesa/main/extensions.c \
$src_dir/src/mesa/main/extensions_table.c \
$src_dir/src/mesa/main/externalobjects.c \
$src_dir/src/mesa/main/fbobject.c \
$src_dir/src/mesa/main/feedback.c \
$src_dir/src/mesa/main/ffvertex_prog.c \
$src_dir/src/mesa/main/fog.c \
$src_dir/src/mesa/main/formatquery.c \
$src_dir/src/mesa/main/formats.c \
$src_dir/src/mesa/main/format_utils.c \
$src_dir/src/mesa/main/framebuffer.c \
$src_dir/src/mesa/main/get.c \
$src_dir/src/mesa/main/genmipmap.c \
$src_dir/src/mesa/main/getstring.c \
$src_dir/src/mesa/main/glformats.c \
$src_dir/src/mesa/main/glspirv.c \
$src_dir/src/mesa/main/glthread.c \
$src_dir/src/mesa/main/glthread_bufferobj.c \
$src_dir/src/mesa/main/glthread_draw.c \
$src_dir/src/mesa/main/glthread_draw_unroll.c \
$src_dir/src/mesa/main/glthread_get.c \
$src_dir/src/mesa/main/glthread_list.c \
$src_dir/src/mesa/main/glthread_shaderobj.c \
$src_dir/src/mesa/main/glthread_varray.c \
$src_dir/src/mesa/main/hash.c \
$src_dir/src/mesa/main/hint.c \
$src_dir/src/mesa/main/image.c \
$src_dir/src/mesa/main/light.c \
$src_dir/src/mesa/main/lines.c \
$src_dir/src/mesa/main/matrix.c \
$src_dir/src/mesa/main/mipmap.c \
$src_dir/src/mesa/main/multisample.c \
$src_dir/src/mesa/main/objectlabel.c \
$src_dir/src/mesa/main/pack.c \
$src_dir/src/mesa/main/pbo.c \
$src_dir/src/mesa/main/performance_monitor.c \
$src_dir/src/mesa/main/performance_query.c \
$src_dir/src/mesa/main/pipelineobj.c \
$src_dir/src/mesa/main/pixel.c \
$src_dir/src/mesa/main/pixelstore.c \
$src_dir/src/mesa/main/pixeltransfer.c \
$src_dir/src/mesa/main/points.c \
$src_dir/src/mesa/main/polygon.c \
$src_dir/src/mesa/main/program_binary.c \
$src_dir/src/mesa/main/program_resource.c \
$src_dir/src/mesa/main/querymatrix.c \
$src_dir/src/mesa/main/queryobj.c \
$src_dir/src/mesa/main/rastpos.c \
$src_dir/src/mesa/main/readpix.c \
$src_dir/src/mesa/main/remap.c \
$src_dir/src/mesa/main/renderbuffer.c \
$src_dir/src/mesa/main/robustness.c \
$src_dir/src/mesa/main/samplerobj.c \
$src_dir/src/mesa/main/scissor.c \
$src_dir/src/mesa/main/shaderapi.c \
$src_dir/src/mesa/main/shaderimage.c \
$src_dir/src/mesa/main/shaderobj.c \
$src_dir/src/mesa/main/shared.c \
$src_dir/src/mesa/main/spirv_extensions.c \
$src_dir/src/mesa/main/state.c \
$src_dir/src/mesa/main/stencil.c \
$src_dir/src/mesa/main/syncobj.c \
$src_dir/src/mesa/main/texcompress.c \
$src_dir/src/mesa/main/texcompress_bptc.c \
$src_dir/src/mesa/main/texcompress_cpal.c \
$src_dir/src/mesa/main/texcompress_etc.c \
$src_dir/src/mesa/main/texcompress_fxt1.c \
$src_dir/src/mesa/main/texcompress_rgtc.c \
$src_dir/src/mesa/main/texcompress_s3tc.c \
$src_dir/src/mesa/main/texenv.c \
$src_dir/src/mesa/main/texenvprogram.h \
$src_dir/src/mesa/main/texgen.c \
$src_dir/src/mesa/main/texgetimage.c \
$src_dir/src/mesa/main/teximage.c \
$src_dir/src/mesa/main/texobj.c \
$src_dir/src/mesa/main/texparam.c \
$src_dir/src/mesa/main/texstate.c \
$src_dir/src/mesa/main/texstorage.c \
$src_dir/src/mesa/main/texstore.c \
$src_dir/src/mesa/main/texturebindless.c \
$src_dir/src/mesa/main/textureview.c \
$src_dir/src/mesa/main/transformfeedback.c \
$src_dir/src/mesa/main/uniforms.c \
$src_dir/src/mesa/main/varray.c \
$src_dir/src/mesa/main/vdpau.c \
$src_dir/src/mesa/main/version.c \
$src_dir/src/mesa/main/viewport.c \
$src_dir/src/mesa/main/es1_conversion.c \
$src_dir/src/mesa/math/m_eval.c \
$src_dir/src/mesa/math/m_matrix.c \
$src_dir/src/mesa/vbo/vbo_context.c \
$src_dir/src/mesa/vbo/vbo_exec_api.c \
$src_dir/src/mesa/vbo/vbo_exec.c \
$src_dir/src/mesa/vbo/vbo_exec_draw.c \
$src_dir/src/mesa/vbo/vbo_exec_eval.c \
$src_dir/src/mesa/vbo/vbo_minmax_index.c \
$src_dir/src/mesa/vbo/vbo_noop.c \
$src_dir/src/mesa/vbo/vbo_save_api.c \
$src_dir/src/mesa/vbo/vbo_save.c \
$src_dir/src/mesa/vbo/vbo_save_draw.c \
$src_dir/src/mesa/vbo/vbo_save_loopback.c \
"
# from the trashiest and toxiciest coders:
libmesa_common_cxx_files="\
$src_dir/src/mesa/program/link_program.cpp \
$src_dir/src/mesa/main/ff_fragment_shader.cpp \
$src_dir/src/mesa/main/shader_query.cpp \
$src_dir/src/mesa/main/texcompress_astc.cpp \
$src_dir/src/mesa/main/texcompress_astc_luts.cpp \
$src_dir/src/mesa/main/texcompress_astc_luts_wrap.cpp \
$src_dir/src/mesa/main/uniform_query.cpp \
"

#TODO: removed
#libmesa_common_asm_files="\
#$src_dir/src/mesa/x86-64/xfrom4.S \
#"

libmesa_gallium_c_files="\
$src_dir/src/mesa/state_tracker/st_atifs_to_nir.c \
$src_dir/src/mesa/state_tracker/st_atom_atomicbuf.c \
$src_dir/src/mesa/state_tracker/st_atom_blend.c \
$src_dir/src/mesa/state_tracker/st_atom_clip.c \
$src_dir/src/mesa/state_tracker/st_atom_constbuf.c \
$src_dir/src/mesa/state_tracker/st_atom_depth.c \
$src_dir/src/mesa/state_tracker/st_atom_framebuffer.c \
$src_dir/src/mesa/state_tracker/st_atom_image.c \
$src_dir/src/mesa/state_tracker/st_atom_msaa.c \
$src_dir/src/mesa/state_tracker/st_atom_pixeltransfer.c \
$src_dir/src/mesa/state_tracker/st_atom_rasterizer.c \
$src_dir/src/mesa/state_tracker/st_atom_sampler.c \
$src_dir/src/mesa/state_tracker/st_atom_scissor.c \
$src_dir/src/mesa/state_tracker/st_atom_shader.c \
$src_dir/src/mesa/state_tracker/st_atom_stipple.c \
$src_dir/src/mesa/state_tracker/st_atom_storagebuf.c \
$src_dir/src/mesa/state_tracker/st_atom_tess.c \
$src_dir/src/mesa/state_tracker/st_atom_texture.c \
$src_dir/src/mesa/state_tracker/st_atom_viewport.c \
$src_dir/src/mesa/state_tracker/st_cb_bitmap.c \
$src_dir/src/mesa/state_tracker/st_cb_clear.c \
$src_dir/src/mesa/state_tracker/st_cb_copyimage.c \
$src_dir/src/mesa/state_tracker/st_cb_drawpixels.c \
$src_dir/src/mesa/state_tracker/st_cb_drawtex.c \
$src_dir/src/mesa/state_tracker/st_cb_eglimage.c \
$src_dir/src/mesa/state_tracker/st_cb_feedback.c \
$src_dir/src/mesa/state_tracker/st_cb_flush.c \
$src_dir/src/mesa/state_tracker/st_cb_rasterpos.c \
$src_dir/src/mesa/state_tracker/st_cb_readpixels.c \
$src_dir/src/mesa/state_tracker/st_cb_texture.c \
$src_dir/src/mesa/state_tracker/st_context.c \
$src_dir/src/mesa/state_tracker/st_copytex.c \
$src_dir/src/mesa/state_tracker/st_debug.c \
$src_dir/src/mesa/state_tracker/st_draw.c \
$src_dir/src/mesa/state_tracker/st_draw_feedback.c \
$src_dir/src/mesa/state_tracker/st_draw_hw_select.c \
$src_dir/src/mesa/state_tracker/st_extensions.c \
$src_dir/src/mesa/state_tracker/st_format.c \
$src_dir/src/mesa/state_tracker/st_gen_mipmap.c \
$src_dir/src/mesa/state_tracker/st_interop.c \
$src_dir/src/mesa/state_tracker/st_manager.c \
$src_dir/src/mesa/state_tracker/st_nir_builtins.c \
$src_dir/src/mesa/state_tracker/st_nir_lower_builtin.c \
$src_dir/src/mesa/state_tracker/st_nir_lower_tex_src_plane.c \
$src_dir/src/mesa/state_tracker/st_pbo.c \
$src_dir/src/mesa/state_tracker/st_pbo_compute.c \
$src_dir/src/mesa/state_tracker/st_program.c \
$src_dir/src/mesa/state_tracker/st_sampler_view.c \
$src_dir/src/mesa/state_tracker/st_scissor.c \
$src_dir/src/mesa/state_tracker/st_shader_cache.c \
$src_dir/src/mesa/state_tracker/st_texcompress_compute.c \
$src_dir/src/mesa/state_tracker/st_texture.c \
$src_dir/src/mesa/state_tracker/st_vdpau.c \
"

libmesa_gallium_cxx_files="\
$src_dir/src/mesa/state_tracker/st_atom_array.cpp \
$src_dir/src/mesa/state_tracker/st_glsl_to_ir.cpp \
$src_dir/src/mesa/state_tracker/st_glsl_to_nir.cpp \
"

#TODO: removed
##libmesa_sse41_c_files="\
##$src_dir/src/mesa/main/streaming-load-memcpy.c \
##$src_dir/src/mesa/main/sse_minmax.c \
##"

#------------------------------------------------------------------------------

###*******************************************************************************
### this is the header for asm code with depend on the host architecture
### we use a pre-generated one for gcc and x86_64
##mkdir -p $build_dir/src/mesa/x86
##cp -f $script_dir/matypes.h.x86_64 $build_dir/src/mesa/x86/matypes.h
###*******************************************************************************

#------------------------------------------------------------------------------

for f in $libmesa_common_c_files $libmesa_gallium_c_files
do
	libmesa_x_c_obj_dir=$(dirname $f)
	libmesa_x_c_obj_dir=$build_dir/${libmesa_x_c_obj_dir#*/src/}
	mkdir -p $libmesa_x_c_obj_dir

	libmesa_gallium_c_obj=$libmesa_x_c_obj_dir/$(basename $f .c).o
	libmesa_gallium_a="$libmesa_gallium_a $libmesa_gallium_c_obj"

	$cco_slib -o $libmesa_gallium_c_obj $f \
		-I$build_dir/src/compiler/nir \
		-I$build_dir/src/mapi/glapi \
		-I$build_dir/src/mesa/main \
		-I$build_dir/src/mesa \
		-I$build_dir/src \
		-I$src_dir/src/compiler/nir \
		-I$src_dir/src/gallium/auxiliary \
		-I$src_dir/src/gallium/include \
		-I$src_dir/src/mesa/main \
		-I$src_dir/src/mesa \
		-I$src_dir/src/mapi \
		-I$src_dir/src/util \
		-I$src_dir/src/ \
		-I$src_dir/include \
		\
		$cco_slib_common_trailer &
done

wait

#------------------------------------------------------------------------------

for f in $libmesa_common_cxx_files $libmesa_gallium_cxx_files
do
	libmesa_x_cxx_obj_dir=$(dirname $f)
	libmesa_x_cxx_obj_dir=$build_dir/${libmesa_x_cxx_obj_dir#*/src/}
	mkdir -p $libmesa_x_cxx_obj_dir

	libmesa_gallium_cxx_obj=$libmesa_x_cxx_obj_dir/$(basename $f .cpp).o
	libmesa_gallium_a="$libmesa_gallium_a $libmesa_gallium_cxx_obj"

	$cxxo_slib -o $libmesa_gallium_cxx_obj $f \
		-I$build_dir/src/compiler/nir \
		-I$build_dir/src/compiler/glsl \
		-I$build_dir/src/compiler \
		-I$build_dir/src/mapi/glapi \
		-I$build_dir/src \
		-I$src_dir/src/compiler/nir \
		-I$src_dir/src/gallium/auxiliary \
		-I$src_dir/src/gallium/include \
		-I$src_dir/src/mapi \
		-I$src_dir/src/mesa \
		-I$src_dir/src \
		-I$src_dir/include \
		\
		$cxxo_slib_common_trailer &
done

#------------------------------------------------------------------------------

wait

$ar $build_dir/libmesa_gallium.a $libmesa_common_a $libmesa_gallium_a

#------------------------------------------------------------------------------

#TODO: removed
#for f in $libmesa_sse41_c_files
#do
#	libmesa_sse41_c_obj_dir=$(dirname $f)
#	libmesa_sse41_c_obj_dir=$build_dir/${libmesa_sse41_c_obj_dir#*/src/}
#	mkdir -p $libmesa_sse41_c_obj_dir
#
#	libmesa_sse41_c_obj=$libmesa_sse41_c_obj_dir/$(basename $f .c).o
#	libmesa_sse41_a="$libmesa_sse41_a $libmesa_sse41_c_obj"
#
#	$cco_slib -o $libmesa_sse41_c_obj $f \
#		-msse4.1 \
#		\
#		-I$src_dir/src/gallium/include \
#		-I$src_dir/src/mesa \
#		-I$src_dir/src \
#		-I$src_dir/include \
#		\
#		$cco_slib_common_trailer &
#done
#
#wait
#
#$ar $build_dir/libmesa_sse41.a $libmesa_sse41_a

#===============================================================================
mkdir -p $build_dir/install_root$libdir/pkgconfig

cp -f $src_dir/contrib/pkgconfig/dri.pc.in $build_dir/install_root$libdir/pkgconfig/dri.pc
sed -i "\
s:@prefix@:$prefix:;\
s:@exec_prefix@:$prefix:;\
s:@libdir@:$libdir:;\
s:@includedir@:$incdir:;\
s:@DRI_DRIVER_INSTALL_DIR@:$dri_driver_search_dir:;\
s:@DRI_PC_REQ_PRIV@::;\
s:@VERSION@:$version:;\
s:@GBM_PC_LIB_PRIV@::;\
" $build_dir/install_root$libdir/pkgconfig/dri.pc

echo "<--opengl related common components built"


Mode Type Size Ref File
100644 blob 5 8eba6c8dd4dcaf6166bd22285ed34625f38a84ff .gitignore
100755 blob 1587 57fa4264b9ee0ae0a6f678f2527a05d3b22dda78 00-bootstrap-build.sh
100755 blob 848 a30f443bf405d56682efe3b4c5d3a19d5f7eb45d 01-re-bootstrap-build.sh
100644 blob 2142 f19c2d6b293244bb11a3f74ee77c10675cadc7d6 INSTALL
100644 blob 30 c9b735fa1332286f4b3f5f81fa10527fd7506b6e LICENSE
040000 tree - d2e1c74ef74666095a9993d1d18d9de29275eb80 builders
100644 blob 1773 ef1551089a803bde37e36edc8d61bb819d06f793 conf.bootstrap.sh
100644 blob 479 8cc15efe46965ac7750fe304460f5a2b0aa4201c conf.sh
040000 tree - 4ac4da038dff9cda576f87f52bc784c0f470dc08 files
100755 blob 333 06859f922e41c1e691c72ada1be3f981ef05f602 pkg-build
100644 blob 22800641 e9e6291054c857401f6835c728f31541dae4311e steam.tar.bz2
100644 blob 173 2047af328b22f9d146585cd9e759edbc18122250 utils.sh
040000 tree - 5994cc1f3a2b92eaa849a3d6e9aee7897c12daea x64
040000 tree - b7a22de7f5cbd97650dd45412ef7d4246e395eb8 x86
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main