X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=TODO;h=09d8f934b5d27903d0e3ab39008ce91b4f48bbae;hb=0e82c0c70fa70e6485afc40d48a5fa7e29e84982;hp=c8ac429c6d1d0d5158770b968c14fcc7a57504f5;hpb=5b02f5391b5fa1a71cf3a824a63c36c00b4238c7;p=pkgsrc-ghc.git diff --git a/TODO b/TODO index c8ac429..09d8f93 100644 --- a/TODO +++ b/TODO @@ -4,10 +4,17 @@ wip/ghc TODO ============ +* Send hunks #3 and #4 of patch-aclocal.m4 to the upstream. +* Send patch-configure.ac to the upstream. +* Send patch-libraries-integer-gmp_configure.ac to the upstream. +* Send patch-rules_hs-suffix-rules-srcdir.mk to the upstream. +* Modify configure.ac and rules/build-package-data.mk to allow + ``--with-curses-{includes,libraries}`` to be passed to the top-level + ``configure``, and send a patch to the upstream. +* Explain about files/bootstrap-main.c and files/capi-wrappers-*.c + in this guide, and fix the upstream to throw them away. * Build more bootstrapping HC archives to support more platforms. - --------------------------- How to build an HC archive -------------------------- @@ -25,7 +32,6 @@ Extract the source archive and duplicate the source tree, one for Build some configuration files:: $ cd ghc-{VERSION}-target - $ ln -s /bin/pwd utils/ghc-pwd/ghc-pwd $ ./configure --enable-hc-boot $ echo "INTEGER_LIBRARY = integer-simple" > mk/build.mk $ gmake bootstrapping-files @@ -58,12 +64,13 @@ contents:: INTEGER_LIBRARY = integer-simple libraries/terminfo_CONFIGURE_OPTS += \ - --configure-option=--with-curses-includes=/usr/pkg/include/ncurses \ + --configure-option=--with-curses-includes=/usr/pkg/include \ --configure-option=--with-curses-libraries=/usr/pkg/lib Copy some configuration files from the ``-target`` tree:: - $ cp ../ghc-{VERSION}-target/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h} includes/ + $ cp -r ../ghc-{VERSION}-target/includes/dist-{ghcconstants,derivedconstants} includes/ + $ cp ../ghc-{VERSION}-target/includes/ghcautoconf.h includes/ Build it:: @@ -96,13 +103,15 @@ Then extract it again, in a different directory:: Modify hard-coded paths in inplace ``.conf`` files, and then re-archive the HC tree:: - $ gsed -i.bak \ + $ gsed -i \ -e 's#/usr/pkg#[[PREFIX]]#g' \ -e 's#'`dirname \`pwd\``'#[[GHC_SOURCE_PATH]]#g' \ inplace/lib/package.conf.d/*.conf \ + */package.conf.inplace \ */*/package-data.mk \ - */*/*/package-data.mk + */*/*/package-data.mk \ + */*/*/*/package-data.mk $ cd .. - $ tar jcf ghc-{VERSION}-boot-{PLATFORM}.tar.bz2 ghc-{VERSION} + $ tar jcvf ghc-{VERSION}-boot-{PLATFORM}.tar.bz2 ghc-{VERSION} Done. Upload the archive to some host and add it to the ``Makefile``.