diff options
| -rw-r--r-- | Config.in | 2 | ||||
| -rw-r--r-- | package/base-files/Makefile | 3 | ||||
| -rw-r--r-- | rules.mk | 9 | ||||
| -rw-r--r-- | toolchain/Config.in | 7 | ||||
| -rw-r--r-- | toolchain/Makefile | 15 | 
5 files changed, 28 insertions, 8 deletions
@@ -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 diff --git a/package/base-files/Makefile b/package/base-files/Makefile index e41e1fd79..dce07fe50 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -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 @@ -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) diff --git a/toolchain/Config.in b/toolchain/Config.in index 37af938b3..b5258ddce 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -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" diff --git a/toolchain/Makefile b/toolchain/Makefile index 92069acb9..fb54bddf9 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -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  | 
