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