summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2012-09-26 21:59:55 -0400
committerHarald Hoyer <harald@redhat.com>2012-09-27 12:59:57 +0200
commit103281f3b65868e8071f9eca6c43c3c4f88e1a5d (patch)
treefc0f91fd9ad50aa33ec3c551c0c8824985dd2fa5
parent69ba546721d9faee2a29498df4c6ec6676a30c5c (diff)
downloaddracut-103281f3b65868e8071f9eca6c43c3c4f88e1a5d.tar.gz
dracut-103281f3b65868e8071f9eca6c43c3c4f88e1a5d.tar.bz2
dracut-103281f3b65868e8071f9eca6c43c3c4f88e1a5d.zip
Support GNOME Build API
For dracut: See people.gnome.org/~walters/docs/build-api.txt We have a new stub configure script that writes out a Makefile.inc.
-rw-r--r--.gitignore1
-rw-r--r--Makefile2
-rwxr-xr-xconfigure49
3 files changed, 52 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 44ede870..bec31ab3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+/Makefile.inc
/dracut.8
/dracut-catimages.8
/dracut.conf.5
diff --git a/Makefile b/Makefile
index f179e171..d04d3dd2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
VERSION=023
GITVERSION=$(shell [ -d .git ] && git rev-list --abbrev-commit -n 1 HEAD |cut -b 1-8)
+-include Makefile.inc
+
prefix ?= /usr
libdir ?= ${prefix}/lib
datadir ?= ${prefix}/share
diff --git a/configure b/configure
new file mode 100755
index 00000000..86323984
--- /dev/null
+++ b/configure
@@ -0,0 +1,49 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# We don't support srcdir != builddir
+echo \#buildapi-variable-no-builddir >/dev/null
+
+prefix=/usr
+
+# Little helper function for reading args from the commandline.
+# it automatically handles -a b and -a=b variants, and returns 1 if
+# we need to shift $3.
+read_arg() {
+ # $1 = arg name
+ # $2 = arg value
+ # $3 = arg parameter
+ local rematch='^[^=]*=(.*)$'
+ if [[ $2 =~ $rematch ]]; then
+ read "$1" <<< "${BASH_REMATCH[1]}"
+ else
+ read "$1" <<< "$3"
+ # There is no way to shift our callers args, so
+ # return 1 to indicate they should do it instead.
+ return 1
+ fi
+}
+
+while (($# > 0)); do
+ case "${1%%=*}" in
+ --prefix) read_arg prefix "$@" || shift;;
+ --libdir) read_arg libdir "$@" || shift;;
+ --datadir) read_arg datadir "$@" || shift;;
+ --sysconfdir) read_arg sysconfdir "$@" || shift;;
+ --sbindir) read_arg sbindir "$@" || shift;;
+ --mandir) read_arg mandir "$@" || shift;;
+ *) echo "Ignoring unknown option '$1'";;
+ esac
+ shift
+done
+
+cat > Makefile.inc.tmp <<EOF
+prefix ?= ${prefix}
+libdir ?= ${libdir:-${prefix}/lib}
+datadir ?= ${datadir:-${prefix}/share}
+sysconfdir ?= ${sysconfdir:-${prefix}/etc}
+sbindir ?= ${sbindir:-${prefix}/sbin}
+mandir ?= ${mandir:-${prefix}/share/man}
+EOF
+mv Makefile.inc.tmp Makefile.inc