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-d2d642cc014af75f0396e04528b29f9a61f91043/contrib/compiler_glsl.sh (e06d2e565c0d4379ebf275c6f23cbcd156ef54fe) (10127 bytes) (mode 100644) (type blob)

printf "\tbuilding glsl compiler sub-components-->\n"
mkdir -p $build_dir/src/compiler/glsl/glcpp

#===============================================================================

$bison \
-o $build_dir/src/compiler/glsl/glcpp/glcpp-parse.c \
-p glcpp_parser_ \
--defines=$build_dir/src/compiler/glsl/glcpp/glcpp-parse.h \
$src_dir/src/compiler/glsl/glcpp/glcpp-parse.y  &
#------------------------------------------------------------------------------
$flex \
-o $build_dir/src/compiler/glsl/glcpp/glcpp-lex.c \
$src_dir/src/compiler/glsl/glcpp/glcpp-lex.l &

wait

#===============================================================================

libglcpp_files="\
$src_dir/src/compiler/glsl/glcpp/pp.c \
$src_dir/src/compiler/glsl/glcpp/pp_standalone_scaffolding.c \
$build_dir/src/compiler/glsl/glcpp/glcpp-lex.c \
$build_dir/src/compiler/glsl/glcpp/glcpp-parse.c \
"

for f in $libglcpp_files
do
	libglcpp_obj_dir=$(dirname $f)
	libglcpp_obj_dir=$build_dir/${libglcpp_obj_dir#*/src/}
	mkdir -p $libglcpp_obj_dir

	libglcpp_obj="$libglcpp_obj_dir/$(basename $f .c).o"
	libglcpp_a="$libglcpp_a $libglcpp_obj"

	$cco_slib -o $libglcpp_obj $f \
		-I$src_dir/src/compiler/glsl/glcpp \
		-I$src_dir/src/mapi \
		-I$src_dir/src/main \
		-I$src_dir/src/mesa \
		-I$src_dir/src \
		-I$src_dir/include \
		\
		$cco_slib_common_trailer &
done

wait

$ar $build_dir/libglcpp.a $libglcpp_a

#===============================================================================

$bison \
-o $build_dir/src/compiler/glsl/glsl_parser.cpp \
-p _mesa_glsl_ \
--defines=$build_dir/src/compiler/glsl/glsl_parser.h \
$src_dir/src/compiler/glsl/glsl_parser.yy &
#------------------------------------------------------------------------------
$flex \
-o $build_dir/src/compiler/glsl/glsl_lexer.cpp \
$src_dir/src/compiler/glsl/glsl_lexer.ll &
#------------------------------------------------------------------------------
export PYTHONPATH=$mako
$python3 $src_dir/src/compiler/glsl/ir_expression_operation.py constant \
>$build_dir/src/compiler/glsl/ir_expression_operation_constant.h &
#------------------------------------------------------------------------------
$python3 $src_dir/src/compiler/glsl/ir_expression_operation.py strings \
>$build_dir/src/compiler/glsl/ir_expression_operation_strings.h &
unset PYTHONPATH
#------------------------------------------------------------------------------
$python3 $src_dir/src/util/xxd.py \
$src_dir/src/compiler/glsl/float64.glsl \
$build_dir/src/compiler/glsl/float64_glsl.h \
-n float64_source &
#------------------------------------------------------------------------------

wait

#===============================================================================

libglsl_c_files="\
$src_dir/src/compiler/glsl/gl_nir_lower_atomics.c \
$src_dir/src/compiler/glsl/gl_nir_lower_images.c \
$src_dir/src/compiler/glsl/gl_nir_lower_buffers.c \
$src_dir/src/compiler/glsl/gl_nir_lower_samplers.c \
$src_dir/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c \
$src_dir/src/compiler/glsl/gl_nir_link_atomics.c \
$src_dir/src/compiler/glsl/gl_nir_link_uniform_initializers.c \
$src_dir/src/compiler/glsl/gl_nir_link_uniform_blocks.c \
$src_dir/src/compiler/glsl/gl_nir_link_uniforms.c \
$src_dir/src/compiler/glsl/gl_nir_link_xfb.c \
$src_dir/src/compiler/glsl/gl_nir_linker.c \
"

# c++ toolchain is Hell (slow/kludgy/insane/etc)
libglsl_cxx_files="\
$build_dir/src/compiler/glsl/glsl_parser.cpp \
$build_dir/src/compiler/glsl/glsl_lexer.cpp \
$src_dir/src/compiler/glsl/ast_array_index.cpp \
$src_dir/src/compiler/glsl/ast_expr.cpp \
$src_dir/src/compiler/glsl/ast_function.cpp \
$src_dir/src/compiler/glsl/ast_to_hir.cpp \
$src_dir/src/compiler/glsl/ast_type.cpp \
$src_dir/src/compiler/glsl/builtin_functions.cpp \
$src_dir/src/compiler/glsl/builtin_types.cpp \
$src_dir/src/compiler/glsl/builtin_variables.cpp \
$src_dir/src/compiler/glsl/generate_ir.cpp \
$src_dir/src/compiler/glsl/glsl_parser_extras.cpp \
$src_dir/src/compiler/glsl/glsl_symbol_table.cpp \
$src_dir/src/compiler/glsl/glsl_to_nir.cpp \
$src_dir/src/compiler/glsl/hir_field_selection.cpp \
$src_dir/src/compiler/glsl/ir_array_refcount.cpp \
$src_dir/src/compiler/glsl/ir_basic_block.cpp \
$src_dir/src/compiler/glsl/ir_builder.cpp \
$src_dir/src/compiler/glsl/ir_clone.cpp \
$src_dir/src/compiler/glsl/ir_constant_expression.cpp \
$src_dir/src/compiler/glsl/ir.cpp \
$src_dir/src/compiler/glsl/ir_equals.cpp \
$src_dir/src/compiler/glsl/ir_expression_flattening.cpp \
$src_dir/src/compiler/glsl/ir_function_can_inline.cpp \
$src_dir/src/compiler/glsl/ir_function_detect_recursion.cpp \
$src_dir/src/compiler/glsl/ir_function.cpp \
$src_dir/src/compiler/glsl/ir_hierarchical_visitor.cpp \
$src_dir/src/compiler/glsl/ir_hv_accept.cpp \
$src_dir/src/compiler/glsl/ir_print_visitor.cpp \
$src_dir/src/compiler/glsl/ir_reader.cpp \
$src_dir/src/compiler/glsl/ir_rvalue_visitor.cpp \
$src_dir/src/compiler/glsl/ir_set_program_inouts.cpp \
$src_dir/src/compiler/glsl/ir_validate.cpp \
$src_dir/src/compiler/glsl/ir_variable_refcount.cpp \
$src_dir/src/compiler/glsl/linker.cpp \
$src_dir/src/compiler/glsl/linker_util.cpp \
$src_dir/src/compiler/glsl/link_atomics.cpp \
$src_dir/src/compiler/glsl/link_functions.cpp \
$src_dir/src/compiler/glsl/link_interface_blocks.cpp \
$src_dir/src/compiler/glsl/link_uniforms.cpp \
$src_dir/src/compiler/glsl/link_uniform_initializers.cpp \
$src_dir/src/compiler/glsl/link_uniform_block_active_visitor.cpp \
$src_dir/src/compiler/glsl/link_uniform_blocks.cpp \
$src_dir/src/compiler/glsl/link_varyings.cpp \
$src_dir/src/compiler/glsl/loop_analysis.cpp \
$src_dir/src/compiler/glsl/loop_unroll.cpp \
$src_dir/src/compiler/glsl/lower_blend_equation_advanced.cpp \
$src_dir/src/compiler/glsl/lower_buffer_access.cpp \
$src_dir/src/compiler/glsl/lower_builtins.cpp \
$src_dir/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp \
$src_dir/src/compiler/glsl/lower_cs_derived.cpp \
$src_dir/src/compiler/glsl/lower_discard.cpp \
$src_dir/src/compiler/glsl/lower_discard_flow.cpp \
$src_dir/src/compiler/glsl/lower_distance.cpp \
$src_dir/src/compiler/glsl/lower_if_to_cond_assign.cpp \
$src_dir/src/compiler/glsl/lower_instructions.cpp \
$src_dir/src/compiler/glsl/lower_int64.cpp \
$src_dir/src/compiler/glsl/lower_jumps.cpp \
$src_dir/src/compiler/glsl/lower_mat_op_to_vec.cpp \
$src_dir/src/compiler/glsl/lower_offset_array.cpp \
$src_dir/src/compiler/glsl/lower_packed_varyings.cpp \
$src_dir/src/compiler/glsl/lower_precision.cpp \
$src_dir/src/compiler/glsl/lower_named_interface_blocks.cpp \
$src_dir/src/compiler/glsl/lower_packing_builtins.cpp \
$src_dir/src/compiler/glsl/lower_subroutine.cpp \
$src_dir/src/compiler/glsl/lower_tess_level.cpp \
$src_dir/src/compiler/glsl/lower_variable_index_to_cond_assign.cpp \
$src_dir/src/compiler/glsl/lower_vec_index_to_cond_assign.cpp \
$src_dir/src/compiler/glsl/lower_vec_index_to_swizzle.cpp \
$src_dir/src/compiler/glsl/lower_vector.cpp \
$src_dir/src/compiler/glsl/lower_vector_derefs.cpp \
$src_dir/src/compiler/glsl/lower_vector_insert.cpp \
$src_dir/src/compiler/glsl/lower_vertex_id.cpp \
$src_dir/src/compiler/glsl/lower_output_reads.cpp \
$src_dir/src/compiler/glsl/lower_shared_reference.cpp \
$src_dir/src/compiler/glsl/lower_ubo_reference.cpp \
$src_dir/src/compiler/glsl/lower_xfb_varying.cpp \
$src_dir/src/compiler/glsl/opt_algebraic.cpp \
$src_dir/src/compiler/glsl/opt_array_splitting.cpp \
$src_dir/src/compiler/glsl/opt_conditional_discard.cpp \
$src_dir/src/compiler/glsl/opt_constant_folding.cpp \
$src_dir/src/compiler/glsl/opt_constant_propagation.cpp \
$src_dir/src/compiler/glsl/opt_constant_variable.cpp \
$src_dir/src/compiler/glsl/opt_copy_propagation_elements.cpp \
$src_dir/src/compiler/glsl/opt_dead_builtin_variables.cpp \
$src_dir/src/compiler/glsl/opt_dead_builtin_varyings.cpp \
$src_dir/src/compiler/glsl/opt_dead_code.cpp \
$src_dir/src/compiler/glsl/opt_dead_code_local.cpp \
$src_dir/src/compiler/glsl/opt_dead_functions.cpp \
$src_dir/src/compiler/glsl/opt_flatten_nested_if_blocks.cpp \
$src_dir/src/compiler/glsl/opt_flip_matrices.cpp \
$src_dir/src/compiler/glsl/opt_function_inlining.cpp \
$src_dir/src/compiler/glsl/opt_if_simplification.cpp \
$src_dir/src/compiler/glsl/opt_minmax.cpp \
$src_dir/src/compiler/glsl/opt_rebalance_tree.cpp \
$src_dir/src/compiler/glsl/opt_redundant_jumps.cpp \
$src_dir/src/compiler/glsl/opt_structure_splitting.cpp \
$src_dir/src/compiler/glsl/opt_swizzle.cpp \
$src_dir/src/compiler/glsl/opt_tree_grafting.cpp \
$src_dir/src/compiler/glsl/opt_vectorize.cpp \
$src_dir/src/compiler/glsl/propagate_invariance.cpp \
$src_dir/src/compiler/glsl/s_expression.cpp \
$src_dir/src/compiler/glsl/string_to_uint_map.cpp \
$src_dir/src/compiler/glsl/serialize.cpp \
$src_dir/src/compiler/glsl/shader_cache.cpp \
"

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

for f in $libglsl_c_files
do
	libglsl_c_obj_dir=$(dirname $f)
	libglsl_c_obj_dir=$build_dir/${libglsl_c_obj_dir#*/src/}
	mkdir -p $libglsl_c_obj_dir

	libglsl_c_obj="$libglsl_c_obj_dir/$(basename $f .c).o"
	libglsl_a="$libglsl_a $libglsl_c_obj"

	$cco_slib -o $libglsl_c_obj $f \
		-I$build_dir/src/compiler/nir \
		-I$src_dir/src/compiler/nir \
		-I$src_dir/src/compiler \
		-I$src_dir/src/gallium/include \
		-I$src_dir/src/mapi \
		-I$src_dir/src/mesa \
		-I$src_dir/src \
		-I$src_dir/include \
		\
		$cco_slib_common_trailer &
done

for f in $libglsl_cxx_files
do
	libglsl_cxx_obj_dir=$(dirname $f)
	libglsl_cxx_obj_dir=$build_dir/${libglsl_cxx_obj_dir#*/src/}
	mkdir -p $libglsl_cxx_obj_dir

	libglsl_cxx_obj="$libglsl_cxx_obj_dir/$(basename $f .cpp).o"
	libglsl_a="$libglsl_a $libglsl_cxx_obj"

	$cxxo_slib -o $libglsl_cxx_obj $f \
		-I$build_dir/src/compiler/glsl \
		-I$build_dir/src/compiler/nir \
		-I$build_dir/src/compiler \
		-I$src_dir/src/compiler/nir \
		-I$src_dir/src/compiler/glsl \
		-I$src_dir/src/compiler \
		-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/libglsl.a $libglsl_a
printf "\t<--glsl compiler sub-components built\n"


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 - 357061d85902d374b516bb96fedea2b8545f0f14 builders
100644 blob 1773 ef1551089a803bde37e36edc8d61bb819d06f793 conf.bootstrap.sh
100644 blob 479 8cc15efe46965ac7750fe304460f5a2b0aa4201c conf.sh
040000 tree - 7f251574f7a78832ee5b4b8b8aa6de70a9ae4c0e files
100755 blob 333 06859f922e41c1e691c72ada1be3f981ef05f602 pkg-build
100644 blob 22800641 e9e6291054c857401f6835c728f31541dae4311e steam.tar.bz2
100644 blob 173 2047af328b22f9d146585cd9e759edbc18122250 utils.sh
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