From: ms Date: Fri, 27 Oct 2006 15:10:51 +0000 (+0000) Subject: Cleanup. X-Git-Tag: v2.3-beta1~924 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=763a958aa88ad40ddfec5d808be575b9eba33110 Cleanup. git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@330 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- diff --git a/src/uClibc/Makefile b/src/uClibc/Makefile deleted file mode 100644 index b8c546e11d..0000000000 --- a/src/uClibc/Makefile +++ /dev/null @@ -1,238 +0,0 @@ -# Makefile for to build gcc for uClibc -# -# Copyright (C) 2002-2003 Erik Andersen -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# - -############################################################# -# -# EDIT this stuff to suit your system and preferences -# -# Use := when possible to get precomputation, thereby -# speeding up the build process. -# -############################################################# - -# What sortof target system shall we compile this for? -ARCH:=$(MACHINE) -#ARCH:=arm -#ARCH:=mips -#ARCH:=mipsel -# Possible issues remaining with powerpc and soft float. -#ARCH:=powerpc -#ARCH:=sh4 -# Busybox link failing due to needing libgcc functions that are statics. -#ARCH:=cris - -# The following currently fail to build since no shared lib support. -#ARCH:=sh64 -#ARCH:=m68k -#ARCH:=v850 -#ARCH:=sparc -#ARCH:=whatever - -# Enable this to use the uClibc daily snapshot instead of a released -# version. Daily snapshots may contain new features and bugfixes. Or -# they may not even compile at all, depending on what Erik is doing... -USE_UCLIBC_SNAPSHOT:=false - -# Enable this to use the busybox daily snapshot instead of a released -# version. Daily snapshots may contain new features and bugfixes. Or -# they may not even compile at all.... -USE_BUSYBOX_SNAPSHOT:=true - -# Enable large file (files > 2 GB) support -BUILD_WITH_LARGEFILE:=true - -# Command used to download source code -WGET:=wget --passive-ftp - -# Soft floating point options. -# Notes: -# Currently builds with gcc 3.3 for i386, arm, mips, mipsel. -# Only tested with multilib enabled. -# For i386, long double is the same as double (64 bits). While this -# is unusual for x86, it seemed the best approach considering the -# limitations in the gcc floating point emulation library. -# For arm, soft float uses the usual libfloat routines. -# The uClibc built will support _only_ applications compiled with the -# -msoft-float flag. To avoid CFLAGS problems, you may want to use -# scripts similar to those in the build*/staging_dir/bin directory. -# (Un)comment the appropriate line below. -#SOFT_FLOAT:=true -SOFT_FLOAT:=false - -# Any additional gcc options you may want to include.... -EXTRA_GCC_CONFIG_OPTIONS:= - -# Enable the following if you want locale/gettext/i18n support. -# NOTE! Currently the pregnerated locale stuff only works for x86! -#ENABLE_LOCALE:=true -ENABLE_LOCALE:=false - -# If you want multilib enabled, enable this... -MULTILIB:=--enable-multilib - -# Build/install c++ compiler and libstdc++? -INSTALL_LIBSTDCPP:=false - -# For SMP machines some stuff can be run in parallel -JLEVEL=-j3 - -############################################################# -# -# You should probably leave this stuff alone unless you know -# what you are doing. -# -############################################################# -USE_UCLIBC_TOOLCHAIN:=true -TARGETS:=uclibc-configured binutils gcc3_3 - -# Optimize toolchain for which type of CPU? -# WARNING!!! CURRENTLY BROKEN!!! LEAVE IT AS $(ARCH)!!! -OPTIMIZE_FOR_CPU=$(ARCH) - -ifeq ($(SOFT_FLOAT),true) -SOFT_FLOAT_CONFIG_OPTION:=--without-float -TARGET_SOFT_FLOAT:=-msoft-float -ARCH_FPU_SUFFIX:=_nofpu -else -SOFT_FLOAT_CONFIG_OPTION:= -TARGET_SOFT_FLOAT:= -ARCH_FPU_SUFFIX:= -endif - -ifeq ($(ENABLE_LOCALE),true) -EXTRA_GCC_CONFIG_OPTIONS += --enable-clocale=gnu -endif - -# WARNING -- uClibc currently disables large file support on cris. -ifeq ("$(strip $(ARCH))","cris") -BUILD_WITH_LARGEFILE:=false -endif - -ifneq ($(BUILD_WITH_LARGEFILE),true) -DISABLE_LARGEFILE= --disable-largefile -endif -TARGET_OPTIMIZATION=-Os -TARGET_DEBUGGING= #-g -TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_SOFT_FLOAT) - -HOSTCC:=gcc -SED:=sed -i -e -BASE_DIR:=${shell pwd} -SOURCE_DIR:=$(BASE_DIR)/sources -#DL_DIR:=$(SOURCE_DIR)/dl -DL_DIR:=/usr/src/cache -PATCH_DIR=$(SOURCE_DIR)/patches -#BUILD_DIR=$(BASE_DIR)/toolchain_$(ARCH)$(ARCH_FPU_SUFFIX) -BUILD_DIR=/opt/$(ARCH)-uClibc -STAGING_DIR=$(BUILD_DIR) -TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX) -TARGET_PATH=/usr/local/bin:$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin -#TARGET_CROSS=$(STAGING_DIR)/bin/$(ARCH)-uclibc- -TARGET_CROSS=$(STAGING_DIR)/bin/$(ARCH)-linux-uclibc- -TARGET_CC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -STRIP=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note -#STRIP:=/bin/true -IMAGE:=$(BASE_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX) -GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc -#KERNEL_CROSS=$(STAGING_DIR)/bin/$(ARCH)-uclibc- -KERNEL_CROSS=$(STAGING_DIR)/bin/$(ARCH)-linux-uclibc- -HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \ - -e 's/sparc.*/sparc/' \ - -e 's/arm.*/arm/g' \ - -e 's/m68k.*/m68k/' \ - -e 's/alpha.*/alpha/' \ - -e 's/ppc/powerpc/g' \ - -e 's/v850.*/v850/g' \ - -e 's/sh[234]/sh/' \ - -e 's/mips-.*/mips/' \ - -e 's/mipsel-.*/mipsel/' \ - -e 's/cris.*/cris/' \ - -e 's/i[3-9]86/i386/' \ - ) -GNU_HOST_NAME:=$(HOST_ARCH)-pc-linux-gnu -TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \ - AR=$(TARGET_CROSS)ar \ - AS=$(TARGET_CROSS)as \ - LD=$(TARGET_CROSS)ld \ - NM=$(TARGET_CROSS)nm \ - CC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - GCC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - CXX=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \ - RANLIB=$(TARGET_CROSS)ranlib -ifeq ($(ENABLE_LOCALE),true) -DISABLE_NLS:= -else -DISABLE_NLS:=--disable-nls -endif - - -all: world - -TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) -TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS)) -TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS)) - -world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGETS) - -.PHONY: all world clean dirclean distclean source $(TARGETS) \ - $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) - -include make/*.mk - -############################################################# -# -# staging and target directories do NOT list these as -# dependancies anywhere else -# -############################################################# -$(DL_DIR): - mkdir $(DL_DIR) - -$(STAGING_DIR): - rm -rf $(STAGING_DIR) - mkdir -p $(BUILD_DIR) - mkdir -p $(TOOL_BUILD_DIR) - mkdir -p $(STAGING_DIR)/lib - mkdir -p $(STAGING_DIR)/usr -# mkdir -p $(STAGING_DIR)/include - ln -fs ../lib $(STAGING_DIR)/usr/lib - -source: $(TARGETS_SOURCE) - -############################################################# -# -# Cleanup and misc junk -# -############################################################# -clean: $(TARGETS_CLEAN) - rm -rf $(STAGING_DIR) $(IMAGE) - -dirclean: $(TARGETS_DIRCLEAN) - rm -rf $(STAGING_DIR) $(IMAGE) - -distclean: - rm -rf $(DL_DIR) $(BUILD_DIR) $(LINUX_KERNEL) $(IMAGE) - -sourceball: - rm -rf $(BUILD_DIR) - set -e; \ - cd ..; \ - rm -f buildroot.tar.bz2; \ - tar -cvf buildroot.tar buildroot; \ - bzip2 -9 buildroot.tar; \ diff --git a/src/uClibc/make/binutils.mk b/src/uClibc/make/binutils.mk deleted file mode 100644 index 47011bcb40..0000000000 --- a/src/uClibc/make/binutils.mk +++ /dev/null @@ -1,210 +0,0 @@ -############################################################# -# -# build binutils for use on the host system -# -############################################################# -#BINUTILS_SITE:=http://ftp.kernel.org/pub/linux/devel/binutils -BINUTILS_VER:=2.16.1 -BINUTILS_SOURCE:=binutils-$(BINUTILS_VER).tar.bz2 -BINUTILS_DIR:=$(TOOL_BUILD_DIR)/binutils-$(BINUTILS_VER) -BINUTILS_CAT:=bzcat - -BINUTILS_DIR1:=$(TOOL_BUILD_DIR)/binutils-build - -$(DL_DIR)/$(BINUTILS_SOURCE): -# $(WGET) -P $(DL_DIR) $(BINUTILS_SITE)/$(BINUTILS_SOURCE) - -$(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE) - mkdir -p $(TOOL_BUILD_DIR) - mkdir -p $(DL_DIR) - mkdir -p $(STAGING_DIR) - mkdir -p $(STAGING_DIR)/lib/gcc-lib - mkdir -p $(STAGING_DIR)/usr/bin; - mkdir -p $(STAGING_DIR)/$(GNU_TARGET_NAME)/ - (cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../lib) - (cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../include) - (cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../include sys-include) - $(BINUTILS_CAT) $(DL_DIR)/$(BINUTILS_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf - - touch $(BINUTILS_DIR)/.unpacked - -$(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked - # Apply any files named binutils-*.patch from the source directory to binutils - $(SOURCE_DIR)/patch-kernel.sh $(BINUTILS_DIR) $(SOURCE_DIR) binutils/$(BINUTILS_VER)/*.patch - touch $(BINUTILS_DIR)/.patched - -$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched - mkdir -p $(BINUTILS_DIR1) - (cd $(BINUTILS_DIR1); CC="$(HOSTCC)" \ - CC_FOR_HOST="$(HOSTCC)" \ - CXX_FOR_HOST="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - $(BINUTILS_DIR)/configure \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_HOST_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=$(STAGING_DIR) \ - --exec-prefix=$(STAGING_DIR) \ - --bindir=$(STAGING_DIR)/bin \ - --sbindir=$(STAGING_DIR)/sbin \ - --sysconfdir=$(STAGING_DIR)/etc \ - --datadir=$(STAGING_DIR)/share \ - --includedir=$(STAGING_DIR)/include \ - --libdir=$(STAGING_DIR)/lib \ - --localstatedir=$(STAGING_DIR)/var \ - --mandir=$(STAGING_DIR)/man \ - --infodir=$(STAGING_DIR)/info \ - --enable-targets=$(GNU_TARGET_NAME) \ - --with-sysroot=$(STAGING_DIR) \ - $(MULTILIB) \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - --program-prefix=$(ARCH)-linux-uclibc-); - touch $(BINUTILS_DIR1)/.configured - -$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured - $(MAKE) $(JLEVEL) CC_FOR_HOST="$(HOSTCC)" \ - CXX_FOR_HOST="$(HOSTCC)" LDFLAGS="$(HOSTLDFLAGS)" \ - -C $(BINUTILS_DIR1); - -$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump - $(MAKE) $(JLEVEL) CC_FOR_HOST="$(HOSTCC)" \ - CXX_FOR_HOST="$(HOSTCC)" LDFLAGS="$(HOSTLDFLAGS)" \ - -C $(BINUTILS_DIR1) install; - rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \ - $(STAGING_DIR)/share/locale - mkdir -p $(STAGING_DIR)/usr/bin; - set -e; \ - for app in addr2line ar as c++filt gprof ld nm objcopy \ - objdump ranlib readelf size strings strip ; \ - do \ - if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-$${app} ] ; then \ - (cd $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; \ - ln -fs ../../bin/$(ARCH)-linux-uclibc-$${app} $${app}; \ - ); \ - (cd $(STAGING_DIR)/usr/bin; \ - ln -fs ../../bin/$(ARCH)-linux-uclibc-$${app} $${app}; \ - ); \ - fi; \ - done; - -$(STAGING_DIR)/lib/libg.a: - mkdir -p $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin - mkdir -p $(STAGING_DIR)/usr/include/ - mkdir -p $(STAGING_DIR)/usr/lib/ - $(TARGET_CROSS)ar rv $(STAGING_DIR)/lib/libg.a; - cp $(BINUTILS_DIR)/include/ansidecl.h $(STAGING_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/bfdlink.h $(STAGING_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/dis-asm.h $(STAGING_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/libiberty.h $(STAGING_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/symcat.h $(STAGING_DIR)/usr/include/ - cp $(BINUTILS_DIR1)/bfd/bfd.h $(STAGING_DIR)/usr/include/ - cp -a $(BINUTILS_DIR1)/bfd/.libs/* $(STAGING_DIR)/usr/lib/ - cp -a $(BINUTILS_DIR1)/opcodes/.libs/* $(STAGING_DIR)/usr/lib/ - cp -a $(BINUTILS_DIR1)/libiberty/libiberty.a $(STAGING_DIR)/usr/lib/ - -binutils: $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld $(STAGING_DIR)/lib/libg.a - -binutils-source: $(DL_DIR)/$(BINUTILS_SOURCE) - -binutils-clean: - rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)* - -$(MAKE) -C $(BINUTILS_DIR1) clean - -binutils-dirclean: - rm -rf $(BINUTILS_DIR1) - - - -############################################################# -# -# build binutils for use on the target system -# -############################################################# -BINUTILS_DIR2:=$(BUILD_DIR)/binutils-target -$(BINUTILS_DIR2)/.configured: $(BINUTILS_DIR)/.patched - mkdir -p $(BINUTILS_DIR2) - mkdir -p $(TARGET_DIR)/usr/include - mkdir -p $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/ - (cd $(BINUTILS_DIR2); \ - $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS)" \ - CC_FOR_BUILD="$(HOSTCC)" \ - CXX_FOR_BUILD="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - AR_FOR_TARGET=$(TARGET_CROSS)ar \ - AS_FOR_TARGET=$(TARGET_CROSS)as \ - LD_FOR_TARGET=$(TARGET_CROSS)ld \ - NM_FOR_TARGET=$(TARGET_CROSS)nm \ - CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \ - RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \ - $(BINUTILS_DIR)/configure \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(ARCH)-linux \ - --prefix=/usr \ - --mandir=/usr/man \ - --infodir=/usr/info \ - $(MULTILIB) \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - ); - touch $(BINUTILS_DIR2)/.configured - -$(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured - $(MAKE) $(JLEVEL) -C $(BINUTILS_DIR2) \ - CC_FOR_BUILD="$(HOSTCC)" \ - CXX_FOR_BUILD="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - AR_FOR_TARGET=$(TARGET_CROSS)ar \ - AS_FOR_TARGET=$(TARGET_CROSS)as \ - LD_FOR_TARGET=$(TARGET_CROSS)ld \ - NM_FOR_TARGET=$(TARGET_CROSS)nm \ - CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \ - RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib - touch -c $(BINUTILS_DIR2)/binutils/objdump - -$(TARGET_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/binutils/objdump - $(MAKE) $(JLEVEL) -C $(BINUTILS_DIR2) \ - CC_FOR_BUILD="$(HOSTCC)" \ - CXX_FOR_BUILD="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - AR_FOR_TARGET=$(TARGET_CROSS)ar \ - AS_FOR_TARGET=$(TARGET_CROSS)as \ - LD_FOR_TARGET=$(TARGET_CROSS)ld \ - NM_FOR_TARGET=$(TARGET_CROSS)nm \ - CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \ - CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \ - RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \ - prefix=/usr \ - infodir=/usr/info \ - mandir=/usr/man \ - DESTDIR=$(TARGET_DIR) install - rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ - $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc - -$(STRIP) $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/bin/* > /dev/null 2>&1 - -$(STRIP) $(TARGET_DIR)/usr/bin/* > /dev/null 2>&1 - -$(TARGET_DIR)/usr/lib/libg.a: - $(TARGET_CROSS)ar rv $(TARGET_DIR)/usr/lib/libg.a; - cp $(BINUTILS_DIR)/include/ansidecl.h $(TARGET_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/bfdlink.h $(TARGET_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/dis-asm.h $(TARGET_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/libiberty.h $(TARGET_DIR)/usr/include/ - cp $(BINUTILS_DIR)/include/symcat.h $(TARGET_DIR)/usr/include/ - cp $(BINUTILS_DIR2)/bfd/bfd.h $(TARGET_DIR)/usr/include/ - cp -a $(BINUTILS_DIR2)/bfd/.libs/* $(TARGET_DIR)/usr/lib/ - cp -a $(BINUTILS_DIR2)/opcodes/.libs/* $(TARGET_DIR)/usr/lib/ - cp -a $(BINUTILS_DIR2)/libiberty/libiberty.a $(TARGET_DIR)/usr/lib/ - -binutils_target: $(GCC_DEPENDANCY) $(TARGET_DIR)/usr/bin/ld $(TARGET_DIR)/usr/lib/libg.a - -binutils_target-clean: - rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)* - -$(MAKE) -C $(BINUTILS_DIR2) clean - -binutils_target-dirclean: - rm -rf $(BINUTILS_DIR2) - diff --git a/src/uClibc/make/gcc.mk b/src/uClibc/make/gcc.mk deleted file mode 100644 index c01c1887c5..0000000000 --- a/src/uClibc/make/gcc.mk +++ /dev/null @@ -1,447 +0,0 @@ -# Makefile for to build a gcc/uClibc toolchain -# -# Copyright (C) 2002-2003 Erik Andersen -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -ifneq ($(GCC_2_95_TOOLCHAIN),true) - -# Older stuff... -#GCC_SITE:=ftp://ftp.gnu.org/gnu/gcc/ -#GCC_SOURCE:=gcc-3.3.tar.bz2 -#GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-3.3 -#GCC_CAT:=zcat - -# Shiny new stuff... -GCC_VERSION:=3.4.5 -#GCC_SITE:=ftp://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VERSION) -#GCC_SITE:=http://www.binarycode.org/gcc/releases/gcc-$(GCC_VERSION) -GCC_SITE:=http://gcc.get-software.com/releases/gcc-$(GCC_VERSION) - -# -# snapshots.... -#GCC_VERSION:=3.3-20031013 -#GCC_SITE:=http://gcc.get-software.com/snapshots/$(GCC_VERSION) -# -GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2 -GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION) -GCC_CAT:=bzip2 -dc - -############################################################# -# -# Setup some initial stuff -# -############################################################# - -ifeq ($(INSTALL_LIBSTDCPP),true) -TARGET_LANGUAGES:=c,c++ -else -TARGET_LANGUAGES:=c -endif - -############################################################# -# -# build the first pass gcc compiler -# -############################################################# -GCC_BUILD_DIR1:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION)-initial - -$(DL_DIR)/$(GCC_SOURCE): -# $(WGET) -P $(DL_DIR) $(GCC_SITE)/$(GCC_SOURCE) - -$(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE) - $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf - - $(GCC_CAT) $(DL_DIR)/gcc-$(GCC_VERSION).tar.bz2 | tar -C $(TOOL_BUILD_DIR) -xvf - - touch $(GCC_DIR)/.unpacked - -$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked - # Apply any files named gcc-*.patch from the source directory to gcc - $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) $(SOURCE_DIR) gcc/$(GCC_VERSION)/*.patch - touch $(GCC_DIR)/.patched - -$(GCC_DIR)/.gcc3_3_build_hacks: $(GCC_DIR)/.patched - # - # Hack things to use the correct shared lib loader - # - (cd $(GCC_DIR); set -e; export LIST=`grep -lr -- "-dynamic-linker.*\.so[\.0-9]*" *`;\ - if [ -n "$$LIST" ] ; then \ - $(SED) "s,-dynamic-linker.*\.so[\.0-9]*},\ - -dynamic-linker /lib/ld-uClibc.so.0},;" $$LIST; fi); - # - # Prevent gcc from using the unwind-dw2-fde-glibc code used for - # unwinding stack frames for C++ exception handling. The - # unwind-dw2-fde-glibc code depends on glibc's ldso, we want to - # use the generic version instead. - # - $(SED) "s,^#ifndef inhibit_libc,#define inhibit_libc\n\ - #ifndef inhibit_libc,g;" $(GCC_DIR)/gcc/unwind-dw2-fde-glibc.c; - # - # Prevent system glibc start files from leaking in uninvited... - # - $(SED) "s,standard_startfile_prefix_1 = \".*,standard_startfile_prefix_1 =\ - \"$(STAGING_DIR)/lib/\";,;" $(GCC_DIR)/gcc/gcc.c; - $(SED) "s,standard_startfile_prefix_2 = \".*,standard_startfile_prefix_2 =\ - \"$(STAGING_DIR)/usr/lib/\";,;" $(GCC_DIR)/gcc/gcc.c; - # - # Prevent system glibc include files from leaking in uninvited... - # - $(SED) "s,^NATIVE_SYSTEM_HEADER_DIR.*,NATIVE_SYSTEM_HEADER_DIR=\ - $(STAGING_DIR)/include,;" $(GCC_DIR)/gcc/Makefile.in; - $(SED) "s,^CROSS_SYSTEM_HEADER_DIR.*,CROSS_SYSTEM_HEADER_DIR=\ - $(STAGING_DIR)/include,;" $(GCC_DIR)/gcc/Makefile.in; - $(SED) "s,^#define.*STANDARD_INCLUDE_DIR.*,#define STANDARD_INCLUDE_DIR \ - \"$(STAGING_DIR)/include\",;" $(GCC_DIR)/gcc/cppdefault.h; - # - # Prevent system glibc libraries from being found by collect2 - # when it calls locatelib() and rummages about the system looking - # for libraries with the correct name... - # - $(SED) "s,\"/lib,\"$(STAGING_DIR)/lib,g;" $(GCC_DIR)/gcc/collect2.c - $(SED) "s,\"/usr/,\"$(STAGING_DIR)/usr/,g;" $(GCC_DIR)/gcc/collect2.c - touch $(GCC_DIR)/.gcc3_3_build_hacks - -# The --without-headers option stopped working with gcc 3.0 and has never been -# # fixed, so we need to actually have working C library header files prior to -# # the step or libgcc will not build... -$(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.gcc3_3_build_hacks - mkdir -p $(GCC_BUILD_DIR1) - echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR1)/gcc/xgcc -B$(GCC_BUILD_DIR1)/gcc/ -B$(STAGING_DIR)/$(ARCH)-linux/bin/ -B$(STAGING_DIR)/$(ARCH)-linux/lib/ -isystem $(STAGING_DIR)/$(ARCH)-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR1)/target_gcc - chmod a+x $(GCC_BUILD_DIR1)/target_gcc - (cd $(GCC_BUILD_DIR1); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \ - RANLIB=$(TARGET_CROSS)ranlib \ - CC="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - gcc_cv_as_hidden=no \ - $(GCC_DIR)/configure \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_HOST_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=$(STAGING_DIR) \ - --exec-prefix=$(STAGING_DIR) \ - --bindir=$(STAGING_DIR)/bin \ - --sbindir=$(STAGING_DIR)/sbin \ - --sysconfdir=$(STAGING_DIR)/etc \ - --datadir=$(STAGING_DIR)/share \ - --includedir=$(STAGING_DIR)/include \ - --libdir=$(STAGING_DIR)/lib \ - --localstatedir=$(STAGING_DIR)/var \ - --mandir=$(STAGING_DIR)/man \ - --infodir=$(STAGING_DIR)/info \ - --with-local-prefix=$(STAGING_DIR)/usr/local \ - --oldincludedir=$(STAGING_DIR)/include $(MULTILIB) \ - --enable-target-optspace $(DISABLE_NLS) --with-gnu-ld \ - --disable-shared --enable-languages=c --disable-__cxa_atexit \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - $(EXTRA_GCC_CONFIG_OPTIONS) --program-prefix=$(ARCH)-linux-uclibc-); - touch $(GCC_BUILD_DIR1)/.configured - -$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured - PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR1) \ - CC="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - AR_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-ar \ - RANLIB_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-ranlib \ - CC_FOR_TARGET=$(GCC_BUILD_DIR1)/target_gcc \ - GCC_FOR_TARGET=$(GCC_BUILD_DIR1)/target_gcc - touch $(GCC_BUILD_DIR1)/.compiled - -$(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-gcc: $(GCC_BUILD_DIR1)/.compiled - PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) \ - CC="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - -C $(GCC_BUILD_DIR1) install; - #Cleanup then mess when --program-prefix mysteriously fails - -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-cpp - -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-gcc - if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \ - for app in gcc c++ g++ ; do \ - if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-$${app} ] ; then \ - (cd $(STAGING_DIR)/bin; \ - rm -f $(ARCH)-linux-uclibc-$${app}$(TARGET_SOFT_FLOAT); \ - echo -e "#!/bin/sh\nexec $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-$${app} -msoft-float \$$@" > $(ARCH)-linux-uclibc-$${app}$(TARGET_SOFT_FLOAT); \ - chmod a+x $(ARCH)-linux-uclibc-$${app}$(TARGET_SOFT_FLOAT); \ - ); \ - fi; \ - done; \ - fi; \ - rm -f $(STAGING_DIR)/bin/gccbug $(STAGING_DIR)/bin/gcov - rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \ - $(STAGING_DIR)/share/locale - -gcc3_3_initial: binutils uclibc-configured $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-gcc - -gcc3_3_initial-clean: - rm -rf $(GCC_BUILD_DIR1) - rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)* - -gcc3_3_initial-dirclean: - rm -rf $(GCC_BUILD_DIR1) - -############################################################# -# -# second pass compiler build. Build the compiler targeting -# the newly built shared uClibc library. -# -############################################################# -GCC_BUILD_DIR2:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION)-final -$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched - mkdir -p $(GCC_BUILD_DIR2) - echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR2)/gcc/xgcc -B$(GCC_BUILD_DIR2)/gcc/ -B$(STAGING_DIR)/$(ARCH)-linux/bin/ -B$(STAGING_DIR)/$(ARCH)-linux/lib/ -isystem $(STAGING_DIR)/$(ARCH)-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR2)/target_g++ - chmod a+x $(GCC_BUILD_DIR2)/target_g++ - echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR2)/gcc/xgcc -B$(GCC_BUILD_DIR2)/gcc/ -B$(STAGING_DIR)/$(ARCH)-linux/bin/ -B$(STAGING_DIR)/$(ARCH)-linux/lib/ -isystem $(STAGING_DIR)/$(ARCH)-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR2)/target_gcc - chmod a+x $(GCC_BUILD_DIR2)/target_gcc - (cd $(GCC_BUILD_DIR2); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \ - RANLIB=$(TARGET_CROSS)ranlib LD=$(TARGET_CROSS)ld \ - NM=$(TARGET_CROSS)nm \ - CC="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - gcc_cv_as_hidden=no \ - $(GCC_DIR)/configure \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_HOST_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=$(STAGING_DIR) \ - --exec-prefix=$(STAGING_DIR) \ - --bindir=$(STAGING_DIR)/bin \ - --sbindir=$(STAGING_DIR)/sbin \ - --sysconfdir=$(STAGING_DIR)/etc \ - --datadir=$(STAGING_DIR)/share \ - --localstatedir=$(STAGING_DIR)/var \ - --mandir=$(STAGING_DIR)/man \ - --infodir=$(STAGING_DIR)/info \ - --with-local-prefix=$(STAGING_DIR)/usr/local \ - --libdir=$(STAGING_DIR)/lib \ - --includedir=$(STAGING_DIR)/include \ - --with-gxx-include-dir=$(STAGING_DIR)/include/c++ \ - --oldincludedir=$(STAGING_DIR)/include \ - --enable-shared $(MULTILIB) \ - --enable-target-optspace $(DISABLE_NLS) \ - --with-gnu-ld --disable-__cxa_atexit \ - --enable-languages=$(TARGET_LANGUAGES) \ - $(EXTRA_GCC_CONFIG_OPTIONS) \ - --program-prefix=$(ARCH)-linux-uclibc- \ - ); - touch $(GCC_BUILD_DIR2)/.configured - -$(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured - # $(SED) 's/\-lc//' $(GCC_BUILD_DIR2)/gcc/Makefile - PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) \ - CC="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - AR_FOR_TARGET=$(TARGET_CROSS)ar RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \ - LD_FOR_TARGET=$(TARGET_CROSS)ld NM_FOR_TARGET=$(TARGET_CROSS)nm \ - CC_FOR_TARGET=$(GCC_BUILD_DIR2)/target_gcc \ - GCC_FOR_TARGET=$(GCC_BUILD_DIR2)/target_gcc \ - CXX_FOR_TARGET=$(GCC_BUILD_DIR2)/target_g++ \ - -C $(GCC_BUILD_DIR2) - touch $(GCC_BUILD_DIR2)/.compiled - -$(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled $(STAGING_DIR)/lib/libc.a - PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) \ - CC="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - -C $(GCC_BUILD_DIR2) install; - -mv $(STAGING_DIR)/bin/gcc $(STAGING_DIR)/usr/bin; - -mv $(STAGING_DIR)/bin/protoize $(STAGING_DIR)/usr/bin; - -mv $(STAGING_DIR)/bin/unprotoize $(STAGING_DIR)/usr/bin; - -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-cpp - -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-gcc - -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-c++ - -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-g++ $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-g++ - -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++filt $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-c++filt - rm -f $(STAGING_DIR)/bin/cpp $(STAGING_DIR)/bin/gcov $(STAGING_DIR)/bin/*gccbug - rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-$(ARCH)-linux-uclibc-* - rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \ - $(STAGING_DIR)/share/locale - # Strip the host binaries - -strip --strip-all -R .note -R .comment $(STAGING_DIR)/bin/* - if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \ - for app in gcc c++ g++ ; do \ - if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-$${app} ] ; then \ - (cd $(STAGING_DIR)/bin; \ - rm -f $(ARCH)-linux-uclibc-$${app}$(TARGET_SOFT_FLOAT); \ - echo -e "#!/bin/sh\nexec $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-$${app} -msoft-float \$$@" > $(ARCH)-linux-uclibc-$${app}$(TARGET_SOFT_FLOAT); \ - chmod a+x $(ARCH)-linux-uclibc-$${app}$(TARGET_SOFT_FLOAT); \ - ); \ - fi; \ - done; \ - fi; \ - set -e; \ - for app in cc gcc c89 cpp c++ g++ ; do \ - if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-$${app} ] ; then \ - (cd $(STAGING_DIR)/usr/bin; \ - ln -fs ../../bin/$(ARCH)-linux-uclibc-$${app} $${app}; \ - ); \ - fi; \ - done; - (cd $(STAGING_DIR)/usr/bin; \ - ln -fs gcc cc; \ - ) - touch $(GCC_BUILD_DIR2)/.installed - -ifneq ($(TARGET_DIR),) -$(TARGET_DIR)/lib/libstdc++.so.5.0.5: $(GCC_BUILD_DIR2)/.installed - cp -a $(STAGING_DIR)/lib/libstdc++.so* $(TARGET_DIR)/lib/ - -$(GCC_BUILD_DIR2)/.shared_libgcc: $(GCC_BUILD_DIR2)/.installed - cp -fa $(STAGING_DIR)/lib/libgcc_s.so* $(TARGET_DIR)/lib/ ; \ - touch $(GCC_BUILD_DIR2)/.shared_libgcc - -GCC_TARGETS:=$(GCC_BUILD_DIR2)/.shared_libgcc -ifeq ($(INSTALL_LIBSTDCPP),true) -GCC_TARGETS+=$(TARGET_DIR)/lib/libstdc++.so.5.0.5 -endif - -endif - -gcc3_3: binutils uclibc-configured gcc3_3_initial $(LIBFLOAT_TARGET) uclibc \ - $(GCC_BUILD_DIR2)/.installed $(GCC_TARGETS) - -gcc3_3-source: $(DL_DIR)/$(GCC_SOURCE) - -gcc3_3-clean: - rm -rf $(GCC_BUILD_DIR2) - rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)* - -gcc3_3-dirclean: - rm -rf $(GCC_BUILD_DIR2) - -############################################################# -# -# Next build target gcc compiler -# -############################################################# -GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-$(GCC_VERSION)-target - -TARGET_GCC_ARGS= $(TARGET_CONFIGURE_OPTS) \ - AR_FOR_BUILD=ar \ - AS_FOR_BUILD=as \ - LD_FOR_BUILD=ld \ - NM_FOR_BUILD=nm \ - RANLIB_FOR_BUILD=ranlib \ - CC="$(HOSTCC)" \ - LDFLAGS="$(HOSTLDFLAGS)" \ - CC_FOR_BUILD="$(HOSTCC)" \ - GCC_FOR_BUILD="$(HOSTCC)" \ - CXX_FOR_BUILD="$(HOSTCC)" \ - AR_FOR_TARGET=$(TARGET_CROSS)ar \ - AS_FOR_TARGET=$(TARGET_CROSS)as \ - LD_FOR_TARGET=$(TARGET_CROSS)ld \ - NM_FOR_TARGET=$(TARGET_CROSS)nm \ - CC="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \ - GCC="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \ - CXX="$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \ - CC_FOR_TARGET="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \ - GCC_FOR_TARGET="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \ - CXX_FOR_TARGET="$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \ - RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib - -# We need to unpack a pristine source tree to avoid some of -# the previously applied hacks, which do not apply here... -$(GCC_BUILD_DIR3)/.unpacked: $(DL_DIR)/$(GCC_SOURCE) - $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(BUILD_DIR) -xvf - - mv $(BUILD_DIR)/gcc-$(GCC_VERSION) $(GCC_BUILD_DIR3) - touch $(GCC_BUILD_DIR3)/.unpacked - -$(GCC_BUILD_DIR3)/.patched: $(GCC_BUILD_DIR3)/.unpacked - # Apply any files named gcc-*.patch from the source directory to gcc - $(SOURCE_DIR)/patch-kernel.sh $(GCC_BUILD_DIR3) $(SOURCE_DIR) gcc/$(GCC_VERSION)/*.patch - touch $(GCC_BUILD_DIR3)/.patched - -$(GCC_BUILD_DIR3)/.gcc3_3_build_hacks: $(GCC_BUILD_DIR3)/.patched - # - # Hack things to use the correct shared lib loader - # - (cd $(GCC_BUILD_DIR3); set -e; export LIST=`grep -lr -- "-dynamic-linker.*\.so[\.0-9]*" *`;\ - if [ -n "$$LIST" ] ; then \ - $(SED) "s,-dynamic-linker.*\.so[\.0-9]*},\ - -dynamic-linker /lib/ld-uClibc.so.0},;" $$LIST; fi); - # - # Prevent gcc from using the unwind-dw2-fde-glibc code used for - # unwinding stack frames for C++ exception handling. The - # unwind-dw2-fde-glibc code depends on glibc's ldso, we want to - # use the generic version instead. - # - $(SED) "s,^#ifndef inhibit_libc,#define inhibit_libc\n\ - #ifndef inhibit_libc,g;" $(GCC_BUILD_DIR3)/gcc/unwind-dw2-fde-glibc.c; - touch $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks - -$(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks - mkdir -p $(GCC_BUILD_DIR3) - #(cd $(GCC_BUILD_DIR3); ln -fs $(ARCH)-linux-uclibc- build-$(GNU_TARGET_NAME)) - (cd $(GCC_BUILD_DIR3); \ - $(TARGET_GCC_ARGS) \ - gcc_cv_as_hidden=no \ - ./configure \ - --verbose \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=`./config.guess` \ - --prefix=/usr \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --with-gxx-include-dir=/usr/include/c++/$(GCC_VERSION) \ - --enable-target-optspace \ - --enable-shared \ - $(MULTILIB) \ - $(DISABLE_NLS) \ - --with-gnu-ld --disable-__cxa_atexit \ - --enable-languages=$(TARGET_LANGUAGES) \ - $(EXTRA_GCC_CONFIG_OPTIONS) \ - ); - touch $(GCC_BUILD_DIR3)/.configured - -$(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured - $(MAKE) $(JLEVEL) $(TARGET_GCC_ARGS) -C $(GCC_BUILD_DIR3) - touch $(GCC_BUILD_DIR3)/.compiled - -$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled - $(MAKE) $(JLEVEL) $(TARGET_GCC_ARGS) DESTDIR=$(TARGET_DIR) \ - -C $(GCC_BUILD_DIR3) install - (cd $(TARGET_DIR)/usr/bin; ln -fs gcc cc) - (cd $(TARGET_DIR)/lib; ln -fs /usr/bin/cpp) - rm -rf $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/include - rm -rf $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/sys-include - rm -rf $(TARGET_DIR)/usr/include/include $(TARGET_DIR)/usr/usr - -mv $(TARGET_DIR)/lib/*.a $(TARGET_DIR)/usr/lib/ - -mv $(TARGET_DIR)/lib/*.la $(TARGET_DIR)/usr/lib/ - rm -f $(TARGET_DIR)/lib/libstdc++.so* - # Make sure gcc does not think we are cross compiling - $(SED) "s/^1/0/;" $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/specs - -(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1) - -(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1) - -(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION); $(STRIP) cc1 cc1plus collect2 > /dev/null 2>&1) - -(cd $(TARGET_DIR)/usr/lib; $(STRIP) libstdc++.so.*.*.* > /dev/null 2>&1) - -(cd $(TARGET_DIR)/lib; $(STRIP) libgcc_s.so.*.*.* > /dev/null 2>&1) - # - rm -f $(TARGET_DIR)/usr/lib/*.la* - rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ - $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc - # Work around problem of missing syslimits.h - cp -f $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/syslimits.h $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/ - # These are in /lib, so... - # rm -rf $(TARGET_DIR)/usr/lib/libgcc_s.so* - touch -c $(TARGET_DIR)/usr/bin/gcc - -gcc3_3_target: uclibc_target binutils_target $(TARGET_DIR)/usr/bin/gcc - -gcc3_3_target-clean: - rm -rf $(GCC_BUILD_DIR3) - rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)* - -gcc3_3_target-dirclean: - rm -rf $(GCC_BUILD_DIR3) - -endif diff --git a/src/uClibc/make/uclibc.mk b/src/uClibc/make/uclibc.mk deleted file mode 100644 index b2eb0b7b2a..0000000000 --- a/src/uClibc/make/uclibc.mk +++ /dev/null @@ -1,147 +0,0 @@ -############################################################# -# -# uClibc (the C library) -# -############################################################# -ifeq ($(USE_UCLIBC_SNAPSHOT),true) -# Be aware that this changes daily.... -UCLIBC_DIR=$(TOOL_BUILD_DIR)/uClibc -UCLIBC_SOURCE=uClibc-snapshot.tar.gz -UCLIBC_SITE:=http://www.uclibc.org/downloads/snapshots -else -UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-0.9.28 -UCLIBC_SOURCE:=uClibc-0.9.28.tar.bz2 -UCLIBC_SITE:=http://www.uclibc.org/downloads -endif -LINUX_DIR:=/usr/src/linux - -UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \ - -e 's/i.86/i386/' \ - -e 's/sparc.*/sparc/' \ - -e 's/arm.*/arm/g' \ - -e 's/m68k.*/m68k/' \ - -e 's/ppc/powerpc/g' \ - -e 's/v850.*/v850/g' \ - -e 's/sh64/sh/' \ - -e 's/sh[234]/sh/' \ - -e 's/mips.*/mips/' \ - -e 's/mipsel.*/mips/' \ - -e 's/cris.*/cris/' \ -) - - -$(DL_DIR)/$(UCLIBC_SOURCE): -# $(WGET) -P $(DL_DIR) $(UCLIBC_SITE)/$(UCLIBC_SOURCE) - -$(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE) - bzip2 -dc $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xf - - sed -i -e 's/include /include \n#include /' $(UCLIBC_DIR)/librt/kernel-posix-timers.h - touch $(UCLIBC_DIR)/.unpacked - -$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked - $(MAKE) -C $(UCLIBC_DIR) defconfig; - cp $(SOURCE_DIR)/uClibc.config-$(MACHINE) $(UCLIBC_DIR)/.config - cp $(SOURCE_DIR)/locales.txt $(UCLIBC_DIR)/extra/locale - cp $(SOURCE_DIR)/codesets.txt $(UCLIBC_DIR)/extra/locale - $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(STAGING_DIR) headers; - (cd $(UCLIBC_DIR)/extra/locale; \ - patch -Np0 < /usr/src/src/patches/uClibc-gen_wctype-segfault.patch; \ - $(MAKE); \ - ) - $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(STAGING_DIR) install_dev; - rm -rf $(STAGING_DIR)/include - ln -s $(STAGING_DIR)/usr/include $(STAGING_DIR)/include - touch $(UCLIBC_DIR)/.configured - -$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(LIBFLOAT_TARGET) - $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(UCLIBC_DIR)/Rules.mak - $(MAKE) -C $(UCLIBC_DIR) oldconfig - $(MAKE) -C $(UCLIBC_DIR) headers - -$(MAKE) -C $(UCLIBC_DIR) pregen - (cd $(UCLIBC_DIR)/extra/locale; \ - patch -Np0 < /usr/src/src/patches/uClibc-gen_wctype-segfault.patch; \ - $(MAKE); \ - ) - $(MAKE) -C $(UCLIBC_DIR) - -$(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a - $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(STAGING_DIR) install_dev install_runtime - $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(STAGING_DIR) utils install_utils - # Clean up the host compiled utils... - $(MAKE) -C $(UCLIBC_DIR)/utils clean - (cd $(STAGING_DIR)/lib; \ - ln -fs libc.so.0 libc.so; \ - ln -fs libdl.so.0 libdl.so; \ - ln -fs libcrypt.so.0 libcrypt.so; \ - ln -fs libresolv.so.0 libresolv.so; \ - ln -fs libutil.so.0 libutil.so; \ - ln -fs libm.so.0 libm.so; \ - ln -fs libpthread.so.0 libpthread.so; \ - ln -fs libnsl.so.0 libnsl.so; \ - ln -fs libthread_db.so.1 libthread_db.so; \ - ) - -ifneq ($(TARGET_DIR),) -$(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/lib/libc.a - $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(TARGET_DIR) install_runtime - -$(TARGET_DIR)/usr/bin/ldd: $(TARGET_DIR)/lib/libc.so.0 - $(MAKE) -C $(UCLIBC_DIR) $(TARGET_CONFIGURE_OPTS) \ - PREFIX=$(TARGET_DIR) utils install_utils - -UCLIBC_TARGETS=$(TARGET_DIR)/lib/libc.so.0 $(TARGET_DIR)/usr/bin/ldd -endif - -uclibc-configured: $(UCLIBC_DIR)/.configured - -uclibc: $(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-gcc $(STAGING_DIR)/lib/libc.a \ - $(UCLIBC_TARGETS) - -uclibc-source: $(DL_DIR)/$(UCLIBC_SOURCE) - -uclibc-configured-source: uclibc-source - -uclibc-clean: - -$(MAKE) -C $(UCLIBC_DIR) clean - rm -f $(UCLIBC_DIR)/.config - -uclibc-dirclean: - rm -rf $(UCLIBC_DIR) - - - - -############################################################# -# -# uClibc for the target just needs its header files -# and whatnot installed. -# -############################################################# - -$(TARGET_DIR)/usr/lib/libc.a: $(STAGING_DIR)/lib/libc.a - $(MAKE) -C $(UCLIBC_DIR) $(TARGET_CONFIGURE_OPTS) \ - PREFIX=$(TARGET_DIR) install_dev - (cd $(TARGET_DIR)/usr/lib; \ - ln -fs /lib/libc.so.0 libc.so; \ - ln -fs /lib/libdl.so.0 libdl.so; \ - ln -fs /lib/libcrypt.so.0 libcrypt.so; \ - ln -fs /lib/libresolv.so.0 libresolv.so; \ - ln -fs /lib/libutil.so.0 libutil.so; \ - ln -fs /lib/libm.so.0 libm.so; \ - ln -fs /lib/libpthread.so.0 libpthread.so; \ - ln -fs /lib/libnsl.so.0 libnsl.so; \ - ln -fs /lib/libthread_db.so.1 libthread_db.so; \ - ) - -ifeq ($(GCC_2_95_TOOLCHAIN),true) -uclibc_target: gcc2_95 uclibc $(TARGET_DIR)/usr/lib/libc.a -else -uclibc_target: gcc3_3 uclibc $(TARGET_DIR)/usr/lib/libc.a -endif - -uclibc_target-clean: - rm -f $(TARGET_DIR)/include - -uclibc_target-dirclean: - rm -f $(TARGET_DIR)/include - diff --git a/src/uClibc/sources/locales.txt b/src/uClibc/sources/locales.txt deleted file mode 100644 index 35e43c5a55..0000000000 --- a/src/uClibc/sources/locales.txt +++ /dev/null @@ -1,8 +0,0 @@ -@euro e -@cyrillic c -#--------------------------------------------------------------------------- -UTF-8 yes -8-BIT yes -#--------------------------------------------------------------------------- -en_US.UTF-8 UTF-8 -en_US ISO-8859-1 diff --git a/src/uClibc/sources/uClibc.config-i586 b/src/uClibc/sources/uClibc.config-i586 deleted file mode 100644 index a43dc572cf..0000000000 --- a/src/uClibc/sources/uClibc.config-i586 +++ /dev/null @@ -1,186 +0,0 @@ -# -# Automatically generated make config: don't edit -# -# TARGET_alpha is not set -# TARGET_arm is not set -# TARGET_bfin is not set -# TARGET_cris is not set -# TARGET_e1 is not set -# TARGET_frv is not set -# TARGET_h8300 is not set -TARGET_i386=y -# TARGET_i960 is not set -# TARGET_m68k is not set -# TARGET_microblaze is not set -# TARGET_mips is not set -# TARGET_nios is not set -# TARGET_nios2 is not set -# TARGET_powerpc is not set -# TARGET_sh is not set -# TARGET_sh64 is not set -# TARGET_sparc is not set -# TARGET_v850 is not set -# TARGET_x86_64 is not set - -# -# Target Architecture Features and Options -# -HAVE_ELF=y -ARCH_SUPPORTS_LITTLE_ENDIAN=y -TARGET_ARCH="i386" -# CONFIG_GENERIC_386 is not set -# CONFIG_386 is not set -# CONFIG_486 is not set -CONFIG_586=y -# CONFIG_586MMX is not set -# CONFIG_686 is not set -# CONFIG_PENTIUMII is not set -# CONFIG_PENTIUMIII is not set -# CONFIG_PENTIUM4 is not set -# CONFIG_K6 is not set -# CONFIG_K7 is not set -# CONFIG_ELAN is not set -# CONFIG_CRUSOE is not set -# CONFIG_WINCHIPC6 is not set -# CONFIG_WINCHIP2 is not set -# CONFIG_CYRIXIII is not set -# CONFIG_NEHEMIAH is not set -ARCH_LITTLE_ENDIAN=y -# ARCH_BIG_ENDIAN is not set -# ARCH_HAS_NO_MMU is not set -ARCH_HAS_MMU=y -UCLIBC_HAS_FLOATS=y -HAS_FPU=y -DO_C99_MATH=y -KERNEL_SOURCE="/usr" -C_SYMBOL_PREFIX="" -HAVE_DOT_CONFIG=y - -# -# General Library Settings -# -# HAVE_NO_PIC is not set -DOPIC=y -# HAVE_NO_SHARED is not set -HAVE_SHARED=y -# ARCH_HAS_NO_LDSO is not set -BUILD_UCLIBC_LDSO=y -FORCE_SHAREABLE_TEXT_SEGMENTS=y -LDSO_LDD_SUPPORT=y -LDSO_CACHE_SUPPORT=y -# LDSO_PRELOAD_FILE_SUPPORT is not set -LDSO_BASE_FILENAME="ld.so" -LDSO_RUNPATH=y -# DL_FINI_CRT_COMPAT is not set -UCLIBC_CTOR_DTOR=y -# HAS_NO_THREADS is not set -UCLIBC_HAS_THREADS=y -# PTHREADS_DEBUG_SUPPORT is not set -UCLIBC_HAS_LFS=y -# UCLIBC_STATIC_LDCONFIG is not set -# MALLOC is not set -# MALLOC_SIMPLE is not set -MALLOC_STANDARD=y -MALLOC_GLIBC_COMPAT=y -UCLIBC_DYNAMIC_ATEXIT=y -HAS_SHADOW=y -UNIX98PTY_ONLY=y -ASSUME_DEVPTS=y -UCLIBC_HAS_TM_EXTENSIONS=y -UCLIBC_HAS_TZ_CACHING=y -UCLIBC_HAS_TZ_FILE=y -UCLIBC_HAS_TZ_FILE_READ_MANY=y -UCLIBC_TZ_FILE_PATH="/etc/TZ" - -# -# Networking Support -# -# UCLIBC_HAS_IPV6 is not set -# UCLIBC_HAS_RPC is not set - -# -# String and Stdio Support -# -UCLIBC_HAS_STRING_GENERIC_OPT=y -UCLIBC_HAS_STRING_ARCH_OPT=y -UCLIBC_HAS_CTYPE_TABLES=y -UCLIBC_HAS_CTYPE_SIGNED=y -UCLIBC_HAS_CTYPE_UNSAFE=y -# UCLIBC_HAS_CTYPE_CHECKED is not set -# UCLIBC_HAS_CTYPE_ENFORCED is not set -UCLIBC_HAS_WCHAR=y -UCLIBC_HAS_LOCALE=y -UCLIBC_PREGENERATED_LOCALE_DATA=y -# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set -# UCLIBC_HAS_XLOCALE is not set -# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set -# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set -# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set -# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set -UCLIBC_HAS_STDIO_BUFSIZ_4096=y -# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set -UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set -# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set -UCLIBC_HAS_STDIO_GETC_MACRO=y -UCLIBC_HAS_STDIO_PUTC_MACRO=y -UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y -# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set -# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set -# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set -# UCLIBC_HAS_PRINTF_M_SPEC is not set -UCLIBC_HAS_ERRNO_MESSAGES=y -# UCLIBC_HAS_SYS_ERRLIST is not set -UCLIBC_HAS_SIGNUM_MESSAGES=y -UCLIBC_HAS_SYS_SIGLIST=y -UCLIBC_HAS_GNU_GETOPT=y - -# -# Big and Tall -# -UCLIBC_HAS_REGEX=y -# UCLIBC_HAS_WORDEXP is not set -UCLIBC_HAS_FTW=y -UCLIBC_HAS_GLOB=y - -# -# Library Installation Options -# -SHARED_LIB_LOADER_PREFIX="/lib" -RUNTIME_PREFIX="/" -DEVEL_PREFIX="/usr/" - -# -# uClibc security related options -# -UCLIBC_SECURITY=y -UCLIBC_BUILD_PIE=y -UCLIBC_HAS_SSP=y -# SSP_QUICK_CANARY is not set -# SSP_USE_ERANDOM is not set -PROPOLICE_BLOCK_ABRT=y -# PROPOLICE_BLOCK_SEGV is not set -# PROPOLICE_BLOCK_KILL is not set -UCLIBC_BUILD_SSP=y -UCLIBC_BUILD_RELRO=y -UCLIBC_BUILD_NOW=y -UCLIBC_BUILD_NOEXECSTACK=y - -# -# uClibc development/debugging options -# -CROSS_COMPILER_PREFIX="" -# DODEBUG is not set -# DODEBUG_PT is not set -# DOASSERTS is not set -# SUPPORT_LD_DEBUG is not set -# SUPPORT_LD_DEBUG_EARLY is not set -WARNINGS="-Wall" -# UCLIBC_MJN3_ONLY is not set