diff options
author | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
---|---|---|
committer | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
commit | 219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch) | |
tree | b9c0f3c43aebba2fcfef777592d0add39f2072f4 /toolchain |
Initial import
Diffstat (limited to 'toolchain')
27 files changed, 1374 insertions, 0 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile new file mode 100644 index 000000000..de1c19024 --- /dev/null +++ b/toolchain/Makefile @@ -0,0 +1,92 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +TARGETS:=binutils gmp mpfr gcc +ifeq ($(ADK_TARGET_LIB_GLIBC),y) +TARGETS+=glibc +LIBC:=glibc +else +TARGETS+=uClibc +LIBC:=uClibc +endif +TARGETS+=gdb + +DOWNLOAD:=kernel-headers-download $(patsubst %,%-download,$(TARGETS)) +TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS)) +TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) + +all: install +install: $(TARGETS_INSTALL) +clean: $(TARGETS_CLEAN) +download: $(DOWNLOAD) + +$(LIBC)-prepare: kernel-headers-prepare +binutils-prepare: $(LIBC)-prepare +gcc-configure: binutils-install gmp-install mpfr-install +$(LIBC)-compile: gcc-configure +gcc-compile: $(LIBC)-install + +$(STAGING_TOOLS): + @mkdir -p $(STAGING_TOOLS)/lib + @mkdir -p $(STAGING_TOOLS)/include + @mkdir -p $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME) + @ln -sf ../lib $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/lib + +$(TOOLCHAIN_BUILD_DIR): + @mkdir -p $(TOOLCHAIN_BUILD_DIR) + +%-download: + $(TRACE) toolchain/$(patsubst %-download,%,$@)/download + $(MAKE) -C $(patsubst %-download,%,$@) fetch + +%-prepare: $(STAGING_TOOLS) $(TOOLCHAIN_BUILD_DIR) + $(TRACE) toolchain/$(patsubst %-prepare,%,$@)/prepare + @if test x"$(patsubst %-prepare,%,$@)" = x"$(LIBC)"; then \ + $(MAKE) -C $(patsubst %-prepare,%,$@) prepare \ + $(MAKE_TRACE); \ + else \ + $(MAKE) -C $(patsubst %-prepare,%,$@) prepare \ + CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \ + $(MAKE_TRACE); \ + fi + +%-configure: %-prepare + $(TRACE) toolchain/$(patsubst %-configure,%,$@)/configure + @if test x"$(patsubst %-configure,%,$@)" = x"$(LIBC)"; then \ + $(MAKE) -C $(patsubst %-configure,%,$@) configure \ + $(MAKE_TRACE); \ + else \ + $(MAKE) -C $(patsubst %-configure,%,$@) configure \ + CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \ + $(MAKE_TRACE); \ + fi + +%-compile: %-configure + $(TRACE) toolchain/$(patsubst %-compile,%,$@)/compile + @if test x"$(patsubst %-compile,%,$@)" = x"$(LIBC)"; then \ + $(MAKE) -C $(patsubst %-compile,%,$@) compile \ + $(MAKE_TRACE); \ + else \ + $(MAKE) -C $(patsubst %-compile,%,$@) compile \ + CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \ + $(MAKE_TRACE); \ + fi + +%-install: %-compile + $(TRACE) toolchain/$(patsubst %-install,%,$@)/install + @if test x"$(patsubst %-install,%,$@)" = x"$(LIBC)"; then \ + $(MAKE) -C $(patsubst %-install,%,$@) install \ + $(MAKE_TRACE); \ + else \ + $(MAKE) -C $(patsubst %-install,%,$@) install \ + CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \ + $(MAKE_TRACE); \ + fi + +%-clean: + $(TRACE) toolchain/$(patsubst %-clean,%,$@)/clean + @$(MAKE) -C $(patsubst %-clean,%,$@) clean $(MAKE_TRACE) diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile new file mode 100644 index 000000000..217b8e77b --- /dev/null +++ b/toolchain/binutils/Makefile @@ -0,0 +1,43 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk +include ../rules.mk +include Makefile.inc +include ${TOPDIR}/mk/buildhlp.mk + +ifeq ($(ADK_SSP),y) +CONFOPTS+= --enable-libssp +else +CONFOPTS+= --disable-libssp +endif + +$(WRKBUILD)/.headers: +$(WRKBUILD)/.configure_done: + (cd $(WRKBUILD); \ + $(WRKBUILD)/configure \ + --prefix=$(STAGING_TOOLS) \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --disable-nls \ + --with-sysroot=$(TOOLCHAIN_SYSROOT) \ + --with-sysroot=$(STAGING_DIR) \ + ${CONFOPTS} \ + --disable-dependency-tracking \ + --disable-libtool-lock \ + --disable-werror \ + ); + touch $@ + +$(WRKBUILD)/.compiled: $(WRKBUILD)/.configure_done + $(MAKE) -C $(WRKBUILD) all + touch $@ + +$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled + $(MAKE) -C $(WRKBUILD) install + touch $@ + +include ${TOPDIR}/mk/toolchain.mk diff --git a/toolchain/binutils/Makefile.inc b/toolchain/binutils/Makefile.inc new file mode 100644 index 000000000..bf6a71bdf --- /dev/null +++ b/toolchain/binutils/Makefile.inc @@ -0,0 +1,11 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +PKG_NAME:= binutils +PKG_VERSION:= 2.19.1 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 09a8c5821a2dfdbb20665bc0bd680791 +MASTER_SITES:= ${MASTER_SITE_GNU:=binutils/} +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2 diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile new file mode 100644 index 000000000..a85e4fa74 --- /dev/null +++ b/toolchain/gcc/Makefile @@ -0,0 +1,100 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk +include ../rules.mk +include Makefile.inc + + +ifeq ($(ADK_CXX),y) +TARGET_LANGUAGES:= c,c++ +else +TARGET_LANGUAGES:= c +endif + +GCC_CONFOPTS= --prefix=$(STAGING_TOOLS) \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --with-gmp=$(STAGING_TOOLS) \ + --with-mpfr=$(STAGING_TOOLS) \ + --disable-__cxa_atexit \ + --enable-target-optspace \ + --with-gnu-ld \ + --disable-libmudflap \ + --disable-libgomp \ + --disable-multilib \ + --disable-nls + +ifeq ($(ADK_SSP),y) +GCC_CONFOPTS+= --enable-libssp +else +GCC_CONFOPTS+= --disable-libssp +endif + +ifeq ($(ADK_NO_FPU),y) +GCC_CONFOPTS+= --with-float=soft +endif + +include ${TOPDIR}/mk/buildhlp.mk + +GCC_BUILD_DIR1:= $(WRKBUILD)-initial +GCC_BUILD_DIR2:= $(WRKBUILD)-final + +$(WRKBUILD)/.headers: +$(GCC_BUILD_DIR1)/.configured: + rm -rf $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/sys-include + ln -sf ${STAGING_DIR}/include $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/sys-include + rm -rf ${STAGING_TOOLS}/$(REAL_GNU_TARGET_NAME)/lib + ln -sf ${STAGING_DIR}/lib $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/lib + mkdir -p $(GCC_BUILD_DIR1) + (cd $(GCC_BUILD_DIR1); rm -f config.cache; PATH=$(TARGET_PATH) \ + $(WRKBUILD)/configure \ + ${GCC_CONFOPTS} \ + --enable-languages=c \ + --disable-shared \ + --with-sysroot=$(TOOLCHAIN_SYSROOT) \ + ); + touch $@ + +$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured + PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc all-target-libgcc + touch $@ + +$(WRKBUILD)/.configure_done: $(GCC_BUILD_DIR1)/.compiled + PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc install-target-libgcc + touch $@ + +$(GCC_BUILD_DIR2)/.configured: + mkdir -p $(GCC_BUILD_DIR2) + (cd $(GCC_BUILD_DIR2); rm -f config.cache; PATH=$(TARGET_PATH) \ + $(WRKBUILD)/configure \ + ${GCC_CONFOPTS} \ + --enable-languages=$(TARGET_LANGUAGES) \ + --with-sysroot=$(STAGING_DIR) \ + --enable-shared \ + ); + touch $@ + +$(WRKBUILD)/.compiled: $(GCC_BUILD_DIR2)/.configured + PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) all + touch $@ + +$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled + PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install + echo $(GCC_VERSION) > $(STAGING_TOOLS)/gcc_version + # Set up the symlinks to enable lying about target name. + set -e; \ + (cd $(STAGING_TOOLS); \ + 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; \ + ) + touch $@ + +include ${TOPDIR}/mk/toolchain.mk diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc new file mode 100644 index 000000000..6d8be0f9d --- /dev/null +++ b/toolchain/gcc/Makefile.inc @@ -0,0 +1,11 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +PKG_NAME:= gcc +PKG_VERSION:= 4.3.3 +PKG_RELEASE:= 1 +PKG_MD5SUM:= cc3c5565fdb9ab87a05ddb106ba0bd1f +MASTER_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/} +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2 diff --git a/toolchain/gcc/patches/arm-softfloat-libgcc.patch b/toolchain/gcc/patches/arm-softfloat-libgcc.patch new file mode 100644 index 000000000..1639c39a8 --- /dev/null +++ b/toolchain/gcc/patches/arm-softfloat-libgcc.patch @@ -0,0 +1,29 @@ +Index: gcc-4.3.0/gcc/config/arm/t-linux +=================================================================== +--- gcc-4.3.0/gcc/config/arm/t-linux (revision 129896) ++++ gcc-4.3.0/gcc/config/arm/t-linux (working copy) +@@ -3,7 +3,10 @@ + TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC + + LIB1ASMSRC = arm/lib1funcs.asm +-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx ++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \ ++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ ++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ ++ _fixsfsi _fixunssfsi _floatdidf _floatundidf _floatdisf _floatundisf + + # MULTILIB_OPTIONS = mhard-float/msoft-float + # MULTILIB_DIRNAMES = hard-float soft-float +Index: gcc-4.3.0/gcc/config/arm/linux-elf.h +=================================================================== +--- gcc-4.3.0/gcc/config/arm/linux-elf.h (revision 129896) ++++ gcc-4.3.0/gcc/config/arm/linux-elf.h (working copy) +@@ -48,7 +62,7 @@ + %{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" ++#define LIBGCC_SPEC "-lgcc" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in new file mode 100644 index 000000000..03ceced0e --- /dev/null +++ b/toolchain/gdb/Config.in @@ -0,0 +1,8 @@ +comment "Gdb Options" + +config ADK_PACKAGE_GDB_CLIENT + bool "Build gdb client for the Host" + default n + help + Build gdb to run on the host to debug programs running on the target. + diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile new file mode 100644 index 000000000..32e059334 --- /dev/null +++ b/toolchain/gdb/Makefile @@ -0,0 +1,47 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk +include ../rules.mk +include Makefile.inc + +include ${TOPDIR}/mk/buildhlp.mk + +$(WRKBUILD)/.headers: +$(WRKBUILD)/.configure_done: + (cd $(WRKBUILD); \ + gdb_cv_func_sigsetjmp=yes \ + ./configure \ + --prefix=$(STAGING_TOOLS) \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --disable-dependency-tracking \ + --without-uiout \ + --enable-gdbmi \ + --disable-gdbtk \ + --without-included-gettext \ + --disable-libtool-lock \ + --disable-nls \ + --with-curses \ + --enable-threads \ + --disable-sim \ + --disable-tui \ + --disable-werror \ + --without-x \ + ); + touch $@ + +$(WRKBUILD)/.compiled: + $(MAKE) -C $(WRKBUILD) CFLAGS="-fPIC ${HOSTCFLAGS}" + touch $@ + +$(WRKBUILD)/.installed: + install -c $(WRKBUILD)/gdb/gdb $(TARGET_CROSS)gdb + cd $(STAGING_TOOLS)/bin && \ + ln -fs $(TARGET_CROSS)gdb $(GNU_TARGET_NAME)-gdb + touch $@ + +include ${TOPDIR}/mk/toolchain.mk diff --git a/toolchain/gdb/Makefile.inc b/toolchain/gdb/Makefile.inc new file mode 100644 index 000000000..106ca30b8 --- /dev/null +++ b/toolchain/gdb/Makefile.inc @@ -0,0 +1,11 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +PKG_NAME:= gdb +PKG_VERSION:= 6.8 +PKG_MD5SUM:= c9da266b884fb8fa54df786dfaadbc7a +PKG_RELEASE:= 1 +MASTER_SITES:= ${MASTER_SITE_GNU:=gdb/} +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2 diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile new file mode 100644 index 000000000..a819c65d9 --- /dev/null +++ b/toolchain/glibc/Makefile @@ -0,0 +1,99 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +_IN_CVTC= 1 + +include $(TOPDIR)/rules.mk +include ../rules.mk +include Makefile.inc + +include ${TOPDIR}/mk/buildhlp.mk + +ifeq ($(ADK_NO_FPU),y) +GLIBC_CONFOPTS:= --without-fp +endif + +GLIBC_BUILD_DIR:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-headers +GLIBC_BUILD_DIR2:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-final + +$(WRKBUILD)/.headers_configure: + mkdir -p $(GLIBC_BUILD_DIR) + (cd $(GLIBC_BUILD_DIR); \ + $(WRKBUILD)/configure \ + --prefix=/usr \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --disable-nls \ + --without-cvs \ + --disable-sanity-checks \ + ${GLIBC_CONFOPTS} \ + --with-headers=$(TOOLCHAIN_SYSROOT)/usr/include \ + --with-sysroot=$(TOOLCHAIN_SYSROOT) \ + ); + touch $@ + +$(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure + $(MAKE) -C $(GLIBC_BUILD_DIR) \ + cross-compiling=yes \ + install_root=$(TOOLCHAIN_SYSROOT) \ + CFLAGS="-DBOOTSTRAP_GCC" install-headers + touch $(TOOLCHAIN_SYSROOT)/usr/include/gnu/stubs.h + $(CP) $(GLIBC_BUILD_DIR)/bits/stdio_lim.h \ + $(TOOLCHAIN_SYSROOT)/usr/include/bits + touch $@ + +$(WRKBUILD)/.configure_done: + mkdir -p $(GLIBC_BUILD_DIR2) + (cd $(GLIBC_BUILD_DIR2); \ + PATH='${TARGET_PATH}' \ + BUILD_CC=gcc \ + CFLAGS="$(TARGET_CFLAGS_ARCH) -O2 -pipe" \ + CC=${REAL_GNU_TARGET_NAME}-gcc \ + AR=${REAL_GNU_TARGET_NAME}-ar \ + RANLIB=${REAL_GNU_TARGET_NAME}-ranlib \ + LD=${REAL_GNU_TARGET_NAME}-ld \ + libc_cv_forced_unwind=yes \ + libc_cv_c_cleanup=yes \ + $(WRKBUILD)/configure \ + --prefix=/usr \ + --build=$(GNU_TARGET_NAME) \ + --host=$(REAL_GNU_TARGET_NAME) \ + --disable-nls \ + --without-cvs \ + --disable-profile \ + --disable-debug \ + --without-gd \ + --enable-shared \ + --enable-stackguard-randomization \ + --enable-add-ons=nptl --with-__thread \ + --with-tls \ + --enable-tls \ + ${GLIBC_CONFOPTS} \ + --with-headers=$(TOOLCHAIN_SYSROOT)/usr/include \ + ); + touch $@ + +$(WRKBUILD)/.compiled: + PATH='${TARGET_PATH}' \ + CFLAGS="$(TARGET_CFLAGS_ARCH) -O2 -pipe" \ + CC=${REAL_GNU_TARGET_NAME}-gcc \ + LD=${REAL_GNU_TARGET_NAME}-ld \ + RANLIB=${REAL_GNU_TARGET_NAME}-ranlib \ + $(MAKE) -C $(GLIBC_BUILD_DIR2) lib \ + cross-compiling=yes + touch $@ + +$(WRKBUILD)/.installed: + PATH='${TARGET_PATH}' \ + #CFLAGS="$(TARGET_CFLAGS_ARCH) $(TARGET_CFLAGS)" \ + $(MAKE) -C $(GLIBC_BUILD_DIR2) \ + install_root=$(STAGING_DIR) \ + install-lib-all install-headers \ + install-others cross-compiling=yes + touch $(STAGING_DIR)/usr/include/gnu/stubs.h + touch $@ + +include ${TOPDIR}/mk/toolchain.mk diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc new file mode 100644 index 000000000..b2784a195 --- /dev/null +++ b/toolchain/glibc/Makefile.inc @@ -0,0 +1,10 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +PKG_NAME:= glibc +PKG_VERSION:= 2.7 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 0b4bc75fb7413bbd7e43c0a0e7c672b6 +MASTER_SITES:= ${MASTER_SITE_GNU:=glibc/} diff --git a/toolchain/glibc/patches/binutils.patch b/toolchain/glibc/patches/binutils.patch new file mode 100644 index 000000000..5b1bd763e --- /dev/null +++ b/toolchain/glibc/patches/binutils.patch @@ -0,0 +1,12 @@ +diff -Nur glibc-2.7.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.7/sysdeps/i386/fpu/ftestexcept.c +--- glibc-2.7.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100 ++++ glibc-2.7/sysdeps/i386/fpu/ftestexcept.c 2008-12-22 01:03:19.000000000 +0100 +@@ -26,7 +26,7 @@ + int + fetestexcept (int excepts) + { +- int temp; ++ short temp; + int xtemp = 0; + + /* Get current exceptions. */ diff --git a/toolchain/glibc/patches/gcc43.patch b/toolchain/glibc/patches/gcc43.patch new file mode 100644 index 000000000..8bd45ee8c --- /dev/null +++ b/toolchain/glibc/patches/gcc43.patch @@ -0,0 +1,18 @@ +diff -Nur glibc-2.7.orig/configure glibc-2.7/configure +--- glibc-2.7.orig/configure 2007-10-18 13:22:23.000000000 +0200 ++++ glibc-2.7/configure 2008-11-29 23:48:57.461566623 +0100 +@@ -5062,8 +5062,12 @@ + # header directory and add that to the list. NOTE: Only does the right + # thing on a system that doesn't need fixincludes. (Not presently a problem.) + if test -n "$sysheaders"; then +- ccheaders=`$CC -print-file-name=include` +- SYSINCLUDES="-nostdinc -isystem $ccheaders \ ++ SYSINCLUDES=-nostdinc ++ for d in include include-fixed; do ++ i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" && ++ SYSINCLUDES="$SYSINCLUDES -isystem $i" ++ done ++ SYSINCLUDES="$SYSINCLUDES \ + -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" + if test -n "$CXX"; then + cxxversion=`$CXX -dumpversion 2>&5` && diff --git a/toolchain/glibc/patches/i586-chk.patch b/toolchain/glibc/patches/i586-chk.patch new file mode 100644 index 000000000..8ebc182e0 --- /dev/null +++ b/toolchain/glibc/patches/i586-chk.patch @@ -0,0 +1,15 @@ +diff -Nur glibc-2.7.orig/sysdeps/i386/i586/memcpy_chk.S glibc-2.7/sysdeps/i386/i586/memcpy_chk.S +--- glibc-2.7.orig/sysdeps/i386/i586/memcpy_chk.S 1970-01-01 01:00:00.000000000 +0100 ++++ glibc-2.7/sysdeps/i386/i586/memcpy_chk.S 2008-09-17 12:22:02.000000000 +0200 +@@ -0,0 +1 @@ ++#include <sysdeps/i386/i686/memcpy_chk.S> +diff -Nur glibc-2.7.orig/sysdeps/i386/i586/mempcpy_chk.S glibc-2.7/sysdeps/i386/i586/mempcpy_chk.S +--- glibc-2.7.orig/sysdeps/i386/i586/mempcpy_chk.S 1970-01-01 01:00:00.000000000 +0100 ++++ glibc-2.7/sysdeps/i386/i586/mempcpy_chk.S 2008-09-17 12:22:02.000000000 +0200 +@@ -0,0 +1 @@ ++#include <sysdeps/i386/i686/mempcpy_chk.S> +diff -Nur glibc-2.7.orig/sysdeps/i386/i586/memset_chk.S glibc-2.7/sysdeps/i386/i586/memset_chk.S +--- glibc-2.7.orig/sysdeps/i386/i586/memset_chk.S 1970-01-01 01:00:00.000000000 +0100 ++++ glibc-2.7/sysdeps/i386/i586/memset_chk.S 2008-09-17 12:22:02.000000000 +0200 +@@ -0,0 +1 @@ ++#include <sysdeps/i386/i686/memset_chk.S> diff --git a/toolchain/glibc/patches/install-extra.patch b/toolchain/glibc/patches/install-extra.patch new file mode 100644 index 000000000..790bafc17 --- /dev/null +++ b/toolchain/glibc/patches/install-extra.patch @@ -0,0 +1,84 @@ +diff -Nur glibc-2.7.orig/elf/Makefile glibc-2.7/elf/Makefile +--- glibc-2.7.orig/elf/Makefile 2007-08-16 23:20:11.000000000 +0200 ++++ glibc-2.7/elf/Makefile 2008-09-17 08:57:12.000000000 +0200 +@@ -116,7 +116,7 @@ + ifeq (yes,$(build-shared)) + extra-objs = $(all-rtld-routines:%=%.os) soinit.os sofini.os interp.os + generated += librtld.os dl-allobjs.os ld.so ldd +-install-others = $(inst_slibdir)/$(rtld-installed-name) ++install-extra = $(inst_slibdir)/$(rtld-installed-name) + install-bin-script = ldd + endif + +diff -Nur glibc-2.7.orig/iconvdata/Makefile glibc-2.7/iconvdata/Makefile +--- glibc-2.7.orig/iconvdata/Makefile 2007-09-30 06:00:02.000000000 +0200 ++++ glibc-2.7/iconvdata/Makefile 2008-09-17 08:56:57.000000000 +0200 +@@ -211,7 +211,7 @@ + + + extra-objs += $(modules.so) +-install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \ ++install-extra = $(addprefix $(inst_gconvdir)/, $(modules.so)) \ + $(inst_gconvdir)/gconv-modules + + # We can build the conversion tables for numerous charsets automatically. +diff -Nur glibc-2.7.orig/intl/Makefile glibc-2.7/intl/Makefile +--- glibc-2.7.orig/intl/Makefile 2005-05-04 19:53:42.000000000 +0200 ++++ glibc-2.7/intl/Makefile 2008-09-17 08:55:58.000000000 +0200 +@@ -45,7 +45,7 @@ + + before-compile = $(objpfx)msgs.h + +-install-others = $(inst_msgcatdir)/locale.alias ++install-extra = $(inst_msgcatdir)/locale.alias + + generated = msgs.h mtrace-tst-gettext tst-gettext.mtrace + generated-dirs := domaindir localedir +diff -Nur glibc-2.7.orig/localedata/Makefile glibc-2.7/localedata/Makefile +--- glibc-2.7.orig/localedata/Makefile 2007-10-02 19:19:40.000000000 +0200 ++++ glibc-2.7/localedata/Makefile 2008-09-17 08:55:35.000000000 +0200 +@@ -102,7 +102,7 @@ + endif + + # Files to install. +-install-others := $(addprefix $(inst_i18ndir)/, \ ++install-extra := $(addprefix $(inst_i18ndir)/, \ + $(addsuffix .gz, $(charmaps)) \ + $(locales)) + +diff -Nur glibc-2.7.orig/po/Makefile glibc-2.7/po/Makefile +--- glibc-2.7.orig/po/Makefile 2007-05-29 20:08:41.000000000 +0200 ++++ glibc-2.7/po/Makefile 2008-09-17 08:55:15.000000000 +0200 +@@ -46,7 +46,7 @@ + mo-installed = $(inst_msgcatdir)/%/LC_MESSAGES/$(domainname).mo + + # Files to install: a $(domainname).mo file for each language. +-install-others = $(LINGUAS:%=$(mo-installed)) ++install-extra = $(LINGUAS:%=$(mo-installed)) + + # Files to distribute: all the source and compiled binary translation files. + distribute = $(ALL_LINGUAS:=.po) $(BROKEN_LINGUAS:=.po) $(ALL_LINGUAS:=.mo) \ +diff -Nur glibc-2.7.orig/sunrpc/Makefile glibc-2.7/sunrpc/Makefile +--- glibc-2.7.orig/sunrpc/Makefile 2006-10-18 21:25:38.000000000 +0200 ++++ glibc-2.7/sunrpc/Makefile 2008-09-17 08:54:26.000000000 +0200 +@@ -52,7 +52,7 @@ + svc_auth.h types.h xdr.h auth_des.h \ + des_crypt.h key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +-install-others = $(inst_sysconfdir)/rpc ++install-extra = $(inst_sysconfdir)/rpc + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ + $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen + generated-dirs := rpcsvc +diff -Nur glibc-2.7.orig/timezone/Makefile glibc-2.7/timezone/Makefile +--- glibc-2.7.orig/timezone/Makefile 2007-07-28 22:33:11.000000000 +0200 ++++ glibc-2.7/timezone/Makefile 2008-09-17 08:54:43.000000000 +0200 +@@ -71,7 +71,7 @@ + + ifeq ($(cross-compiling),no) + # Don't try to install the zoneinfo files since we can't run zic. +-install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \ ++install-extra = $(addprefix $(inst_zonedir)/,$(zonenames) \ + $(zonenames:%=posix/%) \ + $(zonenames:%=right/%)) \ + $(installed-localtime-file) $(installed-posixrules-file) diff --git a/toolchain/glibc/patches/make-install-lib.patch b/toolchain/glibc/patches/make-install-lib.patch new file mode 100644 index 000000000..b5fb9295a --- /dev/null +++ b/toolchain/glibc/patches/make-install-lib.patch @@ -0,0 +1,17 @@ +diff -Nur glibc-2.7.orig/Makerules glibc-2.7/Makerules +--- glibc-2.7.orig/Makerules 2007-08-26 04:18:03.000000000 +0200 ++++ glibc-2.7/Makerules 2008-09-12 11:35:40.000000000 +0200 +@@ -867,6 +867,13 @@ + installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\ + $(inst_libdir)/$(patsubst %,$(libtype$o),\ + $(libprefix)$(libc-name))) ++ ++install-lib-all: $(inst_slibdir)/libc.so$(libc.so-version) \ ++ $(inst_slibdir)/libc-$(version).so \ ++ $(inst_libdir)/libc.so \ ++ $(inst_libdir)/libc.a \ ++ install-lib ++ + install: $(installed-libcs) + $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force) + $(make-target-directory) diff --git a/toolchain/gmp/Makefile b/toolchain/gmp/Makefile new file mode 100644 index 000000000..937f1b411 --- /dev/null +++ b/toolchain/gmp/Makefile @@ -0,0 +1,32 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk +include ../rules.mk +include Makefile.inc +include ${TOPDIR}/mk/buildhlp.mk + +$(WRKBUILD)/.headers: +$(WRKBUILD)/.configure_done: + (cd $(WRKBUILD); \ + $(WRKBUILD)/configure \ + --prefix=$(STAGING_TOOLS) \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --disable-shared \ + --enable-static \ + --disable-nls \ + ); + touch $@ + +$(WRKBUILD)/.compiled: $(WRKBUILD)/.configure_done + $(MAKE) -C $(WRKBUILD) all + touch $@ + +$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled + $(MAKE) -C $(WRKBUILD) install + touch $@ + +include ${TOPDIR}/mk/toolchain.mk diff --git a/toolchain/gmp/Makefile.inc b/toolchain/gmp/Makefile.inc new file mode 100644 index 000000000..f0db3fb5b --- /dev/null +++ b/toolchain/gmp/Makefile.inc @@ -0,0 +1,12 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +PKG_NAME:= gmp +PKG_VERSION:= 4.2.2 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 7ce52531644e6d12f16911b7e3151f3f +MASTER_SITES:= ${MASTER_SITE_GNU:=gmp/} +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2 +GMP_BUILD_DIR:= $(TOOLCHAIN_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile new file mode 100644 index 000000000..add626b94 --- /dev/null +++ b/toolchain/kernel-headers/Makefile @@ -0,0 +1,32 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk +include ../rules.mk +include $(TOPDIR)/mk/linux.mk +include ${TOPDIR}/mk/buildhlp.mk + +$(WRKBUILD)/.headers: + $(MAKE) -C $(WRKBUILD) ARCH=$(ARCH) V=1 \ + INSTALL_HDR_PATH=$(STAGING_DIR)/usr \ + headers_install + $(MAKE) -C $(WRKBUILD) ARCH=$(ARCH) V=1 \ + INSTALL_HDR_PATH=$(TOOLCHAIN_SYSROOT)/usr \ + headers_install + # cryptodev.h from ocf-linux-20080917 + mkdir -p ${STAGING_DIR}/include/crypto + cp files/cryptodev.h ${STAGING_DIR}/include/crypto/ +ifeq ($(ARCH),cris) +ifeq ($(CPU_ARCH),crisv32) + cd $(STAGING_DIR)/usr/include && ln -sf arch-v32/arch arch + cd $(TOOLCHAIN_SYSROOT)/usr/include && ln -sf arch-v32/arch arch +else + cd $(STAGING_DIR)/usr/include && ln -sf arch-v10/arch arch + cd $(TOOLCHAIN_SYSROOT)/usr/include && ln -sf arch-v10/arch arch +endif +endif + touch $@ + +include ${TOPDIR}/mk/toolchain.mk diff --git a/toolchain/kernel-headers/files/cryptodev.h b/toolchain/kernel-headers/files/cryptodev.h new file mode 100644 index 000000000..fa1a57b4f --- /dev/null +++ b/toolchain/kernel-headers/files/cryptodev.h @@ -0,0 +1,478 @@ +/* $FreeBSD: src/sys/opencrypto/cryptodev.h,v 1.25 2007/05/09 19:37:02 gnn Exp $ */ +/* $OpenBSD: cryptodev.h,v 1.31 2002/06/11 11:14:29 beck Exp $ */ + +/*- + * Linux port done by David McCullough <david_mccullough@securecomputing.com> + * Copyright (C) 2006-2007 David McCullough + * Copyright (C) 2004-2005 Intel Corporation. + * The license and original author are listed below. + * + * The author of this code is Angelos D. Keromytis (angelos@cis.upenn.edu) + * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting + * + * This code was written by Angelos D. Keromytis in Athens, Greece, in + * February 2000. Network Security Technologies Inc. (NSTI) kindly + * supported the development of this code. + * + * Copyright (c) 2000 Angelos D. Keromytis + * + * Permission to use, copy, and modify this software with or without fee + * is hereby granted, provided that this entire notice is included in + * all source code copies of any software which is or includes a copy or + * modification of this software. + * + * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTY. IN PARTICULAR, NONE OF THE AUTHORS MAKES ANY + * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE + * MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR + * PURPOSE. + * + * Copyright (c) 2001 Theo de Raadt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, O |