X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=TODO;h=09d8f934b5d27903d0e3ab39008ce91b4f48bbae;hb=3688638f435f0480c571d806d72ac6b3e0dbaf42;hp=5ee5ead1993df8c97eaec2fbdda9d260bb68ecc6;hpb=8fa3d45608aad3bebde37f7bdb182c25cbf63715;p=pkgsrc-ghc.git diff --git a/TODO b/TODO index 5ee5ead..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 @@ -34,7 +40,9 @@ Build some configuration files:: Run ``./configure`` on the host tree:: $ cd ghc-{VERSION}-host - $ ./configure + $ ./configure \ + --with-iconv-includes=/usr/pkg/include \ + --with-iconv-libraries=/usr/pkg/lib Then create ``ghc-{VERSION}-host/mk/build.mk`` with the following contents:: @@ -55,10 +63,14 @@ contents:: utils/ghc-pkg_dist-install_v_HC_OPTS += -keep-hc-files INTEGER_LIBRARY = integer-simple + libraries/terminfo_CONFIGURE_OPTS += \ + --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:: @@ -91,11 +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:: - $ sed -i.bak -e 's#'`dirname \`pwd\``'#[[GHC_SOURCE_PATH]]#g' \ + $ 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``.