xref: /aosp_15_r20/external/kmod/autogen.sh (revision cc4ad7da8cefe208cb129ac2aa9a357c7c72deb2)
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