- start to think about GNU/hurd support.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 5 Oct 2007 11:06:56 +0000 (11:06 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 5 Oct 2007 11:06:56 +0000 (11:06 -0000)
  Not yet functional. Help welcome

Config.in
target/Makefile.in
target/hurd/Config.in
target/hurd/Makefile.in [new file with mode: 0644]
toolchain/gcc/4.2.1/104-gnuhurd-uclibc-conf.patch [new file with mode: 0644]
toolchain/gcc/gcc-uclibc-4.x.mk

index 34b08e6302f9e0dc30ddbbbf75bcc0fe091cb35f..407057d43806a8bb8fccb3df9a38d711410e687e 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -131,6 +131,7 @@ config BR2_GNU_TARGET_SUFFIX
          Default options are:
              linux-uclibcgnueabi for ARM EABI
              linux-uclibc for the rest
+             gnuhurd-uclibc for the hurd
 
 config BR2_JLEVEL
        int "Number of jobs to run simultaneously"
index 410ae7bd2b7baadff0c44d8974b489dcf04de729..bb7d596cc79c736e7b6bd4f79afbc6c5fda0790d 100644 (file)
@@ -24,4 +24,4 @@ include target/*/*.mk
 #else
 include target/linux/Makefile.in
 #endif
-
+include target/hurd/Makefile.in
index be5675f5bd6a01ba60ddfc35b8fc353e6f92da87..08b9ff7e73292ecb7c0219693b3cac41bd91b1d0 100644 (file)
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_HURD
-       bool "Hurd kernel"
+       bool "Hurd kernel (see helptext)"
        depends on BR2_KERNEL_HURD
        default y
        help
diff --git a/target/hurd/Makefile.in b/target/hurd/Makefile.in
new file mode 100644 (file)
index 0000000..9bd7d9b
--- /dev/null
@@ -0,0 +1,38 @@
+# GNU Hurd kernel
+#
+ifeq ($(BR2_KERNEL_HURD),y)
+
+HURD_MODULE_SITE:= -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd
+MIG_MODULE_NAME:=mig
+MIG_MODULE_VERSION:=cvs
+HURD_MODULE_NAME:=hurd
+HURD_MODULE_VERSION:=cvs
+HURD_CMD_CO=cvs -z3 $(HURD_MODULE_SITE) co
+HURD_CMD_UP:=cvs up -PA -d
+HURD_SRC_DIR:=hurd-$(HURD_MODULE_VERSION)
+MIG_SRC_DIR:=mig-$(MIG_MODULE_VERSION)
+
+$(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.unpacked:
+       mkdir -p $(@D)
+       (cd $(TOOL_BUILD_DIR) && \
+        $(HURD_CMD_CO) -d $(HURD_SRC_DIR) $(HURD_MODULE_NAME); \
+       )
+       touch $@
+
+$(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.unpacked:
+       mkdir -p $(@D)
+       (cd $(TOOL_BUILD_DIR) && \
+        $(HURD_CMD_CO) -d $(MIG_SRC_DIR) $(MIG_MODULE_NAME); \
+       )
+       touch $@
+
+$(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.updated: $(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.unpacked
+       (cd $(@D) && $(HURD_CMD_UP))
+
+$(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.updated: $(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.unpacked
+       (cd $(@D) && $(HURD_CMD_UP))
+
+hurd-source: $(TOOL_BUILD_DIR)/$(HURD_SRC_DIR)/.updated \
+       $(TOOL_BUILD_DIR)/$(MIG_SRC_DIR)/.updated
+
+endif
diff --git a/toolchain/gcc/4.2.1/104-gnuhurd-uclibc-conf.patch b/toolchain/gcc/4.2.1/104-gnuhurd-uclibc-conf.patch
new file mode 100644 (file)
index 0000000..c04dd9f
--- /dev/null
@@ -0,0 +1,13 @@
+diff -rdup gcc-4.2.1.oorig/gcc/config.gcc gcc-4.2.1/gcc/config.gcc
+--- gcc-4.2.1.oorig/gcc/config.gcc     2007-10-01 11:52:52.000000000 +0200
++++ gcc-4.2.1/gcc/config.gcc   2007-10-01 13:22:12.000000000 +0200
+@@ -494,6 +494,9 @@ case ${target} in
+     alpha*)
+       tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}"
+       ;;
++    i[34567]86-*hurd*-*)
++      tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/gnu.h gnu.h ${tm_file}"
++      ;;
+     i[34567]86-*-*)
+       tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}"
+       ;;
index 0c6636c23a8aa9ce965d4e80e0fac15fb098b845..e646c515e70beb0b4ca88391ae92dd9e03a8a4ff 100644 (file)
@@ -137,6 +137,9 @@ ifneq ($(BR2_ENABLE_LOCALE),y)
 GCC_ENABLE_CLOCALE:=--disable-clocale
 endif
 
+ifeq ($(BR2_KERNEL_HURD),y)
+EXTRA_GCC1_CONFIG_OPTIONS+=--without-headers
+endif
 
 $(DL_DIR)/$(GCC_SOURCE):
        mkdir -p $(DL_DIR)