add secret option to use host's toolchain when native compiling

SVN-Revision: 4553
This commit is contained in:
Mike Baker 2006-08-10 19:25:26 +00:00
parent df5c53e2fc
commit 149935592c
5 changed files with 28 additions and 8 deletions

View File

@ -16,7 +16,7 @@ menuconfig DEVEL
bool "Advanced configuration options (for developers)"
default n
select BUILDOPTS
select TOOLCHAINOPTS
select TOOLCHAINOPTS if !NATIVE_TOOLCHAIN
config BROKEN
bool "Show broken platforms / packages" if DEVEL

View File

@ -86,6 +86,7 @@ define Package/libgcc
SECTION:=libs
CATEGORY:=Libraries
DEFAULT:=y
DEPENDS:=@!NATIVE_TOOLCHAIN
TITLE:=GCC support library
VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE)
DESCRIPTION:=$(TITLE)
@ -94,6 +95,7 @@ endef
define Package/libpthread
$(call Package/base-files$(TARGET))
DEFAULT:=n
DEPENDS:=@!NATIVE_TOOLCHAIN
VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
TITLE:=POSIX thread library
DESCRIPTION:=POSIX thread library
@ -103,6 +105,7 @@ endef
define Package/uclibc
$(call Package/base-files$(TARGET))
VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
DEPENDS:=@!NATIVE_TOOLCHAIN
TITLE:=C library
DESCRIPTION:=C library for embedded systems
endef

View File

@ -33,9 +33,12 @@ STAMP_DIR:=$(BUILD_DIR)/stamp
TARGET_DIR:=$(BUILD_DIR)/root
IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/ipkg
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc
GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
TARGET_CROSS:=$(OPTIMIZE_FOR_CPU)-linux-uclibc-
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc
GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
TARGET_CROSS:=$(OPTIMIZE_FOR_CPU)-linux-uclibc-
endif
IMAGE:=$(BUILD_DIR)/root_fs_$(ARCH)
TARGET_PATH:=$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:$(PATH)

View File

@ -1,7 +1,14 @@
#
config NATIVE_TOOLCHAIN
bool
prompt "Use host's toolchain" if DEVEL && BROKEN
default n
help
If enabled, OpenWrt will compile using your existing toolchain instead of compiling one
menuconfig TOOLCHAINOPTS
bool "Toolchain Options" if DEVEL
depends !NATIVE_TOOLCHAIN
source "toolchain/binutils/Config.in"
source "toolchain/gcc/Config.in"

View File

@ -7,7 +7,12 @@
# Main makefile for the toolchain
#
include $(TOPDIR)/rules.mk
TARGETS-y:=sed kernel-headers sstrip binutils gcc uClibc ipkg-utils libnotimpl ext2fs squashfs jffs2 lzma
TARGETS-y:=sed kernel-headers sstrip
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
TARGETS-y+=binutils gcc uClibc
endif
TARGETS-y+=ipkg-utils libnotimpl ext2fs squashfs jffs2 lzma
TARGETS-$(CONFIG_GDB) += gdb
TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y))
@ -21,9 +26,11 @@ clean: $(TARGETS_CLEAN)
kernel-headers-prepare: sed-install
uClibc-prepare: kernel-headers-prepare sstrip-install
binutils-prepare: uClibc-prepare
gcc-prepare: binutils-install
uClibc-compile: gcc-compile
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
binutils-prepare: uClibc-prepare
gcc-prepare: binutils-install
uClibc-compile: gcc-compile
endif
gcc-install: uClibc-install
squashfs-compile: lzma-install