summaryrefslogtreecommitdiff
path: root/contrib/get-antlr-3.4
blob: 49b0b54a7e840fff6d75c239885a397e97f82e7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/bin/bash
#
set -e

cd "$(dirname "$0")/.."

if ! [ -e src/parser/cvc/Cvc.g ]; then
  echo "$(basename $0): I expect to be in the contrib/ of a CVC4 source tree," >&2
  echo "but apparently:" >&2
  echo >&2
  echo "  $(pwd)" >&2
  echo >&2
  echo "is not a CVC4 source tree ?!" >&2
  exit 1
fi

function webget {
  if which wget &>/dev/null; then
    wget -c -O "$2" "$1"
  elif which curl &>/dev/null; then
    curl "$1" >"$2"
  else
    echo "Can't figure out how to download from web.  Please install wget or curl." >&2
    exit 1
  fi
}

if [[ -z "${MACHINE_TYPE}" ]]; then
  MACHINE_TYPE=`uname -m`
fi

set -x
mkdir -p antlr-3.4/share/java
mkdir -p antlr-3.4/bin
mkdir -p antlr-3.4/src
cd antlr-3.4
webget http://antlr3.org/download/antlr-3.4-complete.jar share/java/antlr-3.4-complete.jar 
webget http://antlr3.org/download/C/libantlr3c-3.4.tar.gz src/libantlr3c-3.4.tar.gz
tee bin/antlr3 <<EOF
#!/bin/bash
export CLASSPATH=`pwd`/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

if [ ${MACHINE_TYPE} == 'x86_64' ]; then
  # 64-bit stuff here
  ./configure --enable-64bit --disable-shared --disable-antlrdebug --prefix=`pwd`/../.. $ANTLR_CONFIGURE_ARGS
else
  # 32-bit stuff here
  ./configure --disable-shared --disable-antlrdebug --prefix=`pwd`/../.. $ANTLR_CONFIGURE_ARGS
fi

cp Makefile Makefile.orig
sed 's,^\(CFLAGS = .*\),\1 -fexceptions,' Makefile.orig > Makefile
make
make install
set +x
cd ../../..

echo
echo Invalidating generated parsers..
touch src/parser/*/*.g

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 --with-antlr-dir=`pwd`/antlr-3.4 ANTLR=`pwd`/antlr-3.4/bin/antlr3
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback