diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2019-05-25 09:58:30 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-05-25 06:36:33 -0600 |
commit | fd26c1a2f0eb9ea53b41e471b1ea31cf341ac151 (patch) | |
tree | 2b28c647c1bfb6053be5a24c85218d13b6e6d6d7 | |
parent | 1b049c1265977ba13f20797848859a46ade1b75b (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-- | Makefile | 4 | ||||
-rwxr-xr-x | configure | 55 |
2 files changed, 54 insertions, 5 deletions
@@ -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 @@ -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" |