summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-02-19 00:36:11 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-02-19 00:36:11 +0100
commitaa4ab58940fe84dfd79b230407b0eac2fd10a80b (patch)
treea011f5e23804dfcc7f4a3749e9abd9b7613d582e
parent2440d844c6f493a8439c493adca88caf5e0da58f (diff)
first try to get eglibc/glibc based toolchain working
when HOST == TARGET eglibc/glibc toolchain does not compile correctly. With this patches at least eglibc compiles fine. There still exist a problem with glibc. Someone should check what diff in eglibc make the build work :}
-rw-r--r--toolchain/eglibc/Makefile1
-rw-r--r--toolchain/gcc/Makefile9
-rw-r--r--toolchain/glibc/Makefile11
3 files changed, 17 insertions, 4 deletions
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
index d6cf99e27..aeec91c90 100644
--- a/toolchain/eglibc/Makefile
+++ b/toolchain/eglibc/Makefile
@@ -44,7 +44,6 @@ $(WRKBUILD)/.headers_configure:
mkdir -p $(EGLIBC_BUILD_DIR_INITIAL)
(cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION); \
ln -sf ../ports ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)/libc);
- #(cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)/libc; autoconf --force);
$(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
$(EGLIBC_BUILD_DIR_INITIAL)
(cd $(EGLIBC_BUILD_DIR_INITIAL); \
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 619ddf47c..0fc5edc1d 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -17,6 +17,7 @@ GCC_CONFOPTS= --prefix=$(STAGING_TOOLS) \
--disable-libmudflap \
--disable-libgomp \
--disable-biarch \
+ --disable-decimal-float \
--disable-multilib \
--disable-sjlj-exceptions \
--disable-libssp \
@@ -56,7 +57,7 @@ $(GCC_BUILD_DIR_MINIMAL)/.configured:
$(GCC_BUILD_DIR_MINIMAL)/.compiled: $(GCC_BUILD_DIR_MINIMAL)/.configured
PATH=$(TARGET_PATH) \
- $(MAKE) -C $(GCC_BUILD_DIR_MINIMAL) all-gcc
+ $(MAKE) -C $(GCC_BUILD_DIR_MINIMAL) all-gcc
touch $@
$(WRKBUILD)/.headers: $(GCC_BUILD_DIR_MINIMAL)/.compiled
@@ -76,6 +77,8 @@ $(GCC_BUILD_DIR_INITIAL)/.configured:
${GCC_CONFOPTS} \
--enable-languages=c \
--disable-shared \
+ --disable-threads \
+ --with-newlib \
--with-sysroot=$(TOOLCHAIN_SYSROOT) \
);
touch $@
@@ -83,12 +86,12 @@ $(GCC_BUILD_DIR_INITIAL)/.configured:
$(GCC_BUILD_DIR_INITIAL)/.compiled: $(GCC_BUILD_DIR_INITIAL)/.configured
PATH=$(TARGET_PATH) \
- $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) all
+ $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) all-gcc all-target-libgcc
touch $@
$(WRKBUILD)/.configured: $(GCC_BUILD_DIR_INITIAL)/.compiled
PATH=$(TARGET_PATH) \
- $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) install
+ $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) install-gcc install-target-libgcc
touch $@
$(GCC_BUILD_DIR_FINAL)/.configured:
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 2b3fc252f..978794dc9 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -57,11 +57,22 @@ $(WRKBUILD)/.headers_configure:
touch $@
$(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
+ mkdir -p $(TOOLCHAIN_SYSROOT)/usr/lib
$(MAKE) -C $(GLIBC_BUILD_DIR_INITIAL) \
cross-compiling=yes \
install_root=$(TOOLCHAIN_SYSROOT) \
install-headers
touch $(TOOLCHAIN_SYSROOT)/usr/include/gnu/stubs.h
+ PATH='${TARGET_PATH}' \
+ $(MAKE) -C $(GLIBC_BUILD_DIR_INITIAL) \
+ csu/subdir_lib
+ ( cd $(GLIBC_BUILD_DIR_INITIAL); \
+ $(CP) csu/crt1.o csu/crti.o csu/crtn.o \
+ $(TOOLCHAIN_SYSROOT)/usr/lib \
+ );
+ PATH='${TARGET_PATH}' \
+ $(TARGET_CC) -nostdlib -nostartfiles -shared -x c /dev/null \
+ -o $(TOOLCHAIN_SYSROOT)/usr/lib/libc.so
touch $@
$(WRKBUILD)/.configured: