Merge pull request #1809 from heuripedes/master

Qb fixes
This commit is contained in:
Twinaphex 2015-06-17 02:27:20 +02:00
commit 75b8f3405c
5 changed files with 92 additions and 61 deletions

2
configure vendored
View File

@ -4,6 +4,8 @@ PACKAGE_NAME=retroarch
cat /dev/null > config.log
. qb/qb.system.sh
. qb/qb.params.sh
. qb/qb.comp.sh

View File

@ -1,2 +1,7 @@
USE_LANG_C="yes"
USE_LANG_CXX="yes"
# C++ compiler is optional in other platforms supported by ./configure
if [ "$OS" = 'Win32' ]; then
USE_LANG_CXX="yes"
fi

View File

@ -246,6 +246,8 @@ if [ "$HAVE_OPENGL" != 'no' ] && [ "$HAVE_GLES" != 'yes' ]; then
else
# On some distros, -lCg doesn't link against -lstdc++ it seems ...
check_lib_cxx CG -lCg cgCreateContext
check_lib OPENGL -lGL
check_header OPENGL "GL/gl.h"
[ "$HAVE_CG" = 'yes' ] && CG_LIBS='-lCg -lCgGL'
fi

View File

@ -4,83 +4,77 @@ TEMP_C=.tmp.c
TEMP_CXX=.tmp.cxx
TEMP_EXE=.tmp
ECHOBUF="Checking operating system"
#echo -n "Checking operating system"
if [ -n "$CROSS_COMPILE" ]; then
case "$CROSS_COMPILE" in
*'-mingw32'*) OS='Win32';;
*);;
esac
fi
if [ -z "$CROSS_COMPILE" ] || [ -z "$OS" ]; then
case "$(uname)" in
'Linux') OS='Linux';;
*'BSD') OS='BSD';;
'Darwin') OS='Darwin';;
'CYGWIN'*) OS='Cygwin';;
'Haiku') OS='Haiku';;
'MINGW'*) OS='Win32';;
*) OS="Win32";;
esac
fi
DISTRO=''
if [ -e /etc/lsb-release ]; then
. /etc/lsb-release
DISTRO="(${DISTRIB_DESCRIPTION} ${DISTRIB_RELEASE})"
fi
echo "$ECHOBUF ... $OS ${DISTRO}"
# Checking for working C compiler
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"
cat << EOF > "$TEMP_C"
#include <stdio.h>
int main(void) { puts("Hai world!"); return 0; }
EOF
if [ -z "$CC" ]; then
for CC in ${CC:=$(which ${CROSS_COMPILE}gcc ${CROSS_COMPILE}cc ${CROSS_COMPILE}clang 2>/dev/null)} ''; do
"$CC" -o "$TEMP_EXE" "$TEMP_C" >/dev/null 2>&1 && break
done
fi
[ "$CC" ] || { echo "$ECHOBUF ... Not found. Exiting."; exit 1;}
echo "$ECHOBUF ... $CC"
rm -f "$TEMP_C" "$TEMP_EXE"
cc_works=0
if [ "$CC" ]; then
"$CC" -o "$TEMP_EXE" "$TEMP_C" >/dev/null 2>&1 && cc_works=1
else
for CC in ${CC:=$(which ${CROSS_COMPILE}gcc ${CROSS_COMPILE}cc ${CROSS_COMPILE}clang 2>/dev/null)} ''; do
"$CC" -o "$TEMP_EXE" "$TEMP_C" >/dev/null 2>&1 && cc_works=1 && break
done
fi
rm -f "$TEMP_C" "$TEMP_EXE"
cc_status='does not work'
if [ "$cc_works" == '1' ]; then
cc_status='works'
elif [ -z $CC ]; then
cc_status='not found'
fi
echo "Checking for suitable working C compiler ... $CC $cc_status"
if [ "$cc_works" == '0' ] && [ "$USE_LANG_C" = 'yes' ]; then
echo "Error: Cannot proceed without a working C compiler."
exit 1
fi
# 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"
cat << EOF > "$TEMP_CXX"
#include <iostream>
int main() { std::cout << "Hai guise" << std::endl; return 0; }
EOF
if [ -z "$CXX" ]; then
for CXX in ${CXX:=$(which ${CROSS_COMPILE}g++ ${CROSS_COMPILE}c++ ${CROSS_COMPILE}clang++ 2>/dev/null)} ''; do
"$CXX" -o "$TEMP_EXE" "$TEMP_CXX" >/dev/null 2>&1 && break
done
fi
[ "$CXX" ] || { echo "$ECHOBUF ... Not found. Exiting."; exit 1;}
echo "$ECHOBUF ... $CXX"
rm -f "$TEMP_CXX" "$TEMP_EXE"
cxx_works=0
if [ "$CXX" ]; then
"$CXX" -o "$TEMP_EXE" "$TEMP_CXX" >/dev/null 2>&1 && cxx_works=1
else
for CXX in ${CXX:=$(which ${CROSS_COMPILE}g++ ${CROSS_COMPILE}c++ ${CROSS_COMPILE}clang++ 2>/dev/null)} ''; do
"$CXX" -o "$TEMP_EXE" "$TEMP_CXX" >/dev/null 2>&1 && cxx_works=1 && break
done
fi
rm -f "$TEMP_CXX" "$TEMP_EXE"
cxx_status='does not work'
if [ "$cxx_works" = '1' ]; then
cxx_status='works'
elif [ -z $CXX ]; then
cxx_status='not found'
fi
echo "Checking for suitable working C++ compiler ... $CXX $cxx_status"
if [ "$cxx_works" = '0' ] && [ "$USE_LANG_CXX" = 'yes' ]; then
echo "Error: Cannot proceed without a working C++ compiler."
exit 1
fi
if [ "$OS" = "Win32" ]; then
ECHOBUF="Checking for windres"
echobuf="Checking for windres"
if [ -z "$WINDRES" ]; then
WINDRES=$(which ${CROSS_COMPILE}windres)
[ "$WINDRES" ] || { echo "$ECHOBUF ... Not found. Exiting."; exit 1; }
[ "$WINDRES" ] || { echo "$echobuf ... Not found. Exiting."; exit 1; }
fi
echo "$ECHOBUF ... $WINDRES"
echo "$echobuf ... $WINDRES"
fi
ECHOBUF="Checking for pkg-config"
[ -n "$PKG_CONF_PATH" ] || {
PKG_CONF_PATH="none"
@ -93,7 +87,7 @@ ECHOBUF="Checking for pkg-config"
}
echo "$ECHOBUF ... $PKG_CONF_PATH"
echo "Checking for pkg-config ... $PKG_CONF_PATH"
if [ "$PKG_CONF_PATH" = "none" ]; then
echo "Warning: pkg-config not found, package checks will fail."

28
qb/qb.system.sh Normal file
View File

@ -0,0 +1,28 @@
if [ -n "$CROSS_COMPILE" ]; then
case "$CROSS_COMPILE" in
*'-mingw32'*) OS='Win32';;
*);;
esac
fi
if [ -z "$CROSS_COMPILE" ] || [ -z "$OS" ]; then
case "$(uname)" in
'Linux') OS='Linux';;
*'BSD') OS='BSD';;
'Darwin') OS='Darwin';;
'CYGWIN'*) OS='Cygwin';;
'Haiku') OS='Haiku';;
'MINGW'*) OS='Win32';;
*) OS="Win32";;
esac
fi
DISTRO=''
if [ -e /etc/lsb-release ]; then
. /etc/lsb-release
DISTRO="(${DISTRIB_DESCRIPTION} ${DISTRIB_RELEASE})"
fi
echo "Checking operating system ... $OS ${DISTRO}"