Merge branches 'crashlog_improvements', 'save_ext', 'version_utils' into jgrpp
This commit is contained in:
83
config.lib
83
config.lib
@@ -1236,12 +1236,15 @@ make_compiler_cflags() {
|
||||
# $4 - name of the ldflags variable
|
||||
# $5 - name of the features variable
|
||||
|
||||
# Get the compiler to tell us who it is
|
||||
compiler="`$1 --version | head -n1 | cut -d' ' -f1`"
|
||||
|
||||
eval eval "flags=\\\$$2"
|
||||
eval eval "cxxflags=\\\$$3"
|
||||
eval eval "ldflags=\\\$$4"
|
||||
eval eval "features=\\\$$5"
|
||||
|
||||
if [ `basename $1 | cut -c 1-3` = "icc" ]; then
|
||||
if [ "$compiler" = "icc" ]; then
|
||||
# Enable some things only for certain ICC versions
|
||||
cc_version=`$1 -dumpversion | cut -c 1-4 | sed s@\\\.@@g`
|
||||
|
||||
@@ -1333,7 +1336,7 @@ make_compiler_cflags() {
|
||||
features="$features lto"
|
||||
fi
|
||||
fi
|
||||
elif [ `basename $1 | grep 'clang'` ]; then
|
||||
elif [ "$compiler" = "clang" ]; then
|
||||
# Enable some things only for certain clang versions
|
||||
cc_version="`$1 -v 2>&1 | head -n 1 | sed s@[^0-9]@@g | cut -c 1-2`"
|
||||
|
||||
@@ -1393,6 +1396,8 @@ make_compiler_cflags() {
|
||||
|
||||
# rdynamic is used to get useful stack traces from crash reports.
|
||||
ldflags="$ldflags -rdynamic"
|
||||
|
||||
# Assume gcc, since it just uses argv[0] in its --version output
|
||||
else
|
||||
# Enable some things only for certain GCC versions
|
||||
# cc_version = major_version * 100 + minor_version
|
||||
@@ -1544,21 +1549,27 @@ EOL
|
||||
|
||||
make_cflags_and_ldflags() {
|
||||
# General CFlags for BUILD
|
||||
CFLAGS_BUILD="$CFLAGS_BUILD"
|
||||
CFLAGS_BUILD_ENV="$CFLAGS_BUILD"
|
||||
CFLAGS_BUILD=""
|
||||
# Special CXXFlags for BUILD
|
||||
CXXFLAGS_BUILD="$CXXFLAGS_BUILD"
|
||||
CXXFLAGS_BUILD_ENV="$CXXFLAGS_BUILD"
|
||||
CXXFLAGS_BUILD=""
|
||||
# LDFLAGS for BUILD
|
||||
LDFLAGS_BUILD="$LDFLAGS_BUILD"
|
||||
LDFLAGS_BUILD_ENV="$LDFLAGS_BUILD"
|
||||
LDFLAGS_BUILD=""
|
||||
# FEATURES for BUILD (lto)
|
||||
FEATURES_BUILD=""
|
||||
# General CFlags for HOST
|
||||
CFLAGS="$CFLAGS"
|
||||
CFLAGS_ENV="$CFLAGS"
|
||||
CFLAGS=""
|
||||
# Special CXXFlags for HOST
|
||||
CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS_ENV="$CXXFLAGS"
|
||||
CXXFLAGS=""
|
||||
# Libs to compile. In fact this is just LDFLAGS
|
||||
LIBS="-lstdc++"
|
||||
# LDFLAGS used for HOST
|
||||
LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS_ENV="$LDFLAGS"
|
||||
LDFLAGS=""
|
||||
# FEATURES for HOST (lto)
|
||||
FEATURES=""
|
||||
|
||||
@@ -2208,6 +2219,14 @@ EOL
|
||||
fi
|
||||
fi
|
||||
|
||||
# All flags to be extended via the env
|
||||
CFLAGS_BUILD="$CFLAGS_BUILD $CFLAGS_BUILD_ENV"
|
||||
CXXFLAGS_BUILD="$CXXFLAGS_BUILD $CXXFLAGS_BUILD_ENV"
|
||||
LDFLAGS_BUILD="$LDFLAGS_BUILD $LDFLAGS_BUILD_ENV"
|
||||
CFLAGS="$CFLAGS $CFLAGS_ENV"
|
||||
CXXFLAGS="$CXXFLAGS $CXXFLAGS_ENV"
|
||||
LDFLAGS="$LDFLAGS $LDFLAGS_ENV"
|
||||
|
||||
log 1 "using CFLAGS_BUILD... $CFLAGS_BUILD"
|
||||
log 1 "using CXXFLAGS_BUILD... $CXXFLAGS_BUILD"
|
||||
log 1 "using LDFLAGS_BUILD... $LDFLAGS_BUILD"
|
||||
@@ -2258,7 +2277,22 @@ check_compiler() {
|
||||
# $8 - "0" gcc, "1" g++, "2" windres, "3" strip, "4" lipo
|
||||
# $9 - What the command is to check for
|
||||
|
||||
if [ -n "$3" ]; then
|
||||
if [ -n "$4" ]; then
|
||||
# Check for manual compiler
|
||||
machine=`$4 $9 2>/dev/null`
|
||||
ret=$?
|
||||
eval "$2=\"$4\""
|
||||
|
||||
log 2 "executing $4 $9"
|
||||
log 2 " returned $machine"
|
||||
log 2 " exit code $ret"
|
||||
|
||||
if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]; then
|
||||
log 1 "checking $1... $4 not found"
|
||||
log 1 "the selected binary doesn't seem to be a $6 binary"
|
||||
exit 1
|
||||
fi
|
||||
elif [ -n "$3" ]; then
|
||||
# Check for system
|
||||
for val in $6; do
|
||||
if [ -z "$6" ]; then
|
||||
@@ -2306,21 +2340,6 @@ check_compiler() {
|
||||
log 1 "the compiler suggests it doesn't build code for the machine you specified"
|
||||
exit 1
|
||||
fi
|
||||
elif [ -n "$4" ]; then
|
||||
# Check for manual compiler
|
||||
machine=`$4 $9 2>/dev/null`
|
||||
ret=$?
|
||||
eval "$2=\"$4\""
|
||||
|
||||
log 2 "executing $4 $9"
|
||||
log 2 " returned $machine"
|
||||
log 2 " exit code $ret"
|
||||
|
||||
if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]; then
|
||||
log 1 "checking $1... $4 not found"
|
||||
log 1 "the selected binary doesn't seem to be a $6 binary"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# Nothing given, autodetect
|
||||
|
||||
@@ -2388,26 +2407,14 @@ check_compiler() {
|
||||
}
|
||||
|
||||
check_build() {
|
||||
if [ "$os" = "FREEBSD" ]; then
|
||||
# FreeBSD's C compiler does not support dump machine.
|
||||
# However, removing C support is not possible because PSP must be linked with the C compiler.
|
||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CXX" "$default_cxx" "c++" "0" "-dumpmachine"
|
||||
else
|
||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CC" "$default_cc" "cc" "0" "-dumpmachine"
|
||||
fi
|
||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CC" "$default_cc" "cc" "0" "-dumpmachine"
|
||||
}
|
||||
|
||||
check_host() {
|
||||
# By default the host is the build
|
||||
if [ -z "$host" ]; then host="$build"; fi
|
||||
|
||||
if [ "$os" = "FREEBSD" ]; then
|
||||
# FreeBSD's C compiler does not support dump machine.
|
||||
# However, removing C support is not possible because PSP must be linked with the C compiler.
|
||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CXX" "$default_cxx" "c++" "0" "-dumpmachine"
|
||||
else
|
||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CC" "$default_cc" "cc" "0" "-dumpmachine"
|
||||
fi
|
||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CC" "$default_cc" "cc" "0" "-dumpmachine"
|
||||
}
|
||||
|
||||
check_cxx_build() {
|
||||
|
||||
Reference in New Issue
Block a user