xref: /kvm-unit-tests/configure (revision 7d36db351752e29ad27eaafe3f102de7064e429b)
1#!/bin/bash
2
3prefix=/usr/local
4kerneldir=/lib/modules/$(uname -r)/build
5cc=gcc
6ld=ld
7objcopy=objcopy
8ar=ar
9arch=`uname -m | sed -e s/i.86/i386/`
10processor="$arch"
11cross_prefix=
12
13usage() {
14    cat <<-EOF
15	Usage: $0 [options]
16
17	Options include:
18	    --arch=ARCH            architecture to compile for ($arch)
19	    --cross-prefix=PREFIX  cross compiler prefix
20	    --cc=CC		   c compiler to use ($cc)
21	    --ld=LD		   ld linker to use ($ld)
22	    --prefix=PREFIX        where to install things ($prefix)
23	    --kerneldir=DIR        kernel build directory for kvm.h ($kerneldir)
24EOF
25    exit 1
26}
27
28while [[ "$1" = -* ]]; do
29    opt="$1"; shift
30    arg=
31    if [[ "$opt" = *=* ]]; then
32	arg="${opt#*=}"
33	opt="${opt%%=*}"
34    fi
35    case "$opt" in
36	--prefix)
37	    prefix="$arg"
38	    ;;
39	--kerneldir)
40	    kerneldir="$arg"
41	    ;;
42        --arch)
43	    arch="$arg"
44	    ;;
45        --processor)
46	    processor="$arg"
47	    ;;
48	--cross-prefix)
49	    cross_prefix="$arg"
50	    ;;
51	--cc)
52	    cc="$arg"
53	    ;;
54	--ld)
55	    ld="$arg"
56	    ;;
57	--help)
58	    usage
59	    ;;
60	*)
61	    usage
62	    ;;
63    esac
64done
65
66cat <<EOF > config.mak
67PREFIX=$prefix
68KERNELDIR=$(readlink -f $kerneldir)
69ARCH=$arch
70PROCESSOR=$processor
71CC=$cross_prefix$cc
72LD=$cross_prefix$ld
73OBJCOPY=$cross_prefix$objcopy
74AR=$cross_prefix$ar
75EOF
76