Lucas De Marchi | 15cfa1d | 2014-12-25 23:12:22 -0200 | [diff] [blame] | 1 | #!/bin/sh |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 2 | |
Lucas De Marchi | 15cfa1d | 2014-12-25 23:12:22 -0200 | [diff] [blame] | 3 | set -e |
Lucas De Marchi | ecd40ee | 2011-11-21 12:35:15 -0200 | [diff] [blame] | 4 | |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 5 | oldpwd=$(pwd) |
| 6 | topdir=$(dirname $0) |
| 7 | cd $topdir |
| 8 | |
Lucas De Marchi | 4fb900c | 2012-01-10 12:55:13 -0200 | [diff] [blame] | 9 | gtkdocize --docdir libkmod/docs || touch libkmod/docs/gtk-doc.make |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 10 | autoreconf --force --install --symlink |
Lucas De Marchi | ecd40ee | 2011-11-21 12:35:15 -0200 | [diff] [blame] | 11 | |
Lucas De Marchi | ecd40ee | 2011-11-21 12:35:15 -0200 | [diff] [blame] | 12 | libdir() { |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 13 | echo $(cd "$1/$(gcc -print-multi-os-directory)"; pwd) |
Lucas De Marchi | ecd40ee | 2011-11-21 12:35:15 -0200 | [diff] [blame] | 14 | } |
| 15 | |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 16 | args="\ |
| 17 | --prefix=/usr \ |
Lucas De Marchi | ecd40ee | 2011-11-21 12:35:15 -0200 | [diff] [blame] | 18 | --sysconfdir=/etc \ |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 19 | --libdir=$(libdir /usr/lib) \ |
| 20 | " |
| 21 | |
| 22 | if [ -f "$topdir/.config.args" ]; then |
| 23 | args="$args $(cat $topdir/.config.args)" |
| 24 | fi |
| 25 | |
| 26 | if [ ! -L /bin ]; then |
| 27 | args="$args \ |
| 28 | --with-rootprefix= \ |
| 29 | --with-rootlibdir=$(libdir /lib) \ |
| 30 | " |
| 31 | fi |
| 32 | |
| 33 | cd $oldpwd |
Lucas De Marchi | ecd40ee | 2011-11-21 12:35:15 -0200 | [diff] [blame] | 34 | |
Torge Matthies | 3821e19 | 2020-09-08 21:59:20 +0200 | [diff] [blame] | 35 | hackargs="\ |
| 36 | --enable-debug \ |
| 37 | --enable-python \ |
| 38 | --with-zstd \ |
| 39 | --with-xz \ |
| 40 | --with-zlib \ |
| 41 | --with-openssl \ |
| 42 | " |
Lucas De Marchi | ae2612e | 2012-01-09 13:26:06 -0200 | [diff] [blame] | 43 | |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 44 | if [ "x$1" = "xc" ]; then |
Lucas De Marchi | 028d4df | 2018-12-17 09:52:05 -0800 | [diff] [blame] | 45 | shift |
| 46 | $topdir/configure CFLAGS='-g -O2' $args $hackargs "$@" |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 47 | make clean |
| 48 | elif [ "x$1" = "xg" ]; then |
Lucas De Marchi | 028d4df | 2018-12-17 09:52:05 -0800 | [diff] [blame] | 49 | shift |
| 50 | $topdir/configure CFLAGS='-g -Og' $args "$@" |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 51 | make clean |
| 52 | elif [ "x$1" = "xl" ]; then |
Lucas De Marchi | 028d4df | 2018-12-17 09:52:05 -0800 | [diff] [blame] | 53 | shift |
| 54 | $topdir/configure CC=clang CXX=clang++ $args "$@" |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 55 | make clean |
| 56 | elif [ "x$1" = "xa" ]; then |
Lucas De Marchi | 028d4df | 2018-12-17 09:52:05 -0800 | [diff] [blame] | 57 | shift |
| 58 | $topdir/configure CFLAGS='-g -O2 -Wsuggest-attribute=pure -Wsuggest-attribute=const' $args "$@" |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 59 | make clean |
| 60 | elif [ "x$1" = "xs" ]; then |
Lucas De Marchi | 028d4df | 2018-12-17 09:52:05 -0800 | [diff] [blame] | 61 | shift |
| 62 | scan-build $topdir/configure CFLAGS='-g -O0 -std=gnu11' $args "$@" |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 63 | scan-build make |
| 64 | else |
| 65 | echo |
| 66 | echo "----------------------------------------------------------------" |
| 67 | echo "Initialized build system. For a common configuration please run:" |
| 68 | echo "----------------------------------------------------------------" |
| 69 | echo |
| 70 | echo "$topdir/configure CFLAGS='-g -O2' $args" |
| 71 | echo |
| 72 | echo If you are debugging or hacking on kmod, consider configuring |
| 73 | echo like below: |
Lucas De Marchi | 028d4df | 2018-12-17 09:52:05 -0800 | [diff] [blame] | 74 | echo |
Jakov Simunic | 4997784 | 2018-05-16 10:24:37 -0700 | [diff] [blame] | 75 | echo "$topdir/configure CFLAGS='-g -O2' $args $hackargs" |
Lucas De Marchi | 6ee2813 | 2017-02-23 21:58:15 -0800 | [diff] [blame] | 76 | fi |