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-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/compiler_glsl.sh (8a727bd710e8443dbac877b06d2c4121a6b6e12c) (7556 bytes) (mode 100644) (type blob)

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

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

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$build_dir/src/compiler/glsl/glcpp \
		-I$src_dir/src/compiler/glsl/glcpp \
		-I$build_dir/src/compiler/glsl \
		-I$src_dir/src/compiler/glsl \
		-I$build_dir/src/compiler/nir \
		-I$src_dir/src/compiler/nir \
		-I$build_dir/src/compiler \
		-I$src_dir/src/compiler \
		-I$build_dir/src/gallium/include \
		-I$src_dir/src/gallium/include \
		-I$build_dir/src/mapi \
		-I$src_dir/src/mapi \
		-I$build_dir/src/main \
		-I$src_dir/src/main \
		-I$build_dir/src/mesa \
		-I$src_dir/src/mesa \
		-I$build_dir/src \
		-I$src_dir/src \
		-I$build_dir/include \
		-I$src_dir/include \
		\
		$cco_slib_common_trailer &
done

wait

$ar $build_dir/libglcpp.a $libglcpp_a

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

libglsl_c_files="\
$src_dir/src/compiler/glsl/gl_nir_lower_atomics.c \
$src_dir/src/compiler/glsl/gl_nir_lower_blend_equation_advanced.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_varyings.c \
$src_dir/src/compiler/glsl/gl_nir_link_xfb.c \
$src_dir/src/compiler/glsl/gl_nir_linker.c \
$src_dir/src/compiler/glsl/gl_nir_lower_packed_varyings.c \
$src_dir/src/compiler/glsl/gl_nir_lower_xfb_varying.c \
$src_dir/src/compiler/glsl/gl_nir_opt_dead_builtin_varyings.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/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_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_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_block_active_visitor.cpp \
$src_dir/src/compiler/glsl/link_uniform_blocks.cpp \
$src_dir/src/compiler/glsl/lower_builtins.cpp \
$src_dir/src/compiler/glsl/lower_discard_flow.cpp \
$src_dir/src/compiler/glsl/lower_distance.cpp \
$src_dir/src/compiler/glsl/lower_instructions.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_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_vec_index_to_cond_assign.cpp \
$src_dir/src/compiler/glsl/lower_vector_derefs.cpp \
$src_dir/src/compiler/glsl/opt_algebraic.cpp \
$src_dir/src/compiler/glsl/opt_dead_builtin_variables.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_tree_grafting.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/glsl \
		-I$src_dir/src/compiler/glsl \
		-I$build_dir/src/compiler/nir \
		-I$src_dir/src/compiler/nir \
		-I$build_dir/src/compiler \
		-I$src_dir/src/compiler \
		-I$build_dir/src/gallium/include \
		-I$src_dir/src/gallium/include \
		-I$build_dir/src/mapi \
		-I$src_dir/src/mapi \
		-I$build_dir/src/mesa \
		-I$src_dir/src/mesa \
		-I$build_dir/src \
		-I$src_dir/src \
		-I$build_dir/include \
		-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$src_dir/src/compiler/glsl \
		-I$build_dir/src/compiler/nir \
		-I$src_dir/src/compiler/nir \
		-I$build_dir/src/compiler \
		-I$src_dir/src/compiler \
		-I$build_dir/src/gallium/include \
		-I$src_dir/src/gallium/include \
		-I$build_dir/src/mapi \
		-I$src_dir/src/mapi \
		-I$build_dir/src/mesa \
		-I$src_dir/src/mesa \
		-I$build_dir/src \
		-I$src_dir/src \
		-I$build_dir/include \
		-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 - b2f9205e1ca688ebdc08741a5fa512fbbd37de94 builders
100644 blob 1773 ef1551089a803bde37e36edc8d61bb819d06f793 conf.bootstrap.sh
100644 blob 479 8cc15efe46965ac7750fe304460f5a2b0aa4201c conf.sh
040000 tree - 37fb4df620fed5aaca7f238f575dacc41ad90178 files
100755 blob 356 8fb8be28ac72f7214b59934b9f74a682665f2d32 pkg-build
100644 blob 22800641 e9e6291054c857401f6835c728f31541dae4311e steam.tar.bz2
100644 blob 173 2047af328b22f9d146585cd9e759edbc18122250 utils.sh
040000 tree - 8e23f551092a35f82b37129dd08c35c4d313c17b 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