summaryrefslogtreecommitdiff
path: root/GL
diff options
context:
space:
mode:
authorAdam Jackson <ajax@nwnk.net>2005-07-23 19:29:58 +0000
committerAdam Jackson <ajax@nwnk.net>2005-07-23 19:29:58 +0000
commitf331a325447449982efba8adc5bc079371dfb77a (patch)
treec31db713b1f0dc3dc59c392194873e7a8c2a90dd /GL
parenta5532e456d763718036e84891ff57c6f7417615a (diff)
Add the symlink script for the Mesa source.
Diffstat (limited to 'GL')
-rwxr-xr-xGL/symlink-mesa.sh618
1 files changed, 618 insertions, 0 deletions
diff --git a/GL/symlink-mesa.sh b/GL/symlink-mesa.sh
new file mode 100755
index 000000000..833ec607a
--- /dev/null
+++ b/GL/symlink-mesa.sh
@@ -0,0 +1,618 @@
+#!/bin/sh
+
+#
+# A script that symlinks source files from Mesa to modular
+#
+# Author: Soren Sandmann (sandmann@redhat.com) (original)
+# adapted for Mesa by Adam Jackson (ajax@nwnk.net)
+
+#
+# Things we would like to do
+#
+# - Check that all the relevant files exist
+# - AUTHORS, autogen.sh, configure.ac, ...
+# - Check that we have actually linked everything
+# - if a file doesn't need to be linked, then it needs
+# to be listed as "not-linked"
+# - Compute diffs between all the files (shouldn't be necessary)
+# - possibly check that files are listet in Makefile.am's
+# - Clean target directory of irrelevant files
+#
+
+check_destinations () {
+ # don't do anything - we are relying on the side
+ # effect of dst_dir
+ true
+}
+
+check_exist() {
+ # Check whether $1 exists
+
+ if [ ! -e $1 ] ; then
+ error "$1 not found"
+ fi
+}
+
+delete_existing() {
+ # Delete $2
+
+ rm -f $2
+}
+
+link_files() {
+ # Link $1 to $2
+
+ if [ ! -e $2 ] ; then
+ ln -s $1 $2
+ fi
+}
+
+main() {
+ check_args $1 $2
+
+ run check_destinations "Creating destination directories"
+ run check_exist "Checking that the source files exist"
+ run delete_existing "Deleting existing files"
+ run link_files "Linking files"
+}
+
+## actual symlinking
+
+symlink_mesa_glapi() {
+ src_dir src/mesa/glapi
+ dst_dir mesa/glapi
+
+ action dispatch.h
+ action glapi.c
+ action glapi.h
+ action glapioffsets.h
+ action glapitable.h
+ action glapitemp.h
+ action glprocs.h
+ action glthread.c
+ action glthread.h
+}
+
+symlink_mesa_main() {
+ src_dir src/mesa/main
+ dst_dir mesa/main
+
+ action accum.c
+ action accum.h
+ action api_arrayelt.c
+ action api_arrayelt.h
+ action api_eval.h
+ action api_loopback.c
+ action api_loopback.h
+ action api_noop.c
+ action api_noop.h
+ action api_validate.c
+ action api_validate.h
+ action attrib.c
+ action attrib.h
+ action blend.c
+ action blend.h
+ action bufferobj.c
+ action bufferobj.h
+ action buffers.c
+ action buffers.h
+ action clip.c
+ action clip.h
+ action colormac.h
+ action colortab.c
+ action colortab.h
+ action config.h
+ action context.c
+ action context.h
+ action convolve.c
+ action convolve.h
+ action dd.h
+ action debug.c
+ action debug.h
+ action depth.c
+ action depth.h
+ action dispatch.c
+ action dlist.c
+ action dlist.h
+ action drawpix.c
+ action drawpix.h
+ action enable.c
+ action enable.h
+ action enums.c
+ action enums.h
+ action eval.c
+ action eval.h
+ action extensions.c
+ action extensions.h
+ action fbobject.c
+ action fbobject.h
+ action feedback.c
+ action feedback.h
+ action fog.c
+ action fog.h
+ action framebuffer.c
+ action framebuffer.h
+ action get.c
+ action get.h
+ action getstring.c
+ action glheader.h
+ action hash.c
+ action hash.h
+ action hint.c
+ action hint.h
+ action histogram.c
+ action histogram.h
+ action image.c
+ action image.h
+ action imports.c
+ action imports.h
+ action light.c
+ action light.h
+ action lines.c
+ action lines.h
+ action macros.h
+ action matrix.c
+ action matrix.h
+ action mtypes.h
+ action occlude.c
+ action occlude.h
+ action pixel.c
+ action pixel.h
+ action points.c
+ action points.h
+ action polygon.c
+ action polygon.h
+ action rastpos.c
+ action rastpos.h
+ action renderbuffer.c
+ action renderbuffer.h
+ action simple_list.h
+ action state.c
+ action state.h
+ action stencil.c
+ action stencil.h
+ action texcompress.c
+ action texcompress.h
+ action texcompress_fxt1.c
+ action texcompress_s3tc.c
+ action texenvprogram.c
+ action texenvprogram.h
+ action texformat.c
+ action texformat.h
+ action texformat_tmp.h
+ action teximage.c
+ action teximage.h
+ action texobj.c
+ action texobj.h
+ action texrender.c
+ action texrender.h
+ action texstate.c
+ action texstate.h
+ action texstore.c
+ action texstore.h
+ action varray.c
+ action varray.h
+ action version.h
+ action vsnprintf.c
+ action vtxfmt.c
+ action vtxfmt.h
+ action vtxfmt_tmp.h
+}
+
+symlink_mesa_math() {
+ src_dir src/mesa/math
+ dst_dir mesa/math
+
+ action m_clip_tmp.h
+ action m_copy_tmp.h
+ action m_debug.h
+ action m_debug_clip.c
+ action m_debug_norm.c
+ action m_debug_util.h
+ action m_debug_xform.c
+ action m_dotprod_tmp.h
+ action m_eval.c
+ action m_eval.h
+ action m_matrix.c
+ action m_matrix.h
+ action m_norm_tmp.h
+ action m_trans_tmp.h
+ action m_translate.c
+ action m_translate.h
+ action m_vector.c
+ action m_vector.h
+ action m_xform.c
+ action m_xform.h
+ action m_xform_tmp.h
+ action mathmod.h
+}
+
+symlink_mesa_ac() {
+ src_dir src/mesa/array_cache
+ dst_dir mesa/array_cache
+
+ action ac_context.c
+ action ac_context.h
+ action ac_import.c
+ action acache.h
+}
+
+symlink_mesa_swrast() {
+ src_dir src/mesa/swrast
+ dst_dir mesa/swrast
+
+ action s_aaline.c
+ action s_aaline.h
+ action s_aalinetemp.h
+ action s_aatriangle.c
+ action s_aatriangle.h
+ action s_aatritemp.h
+ action s_accum.c
+ action s_accum.h
+ action s_alpha.c
+ action s_alpha.h
+ action s_atifragshader.c
+ action s_atifragshader.h
+ action s_bitmap.c
+ action s_blend.c
+ action s_blend.h
+ action s_buffers.c
+ action s_context.c
+ action s_context.h
+ action s_copypix.c
+ action s_depth.c
+ action s_depth.h
+ action s_drawpix.c
+ action s_drawpix.h
+ action s_feedback.c
+ action s_feedback.h
+ action s_fog.c
+ action s_fog.h
+ action s_fragprog_to_c.c
+ action s_imaging.c
+ action s_lines.c
+ action s_lines.h
+ action s_linetemp.h
+ action s_logic.c
+ action s_logic.h
+ action s_masking.c
+ action s_masking.h
+ action s_nvfragprog.c
+ action s_nvfragprog.h
+ action s_pixeltex.c
+ action s_pixeltex.h
+ action s_points.c
+ action s_points.h
+ action s_pointtemp.h
+ action s_readpix.c
+ action s_span.c
+ action s_span.h
+ action s_spantemp.h
+ action s_stencil.c
+ action s_stencil.h
+ action s_tcc.c
+ action s_texstore.c
+ action s_texture.c
+ action s_texture.h
+ action s_triangle.c
+ action s_triangle.h
+ action s_trispan.h
+ action s_tritemp.h
+ action s_zoom.c
+ action s_zoom.h
+ action swrast.h
+}
+
+symlink_mesa_ss() {
+ src_dir src/mesa/swrast_setup
+ dst_dir mesa/swrast_setup
+
+ action ss_context.c
+ action ss_context.h
+ action ss_triangle.c
+ action ss_triangle.h
+ action ss_tritmp.h
+ action ss_vb.h
+ action swrast_setup.h
+}
+
+symlink_mesa_tnl() {
+ src_dir src/mesa/tnl
+ dst_dir mesa/tnl
+
+ action t_array_api.c
+ action t_array_api.h
+ action t_array_import.c
+ action t_array_import.h
+ action t_context.c
+ action t_context.h
+ action t_pipeline.c
+ action t_pipeline.h
+ action t_save_api.c
+ action t_save_api.h
+ action t_save_loopback.c
+ action t_save_playback.c
+ action t_vb_arbprogram.c
+ action t_vb_arbprogram.h
+ action t_vb_arbprogram_sse.c
+ action t_vb_cliptmp.h
+ action t_vb_cull.c
+ action t_vb_fog.c
+ action t_vb_light.c
+ action t_vb_lighttmp.h
+ action t_vb_normals.c
+ action t_vb_points.c
+ action t_vb_program.c
+ action t_vb_render.c
+ action t_vb_rendertmp.h
+ action t_vb_texgen.c
+ action t_vb_texmat.c
+ action t_vb_vertex.c
+ action t_vertex.c
+ action t_vertex.h
+ action t_vertex_generic.c
+ action t_vertex_sse.c
+ action t_vp_build.c
+ action t_vp_build.h
+ action t_vtx_api.c
+ action t_vtx_api.h
+ action t_vtx_eval.c
+ action t_vtx_exec.c
+ action t_vtx_generic.c
+ action t_vtx_x86.c
+ action tnl.h
+}
+
+symlink_mesa_shader() {
+ src_dir src/mesa/shader
+ dst_dir mesa/shader
+
+ action arbfragparse.c
+ action arbfragparse.h
+ action arbprogparse.c
+ action arbprogparse.h
+ action arbprogram.c
+ action arbprogram.h
+ action arbprogram_syn.h
+ action arbvertparse.c
+ action arbvertparse.h
+ action atifragshader.c
+ action atifragshader.h
+ action nvfragparse.c
+ action nvfragparse.h
+ action nvfragprog.h
+ action nvprogram.c
+ action nvprogram.h
+ action nvvertexec.c
+ action nvvertexec.h
+ action nvvertparse.c
+ action nvvertparse.h
+ action nvvertprog.h
+ action program.c
+ action program.h
+ action shaderobjects.c
+ action shaderobjects.h
+ action shaderobjects_3dlabs.c
+ action shaderobjects_3dlabs.h
+}
+
+symlink_mesa_shader_grammar() {
+ src_dir src/mesa/shader/grammar
+ dst_dir mesa/shader/grammar
+
+ action grammar.c
+ action grammar.h
+ action grammar_syn.h
+ action grammar_mesa.c
+ action grammar_mesa.h
+}
+
+symlink_mesa_shader_slang() {
+ src_dir src/mesa/shader/slang
+ dst_dir mesa/shader/slang
+
+ action slang_assemble_assignment.c
+ action slang_assemble_assignment.h
+ action slang_assemble.c
+ action slang_assemble_conditional.c
+ action slang_assemble_conditional.h
+ action slang_assemble_constructor.c
+ action slang_assemble_constructor.h
+ action slang_assemble.h
+ action slang_assemble_typeinfo.c
+ action slang_assemble_typeinfo.h
+ action slang_compile.c
+ action slang_compile.h
+ action slang_execute.c
+ action slang_execute.h
+ action slang_mesa.h
+ action slang_preprocess.c
+ action slang_preprocess.h
+ action slang_storage.c
+ action slang_storage.h
+ action slang_utility.c
+ action slang_utility.h
+ action traverse_wrap.h
+}
+
+symlink_mesa_shader_slang_library() {
+ src_dir src/mesa/shader/slang/library
+ dst_dir mesa/shader/slang/library
+
+ action slang_common_builtin_gc_bin.h
+ action slang_common_builtin_gc.h
+ action slang_core_gc_bin.h
+ action slang_core_gc.h
+ action slang_fragment_builtin_gc_bin.h
+ action slang_fragment_builtin_gc.h
+ action slang_shader_syn.h
+ action slang_version_syn.h
+ action slang_vertex_builtin_gc_bin.h
+ action slang_vertex_builtin_gc.h
+}
+
+symlink_mesa_x() {
+ src_dir src/mesa/drivers/x11
+ dst_dir mesa/X
+
+ # action glxapi.h
+ action glxheader.h
+ # action realglx.h
+ # action xfonts.h
+ action xm_api.c
+ action xm_buffer.c
+ action xm_dd.c
+ action xm_line.c
+ action xm_span.c
+ action xm_tri.c
+ action xmesaP.h
+
+ # another hack
+ src_dir src/mesa/drivers/common
+ dst_dir mesa/X/drivers/common
+ action driverfuncs.c
+ action driverfuncs.h
+
+ # and another
+ src_dir src/glx/x11
+ dst_dir mesa/X
+ action indirect_size.c
+ action indirect_size.h
+}
+
+symlink_mesa_ppc() {
+ src_dir src/mesa/ppc
+ dst_dir mesa/ppc
+}
+
+symlink_mesa_sparc() {
+ src_dir src/mesa/sparc
+ dst_dir mesa/sparc
+}
+
+symlink_mesa_x86() {
+ src_dir src/mesa/x86
+ dst_dir mesa/x86
+}
+
+symlink_mesa_x8664() {
+ src_dir src/mesa/x86-64
+ dst_dir mesa/x86-64
+}
+
+symlink_mesa() {
+ symlink_mesa_main
+ symlink_mesa_math
+ symlink_mesa_ac
+ symlink_mesa_swrast
+ symlink_mesa_ss
+ symlink_mesa_tnl
+ symlink_mesa_shader
+ symlink_mesa_shader_grammar
+ symlink_mesa_shader_slang
+ symlink_mesa_shader_slang_library
+ symlink_mesa_x
+ symlink_mesa_glapi
+ symlink_mesa_ppc
+ symlink_mesa_sparc
+ symlink_mesa_x86
+ symlink_mesa_x8664
+}
+
+#########
+#
+# Helper functions
+#
+#########
+
+error() {
+ echo
+ echo \ \ \ error:\ \ \ $1
+ exit
+}
+
+# printing out what's going on
+run_module() {
+ # $1 module
+ # $2 explanation
+ echo -n $EXPLANATION for $1 module ...\
+ symlink_$1
+ echo DONE
+}
+
+run() {
+ # $1 what to do
+ # $2 explanation
+
+ ACTION=$1 EXPLANATION=$2 run_module mesa
+}
+
+src_dir() {
+ REAL_SRC_DIR=$SRC_DIR/$1
+ if [ ! -d $REAL_SRC_DIR ] ; then
+ error "Source directory $REAL_SRC_DIR does not exist"
+ fi
+}
+
+dst_dir() {
+ REAL_DST_DIR=$DST_DIR/$1
+ if [ ! -d $REAL_DST_DIR ] ; then
+ mkdir -p $REAL_DST_DIR
+ fi
+}
+
+action() {
+ if [ -z $2 ] ; then
+ $ACTION $REAL_SRC_DIR/$1 $REAL_DST_DIR/$1
+ else
+ $ACTION $REAL_SRC_DIR/$1 $REAL_DST_DIR/$2
+ fi
+}
+
+usage() {
+ echo symlink.sh src-dir dst-dir
+ echo src-dir: the xc directory of the monolithic source tree
+ echo dst-dir: the modular source tree containing proto, app, lib, ...
+}
+
+# Check commandline args
+check_args() {
+ if [ -z $1 ] ; then
+ echo Missing source dir
+ usage
+ exit 1
+ fi
+
+ if [ -z $2 ] ; then
+ echo Missing destination dir
+ usage
+ exit 1
+ fi
+
+ if [ ! -d $1 ] ; then
+ echo $1 is not a dir
+ usage
+ exit 1
+ fi
+
+ if [ ! -d $2 ] ; then
+ echo $2 is not a dir
+ usage
+ exit 1
+ fi
+
+ if [ $1 = $2 ] ; then
+ echo source and destination can\'t be the same
+ usage
+ exit 1
+ fi
+
+ D=`dirname "$relpath"`
+ B=`basename "$relpath"`
+ abspath="`cd \"$D\" 2>/dev/null && pwd || echo \"$D\"`/$B"
+
+ SRC_DIR=`( cd $1 ; pwd )`
+ DST_DIR=`(cd $2 ; pwd )`
+}
+
+main $1 $2