mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-06 00:47:52 +02:00
81 lines
1.4 KiB
Bash
Executable File
81 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Check directory
|
|
#
|
|
|
|
if [ "${PATH/cygdrive/}" != "$PATH" ] ; then
|
|
inCygwin=1
|
|
else
|
|
inCygwin=0
|
|
fi
|
|
|
|
if [ -z "$1" ]; then
|
|
RTLDIR=$(pwd)
|
|
else
|
|
RTLDIR=$1
|
|
if [ ! -d $RTLDIR ]; then
|
|
echo "The directory $RTLDIR does not exist"
|
|
exit 1
|
|
fi
|
|
fi
|
|
if [ $inCygwin -eq 1 ] ; then
|
|
echo "Cygwin system detected"
|
|
NEWRTLDIR=`cygpath -da $RTLDIR`
|
|
echo "RTLDIR=$NEWRTLDIR"
|
|
if [ -n "$NEWRTLDIR" ] ; then
|
|
RTLDIR="$NEWRTLDIR"
|
|
fi
|
|
fi
|
|
#
|
|
# Check rtl dir ?
|
|
#
|
|
if [ ! -d "$RTLDIR/ucmaps" ]; then
|
|
echo "This script must be executed in the rtl directory or have an argument to specify the RTL directory"
|
|
exit 1
|
|
fi
|
|
#
|
|
# fpcmake to use
|
|
#
|
|
if [ -e "$RTLDIR/../utils/fpcm/fpcmake" ]; then
|
|
FPCMAKE="$RTLDIR/../utils/fpcm/fpcmake"
|
|
else
|
|
FPCMAKE=fpcmake
|
|
fi
|
|
#
|
|
# Go
|
|
#
|
|
echo "Using fpcmake: \"$FPCMAKE\""
|
|
#
|
|
# Main
|
|
#
|
|
echo "Doing RTL toplevel dir: \"$RTLDIR\""
|
|
pushd "$RTLDIR" >/dev/null 2>&1
|
|
$FPCMAKE -q -Tall
|
|
popd >/dev/null 2>&1
|
|
#
|
|
# OS-specific
|
|
#
|
|
for d in *
|
|
do
|
|
if [ -f "$d/Makefile.fpc" ]; then
|
|
echo "Doing directory $d"
|
|
pushd "$RTLDIR/$d" >/dev/null 2>&1
|
|
case $d in
|
|
darwin)
|
|
TARGETS="darwin,ios,iphonesim" ;;
|
|
macos)
|
|
TARGETS="macosclassic" ;;
|
|
*)
|
|
TARGETS="$d" ;;
|
|
esac
|
|
CMD="$FPCMAKE -T$TARGETS -q -x $RTLDIR/inc/Makefile.rtl"
|
|
echo "Command: $CMD"
|
|
$CMD
|
|
popd >/dev/null 2>&1
|
|
fi
|
|
done
|
|
#
|
|
# That's all, folks!
|
|
#
|
|
|