came back to the stable stade where i don't use llvm libraries and i produce assembly
[ozulis.git] / configure
blob0cf5f9eb83572f7bd6394ba6ac944659f2cdf648
1 #! /bin/sh
3 ROOTDIR=$PWD
4 BUILDDIR=build
5 VERBOSE=OFF
6 COLOR=ON
7 CCACHE=ON
8 DEBUG=1
9 MAKEOPT="--quiet -j$(($(grep processor /proc/cpuinfo | wc -l) + 1))"
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"
16 LDFLAGS=""
18 function usage()
20 echo -n "usage: $0
21 --verbose verbose Makefiles
22 --no-color no colors
23 --no-debug disable debug
24 --debug enables debug
26 exit
29 until [[ $# -eq 0 ]] ;
31 case "$1" in
32 --verbose)
33 VERBOSE=ON
34 MAKEOPT="$(echo $MAKEOPT | sed s,--quiet,,g)"
36 --no-color)
37 COLOR=OFF
39 --no-debug)
40 DEBUG=0
42 --debug)
43 DEBUG=1
45 --ccache)
46 CCACHE=ON
48 --no-ccache)
49 CCACHE=OFF
51 --build-dir)
52 [[ $# -eq 1 ]] && { echo --build-dir requiers an argument; exit 2; }
53 BUILDDIR="$2"
54 shift
57 usage
59 esac
60 shift
61 done
63 if ! which ccache 2>&1 >/dev/null; then
64 CCACHE=OFF
67 if [[ $DEBUG -eq 0 ]]; then
68 CFLAGS="$CFLAGS -DNDEBUG"
69 CXXFLAGS="$CXXFLAGS -DNDEBUG"
70 else
71 CFLAGS="$CFLAGS -ggdb"
72 CXXFLAGS="$CXXFLAGS -ggdb"
75 if [[ $CCACHE = "ON" ]] ; then
76 mkdir -p .ccache
77 ln -sf $(which ccache) .ccache/g++
78 ln -sf $(which ccache) .ccache/gcc
79 export CC="$PWD/.ccache/gcc"
80 export CXX="$PWD/.ccache/g++"
83 export CFLAGS
84 export CXXFLAGS
85 export LDFLAGS
86 rm -rf $BUILDDIR
87 mkdir $BUILDDIR &&
88 cd $BUILDDIR &&
89 cmake $ROOTDIR
90 cmake \
91 -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE \
92 -DCMAKE_COLOR_MAKEFILE=$COLOR \
95 cd $ROOTDIR &&
96 cat >config.mk <<EOF
97 BUILDDIR=$BUILDDIR
98 MAKEOPT=$MAKEOPT
99 EOF