| #!/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 |