-
-#
-# Define some default values.
-#
-
-CC=""
-CXX=""
-AR=""
-RANLIB=""
-
-CFLAGS="-g -O2"
-CXXFLAGS="$CFLAGS"
-LDFLAGS=""
-LIBS=""
-
-prefix='/usr/local'
-bindir='$prefix/bin'
-libdir='$prefix/lib'
-datadir='$prefix/share/yoink'
-mandir='$prefix/share/man'
-
-host=$(./build/config.guess)
-althost=$(./build/config.sub $host)
-cross_compile="no"
-
-
-#
-# Parse the command-line options.
-#
-
-for opt in "$@"
-do
- case $opt in
- -h|--help)
- showhelp
- exit 0
- ;;
-
- --host=*)
- host=$(parse_argument host $opt)
- cross_compile="yes"
- ;;
- --prefix=*)
- prefix=$(parse_argument prefix $opt)
- ;;
- --bindir=*)
- bindir=$(parse_argument bindir $opt)
- ;;
- --libdir=*)
- libdir=$(parse_argument libdir $opt)
- ;;
- --datadir=*)
- datadir=$(parse_argument datadir $opt)
- ;;
- --mandir=*)
- mandir=$(parse_argument mandir $opt)
- ;;
-
- --enable-debug)
- cflags="$cflags -O0 -Wall -Wno-uninitialized"
- define "DEBUG"
- ;;
- --enable-double-precision)
- define "USE_DOUBLE_PRECISION"
- ;;
- --enable-profile)
- cflags="$cflags -pg"
- define "PROFILING_ENABLED"
- ;;
- --enable-extra-warnings)
- cflags="$cflags -Wextra -Wno-unused-parameter"
- ;;
- --enable-link-sh)
- link_sh=yes
- ;;
- --enable-clock_gettime)
- clock_gettime=yes
- ;;
- --enable-threads)
- define "USE_THREADS"
- ;;
- --enable-hotloading)
- define "USE_HOTLOADING"
- ;;
- --with-gtk)
- gtk=yes
- ;;
- --with-qt4)
- qt4=yes
- ;;
- *)
- if echo "$opt" | grep -q '^[A-Za-z0-9_]*=.*'
- then
- export "$opt"
- else
- echo "warning: unknown option: $opt"
- fi
- ;;
- esac
-done
-
-
-#
-# Evaluate any dependent paths.
-#
-
-eval bindir="$bindir"
-eval datadir="$datadir"
-eval libdir="$libdir"
-eval mandir="$mandir"
-
-is_defined "DEBUG" || define "NDEBUG"
-
-export PKG_CONFIG_PATH="$libdir/pkgconfig:$PKG_CONFIG_PATH"
-
-define_string "YOINK_DATADIR" "$datadir"
-
-
-#
-# Determine the target platform.
-#
-
-case $host in
- *mingw32*) HOST=win32 ;;
- *netbsd*) HOST=netbsd ;;
-esac
-
-
-#
-# Define the check functions.
-#
-
-# Run a command and return its exit code. If the third argument is given,
-# stdin will be read and written to the specified file before the command
-# is executed. If the command creates any files inside the current
-# directory, they will be removed automatically.
-# $1 The command to run.
-# $2 The arguments to be passed to the command.
-# $3 Optional filename where stdin will be written.
-check_run_command()
-{
- tmpdir=$(mktemp -d "tmp-XXXXXXXX") || die "could not create temp directory"
- cd $tmpdir || die "could not enter temp directory"
-
- if test "x$3" != x
- then
- while read line
- do
- echo $line
- done >$3
- fi
-
- saved_ifs=$IFS
- IFS=:
- for path in $PATH
- do
- if test -x "$path/$1"
- then
- eval "$1 $2" 2>&1 >/dev/null
- exit_code=$?
-
- cd ..
- rm -rf $tmpdir
- IFS=$saved_ifs
- return $exit_code
- fi
- done
-
- cd ..
- rm -rf $tmpdir
- IFS=$saved_ifs
- return 1
-}
-
-
-#
-# Do some common checks.
-#
-
-if test "x$cross_compile" = xno
-then
- # If we are not cross-compiling, we also want to consider tools without
- # host prefixes.
- extra_cc="gcc cc"
- extra_cxx="g++ c++"
- extra_ar="ar"
- extra_ranlib="ranlib"
- extra_windres="windres"
-fi
-
-for exe in $CC $host-gcc $host-cc $althost-gcc $althost-cc $extra_cc
-do
- if check_run_command "$exe" "test.c" "test.c" <<"END"
-#include <stdio.h>
-int main()
-{
- printf("Hello world!\n");
- return 0;
-}
-END
- then
- CC="$exe"
- break
- fi
-done
-
-for exe in $CXX $host-g++ $host-c++ $althost-g++ $althost-c++ $extra_cxx
-do
- if check_run_command "$exe" "test.cpp" "test.cpp" <<"END"
-#include <iostream>
-int main()
-{
- std::cout << "Hello world!" << std::endl;
- return 0;
-}
-END
- then
- CXX="$exe"
- break
- fi
-done
-
-for exe in $AR $host-ar $althost-ar $extra_ar
-do
- if check_run_command "$exe" "--version"
- then
- AR="$exe"
- break
- fi
-done
-
-for exe in $RANLIB $host-ranlib $althost-ranlib $extra_ranlib
-do
- if check_run_command "$exe" "--version"
- then
- RANLIB="$exe"
- break
- fi
-done
-
-if test x$HOST = xwin32
-then
- for exe in $WINDRES $host-windres $althost-windres $extra_windres
- do
- if check_run_command "$exe" "--version"
- then
- WINDRES="$exe"
- break
- fi
- done
-fi
-
-if test "x$CC" = x -o "x$CXX" = x -o "x$AR" = x -o "x$RANLIB" = x
-then
- die <<END
-A working version of one or more of these required tools is missing:
- CC = $CC
- CXX = $CXX
- AR = $AR
- RANLIB = $RANLIB