summaryrefslogtreecommitdiff
path: root/contrib/get-antlr-3.4
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2019-12-06 06:48:04 -0800
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2019-12-06 08:48:04 -0600
commit008d6b51baec353f45324e1d9407d898866cf688 (patch)
tree136e5c1dcbfb32f1fed99b853b79c2f7ecc6b5d2 /contrib/get-antlr-3.4
parent46bae5d2a8b22867f917c6f644e46e29884049f9 (diff)
contrib: Setup all dependencies in deps/ directory. (#3534)
Diffstat (limited to 'contrib/get-antlr-3.4')
-rwxr-xr-xcontrib/get-antlr-3.475
1 files changed, 32 insertions, 43 deletions
diff --git a/contrib/get-antlr-3.4 b/contrib/get-antlr-3.4
index ecc92d998..9ab0695b7 100755
--- a/contrib/get-antlr-3.4
+++ b/contrib/get-antlr-3.4
@@ -1,20 +1,20 @@
#!/usr/bin/env bash
#
source "$(dirname "$0")/get-script-header.sh"
-ANTLR_HOME_DIR=antlr-3.4
+ANTLR_HOME_DIR="$DEPS_DIR/antlr-3.4"
if [ -z "${BUILD_TYPE}" ]; then
BUILD_TYPE="--disable-shared --enable-static"
fi
if [ -z "${MACHINE_TYPE}" ]; then
- CONFIG_GUESS_SCRIPT=$ANTLR_HOME_DIR/config.guess
- if ! [ -e ${CONFIG_GUESS_SCRIPT} ]; then
- mkdir -p $ANTLR_HOME_DIR
+ CONFIG_GUESS_SCRIPT="$ANTLR_HOME_DIR/config.guess"
+ if ! [ -e "${CONFIG_GUESS_SCRIPT}" ]; then
+ mkdir -p "$ANTLR_HOME_DIR"
# Attempt to download once
webget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' $CONFIG_GUESS_SCRIPT
- if [ -e $CONFIG_GUESS_SCRIPT ]; then
- chmod +x $CONFIG_GUESS_SCRIPT
+ if [ -e "$CONFIG_GUESS_SCRIPT" ]; then
+ chmod +x "$CONFIG_GUESS_SCRIPT"
else
echo "$(basename $0): I need the file config/config.guess to tell MACHINE_TYPE" >&2
echo "Try running ./autogen.sh, or set the MACHINE_TYPE environment variable" >&2
@@ -26,36 +26,33 @@ if [ -z "${MACHINE_TYPE}" ]; then
MACHINE_TYPE=$(${CONFIG_GUESS_SCRIPT} | sed 's,-.*,,')
fi
-set -x
-mkdir -p $ANTLR_HOME_DIR/share/java
-mkdir -p $ANTLR_HOME_DIR/bin
-mkdir -p $ANTLR_HOME_DIR/src
-cd $ANTLR_HOME_DIR || exit 1
-webget https://www.antlr3.org/download/antlr-3.4-complete.jar share/java/antlr-3.4-complete.jar
-webget https://www.antlr3.org/download/C/libantlr3c-3.4.tar.gz src/libantlr3c-3.4.tar.gz
-tee bin/antlr3 <<EOF
+mkdir -p "$ANTLR_HOME_DIR/share/java"
+webget \
+ "https://www.antlr3.org/download/antlr-3.4-complete.jar" \
+ "$ANTLR_HOME_DIR/share/java/antlr-3.4-complete.jar"
+
+mkdir -p "$ANTLR_HOME_DIR/bin"
+tee "$ANTLR_HOME_DIR/bin/antlr3" <<EOF
#!/usr/bin/env bash
-export CLASSPATH=`pwd`/share/java/antlr-3.4-complete.jar:\$CLASSPATH
+export CLASSPATH=$ANTLR_HOME_DIR/share/java/antlr-3.4-complete.jar:\$CLASSPATH
exec java org.antlr.Tool "\$@"
EOF
-chmod a+x bin/antlr3
-cd src
-gunzip -f libantlr3c-3.4.tar.gz
-tar xfv libantlr3c-3.4.tar
-cd libantlr3c-3.4
+chmod a+x "$ANTLR_HOME_DIR/bin/antlr3"
+install_bin "$ANTLR_HOME_DIR/bin/antlr3"
-# Use an absolute path for the installation directory to avoid spurious libtool
-# warnings about the ANTLR library having moved
-PREFIX=$($PYTHON -c "import os; print(os.path.realpath('$(pwd)/../..'))")
+setup_dep \
+ "https://www.antlr3.org/download/C/libantlr3c-3.4.tar.gz" \
+ "$ANTLR_HOME_DIR/libantlr3c-3.4"
+cd "$ANTLR_HOME_DIR/libantlr3c-3.4"
# Make antlr3debughandlers.c empty to avoid unreferenced symbols
rm -rf src/antlr3debughandlers.c && touch src/antlr3debughandlers.c
-if [ ${MACHINE_TYPE} == 'x86_64' ]; then
+if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
# 64-bit stuff here
- ./configure --enable-64bit --disable-antlrdebug --prefix="${PREFIX}" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
+ ./configure --enable-64bit --disable-antlrdebug --prefix="$INSTALL_DIR" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
else
# 32-bit stuff here
- ./configure --disable-antlrdebug --prefix="${PREFIX}" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
+ ./configure --disable-antlrdebug --prefix="$INSTALL_DIR" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
fi
cp Makefile Makefile.orig
@@ -67,35 +64,27 @@ if [[ $WINDOWS_BUILD == "yes" ]]; then
exit 0
fi
-cd ../..
-mv lib/libantlr3c.a lib/libantlr3c-static.a
-
-cd src/libantlr3c-3.4
+mv "$INSTALL_LIB_DIR/libantlr3c.a" "$INSTALL_LIB_DIR/libantlr3c-static.a"
make clean
-if [ ${MACHINE_TYPE} == 'x86_64' ]; then
+if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
# 64-bit stuff here
- ./configure --enable-64bit --with-pic --disable-antlrdebug --prefix="${PREFIX}" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
+ ./configure --enable-64bit --with-pic --disable-antlrdebug --prefix="$INSTALL_DIR" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
else
# 32-bit stuff here
- ./configure --with-pic --disable-antlrdebug --prefix="${PREFIX}" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
+ ./configure --with-pic --disable-antlrdebug --prefix="$INSTALL_DIR" $ANTLR_CONFIGURE_ARGS $BUILD_TYPE
fi
cp Makefile Makefile.orig
sed 's,^\(CFLAGS = .*\),\1 -fexceptions,' Makefile.orig > Makefile
make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" LDFLAGS="${MAKE_LDFLAGS}"
make install
-cd ../..
-mv lib/libantlr3c.la lib/libantlr3c.la.orig
-awk '/^old_library=/ {print "old_library='\''libantlr3c-static.a'\''"} /^library_names=/ {print "library_names='\''libantlr3c.a'\''"} !/^old_library=/ && !/^library_names=/ {print}' < lib/libantlr3c.la.orig > lib/libantlr3c.la
-set +x
-cd ..
+mv "$INSTALL_LIB_DIR/libantlr3c.la" "$INSTALL_LIB_DIR/libantlr3c.la.orig"
-# echo
-# echo Invalidating generated parsers..
-# touch src/parser/*/*.g
+awk '/^old_library=/ {print "old_library='\''libantlr3c-static.a'\''"} /^library_names=/ {print "library_names='\''libantlr3c.a'\''"} !/^old_library=/ && !/^library_names=/ {print}' < "$INSTALL_LIB_DIR/libantlr3c.la.orig" > "$INSTALL_LIB_DIR/libantlr3c.la"
+rm "$INSTALL_LIB_DIR/libantlr3c.la.orig"
-if [ ${MACHINE_TYPE} == 'x86_64' ]; then
+if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
# 64-bit stuff here
echo ============== WARNING ====================
echo The script guessed that this machine is 64 bit.
@@ -105,7 +94,7 @@ if [ ${MACHINE_TYPE} == 'x86_64' ]; then
else
# 32-bit stuff here
- echo ============== WARNING ====================
+ echo ============== WARNING ====================
echo The script guessed that this machine is 32 bit.
echo If antlr should be built as 64 bit \(i.e. -m64\),
echo please rerun the script as
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback