From a1f303c316be60e5a282a6a6a27726152b529a51 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 24 Feb 2015 12:46:47 +0100 Subject: extend KERNEL_MAKE_OPTS by the target directory This change is straightforward but in toolchain/kernel-headers/Makefile which seems to be called before ${BUILD_DIR}/linux symlink exists. Therefore define LINUX_DIR to the correct value in between inclusion of vars.mk (through rules.mk) and kernel-vars.mk. --- toolchain/kernel-headers/Makefile | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'toolchain') diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile index 1b28c151a..1d24d3853 100644 --- a/toolchain/kernel-headers/Makefile +++ b/toolchain/kernel-headers/Makefile @@ -5,9 +5,14 @@ include $(ADK_TOPDIR)/rules.mk include ../rules.mk include $(ADK_TOPDIR)/mk/kernel-ver.mk include $(ADK_TOPDIR)/mk/linux.mk -include $(ADK_TOPDIR)/mk/kernel-vars.mk include $(ADK_TOPDIR)/mk/buildhlp.mk +# override linux dir here, as build_bla_bla/linux does not exist yet +LINUX_DIR=${WRKBUILD} + +include $(ADK_TOPDIR)/mk/kernel-vars.mk + + $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched: ifeq ($(ADK_TARGET_SYSTEM_PCENGINES_APU),y) ifeq ($(ADK_KERNEL_ROOT_NFS),y) @@ -60,8 +65,8 @@ endif touch $@ $(WRKBUILD)/.headers: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched - $(KERNEL_MAKE_ENV) $(MAKE) -C $(WRKBUILD) $(KERNEL_MAKE_OPTS) headers_check - $(KERNEL_MAKE_ENV) $(MAKE) -C $(WRKBUILD) $(KERNEL_MAKE_OPTS) \ + $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) headers_check + $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) \ INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr \ headers_install ifeq ($(ADK_TARGET_ARCH_CRIS),y) -- cgit v1.2.3 From b35d9328163f84e2d7dc6f2504c5e7c3fffc92dd Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 24 Feb 2015 12:46:49 +0100 Subject: toolchain: add cross prelinking tool from yoctoproject and hook it into build system --- toolchain/Makefile | 3 +++ toolchain/prelink-cross/Config.in | 1 + toolchain/prelink-cross/Makefile | 34 ++++++++++++++++++++++++++++++++++ toolchain/prelink-cross/Makefile.inc | 8 ++++++++ 4 files changed, 46 insertions(+) create mode 100644 toolchain/prelink-cross/Config.in create mode 100644 toolchain/prelink-cross/Makefile create mode 100644 toolchain/prelink-cross/Makefile.inc (limited to 'toolchain') diff --git a/toolchain/Makefile b/toolchain/Makefile index 23f206ee7..e06e58de9 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -44,6 +44,9 @@ ifeq ($(ADK_TARGET_ARCH_ARC),) TARGETS+=gdb GDB:=gdb-install endif +ifeq (${ADK_PRELINK},y) +TARGETS+=prelink-cross +endif DOWNLOAD:=kernel-headers-download $(patsubst %,%-download,$(TARGETS)) TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS)) diff --git a/toolchain/prelink-cross/Config.in b/toolchain/prelink-cross/Config.in new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/toolchain/prelink-cross/Config.in @@ -0,0 +1 @@ + diff --git a/toolchain/prelink-cross/Makefile b/toolchain/prelink-cross/Makefile new file mode 100644 index 000000000..d1cc58c07 --- /dev/null +++ b/toolchain/prelink-cross/Makefile @@ -0,0 +1,34 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk +include ../rules.mk +include Makefile.inc +include ${ADK_TOPDIR}/mk/buildhlp.mk + +$(WRKBUILD)/.headers: +$(WRKBUILD)/.configured: + (cd $(WRKBUILD)/trunk; \ + ./configure \ + --prefix=$(STAGING_HOST_DIR) \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --disable-dependency-tracking \ + --disable-libtool-lock \ + --with-gnu-ld \ + ); + touch $@ + +$(WRKBUILD)/.compiled: + $(MAKE) -C $(WRKBUILD)/trunk CFLAGS="-fPIC ${CFLAGS_FOR_BUILD}" + touch $@ + +$(WRKBUILD)/.installed: + install -c ${WRKBUILD}/trunk/src/prelink \ + ${TARGET_CROSS}prelink + install -c ${WRKBUILD}/trunk/src/prelink-rtld \ + ${TARGET_CROSS}prelink-rtld + touch $@ + +include ${ADK_TOPDIR}/mk/toolchain.mk diff --git a/toolchain/prelink-cross/Makefile.inc b/toolchain/prelink-cross/Makefile.inc new file mode 100644 index 000000000..634a18b84 --- /dev/null +++ b/toolchain/prelink-cross/Makefile.inc @@ -0,0 +1,8 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +# this is branch cross_prelink_r185 in git +PKG_NAME:= prelink-cross +PKG_VERSION:= 909470ee441237563d6236c505cb2d02ddc48704 +PKG_RELEASE:= 1 +PKG_SITES:= git://git.yoctoproject.org/prelink-cross -- cgit v1.2.3 From 1fdd433b0895a83e98ef63745463b39381b9f1ee Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 24 Feb 2015 12:47:19 +0100 Subject: toolchain/glibc: set asm-CPPFLAGS to CFLAGS when compiling the final version Otherwise, CFLAGS are not passed to gcc when compiling assembly (*.S) files. This is crucial for certain #define-optimisations (seen when compiling for armv5te). --- toolchain/glibc/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'toolchain') diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile index 1faf1e639..75d2e70e9 100644 --- a/toolchain/glibc/Makefile +++ b/toolchain/glibc/Makefile @@ -18,6 +18,7 @@ ifeq (${ADK_MAKE_PARALLEL},y) GLIBC_MAKEOPTS+= PARALLELMFLAGS="-j$(ADK_MAKE_JOBS)" endif + GLIBC_BUILD_DIR_INITIAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-headers GLIBC_BUILD_DIR_FINAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-final @@ -54,7 +55,7 @@ $(WRKBUILD)/.configured: touch $@ $(WRKBUILD)/.compiled: - ${GLIBC_ENV} $(MAKE) ${GLIBC_MAKEOPTS} -C $(GLIBC_BUILD_DIR_FINAL) all + ${GLIBC_ENV} $(MAKE) ${GLIBC_MAKEOPTS} asm-CPPFLAGS='$${CFLAGS}' -C $(GLIBC_BUILD_DIR_FINAL) all touch $@ $(WRKBUILD)/.installed: -- cgit v1.2.3 From 874f9c46c0a02893e6ca2cfc32a085c99dc78d28 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 1 Mar 2015 13:12:06 +0100 Subject: add quirks for clang --- toolchain/gcc/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'toolchain') diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index f38ba051a..65899a334 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -4,6 +4,7 @@ include $(ADK_TOPDIR)/rules.mk include ../rules.mk include Makefile.inc +include $(ADK_TOPDIR)/mk/os.mk # disable SSP for libstdc++ ifeq ($(ADK_TARGET_LIB_MUSL),y) @@ -182,6 +183,8 @@ endif $(SED) '/k prot/agcc_cv_libc_provides_ssp=yes' $(WRKBUILD)/gcc/configure cd $(GCC_BUILD_DIR_MINIMAL); \ PATH='$(TARGET_PATH)' \ + CC='$(HOST_CC)' \ + CXX='$(HOST_CXX)' \ CFLAGS="-O0 -g0 -fomit-frame-pointer" \ CXXFLAGS="-O0 -g0 -fomit-frame-pointer" \ $(WRKBUILD)/configure \ @@ -204,6 +207,8 @@ $(GCC_BUILD_DIR_INITIAL)/.configured: mkdir -p $(GCC_BUILD_DIR_INITIAL) cd $(GCC_BUILD_DIR_INITIAL); \ PATH='$(TARGET_PATH)' \ + CC='$(HOST_CC)' \ + CXX='$(HOST_CXX)' \ CFLAGS="-O0 -g0 -fomit-frame-pointer" \ CXXFLAGS="-O0 -g0 -fomit-frame-pointer" \ $(WRKBUILD)/configure \ @@ -227,6 +232,8 @@ $(GCC_BUILD_DIR_FINAL)/.configured: mkdir -p $(GCC_BUILD_DIR_FINAL) cd $(GCC_BUILD_DIR_FINAL); \ PATH='$(TARGET_PATH)' \ + CC='$(HOST_CC)' \ + CXX='$(HOST_CXX)' \ CFLAGS_FOR_TARGET='$(TARGET_CFLAGS)' \ CXXFLAGS_FOR_TARGET='$(TARGET_CXXFLAGS)' \ $(WRKBUILD)/configure \ -- cgit v1.2.3 From e8583149d4dd16b7cedc135d63a46138dffcef85 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 2 Mar 2015 11:53:35 -0600 Subject: update elf2flt, so that arm-nommu binaries are linkable. --- toolchain/elf2flt/Makefile.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'toolchain') diff --git a/toolchain/elf2flt/Makefile.inc b/toolchain/elf2flt/Makefile.inc index a3f39ab52..029237679 100644 --- a/toolchain/elf2flt/Makefile.inc +++ b/toolchain/elf2flt/Makefile.inc @@ -2,7 +2,7 @@ # material, please see the LICENCE file in the top-level directory. PKG_NAME:= elf2flt -PKG_VERSION:= 20150129 +PKG_VERSION:= 20150227 PKG_RELEASE:= 1 -PKG_HASH:= b0b9792723f380794c44db4124815f961f2cb87be156d4e2f560759f9f9f913b +PKG_HASH:= 9369274cf244fc090ebee08ee6eee552fba1286f63be4a558dfa149dfa91fc4c PKG_SITES:= http://www.openadk.org/distfiles/ -- cgit v1.2.3 From 7334f12c3af8939e8d7d7b6fa4c1afa7ad0c8cd1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 3 Mar 2015 05:26:18 +0100 Subject: disable werror, as suggested by a GNU libc developer to avoid breakage for architectures like hppa --- toolchain/glibc/Makefile.inc | 1 + 1 file changed, 1 insertion(+) (limited to 'toolchain') diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc index f7e4c42b9..9ac7c711b 100644 --- a/toolchain/glibc/Makefile.inc +++ b/toolchain/glibc/Makefile.inc @@ -23,6 +23,7 @@ GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \ --host=$(GNU_TARGET_NAME) \ --with-headers=$(STAGING_TARGET_DIR)/usr/include \ --disable-sanity-checks \ + --disable-werror \ --disable-nls \ --without-cvs \ --disable-profile \ -- cgit v1.2.3