State of the Multibuild

We have generalised the approach used in traditional multilib support, giving
rise to multibuild.  Multibuild addresses packages that must be built more than
once to target different ABIs.

We still do not have a firm date in mind for merging to master, though, we are
slowly making progress towards that goal.

Completed:
   - C: core system libraries
   - C: X11 libraries
   - multibuild: dependency tracking
      + keep in mind that all packages are treated as data-only by default
   - multibuild: most infrastructure required for building a package more than
                 once with different flags

TODO:
   - C: get rid of $(get_libdir) usage
     *NOTE* This will be done when merging to master as we want to minimise
            conflicts
   - C: convert applications to multibuild
   - python: add support for 2.6 and 3.1 targets
     *NOTE* zlin has a provisional patch for this which handles the distutils
            cases
   - ruby: add support for 1.8 and 1.9 targets
   - perl: add support for 5.8 and 5.10 targets
   - multibuild: merge core multibuild logic into exheres-0
   - multibuild: rename easy-multibuild to multibuild
   - merge multilib to master

Possible Future Directions:
   - merged x86/x86_64 platforms
      + x86: ABIS_C: 32, DEFAULT_ABI_C: 32
      + x86_64: ABIS_C: 32 64, DEFAULT_ABI_C: 64
      + multibuildification of all (relevant) packages

Converting libraries to multibuild:
   - try to use easy-multibuild as often as possible
   - update MYOPTIONS, multibuild_<class>: <targets supported>
   - update all run-time dependencies (appending [multibuild_<class>:*(+)?])

Converting your system to multibuild:
   - update paludis
   - checkout the multilib branch in ::arbor and ::x11
   - switch to the multibuild profile, 
${location}/profiles/defax86_64-pc-linux-gnu
   - ensure that CHOST is not set in bashrc, and note that CFLAGS will apply to
     all C targets.
   - merge skeleton-filesystem-layout
   - merge glibc[bootstrap]
   - merge gcc[-openmp]
   - remerge gettext || merge gcc[openmp]
   - merge glibc[-bootstrap]
   - merge binutils
   - re-merge world (the packages with multibuild_c options are not revbumped)

   ** NOTE **  As usual, this comes with no guarantees, and if you break your
               system, you get to keep both pieces!

Contacts:
   - Saleem Abdulrasool <[email protected]>
   - Bo �rsted Andresen <[email protected]>

-- 
Saleem Abdulrasool
gompnerd (at) compnerd (dot) org

_______________________________________________
Exherbo-dev mailing list
[email protected]
http://lists.exherbo.org/mailman/listinfo/exherbo-dev

Reply via email to