c40e0b51f0
Get rid of glcontextmodes.[ch] from build, rename __GlcontextModes to __GLXcontext. Drop all #includes of glcontextmodes.h and glcore.h. Drop the DRI context modes extension. Add protocol code to DRI2 module and load DRI2 extension by default.
343 lines
6.3 KiB
Bash
Executable File
343 lines
6.3 KiB
Bash
Executable File
#!/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
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_main() {
|
|
src_dir src/mesa/main
|
|
dst_dir mesa/main
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_math() {
|
|
src_dir src/mesa/math
|
|
dst_dir mesa/math
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_swrast() {
|
|
src_dir src/mesa/swrast
|
|
dst_dir mesa/swrast
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_ss() {
|
|
src_dir src/mesa/swrast_setup
|
|
dst_dir mesa/swrast_setup
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_tnl() {
|
|
src_dir src/mesa/tnl
|
|
dst_dir mesa/tnl
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_shader() {
|
|
src_dir src/mesa/shader
|
|
dst_dir mesa/shader
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_shader_grammar() {
|
|
src_dir src/mesa/shader/grammar
|
|
dst_dir mesa/shader/grammar
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_shader_slang() {
|
|
src_dir src/mesa/shader/slang
|
|
dst_dir mesa/shader/slang
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_shader_slang_library() {
|
|
src_dir src/mesa/shader/slang/library
|
|
dst_dir mesa/shader/slang/library
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
symlink_mesa_vbo() {
|
|
src_dir src/mesa/vbo
|
|
dst_dir mesa/vbo
|
|
|
|
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
|
action `basename $src`
|
|
done
|
|
}
|
|
|
|
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_image.c
|
|
action xm_image.h
|
|
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
|
|
}
|
|
|
|
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_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_vbo
|
|
symlink_mesa_x86
|
|
symlink_mesa_x8664
|
|
}
|
|
|
|
symlink_glx() {
|
|
# this is... unpleasant
|
|
src_dir src/glx/x11
|
|
dst_dir glx
|
|
|
|
action indirect_size.h
|
|
action indirect_dispatch.c
|
|
action indirect_dispatch.h
|
|
action indirect_dispatch_swap.c
|
|
action indirect_reqsize.c
|
|
action indirect_reqsize.h
|
|
action indirect_size_get.c
|
|
action indirect_size_get.h
|
|
action indirect_table.c
|
|
|
|
src_dir src/mesa/glapi
|
|
|
|
action glapi.c
|
|
action glthread.c
|
|
}
|
|
|
|
#########
|
|
#
|
|
# Helper functions
|
|
#
|
|
#########
|
|
|
|
error() {
|
|
echo
|
|
echo \ \ \ error:\ \ \ $1
|
|
exit 1
|
|
}
|
|
|
|
# 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
|
|
ACTION=$1 EXPLANATION=$2 run_module glx
|
|
}
|
|
|
|
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-mesa.sh src-dir dst-dir
|
|
echo src-dir: the Mesa source directory
|
|
echo dst-dir: the GL subdirectory of the Xserver modular tree
|
|
}
|
|
|
|
# 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
|