#!/usr/bin/env bash # source "$(dirname "$0")/get-script-header.sh" 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" # 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" 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 echo "(e.g., \"export MACHINE_TYPE=x86_64\")." >&2 exit 1 fi fi # get first nibble from config.guess (x86_64, i686, ...) MACHINE_TYPE=$(${CONFIG_GUESS_SCRIPT} | sed 's,-.*,,') fi mkdir -p "$INSTALL_DIR/share/java" webget \ "https://www.antlr3.org/download/antlr-3.4-complete.jar" \ "$INSTALL_DIR/share/java/antlr-3.4-complete.jar" mkdir -p "$ANTLR_HOME_DIR/bin" tee "$ANTLR_HOME_DIR/bin/antlr3" < Makefile make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" LDFLAGS="${MAKE_LDFLAGS}" make install if [[ $WINDOWS_BUILD == "yes" ]]; then exit 0 fi mv "$INSTALL_LIB_DIR/libantlr3c.a" "$INSTALL_LIB_DIR/libantlr3c-static.a" make clean if [ "${MACHINE_TYPE}" == 'x86_64' ]; then # 64-bit stuff here ./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="$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 mv "$INSTALL_LIB_DIR/libantlr3c.la" "$INSTALL_LIB_DIR/libantlr3c.la.orig" 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 # 64-bit stuff here echo ============== WARNING ==================== echo The script guessed that this machine is 64 bit. echo If antlr should be built as 32 bit \(i.e. -m32\), echo please rerun the script as echo MACHINE_TYPE=\"x86\" ./get-antlr3.4 else # 32-bit stuff here 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 echo MACHINE_TYPE=\"x86_64\" ./get-antlr3.4 fi echo echo ===================== Now configure CVC4 with ===================== echo ./configure.sh