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>
This commit is contained in:
Stefan Hajnoczi
2019-05-25 09:58:30 +01:00
committed by Jens Axboe
parent 1b049c1265
commit fd26c1a2f0
2 changed files with 54 additions and 5 deletions
-4
View File
@@ -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
Vendored
+54 -1
View File
@@ -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"