With C++14 the following error happens on CentOS 7.x:
==================================
$ clang++ -std=c++1y -Wall -Wextra -pedantic -Wno-missing-field-initializers \
-I. -O2 -DOSXCROSS_VERSION="\"1.2\"" -DOSXCROSS_TARGET="\"darwin14\"" \
-DOSXCROSS_OSX_VERSION_MIN="\"10.6\"" -DOSXCROSS_LINKER_VERSION="\"530\"" \
-DOSXCROSS_LIBLTO_PATH="\"/usr/lib64/llvm\"" \
-DOSXCROSS_BUILD_DIR="\"/osxcross/build\"" -isystem quirks/include \
-c -o target.o target.cpp
In file included from target.cpp:24:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/iostream:39:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/ostream:38:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/ios:42:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/ios_base.h:41:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/locale_classes.h:40:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/string:52:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/basic_string.h:2815:
In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/ext/string_conversions.h:43:
/usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/cstdio:120:11: error: no member named 'gets' in the global namespace
using ::gets;
~~^
1 error generated.
==================================
That's a known issue with older C++ headers, see https://bugs.llvm.org/show_bug.cgi?id=30277
With C++11 we then get another problem:
==================================
$ clang++ -std=c++0x -Wall -Wextra -pedantic -Wno-missing-field-initializers \
-I. -O2 -DOSXCROSS_VERSION="\"1.2\"" -DOSXCROSS_TARGET="\"darwin14\"" \
-DOSXCROSS_OSX_VERSION_MIN="\"10.6\"" -DOSXCROSS_LINKER_VERSION="\"530\"" \
-DOSXCROSS_LIBLTO_PATH="\"/usr/lib64/llvm\"" \
-DOSXCROSS_BUILD_DIR="\"/osxcross/build\"" -isystem quirks/include \
-c -o programs/osxcross-conf.o programs/osxcross-conf.cpp
programs/osxcross-conf.cpp:50:49: error: 'auto' not allowed in lambda parameter
static auto print = [](const char *var, const auto &val) {
^~~~
programs/osxcross-conf.cpp:50:55: warning: unused parameter 'val' [-Wunused-parameter]
static auto print = [](const char *var, const auto &val) {
^
programs/osxcross-conf.cpp:54:3: error: no matching function for call to object of type '<lambda at programs/osxcross-conf.cpp:50:23>'
print("VERSION", getOSXCrossVersion());
==================================
That last issue requires a move from a lambda to more ugly
template solution. But in the end we get all built!
* improve and colorize warning/error/debug/info messages
* add include path warnings for /usr/include and /usr/local/include
other changes:
* bump version to 0.10