From d3b021b5410aeb3f62a7225dccb3f6f2617d4c38 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 7 Jan 2011 16:59:51 +0100 Subject: add toolchain settings menu point - gdb compilation can be disabled - gcc languages (c++/java) can be enabled/disabled - gcc stack smashing protection can be enabled/disabled --- mk/vars.mk | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index 25b285518..bb175928e 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -15,6 +15,9 @@ else TARGET_DEBUGGING:= -fomit-frame-pointer $(TARGET_OPTIMIZATION) endif TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) $(TARGET_DEBUGGING) -fwrapv +ifneq ($(ADK_TOOLCHAIN_GCC_USE_SSP),) +TARGET_CFLAGS+= -fstack-protector +endif BASE_DIR:= $(TOPDIR) DISTDIR?= ${BASE_DIR}/dl -- cgit v1.2.3 From 3c16357a9b7f099238b89d71d4e824cd6baa7427 Mon Sep 17 00:00:00 2001 From: Thorsten Glaser Date: Fri, 7 Jan 2011 14:25:20 +0000 Subject: make sysroot relative to have a relocatable gcc Signed-off-by: Thorsten Glaser --- mk/vars.mk | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index bb175928e..b376140ed 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -29,6 +29,9 @@ STAGING_HOST_DIR:= ${BASE_DIR}/host_${CPU_ARCH}_${ADK_TARGET_LIBC} STAGING_HOST_DIR_PFX:= ${BASE_DIR}/host_* STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC} STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_* +# relation from STAGING_HOST_DIR to STAGING_TARGET_DIR (for gcc to find +# its sysroot while staying relocatable) +STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC} TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC} TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_* TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build -- cgit v1.2.3 From 18aa85857ca8fa9d75d41c36665a1cb7e8bbda5c Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 8 Jan 2011 19:56:21 +0100 Subject: variable name cleanup --- mk/vars.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index b376140ed..37461e981 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -108,19 +108,19 @@ EXTRACT_CMD= mkdir -p ${WRKDIR}; \ cd ${WRKDIR} && \ for file in ${FULLDISTFILES}; do case $$file in \ *.cpio) \ - cat $$file | $(TOPDIR)/bin/tools/cpio -i -d ;; \ + cat $$file | $(TOOLS_DIR)/cpio -i -d ;; \ *.tar) \ tar -xf $$file ;; \ *.cpio.Z | *.cpio.gz | *.cgz | *.mcz) \ - gzip -dc $$file | $(TOPDIR)/bin/tools/cpio -i -d ;; \ + gzip -dc $$file | $(TOOLS_DIR)/cpio -i -d ;; \ *.tar.Z | *.tar.gz | *.taz | *.tgz) \ gzip -dc $$file | tar -xf - ;; \ *.cpio.bz2 | *.cbz) \ - bzip2 -dc $$file | $(TOPDIR)/bin/tools/cpio -i -d ;; \ + bzip2 -dc $$file | $(TOOLS_DIR)/cpio -i -d ;; \ *.tar.bz2 | *.tbz | *.tbz2) \ bzip2 -dc $$file | tar -xf - ;; \ *.zip) \ - cat $$file | $(TOPDIR)/bin/tools/cpio -ivd -H zip ;; \ + cat $$file | $(TOOLS_DIR)/cpio -ivd -H zip ;; \ *.arm) \ cp $$file ${WRKDIR} ;; \ *) \ -- cgit v1.2.3 From a217fc80b29080dae963bb15051df023de36ce39 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 10 Jan 2011 10:59:12 +0100 Subject: add LTO support to toolchain settings. Cleanup SYSROOT mess. - just use on sysroot directory for toolchain. - add missing patches from previos commit. (rpath/cflags cleanup) --- mk/vars.mk | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index 37461e981..7828347d5 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -9,14 +9,23 @@ INSTALL_SCRIPT= install -m0755 MAKEFLAGS= $(EXTRA_MAKEFLAGS) BUILD_USER= $(shell id -un) BUILD_GROUP= $(shell id -gn) + +# target compiler settings +TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include +TARGET_LDFLAGS+= -Wl,-O2 ifneq ($(ADK_DEBUG),) TARGET_DEBUGGING:= -g3 -fno-omit-frame-pointer else -TARGET_DEBUGGING:= -fomit-frame-pointer $(TARGET_OPTIMIZATION) +TARGET_DEBUGGING:= $(TARGET_OPTIMIZATION) -fomit-frame-pointer endif TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) $(TARGET_DEBUGGING) -fwrapv ifneq ($(ADK_TOOLCHAIN_GCC_USE_SSP),) TARGET_CFLAGS+= -fstack-protector +TARGET_LDFLAGS+= -fstack-protector +endif +ifneq ($(ADK_TOOLCHAIN_GCC_USE_LTO),) +TARGET_CFLAGS+= -flto +TARGET_LDFLAGS+= -flto endif BASE_DIR:= $(TOPDIR) @@ -56,8 +65,6 @@ endif TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++ TARGET_LD:= ${TARGET_COMPILER_PREFIX}ld -TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include -TARGET_LDFLAGS+= -Wl,-O2 PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh SED:= sed -i -e LINUX_DIR:= $(BUILD_DIR)/linux -- cgit v1.2.3 From 2d12c0b270254b0a2102fd032b9de406584297ae Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 10 Jan 2011 11:07:32 +0100 Subject: busybox wget does not know tries --- mk/vars.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index 7828347d5..0dd616846 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -140,6 +140,6 @@ QUIET:= else QUIET:= --quiet endif -FETCH_CMD?= wget --tries=1 --timeout=30 $(QUIET) +FETCH_CMD?= wget --timeout=30 $(QUIET) include $(TOPDIR)/mk/mirrors.mk -- cgit v1.2.3 From 72d93163012bc54c99ba5cd589f583fbf2c0dad6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 11 Jan 2011 13:58:28 +0100 Subject: fix bzr package build --- mk/vars.mk | 1 - 1 file changed, 1 deletion(-) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index 0dd616846..6a0f50a2f 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -54,7 +54,6 @@ TARGET_DIR_PFX:= $(BASE_DIR)/root_* TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_TARGET_DIR}/scripts:${_PATH} REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX) GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux -TOOLCHAIN_SYSROOT:= $(TOOLCHAIN_BUILD_DIR)/libc_dev ifeq ($(ADK_NATIVE),y) TARGET_CROSS:= TARGET_COMPILER_PREFIX?= -- cgit v1.2.3 From fd6e91a86e8d3bff49f1e893ad243d8fc0e324a5 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 13 Jan 2011 17:28:19 +0100 Subject: allow cross-compile under Darwin, fix ppp install targets --- mk/vars.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index 6a0f50a2f..8bbb7765b 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -51,7 +51,7 @@ BIN_DIR_PFX:= $(BASE_DIR)/bin PACKAGE_DIR:= $(BIN_DIR)/packages TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC} TARGET_DIR_PFX:= $(BASE_DIR)/root_* -TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_TARGET_DIR}/scripts:${_PATH} +TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH} REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX) GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux ifeq ($(ADK_NATIVE),y) -- cgit v1.2.3 From 15c84adca94bfe4a89ece5c04f06a884cf508ebb Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 17 Jan 2011 21:55:49 +0100 Subject: fix packages to be compile with stack protector - libtool do not pass -fstack-protector while linking, but this is required to successfully link libraries or executables with SSP - pass LDFLAGS for non-libtool packages --- mk/vars.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'mk/vars.mk') diff --git a/mk/vars.mk b/mk/vars.mk index 8bbb7765b..ab247901f 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -21,6 +21,7 @@ endif TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) $(TARGET_DEBUGGING) -fwrapv ifneq ($(ADK_TOOLCHAIN_GCC_USE_SSP),) TARGET_CFLAGS+= -fstack-protector +TARGET_CXXFLAGS+= -fstack-protector TARGET_LDFLAGS+= -fstack-protector endif ifneq ($(ADK_TOOLCHAIN_GCC_USE_LTO),) -- cgit v1.2.3