Browse Source

clang does not know -static-libgcc on Darwin

Waldemar Brodkorb 9 years ago
parent
commit
ff1d511b58
3 changed files with 15 additions and 4 deletions
  1. 1 1
      adk/config/Makefile
  2. 7 2
      mk/vars.mk
  3. 7 1
      scripts/scan-tools.sh

+ 1 - 1
adk/config/Makefile

@@ -6,7 +6,7 @@ include ${ADK_TOPDIR}/rules.mk
 endif
 
 CP=cp -fpR
-HOST_CFLAGS:=-DKBUILD_NO_NLS -O0 -g0 -w -static-libgcc
+HOST_CFLAGS+=-DKBUILD_NO_NLS -w
 
 all: ncurses conf mconf
 

+ 7 - 2
mk/vars.mk

@@ -186,10 +186,15 @@ endif
 
 # host compiler and linker flags
 HOST_CPPFLAGS:=		-I$(STAGING_HOST_DIR)/usr/include
-HOST_CFLAGS:=		-O0 -g0 -static-libgcc
-HOST_CXXFLAGS:=		-O0 -g0 -static-libgcc
+HOST_CFLAGS:=		-O0 -g0
+HOST_CXXFLAGS:=		-O0 -g0
 HOST_LDFLAGS:=		-L$(STAGING_HOST_DIR)/usr/lib -Wl,-rpath -Wl,${STAGING_HOST_DIR}/usr/lib -static-libgcc
 
+ifeq ($(ADK_HOST_DARWIN),)
+HOST_CFLAGS+=		-static-libgcc
+HOST_CXXFLAGS+=		-static-libgcc
+endif
+
 PATCH=			PATH=${HOST_PATH} ${BASH} $(SCRIPT_DIR)/patch.sh
 PATCHP0=		PATH=${HOST_PATH} patch -p0
 

+ 7 - 1
scripts/scan-tools.sh

@@ -5,6 +5,7 @@ shopt -s extglob
 topdir=$(pwd)
 opath=$PATH
 out=0
+clang=0
 
 if [[ $NO_ERROR != @(0|1) ]]; then
 	echo Please do not invoke this script directly!
@@ -60,6 +61,7 @@ OpenBSD)
 	fi
 	;;
 Darwin*)
+	clang=1
 	;;
 *)
 	# unsupported
@@ -77,12 +79,16 @@ else
 	makecmd=$(which gmake 2>/dev/null )
 fi
 
+if [ $clang -ne 1 ];then
+HCFLAGS=-static-libgcc
+fi
+
 cat >Makefile <<'EOF'
 include ${ADK_TOPDIR}/prereq.mk
 all: run-test
 
 test: test.c
-	${HOST_CC} -static-libgcc -o $@ $^ ${LDADD}
+	${HOST_CC} $(HCFLAGS) -o $@ $^ ${LDADD}
 
 run-test: test
 	./test