1#!/bin/sh
2
3set -e
4
5oldpwd=$(pwd)
6topdir=$(dirname $0)
7cd $topdir
8
9gtkdocize --docdir libkmod/docs || touch libkmod/docs/gtk-doc.make
10autoreconf --force --install --symlink
11
12libdir() {
13        echo $(cd "$1/$(gcc -print-multi-os-directory)"; pwd)
14}
15
16args="\
17--prefix=/usr \
18--sysconfdir=/etc \
19--libdir=$(libdir /usr/lib) \
20"
21
22if [ -f "$topdir/.config.args" ]; then
23    args="$args $(cat $topdir/.config.args)"
24fi
25
26if [ ! -L /bin ]; then
27    args="$args \
28        --with-rootprefix= \
29        --with-rootlibdir=$(libdir /lib) \
30        "
31fi
32
33cd $oldpwd
34
35hackargs="--enable-debug --enable-python --with-xz --with-zlib"
36
37if [ "x$1" = "xc" ]; then
38        $topdir/configure CFLAGS='-g -O2' $args
39        make clean
40elif [ "x$1" = "xg" ]; then
41        $topdir/configure CFLAGS='-g -Og' $args
42        make clean
43elif [ "x$1" = "xl" ]; then
44        $topdir/configure CC=clang CXX=clang++ $args
45        make clean
46elif [ "x$1" = "xa" ]; then
47        $topdir/configure CFLAGS='-g -O2 -Wsuggest-attribute=pure -Wsuggest-attribute=const' $args
48        make clean
49elif [ "x$1" = "xs" ]; then
50        scan-build $topdir/configure CFLAGS='-g -O0 -std=gnu11' $args
51        scan-build make
52else
53        echo
54        echo "----------------------------------------------------------------"
55        echo "Initialized build system. For a common configuration please run:"
56        echo "----------------------------------------------------------------"
57        echo
58        echo "$topdir/configure CFLAGS='-g -O2' $args"
59        echo
60        echo If you are debugging or hacking on kmod, consider configuring
61        echo like below:
62        echo 
63        echo "$topdir/configure CFLAGS="-g -O2" $args $hackargs"
64fi
65