build-sys: add tools/config-gen and basic compilation scenarios

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2011-11-04 12:12:20 +01:00
parent 9ecd720f2c
commit 9221fb85f6
15 changed files with 112 additions and 0 deletions

31
tools/config-gen Executable file
View File

@ -0,0 +1,31 @@
#!/bin/bash
#
# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
#
test -f mount/mount.c || {
echo
echo "You must run this script in the top-level util-linux directory"
echo
exit 1
}
. tools/config-gen-functions.sh
while [ -n "$1" ]; do
opts="$opts $(ul_get_configuration tools/config-gen.d/$1.conf)"
shift
done
opts=$(echo $opts | tr " " "\n" | sort -u)
echo "Configure options:"
for x in $opts; do
echo " $x"
done
if [ -n "$CFLAGS" ]; then
echo "CFLAGS: $CFLAGS"
export CFLAGS="$CFLAGS"
fi
echo
./configure $opts

View File

@ -0,0 +1,33 @@
#
# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
#
# Returns configure options from selected config file
#
# ul_get_configuration <config-file>
#
# for example
#
# ul_get_configuration $top_srcdir/tools/config-gen.d/all
#
function ul_get_configuration {
local conf="$1"
local dir=$(dirname $1)
local opts=$(cat $conf)
local old_opts=
while [ "$opts" != "$old_opts" ]; do
local new_opts=
old_opts="$opts"
for citem in $opts; do
case $citem in
include:*) new_opts="$new_opts $(cat $dir/${citem##*:})" ;;
*) new_opts="$new_opts $citem" ;;
esac
done
opts="$new_opts"
done
echo $opts | tr " " "\n" | sort -u
}

View File

@ -0,0 +1,2 @@
include:all.conf
include:non-nls.conf

View File

@ -0,0 +1,6 @@
include:core.conf
include:static.conf
--enable-most-builds
--enable-login-stat-mail
--enable-partx

View File

@ -0,0 +1,4 @@
include:core.conf
--with-audit
--enable-login-utils

View File

@ -0,0 +1,2 @@
--disable-rpath
--disable-makeinstall-chown

View File

@ -0,0 +1,8 @@
include:all.conf
include:audit.conf
include:selinux.conf
include:static.conf
--enable-gtk-doc
--enable-libmount-mount
--with-utempter

View File

@ -0,0 +1,3 @@
include:core.conf
--disable-libblkid

View File

@ -0,0 +1,3 @@
include:core.conf
--disable-libmount

View File

@ -0,0 +1,4 @@
include:core.conf
include:non-libblkid.conf
include:non-libmount.conf
include:non-libuuid.conf

View File

@ -0,0 +1,3 @@
include:core.conf
--disable-libuuid

View File

@ -0,0 +1,3 @@
include:core.conf
--disable-nls

View File

@ -0,0 +1,4 @@
include:core.conf
--with-selinux
--enable-login-utils

View File

@ -0,0 +1,3 @@
include:core.conf
--with-slang

View File

@ -0,0 +1,3 @@
include:core.conf
--enable-static-programs