mask repeat prefix out of insn prefix
[fkvm-libfkvm.git] / configure
blob862c61d8dbd4c7349f149d83b2b8eaab93c0686e
1 #!/bin/bash
3 prefix=/usr/local
4 kernelsourcedir=
5 cc=gcc
6 ld=ld
7 objcopy=objcopy
8 want_module=1
9 qemu_cflags=
10 qemu_ldflags=
11 kvm_trace=
12 qemu_opts=()
13 cross_prefix=
14 arch=`uname -m`
15 target_exec=
17 usage() {
18 cat <<-EOF
19 Usage: $0 [options]
21 Options include:
22 --arch=ARCH architecture to compile for ($arch)
23 --cross-prefix=PREFIX prefix for cross compile
24 --prefix=PREFIX where to install things ($prefix)
25 --with-patched-kernel don't use external module
26 --with-kvm-trace Enable kvm_trace
27 --kerneldir=DIR kernel build directory ($kerneldir)
28 --qemu-cflags=CFLAGS CFLAGS to add to qemu configuration
29 --qemu-ldflags=LDFLAGS LDFLAGS to add to qemu configuration
31 Any additional option is given to qemu's configure verbatim; including:
33 EOF
34 exit 1
37 while [[ "$1" = -* ]]; do
38 opt="$1"; shift
39 arg=
40 hasarg=
41 if [[ "$opt" = *=* ]]; then
42 arg="${opt#*=}"
43 opt="${opt%%=*}"
44 hasarg=1
46 case "$opt" in
47 --prefix)
48 prefix="$arg"
50 --kerneldir)
51 kerneldir="$arg"
53 --with-patched-kernel)
54 want_module=
56 --with-kvm-trace)
57 kvm_trace=y
59 --qemu-cflags)
60 qemu_cflags="$arg"
62 --qemu-ldflags)
63 qemu_ldflags="$arg"
65 --arch)
66 arch="$arg"
68 --cross-prefix)
69 cross_prefix="$arg"
71 --help)
72 usage
75 qemu_opts=("${qemu_opts[@]}" "$opt${hasarg:+=$arg}")
77 esac
78 done
81 #set kenel directory
82 #libkvm_kerneldir=$(readlink -f kernel)
84 #if arch is an x86 arch set to i386
85 if [[ $arch = i?86 ]]; then
86 arch="i386"
89 #set parameters compiling
90 if [ "$arch" = "i386" -o "$arch" = "x86_64" ]; then
91 target_exec="x86_64-softmmu"
92 qemu_cflags="$qemu_cflags -DCONFIG_X86"
95 if [ "$arch" = "ia64" ]; then
96 target_exec="ia64-softmmu"
99 if [ "$arch" = "powerpc" ]; then
100 target_exec="ppcemb-softmmu"
101 qemu_cflags="$qemu_cflags -I $PWD/libfdt"
102 qemu_ldflags="$qemu_ldflags -L $PWD/libfdt"
105 # see if we have split build and source directories
106 #if [ -d "$kerneldir/include2" ]; then
107 # kernelsourcedir=${kerneldir%/*}/source
110 #configure user dir
111 #(cd user; ./configure --prefix="$prefix" --kerneldir="$libkvm_kerneldir" \
112 # --arch="$arch" \
113 # ${cross_prefix:+"--cross-prefix=$cross_prefix"})
115 #configure qemu
116 #(cd qemu; ./configure --target-list=$target_exec \
117 # --disable-kqemu \
118 # --disable-gcc-check \
119 # --extra-cflags="-I $PWD/../libkvm $qemu_cflags" \
120 # --extra-ldflags="-L $PWD/../libkvm $qemu_ldflags" \
121 # --kernel-path="$libkvm_kerneldir" \
122 # --prefix="$prefix" \
123 # ${cross_prefix:+"--cross-prefix=$cross_prefix"} \
124 # ${cross_prefix:+"--cpu=$arch"} "${qemu_opts[@]}"
125 #) || usage
128 cat <<EOF > config.mak
129 ARCH=$arch
130 PREFIX=$prefix
131 KERNELDIR=$kerneldir
132 KERNELSOURCEDIR=$kernelsourcedir
133 LIBKVM_KERNELDIR=$libkvm_kerneldir
134 WANT_MODULE=$want_module
135 CROSS_COMPILE=$cross_prefix
136 CC=$cross_prefix$cc
137 LD=$cross_prefix$ld
138 OBJCOPY=$cross_prefix$objcopy
141 #cat <<EOF > kernel/config.kbuild
142 EXT_CONFIG_KVM_TRACE=$kvm_trace
143 #EOF