From 31ac0938d662a2b0ec7a817ff30ba0cbb775ef84 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 9 Jun 2008 21:29:40 +0000 Subject: [PATCH] adds native toolchain SVN-Revision: 11421 --- {utils => devel}/binutils/Makefile | 9 +- devel/build-essential/Makefile | 32 +++++++ .../files/usr/src/hello/hello.c | 8 ++ devel/gcc/Makefile | 90 +++++++++++++++++++ {utils => devel}/make/Makefile | 4 +- 5 files changed, 137 insertions(+), 6 deletions(-) rename {utils => devel}/binutils/Makefile (91%) create mode 100644 devel/build-essential/Makefile create mode 100644 devel/build-essential/files/usr/src/hello/hello.c create mode 100644 devel/gcc/Makefile rename {utils => devel}/make/Makefile (96%) diff --git a/utils/binutils/Makefile b/devel/binutils/Makefile similarity index 91% rename from utils/binutils/Makefile rename to devel/binutils/Makefile index ab9201eb4d..99af8a30b7 100644 --- a/utils/binutils/Makefile +++ b/devel/binutils/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://ftp.gnu.org/gnu/binutils/ \ ftp://ftp.uu.net/archive/systems/gnu/ \ ftp://ftp.eu.uu.net/pub/gnu/ \ ftp://ftp.funet.fi/pub/gnu/prep/ \ - ftp://ftp.leo.org/pub/comp/os/unix/gnu/ + ftp://ftp.leo.org/pub/comp/os/unix/gnu/ PKG_SOURCE:=binutils-$(PKG_VERSION).tar.bz2 PATCH_DIR:=$(TOPDIR)/toolchain/binutils/patches/$(PKG_VERSION) @@ -23,12 +23,13 @@ PATCH_DIR:=$(TOPDIR)/toolchain/binutils/patches/$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk CONFIGURE_ARGS_XTRA+=--disable-werror \ - --disable-nls + --disable-nls define Package/binutils - SECTION:=utils - CATEGORY:=Utilities + SECTION:=devel + CATEGORY:=Development TITLE:=binutils + DEPENDS:=@TARGET_x86 endef define Package/binutils/description diff --git a/devel/build-essential/Makefile b/devel/build-essential/Makefile new file mode 100644 index 0000000000..f2b64d0d80 --- /dev/null +++ b/devel/build-essential/Makefile @@ -0,0 +1,32 @@ +# +# Copyright (C) 2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# blogic@openwrt.org + +include $(TOPDIR)/rules.mk + +PKG_NAME:=build-essential +PKG_RELEASE:=1 +PKG_VERSION:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/build-essential + SECTION:=devel + CATEGORY:=Development + TITLE:=Build essentials + DEPENDS=+gcc +make +binutils +endef + +define Build/Compile + +endef + +define Package/build-essential/install + cp -r ./files/* $(1) +endef + +$(eval $(call BuildPackage,build-essential)) diff --git a/devel/build-essential/files/usr/src/hello/hello.c b/devel/build-essential/files/usr/src/hello/hello.c new file mode 100644 index 0000000000..e693fd8c44 --- /dev/null +++ b/devel/build-essential/files/usr/src/hello/hello.c @@ -0,0 +1,8 @@ +#include + +int main(int argc, char **argv) +{ + printf("Hello OpenWrt\n"); + + return 0; +} diff --git a/devel/gcc/Makefile b/devel/gcc/Makefile new file mode 100644 index 0000000000..95759fd2a2 --- /dev/null +++ b/devel/gcc/Makefile @@ -0,0 +1,90 @@ +# +# Copyright (C) 2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk +PKG_NAME:=gcc +PKG_VERSION:=$(strip $(subst ",, $(CONFIG_GCC_VERSION)))#")) +PKG_RELEASE:=1 +PATCH_DIR=$(TOPDIR)/toolchain/gcc/patches/$(PKG_VERSION) +PKG_SOURCE_URL:=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(PKG_VERSION) \ + http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(PKG_VERSION) \ + ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(PKG_VERSION) + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_MD5SUM:=354853e0b2da90c527e35aabb8d6f1e6 + +include $(INCLUDE_DIR)/package.mk + +SEP:=, +TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)" +EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-biarch --enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-uclibc) + +define Package/gcc + SECTION:=devel + CATEGORY:=Development + TITLE:=gcc + DEPENDS:=@TARGET_x86 +endef + +define Package/gcc/description + build a native toolchain for compiling on target +endef + +define Build/Prepare + $(call Build/Prepare/Default) + $(SED) 's,\(version_string.. = "[0-9\.]*\).*\(";\),\1 (OpenWrt-2.0)\2,' $(PKG_BUILD_DIR)/gcc/version.c + $(SED) 's,\(bug_report_url.. = "\).*\(";\),\1\2,' $(PKG_BUILD_DIR)/gcc/version.c + (cd $(PKG_BUILD_DIR)/libstdc++-v3; autoconf;); + $(SED) 's,gcc_no_link=yes,gcc_no_link=no,' $(PKG_BUILD_DIR)/libstdc++-v3/configure +endef + +define Build/Configure + (cd $(PKG_BUILD_DIR); rm -f config.cache; \ + SHELL="$(BASH)" \ + $(TARGET_CONFIGURE_OPTS) \ + $(PKG_BUILD_DIR)/configure \ + $(TARGET_CONFIGURE_ARGS) \ + --build=$(GNU_HOST_NAME) \ + --host=$(REAL_GNU_TARGET_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --enable-languages=$(TARGET_LANGUAGES) \ + --enable-shared \ + --disable-__cxa_atexit \ + --enable-target-optspace \ + --with-gnu-ld \ + --disable-nls \ + --disable-libmudflap \ + --disable-multilib \ + $(EXTRA_TARGET) \ + $(SOFT_FLOAT_CONFIG_OPTION) \ + $(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \ + ); +endef + +define Build/Compile + export SHELL="$(BASH)"; $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR="$(PKG_INSTALL_DIR)" $(MAKE_ARGS) all install + # Set up the symlinks to enable lying about target name. + set -e; \ + (cd $(TOOLCHAIN_DIR); \ + ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \ + cd bin; \ + for app in $(REAL_GNU_TARGET_NAME)-* ; do \ + ln -sf $$$${app} \ + $(GNU_TARGET_NAME)$$$${app##$(REAL_GNU_TARGET_NAME)}; \ + done; \ + ); +endef + +define Package/gcc/install + $(INSTALL_DIR) $(1)/usr/lib/ + cp -r $(PKG_INSTALL_DIR)/* $(1) + cp -r $(TOOLCHAIN_DIR)/include $(1)/usr/ + cp $(TOOLCHAIN_DIR)/lib/crt* $(1)/usr/lib/ + cp $(TOOLCHAIN_DIR)/lib/libc.so $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,gcc)) diff --git a/utils/make/Makefile b/devel/make/Makefile similarity index 96% rename from utils/make/Makefile rename to devel/make/Makefile index 06153f1566..57dd155e5a 100644 --- a/utils/make/Makefile +++ b/devel/make/Makefile @@ -16,8 +16,8 @@ PKG_MD5SUM:=354853e0b2da90c527e35aabb8d6f1e6 include $(INCLUDE_DIR)/package.mk define Package/make - SECTION:=utils - CATEGORY:=Utilities + SECTION:=devel + CATEGORY:=Development TITLE:=make endef -- 2.30.2