128 lines
3.3 KiB
Plaintext
128 lines
3.3 KiB
Plaintext
|
|
#!/bin/sh
|
||
|
|
#
|
||
|
|
# set temporary file name
|
||
|
|
if test ! -z "$TMPDIR" ; then
|
||
|
|
TMPDIR1="${TMPDIR}"
|
||
|
|
elif test ! -z "$TEMPDIR" ; then
|
||
|
|
TMPDIR1="${TEMPDIR}"
|
||
|
|
else
|
||
|
|
TMPDIR1="/tmp"
|
||
|
|
fi
|
||
|
|
|
||
|
|
cc=gcc
|
||
|
|
|
||
|
|
TMPC="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}.c"
|
||
|
|
TMPC2="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}-2.c"
|
||
|
|
TMPO="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}.o"
|
||
|
|
TMPE="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}.exe"
|
||
|
|
|
||
|
|
# NB: do not call "exit" in the trap handler; this is buggy with some shells;
|
||
|
|
# see <1285349658-3122-1-git-send-email-loic.minier@linaro.org>
|
||
|
|
trap "rm -f $TMPC $TMPC2 $TMPO $TMPE" EXIT INT QUIT TERM
|
||
|
|
|
||
|
|
rm -rf config.log
|
||
|
|
|
||
|
|
config_host_mak="config-host.mak"
|
||
|
|
config_host_h="config-host.h"
|
||
|
|
|
||
|
|
rm -rf $config_host_mak
|
||
|
|
rm -rf $config_host_h
|
||
|
|
|
||
|
|
fatal() {
|
||
|
|
echo $@
|
||
|
|
echo "Configure failed, check config.log and/or the above output"
|
||
|
|
rm -rf $config_host_mak
|
||
|
|
rm -rf $config_host_h
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
|
||
|
|
# Print result for each configuration test
|
||
|
|
print_config() {
|
||
|
|
printf "%-30s%s\n" "$1" "$2"
|
||
|
|
}
|
||
|
|
|
||
|
|
# Default CFLAGS
|
||
|
|
CFLAGS="-D_GNU_SOURCE -include config-host.h"
|
||
|
|
BUILD_CFLAGS=""
|
||
|
|
|
||
|
|
# Print configure header at the top of $config_host_h
|
||
|
|
echo "/*" > $config_host_h
|
||
|
|
echo " * Automatically generated by configure - do not modify" >> $config_host_h
|
||
|
|
printf " * Configured with:" >> $config_host_h
|
||
|
|
printf " * '%s'" "$0" "$@" >> $config_host_h
|
||
|
|
echo "" >> $config_host_h
|
||
|
|
echo " */" >> $config_host_h
|
||
|
|
|
||
|
|
echo "# Automatically generated by configure - do not modify" > $config_host_mak
|
||
|
|
printf "# Configured with:" >> $config_host_mak
|
||
|
|
printf " '%s'" "$0" "$@" >> $config_host_mak
|
||
|
|
echo >> $config_host_mak
|
||
|
|
|
||
|
|
do_cc() {
|
||
|
|
# Run the compiler, capturing its output to the log.
|
||
|
|
echo $cc "$@" >> config.log
|
||
|
|
$cc "$@" >> config.log 2>&1 || return $?
|
||
|
|
# Test passed. If this is an --enable-werror build, rerun
|
||
|
|
# the test with -Werror and bail out if it fails. This
|
||
|
|
# makes warning-generating-errors in configure test code
|
||
|
|
# obvious to developers.
|
||
|
|
if test "$werror" != "yes"; then
|
||
|
|
return 0
|
||
|
|
fi
|
||
|
|
# Don't bother rerunning the compile if we were already using -Werror
|
||
|
|
case "$*" in
|
||
|
|
*-Werror*)
|
||
|
|
return 0
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
echo $cc -Werror "$@" >> config.log
|
||
|
|
$cc -Werror "$@" >> config.log 2>&1 && return $?
|
||
|
|
echo "ERROR: configure test passed without -Werror but failed with -Werror."
|
||
|
|
echo "This is probably a bug in the configure script. The failing command"
|
||
|
|
echo "will be at the bottom of config.log."
|
||
|
|
fatal "You can run configure with --disable-werror to bypass this check."
|
||
|
|
}
|
||
|
|
|
||
|
|
compile_object() {
|
||
|
|
do_cc $CFLAGS -c -o $TMPO $TMPC
|
||
|
|
}
|
||
|
|
|
||
|
|
compile_prog() {
|
||
|
|
local_cflags="$1"
|
||
|
|
local_ldflags="$2 $LIBS"
|
||
|
|
echo "Compiling test case $3" >> config.log
|
||
|
|
do_cc $CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
|
||
|
|
}
|
||
|
|
|
||
|
|
has() {
|
||
|
|
type "$1" >/dev/null 2>&1
|
||
|
|
}
|
||
|
|
|
||
|
|
output_sym() {
|
||
|
|
echo "$1=y" >> $config_host_mak
|
||
|
|
echo "#define $1" >> $config_host_h
|
||
|
|
}
|
||
|
|
|
||
|
|
##########################################
|
||
|
|
# check for __kernel_rwf_t
|
||
|
|
__kernel_rwf_t="no"
|
||
|
|
cat > $TMPC << EOF
|
||
|
|
#include <linux/fs.h>
|
||
|
|
int main(int argc, char **argv)
|
||
|
|
{
|
||
|
|
__kernel_rwf_t x;
|
||
|
|
x = 0;
|
||
|
|
return x;
|
||
|
|
}
|
||
|
|
EOF
|
||
|
|
if compile_prog "" "" "__kernel_rwf_t"; then
|
||
|
|
__kernel_rwf_t="yes"
|
||
|
|
fi
|
||
|
|
print_config "__kernel_rwf_t" "$__kernel_rwf_t"
|
||
|
|
|
||
|
|
#############################################################################
|
||
|
|
|
||
|
|
if test "$__kernel_rwf_t" = "yes"; then
|
||
|
|
output_sym "CONFIG_HAVE_KERNEL_RWF_T"
|
||
|
|
fi
|