• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 --with-openssl"
36
37if [ "x$1" = "xc" ]; then
38        shift
39        $topdir/configure CFLAGS='-g -O2' $args $hackargs "$@"
40        make clean
41elif [ "x$1" = "xg" ]; then
42        shift
43        $topdir/configure CFLAGS='-g -Og' $args "$@"
44        make clean
45elif [ "x$1" = "xl" ]; then
46        shift
47        $topdir/configure CC=clang CXX=clang++ $args "$@"
48        make clean
49elif [ "x$1" = "xa" ]; then
50        shift
51        $topdir/configure CFLAGS='-g -O2 -Wsuggest-attribute=pure -Wsuggest-attribute=const' $args "$@"
52        make clean
53elif [ "x$1" = "xs" ]; then
54        shift
55        scan-build $topdir/configure CFLAGS='-g -O0 -std=gnu11' $args "$@"
56        scan-build make
57else
58        echo
59        echo "----------------------------------------------------------------"
60        echo "Initialized build system. For a common configuration please run:"
61        echo "----------------------------------------------------------------"
62        echo
63        echo "$topdir/configure CFLAGS='-g -O2' $args"
64        echo
65        echo If you are debugging or hacking on kmod, consider configuring
66        echo like below:
67        echo
68        echo "$topdir/configure CFLAGS='-g -O2' $args $hackargs"
69fi
70