Commit 87b81bb5 authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Peter Korsgaard
Browse files

toolchain: move sysroot to host dir



* Drop the BR2_STAGING_DIR option
* Hardcode STAGING_DIR to $(HOST_DIR)/usr/TUPLE/sysroot

Signed-off-by: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent f78b344e
Loading
Loading
Loading
Loading
+0 −13
Original line number Diff line number Diff line
@@ -72,19 +72,6 @@ config BR2_DL_DIR

	  The default is $(TOPDIR)/dl

config BR2_STAGING_DIR
	string "Toolchain and header file location?"
	default "$(BASE_DIR)/staging"
	help
	  This is the location where the toolchain will be installed.  The
	  toolchain will not work if it is moved from this location.
	  Therefore, if you wish to package up a uClibc toolchain, it is
	  important that is is set to the final location where the toolchain
	  will be used.

	  Most people will leave this set to the default value of
	  "$(BASE_DIR)/staging".

menu "Mirrors and Download locations"

config BR2_PRIMARY_SITE
+0 −2
Original line number Diff line number Diff line
@@ -268,8 +268,6 @@ TAR_OPTIONS=$(call qstrip,$(BR2_TAR_OPTIONS)) -xf

GNU_TARGET_SUFFIX:=-$(call qstrip,$(BR2_GNU_TARGET_SUFFIX))

STAGING_DIR:=$(call qstrip,$(BR2_STAGING_DIR))

# packages compiled for the host goes here
HOST_DIR:=$(BASE_DIR)/host

+28 −26
Original line number Diff line number Diff line
@@ -9,6 +9,34 @@ HOSTMAKE :=$(shell which $(HOSTMAKE) || type -p $(HOSTMAKE) || echo make)
MAKE1:=$(HOSTMAKE) -j1
MAKE:=$(HOSTMAKE) -j$(BR2_JLEVEL)

# Compute GNU_TARGET_NAME and REAL_GNU_TARGET_NAME
GNU_TARGET_NAME=$(ARCH)-linux

ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
LIBC=uclibc
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
LIBC=uclibc
else
LIBC=gnu
endif

# The ABI suffix is a bit special on ARM, as it needs to be
# -uclibcgnueabi for uClibc EABI, -uclibc for uClibc OABI, -gnueabi
# for glibc EABI and -gnu for glibc OABI. This means that the LIBC and
# ABI aren't strictly orthogonal, which explains why we need the test
# on LIBC below.
ifeq ($(BR2_ARM_EABI),y)
ifeq ($(LIBC),uclibc)
ABI=gnueabi
else
ABI=eabi
endif
endif

REAL_GNU_TARGET_NAME=$(ARCH)-unknown-linux-$(LIBC)$(ABI)

STAGING_DIR=$(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sysroot

ifeq ($(BR2_OPTIMIZE_0),y)
TARGET_OPTIMIZATION+=-O0
endif
@@ -85,32 +113,6 @@ TARGET_LDFLAGS+=-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib
TARGET_CXXFLAGS=$(TARGET_CFLAGS)
TARGET_SYSROOT_OPT=--sysroot=$(STAGING_DIR)

# Compute GNU_TARGET_NAME and REAL_GNU_TARGET_NAME
GNU_TARGET_NAME=$(ARCH)-linux

ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
LIBC=uclibc
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
LIBC=uclibc
else
LIBC=gnu
endif

# The ABI suffix is a bit special on ARM, as it needs to be
# -uclibcgnueabi for uClibc EABI, -uclibc for uClibc OABI, -gnueabi
# for glibc EABI and -gnu for glibc OABI. This means that the LIBC and
# ABI aren't strictly orthogonal, which explains why we need the test
# on LIBC below.
ifeq ($(BR2_ARM_EABI),y)
ifeq ($(LIBC),uclibc)
ABI=gnueabi
else
ABI=eabi
endif
endif

REAL_GNU_TARGET_NAME=$(ARCH)-unknown-linux-$(LIBC)$(ABI)

ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)