An overlay with set of ebuilds and inctructions to get a hurd cross-compiler (and maybe more!)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dev-util/mig
metadata
sys-kernel
README.md

README.md

Here is the steps on how to get cross-compiler to hurd:

Build a cross-compiler:

  1. Convenience variables: $ target=i686-pc-gnu

  2. Install gnumach headers (message passing .defs and a few (5?) syscalls gnumach has) $ USE=headers-only emerge -v1 cross-${target}/gnumach

  3. Install gnumach-specific IDL generator: $ USE=headers-only emerge -v1 cross-${target}/mig

  4. Install hurd headers (actual messages for syscall implementation) $ USE=headers-only emerge -v1 cross-${target}/hurd

  5. Install glibc headers (libc wrappers around syscalls) $ USE=headers-only emerge -v1 =cross-${target}/glibc-9999

  6. Install gcc stage1 (C only): $ USE="-*" emerge -v1 cross-${target}/gcc

  7. Install full glibc $ emerge -v1 =cross-${target}/glibc-9999

  8. Install (almost) full gcc $ USE="-* cxx" emerge -v1 cross-${target}/gcc

Done!

TODOs:

  • fix crossdev to handle automatic ARCH and KERNEL (re-)assignment in profiles
  • describe symlink creation in detail