summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2019-05-25 09:58:30 +0100
committerJens Axboe <axboe@kernel.dk>2019-05-25 06:36:33 -0600
commitfd26c1a2f0eb9ea53b41e471b1ea31cf341ac151 (patch)
tree2b28c647c1bfb6053be5a24c85218d13b6e6d6d7
parent1b049c1265977ba13f20797848859a46ade1b75b (diff)
configure: move directory options to ./configure
libdir is hardcoded to ${prefix}/lib in Makefile. Fedora x86_64 uses /usr/lib64 and this means libaries will be installed in the wrong place. This patch moves prefix, includedir, libdir, and mandir into ./configure for easier customization. To build and install on Fedora x86_64: # ./configure --libdir=/usr/lib64 # make && make install Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--Makefile4
-rwxr-xr-xconfigure55
2 files changed, 54 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 6755713..ea639d6 100644
--- a/Makefile
+++ b/Makefile
@@ -5,10 +5,6 @@ TAG = $(NAME)-$(VERSION)
RPMBUILD=$(shell `which rpmbuild >&/dev/null` && echo "rpmbuild" || echo "rpm")
INSTALL=install
-prefix ?= /usr
-includedir=$(prefix)/include
-libdir=$(prefix)/lib
-mandir=$(prefix)/man
default: all
diff --git a/configure b/configure
index ef71a14..19c2b54 100755
--- a/configure
+++ b/configure
@@ -10,6 +10,10 @@ else
fi
cc=gcc
+prefix=/usr
+includedir="$prefix/include"
+libdir="$prefix/lib"
+mandir="$prefix/man"
TMPC="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}.c"
TMPC2="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}-2.c"
@@ -98,11 +102,60 @@ has() {
type "$1" >/dev/null 2>&1
}
+output_mak() {
+ echo "$1=$2" >> $config_host_mak
+}
+
output_sym() {
- echo "$1=y" >> $config_host_mak
+ output_mak "$1" "y"
echo "#define $1" >> $config_host_h
}
+print_and_output_mak() {
+ print_config "$1" "$2"
+ output_mak "$1" "$2"
+}
+
+for opt do
+ optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
+ case "$opt" in
+ --help|-h) show_help=yes
+ ;;
+ --prefix=*) prefix="$optarg"
+ ;;
+ --includedir=*) includedir="$optarg"
+ ;;
+ --libdir=*) libdir="$optarg"
+ ;;
+ --mandir=*) mandir="$optarg"
+ ;;
+ *)
+ echo "ERROR: unkown option $opt"
+ echo "Try '$0 --help' for more information"
+ exit 1
+ ;;
+ esac
+done
+
+if test "$show_help" = "yes"; then
+cat <<EOF
+
+Usage: configure [options]
+Options: [defaults in brackets after descriptions]
+ --help print this message
+ --prefix=PATH install in PATH [$prefix]
+ --includedir=PATH install headers in PATH [$includedir]
+ --libdir=PATH install libraries in PATH [$libdir]
+ --mandir=PATH install man pages in PATH [$mandir]
+EOF
+exit 0
+fi
+
+print_and_output_mak "prefix" "$prefix"
+print_and_output_mak "includedir" "$includedir"
+print_and_output_mak "libdir" "$libdir"
+print_and_output_mak "mandir" "$mandir"
+
##########################################
# check for __kernel_rwf_t
__kernel_rwf_t="no"