]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
build-sys: add tools/config-gen and basic compilation scenarios
authorKarel Zak <kzak@redhat.com>
Fri, 4 Nov 2011 11:12:20 +0000 (12:12 +0100)
committerKarel Zak <kzak@redhat.com>
Fri, 4 Nov 2011 19:56:06 +0000 (20:56 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
15 files changed:
tools/config-gen [new file with mode: 0755]
tools/config-gen-functions.sh [new file with mode: 0644]
tools/config-gen.d/all-non-nls.conf [new file with mode: 0644]
tools/config-gen.d/all.conf [new file with mode: 0644]
tools/config-gen.d/audit.conf [new file with mode: 0644]
tools/config-gen.d/core.conf [new file with mode: 0644]
tools/config-gen.d/devel.conf [new file with mode: 0644]
tools/config-gen.d/non-libblkid.conf [new file with mode: 0644]
tools/config-gen.d/non-libmount.conf [new file with mode: 0644]
tools/config-gen.d/non-libs.conf [new file with mode: 0644]
tools/config-gen.d/non-libuuid.conf [new file with mode: 0644]
tools/config-gen.d/non-nls.conf [new file with mode: 0644]
tools/config-gen.d/selinux.conf [new file with mode: 0644]
tools/config-gen.d/slang.conf [new file with mode: 0644]
tools/config-gen.d/static.conf [new file with mode: 0644]

diff --git a/tools/config-gen b/tools/config-gen
new file mode 100755 (executable)
index 0000000..441e5a4
--- /dev/null
@@ -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
diff --git a/tools/config-gen-functions.sh b/tools/config-gen-functions.sh
new file mode 100644 (file)
index 0000000..4f0e575
--- /dev/null
@@ -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
+}
diff --git a/tools/config-gen.d/all-non-nls.conf b/tools/config-gen.d/all-non-nls.conf
new file mode 100644 (file)
index 0000000..d8fc6fe
--- /dev/null
@@ -0,0 +1,2 @@
+include:all.conf
+include:non-nls.conf
diff --git a/tools/config-gen.d/all.conf b/tools/config-gen.d/all.conf
new file mode 100644 (file)
index 0000000..7a52334
--- /dev/null
@@ -0,0 +1,6 @@
+include:core.conf
+include:static.conf
+
+--enable-most-builds
+--enable-login-stat-mail
+--enable-partx
diff --git a/tools/config-gen.d/audit.conf b/tools/config-gen.d/audit.conf
new file mode 100644 (file)
index 0000000..236f9b2
--- /dev/null
@@ -0,0 +1,4 @@
+include:core.conf
+
+--with-audit
+--enable-login-utils
diff --git a/tools/config-gen.d/core.conf b/tools/config-gen.d/core.conf
new file mode 100644 (file)
index 0000000..4abf4e0
--- /dev/null
@@ -0,0 +1,2 @@
+--disable-rpath
+--disable-makeinstall-chown
diff --git a/tools/config-gen.d/devel.conf b/tools/config-gen.d/devel.conf
new file mode 100644 (file)
index 0000000..2a07974
--- /dev/null
@@ -0,0 +1,8 @@
+include:all.conf
+include:audit.conf
+include:selinux.conf
+include:static.conf
+
+--enable-gtk-doc
+--enable-libmount-mount
+--with-utempter
diff --git a/tools/config-gen.d/non-libblkid.conf b/tools/config-gen.d/non-libblkid.conf
new file mode 100644 (file)
index 0000000..b3a7452
--- /dev/null
@@ -0,0 +1,3 @@
+include:core.conf
+
+--disable-libblkid
diff --git a/tools/config-gen.d/non-libmount.conf b/tools/config-gen.d/non-libmount.conf
new file mode 100644 (file)
index 0000000..dae9d60
--- /dev/null
@@ -0,0 +1,3 @@
+include:core.conf
+
+--disable-libmount
diff --git a/tools/config-gen.d/non-libs.conf b/tools/config-gen.d/non-libs.conf
new file mode 100644 (file)
index 0000000..d2f16d2
--- /dev/null
@@ -0,0 +1,4 @@
+include:core.conf
+include:non-libblkid.conf
+include:non-libmount.conf
+include:non-libuuid.conf
diff --git a/tools/config-gen.d/non-libuuid.conf b/tools/config-gen.d/non-libuuid.conf
new file mode 100644 (file)
index 0000000..8ac0629
--- /dev/null
@@ -0,0 +1,3 @@
+include:core.conf
+
+--disable-libuuid
diff --git a/tools/config-gen.d/non-nls.conf b/tools/config-gen.d/non-nls.conf
new file mode 100644 (file)
index 0000000..029ad9a
--- /dev/null
@@ -0,0 +1,3 @@
+include:core.conf
+
+--disable-nls
diff --git a/tools/config-gen.d/selinux.conf b/tools/config-gen.d/selinux.conf
new file mode 100644 (file)
index 0000000..4da627c
--- /dev/null
@@ -0,0 +1,4 @@
+include:core.conf
+
+--with-selinux
+--enable-login-utils
diff --git a/tools/config-gen.d/slang.conf b/tools/config-gen.d/slang.conf
new file mode 100644 (file)
index 0000000..ee20993
--- /dev/null
@@ -0,0 +1,3 @@
+include:core.conf
+
+--with-slang
diff --git a/tools/config-gen.d/static.conf b/tools/config-gen.d/static.conf
new file mode 100644 (file)
index 0000000..bc19283
--- /dev/null
@@ -0,0 +1,3 @@
+include:core.conf
+
+--enable-static-programs