diff options
-rwxr-xr-x | configure | 7 | ||||
-rw-r--r-- | sysinfo/toolchain/cparser.mk | 34 |
2 files changed, 41 insertions, 0 deletions
@@ -183,6 +183,9 @@ native_defaults() [ -z "$mb_native_cc" ] && mb_native_cc='clang' $mb_native_cc -dM -E - < /dev/null > /dev/null 2>/dev/null || mb_native_cc= + [ -z "$mb_native_cc" ] && mb_native_cc='cparser' + $mb_native_cc -dM -E - < /dev/null > /dev/null 2>/dev/null || mb_native_cc= + if [ x"$mb_native_cc" = x ]; then error_msg "config error: could not find a working native compiler." exit 2 @@ -197,6 +200,10 @@ native_defaults() fi if [ x"$mb_toolchain" = x ]; then + $mb_native_cc -dM -E - < /dev/null | grep '__CPARSER__' > /dev/null && mb_toolchain='cparser' + fi + + if [ x"$mb_toolchain" = x ]; then error_msg "config error: could not identify the native compiler." exit 2 fi diff --git a/sysinfo/toolchain/cparser.mk b/sysinfo/toolchain/cparser.mk new file mode 100644 index 0000000..c55dbe0 --- /dev/null +++ b/sysinfo/toolchain/cparser.mk @@ -0,0 +1,34 @@ +ifeq ($(CROSS_COMPILE)x,x) + CROSS_HOST = + CROSS_HOST_SPEC = +else + CROSS_HOST = $(HOST) + CROSS_HOST_SPEC = --target=$(HOST) +endif + + +CC = $(NATIVE_CC) $(CROSS_HOST_SPEC) -Wno-experimental -integrated-cpp +CPP = $(NATIVE_CC) $(CROSS_HOST_SPEC) -Wno-experimental -integrated-cpp -E +CXX = $(NATIVE_CC) $(CROSS_HOST_SPEC) -Wno-experimental -integrated-cpp -std=c++ + + +AS = $(CROSS_COMPILE)as +AR = $(CROSS_COMPILE)ar +LD = $(CROSS_COMPILE)ld +NM = $(CROSS_COMPILE)nm +OBJDUMP = $(CROSS_COMPILE)objdump +RANLIB = $(CROSS_COMPILE)ranlib +SIZE = $(CROSS_COMPILE)size +STRIP = $(CROSS_COMPILE)strip +STRINGS = $(CROSS_COMPILE)strings + + +ADDR2LINE = $(CROSS_COMPILE)addr2line +COV = $(CROSS_COMPILE)gcov +CXXFILT = $(CROSS_COMPILE)c++filt +ELFEDIT = $(CROSS_COMPILE)elfedit +OBJCOPY = $(CROSS_COMPILE)objcopy +READELF = $(CROSS_COMPILE)readelf + + +CFLAGS_PIC = -fPIC |