Factorized some code and renamed LLVMGeneratorVisitor to LLVMAsmGeneratorVisitor
[ozulis.git] / configure
bloba305c63b2dc46bfd936cc1325f629e470dd61337
1 #! /bin/sh
3 ROOTDIR=$PWD
4 BUILDDIR=build
5 VERBOSE=OFF
6 COLOR=ON
7 CCACHE=ON
8 DEBUG=1
9 MAKEOPT="--quiet"
10 CPPFLAGS="$(llvm-config --cppflags)"
11 CFLAGS="$CPPFLAGS -W -Wall -Wstrict-prototypes -pipe"
12 CFLAGS="$CFLAGS -Wfloat-equal -Wundef -Wshadow -Wpointer-arith"
13 CFLAGS="$CFLAGS -Wmissing-declarations -Wnested-externs"
14 CFLAGS="$CFLAGS -Wmissing-prototypes"
15 CXXFLAGS="$CPPFLAGS -W -Wall -pipe -Wundef -Wshadow -Wpointer-arith -Wabi -std=c++0x"
17 function usage()
19 echo -n "usage: $0
20 --verbose verbose Makefiles
21 --no-color no colors
22 --no-debug disable debug
23 --debug enables debug
25 exit
28 until [[ $# -eq 0 ]] ;
30 case "$1" in
31 --verbose)
32 VERBOSE=ON
33 MAKEOPT="$(echo $MAKEOPT | sed s,--quiet,,g)"
35 --no-color)
36 COLOR=OFF
38 --no-debug)
39 DEBUG=0
41 --debug)
42 DEBUG=1
44 --ccache)
45 CCACHE=ON
47 --no-ccache)
48 CCACHE=OFF
50 --build-dir)
51 [[ $# -eq 1 ]] && { echo --build-dir requiers an argument; exit 2; }
52 BUILDDIR="$2"
53 shift
56 usage
58 esac
59 shift
60 done
62 if ! which ccache 2>&1 >/dev/null; then
63 CCACHE=OFF
66 if [[ $DEBUG -eq 0 ]]; then
67 CFLAGS="$CFLAGS -DNDEBUG"
68 CXXFLAGS="$CXXFLAGS -DNDEBUG"
69 else
70 CFLAGS="$CFLAGS -ggdb"
71 CXXFLAGS="$CXXFLAGS -ggdb"
74 if [[ $CCACHE = "ON" ]] ; then
75 mkdir -p .ccache
76 ln -sf $(which ccache) .ccache/g++
77 ln -sf $(which ccache) .ccache/gcc
78 export CC="$PWD/.ccache/gcc"
79 export CXX="$PWD/.ccache/g++"
82 export CFLAGS
83 export CXXFLAGS
84 rm -rf $BUILDDIR
85 mkdir $BUILDDIR &&
86 cd $BUILDDIR &&
87 cmake $ROOTDIR
88 cmake \
89 -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE \
90 -DCMAKE_COLOR_MAKEFILE=$COLOR \
93 cd $ROOTDIR &&
94 cat >config.mk <<EOF
95 BUILDDIR=$BUILDDIR
96 MAKEOPT=$MAKEOPT
97 EOF