5b4756f3d9
Fixed some xim issues, for proper keyboard input under x11. Cmake project can now work for cross compiling win32 targets. Some other fun-but-pointless stuff. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5344 fc73d0e0-1445-4013-8a0c-d673dee63da5
59 lines
2 KiB
Bash
59 lines
2 KiB
Bash
#!/bin/sh
|
|
#this script is DANGEROUS
|
|
#be sure to have committed *BEFORE* running this script.
|
|
|
|
#Note: This script does not understand dead files (including botlib).
|
|
#expect '-Wmisleading-indentation' warnings (that were previously muted by nearby ifdefs).
|
|
#DO NOT COMMIT THE RESULTS TO FTE'S TRUNK
|
|
|
|
CONFIG=wastes
|
|
|
|
#must have trailing slashes
|
|
SRCDIR=./
|
|
NEWDIR=/tmp/fte-$CONFIG/
|
|
|
|
echo "WARNING: This script will lock-in a build config upon your C files."
|
|
echo "The resulting files will support only your choice of feature set, instead of having lots of unused code mixed in."
|
|
echo "THIS IS DESTRUCTIVE SO MUST ONLY BE USED FOR FORKS."
|
|
read -p "Press name the build config (or ctrl+c to abort)" CONFIG
|
|
|
|
if [ "$foo" == "" ]; then
|
|
echo "no config specified."
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p $NEWDIR
|
|
cat $SRCDIR/engine/common/config_$CONFIG.h | grep "#define" | sed "s/\/\/#define/#undef/g" > $NEWDIR/unifdefrules
|
|
cat $SRCDIR/engine/common/config_$CONFIG.h | grep "#undef" >> $NEWDIR/unifdefrules
|
|
|
|
if [ "$SRCDIR" != "$NEWDIR" ]; then
|
|
echo "Copying files to strip to $NEWDIR."
|
|
cp -r $SRCDIR* $NEWDIR
|
|
else
|
|
echo "WARNING: WRITING FILES IN PLACE MUST ONLY BE USED FOR FORKS."
|
|
read -p "Press y<enter> to confirm (or ctrl+c to abort)" foo
|
|
if [ "$foo" != "y" ]; then
|
|
exit 1
|
|
fi
|
|
fi
|
|
cd $NEWDIR
|
|
|
|
for FILENAME in engine/*/*.c; do
|
|
unifdef -f unifdefrules -m $FILENAME
|
|
done
|
|
|
|
#headers keep any defines that will be expanded in code.
|
|
cat $NEWDIR/unifdefrules | grep -v FULLENGINENAME | grep -v DISTRIBUTION | grep -v ENGINEWEBSITE | grep -v MAX_SPLITS | grep GAME_SHORTNAME > $NEWDIR/unifdefhrules
|
|
|
|
for FILENAME in engine/*/*.h; do
|
|
unifdef -f unifdefhrules -m $FILENAME
|
|
done
|
|
|
|
rm $NEWDIR/unifdefrules
|
|
|
|
echo "Files in $NEWDIR have now been stripped down."
|
|
echo "Some things may require hand-editing to remove warnings (or just compile with CFLAGS=-Wno-misleading-indentation)."
|
|
echo "You still need to set FTE_CONFIG too."
|
|
read -p "Press enter to test-compile" foo
|
|
|
|
cd $NEWDIR/engine && make sv-rel m-rel -j8 FTE_CONFIG=$CONFIG -k
|