2011-06-25 15:11:18 +00:00
|
|
|
. qb/config.comp.sh
|
2010-12-30 01:52:02 +00:00
|
|
|
|
|
|
|
TEMP_C=.tmp.c
|
|
|
|
TEMP_CXX=.tmp.cxx
|
|
|
|
TEMP_EXE=.tmp
|
|
|
|
|
2012-06-12 20:16:16 +00:00
|
|
|
ECHOBUF="Checking operating system"
|
|
|
|
#echo -n "Checking operating system"
|
2014-09-16 19:44:33 +00:00
|
|
|
|
|
|
|
if [ -n "$CROSS_COMPILE" ]; then
|
|
|
|
case "$CROSS_COMPILE" in
|
|
|
|
*'-mingw32'*) OS='Win32';;
|
|
|
|
*);;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
2014-09-17 20:37:39 +00:00
|
|
|
if [ -z "$CROSS_COMPILE" ] || [ -z "$OS" ]; then
|
2014-09-16 19:44:33 +00:00
|
|
|
case "$(uname)" in
|
|
|
|
'Linux') OS='Linux';;
|
|
|
|
*'BSD') OS='BSD';;
|
|
|
|
'Darwin') OS='Darwin';;
|
|
|
|
'CYGWIN'*) OS='Cygwin';;
|
|
|
|
'Haiku') OS='Haiku';;
|
2014-10-28 23:27:14 +00:00
|
|
|
'MINGW'*) OS='Win32';;
|
2014-09-16 19:44:33 +00:00
|
|
|
*) OS="Win32";;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
2012-06-12 20:16:16 +00:00
|
|
|
echo "$ECHOBUF ... $OS"
|
2010-12-30 01:52:02 +00:00
|
|
|
|
|
|
|
# Checking for working C compiler
|
2012-06-12 20:16:16 +00:00
|
|
|
if [ "$USE_LANG_C" = 'yes' ]; then
|
|
|
|
ECHOBUF="Checking for suitable working C compiler"
|
|
|
|
# echo -n "Checking for suitable working C compiler"
|
|
|
|
cat << EOF > "$TEMP_C"
|
|
|
|
#include <stdio.h>
|
|
|
|
int main(void) { puts("Hai world!"); return 0; }
|
|
|
|
EOF
|
2014-06-19 21:32:12 +00:00
|
|
|
if [ -z "$CC" ]; then
|
|
|
|
for CC in ${CC:=$(which ${CROSS_COMPILE}gcc ${CROSS_COMPILE}cc ${CROSS_COMPILE}clang)} ''; do
|
|
|
|
"$CC" -o "$TEMP_EXE" "$TEMP_C" >/dev/null 2>&1 && break
|
|
|
|
done
|
|
|
|
fi
|
2012-06-12 20:16:16 +00:00
|
|
|
[ "$CC" ] || { echo "$ECHOBUF ... Not found. Exiting."; exit 1;}
|
|
|
|
echo "$ECHOBUF ... $CC"
|
2014-06-19 21:31:33 +00:00
|
|
|
rm -f "$TEMP_C" "$TEMP_EXE"
|
2010-12-30 01:52:02 +00:00
|
|
|
fi
|
|
|
|
|
2012-06-12 20:16:16 +00:00
|
|
|
# Checking for working C++
|
|
|
|
if [ "$USE_LANG_CXX" = 'yes' ]; then
|
|
|
|
ECHOBUF="Checking for suitable working C++ compiler"
|
|
|
|
# echo -n "Checking for suitable working C++ compiler"
|
|
|
|
cat << EOF > "$TEMP_CXX"
|
|
|
|
#include <iostream>
|
|
|
|
int main() { std::cout << "Hai guise" << std::endl; return 0; }
|
|
|
|
EOF
|
2014-06-19 21:32:12 +00:00
|
|
|
if [ -z "$CXX" ]; then
|
|
|
|
for CXX in ${CXX:=$(which ${CROSS_COMPILE}g++ ${CROSS_COMPILE}c++ ${CROSS_COMPILE}clang++)} ''; do
|
|
|
|
"$CXX" -o "$TEMP_EXE" "$TEMP_CXX" >/dev/null 2>&1 && break
|
|
|
|
done
|
|
|
|
fi
|
2012-06-12 20:16:16 +00:00
|
|
|
[ "$CXX" ] || { echo "$ECHOBUF ... Not found. Exiting."; exit 1;}
|
|
|
|
echo "$ECHOBUF ... $CXX"
|
2014-06-19 21:31:33 +00:00
|
|
|
rm -f "$TEMP_CXX" "$TEMP_EXE"
|
2010-12-30 01:52:02 +00:00
|
|
|
fi
|
2014-09-14 20:49:51 +00:00
|
|
|
|
|
|
|
if [ "$OS" = "Win32" ]; then
|
|
|
|
ECHOBUF="Checking for windres"
|
|
|
|
if [ -z "$WINDRES" ]; then
|
|
|
|
WINDRES=$(which ${CROSS_COMPILE}windres)
|
|
|
|
[ "$WINDRES" ] || { echo "$ECHOBUF ... Not found. Exiting."; exit 1; }
|
|
|
|
fi
|
|
|
|
echo "$ECHOBUF ... $WINDRES"
|
|
|
|
fi
|