diff options
author | Mathias Preiner <mathias.preiner@gmail.com> | 2019-12-06 06:48:04 -0800 |
---|---|---|
committer | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-12-06 08:48:04 -0600 |
commit | 008d6b51baec353f45324e1d9407d898866cf688 (patch) | |
tree | 136e5c1dcbfb32f1fed99b853b79c2f7ecc6b5d2 /contrib/get-antlr-3.4 | |
parent | 46bae5d2a8b22867f917c6f644e46e29884049f9 (diff) |
contrib: Setup all dependencies in deps/ directory. (#3534)
Diffstat (limited to 'contrib/get-antlr-3.4')
-rwxr-xr-x | contrib/get-antlr-3.4 | 75 |
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 |