[add building and development documentation
John Meacham <john@repetae.net>**20080210012006] hunk ./docs/Makefile 1
-
-
-big-picture.pdf: big-picture.ps
-	epstopdf $< --outfile $@
-
-big-picture.ps: big-picture.dot
-	dot $< -Tps -o$@
-
-publish: big-picture.pdf big-picture.dot
-	cp big-picture.pdf big-picture.dot  ~/public_html/computer/jhc
-
-
-.PHONY: publish
rmfile ./docs/Makefile
addfile ./docs/building.mkd.in
addfile ./docs/development.mkd
hunk ./Makefile.am 184
+
+%.pdf: %.ps
+	epstopdf $< --outfile $@
+
+%.ps : %.dot
+	dot $< -Tps -o$@
+
+%.pdf : %.dot
+	dot $< -Tpdf -o$@
+
+%.html: %.mkd
+	pandoc $< -s -f markdown -t html -o $@
+
+publish: docs/building.html docs/big-picture.pdf docs/development.html
+	cp -- $^ /home/john/public_html/computer/jhc
hunk ./configure.ac 44
-AC_CONFIG_FILES([Makefile jhc.spec Version/Config.hs])
+AC_CONFIG_FILES([Makefile jhc.spec Version/Config.hs docs/building.mkd])
hunk ./docs/building.mkd.in 1
+Installation of jhc
+===================
+
+All versions of jhc are available from the
+[Download Directory](http://repetae.net/computer/jhc/drop/). The project is
+also under darcs revision control, for information on getting the source code
+from darcs and building it, see the [Development Page](development.html).
+
+Getting the RPM
+---------------
+
+This is by far the easiest way to go about it, an RPM for x86 based systems
+(32 or 64 bits) can be instaled from:
+<http://repetae.net/computer/jhc/drop/@PACKAGE@-@VERSION@-@RPMRELEASE@.i386.rpm>.
+There is also a 'src' rpm in the download directory for rebuilding from source.
+
+Building from the tarball
+-------------------------
+
+jhc is also distributed via a autoconf/automake style tarball. Building jhc
+has the following dependencies:
+
+ * GHC 6.8.2 or better
+ * Recent version of [DrIFT](http://repetae.net/computer/haskell/DrIFT)
+ * haskell library [binary](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary)
+ * haskell library [zlib](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zlib)
+
+You can get the tarball
+at <http://repetae.net/computer/jhc/drop/@PACKAGE@-@VERSION@.tar.gz>. In order
+to build it, download it into a directory and perform the following
+
+    tar zxvf @PACKAGE@-@VERSION@.tar.gz
+    cd @PACKAGE@-@VERSION@
+    ./configure && make
+
+then as root run
+
+    make install
+
+
+A note on libraries
+-------------------
+
+All these prepackaged versions of jhc come with prebuilt versions of the
+'base' and 'haskell98' libraries for use by jhc in addition to the sourcecode
+for these libraries. You can rebuild them if you wish simply by deleting the
+'.hl' files in your build directory and doing a 'make libs'. however it is
+recommended you work with the development darcs tree if you plan on modifying
+the base libraries.
+
+
+
hunk ./docs/development.mkd 1
+Developing jhc
+==============
+
+jhc is maintained via the [Darcs revision control system](http://darcs.net/).
+The darcs repository is located at <http://repetae.net/repos/jhc>, you can also
+[browse the repository](http://repetae.net/dw/darcsweb.cgi?r=jhc;a=summary) via
+darcsweb.
+
+
+Getting the source
+------------------
+
+In order to build from the darcs repo, you need the following things installed:
+
+    * GHC 6.8.2 or better
+    * binary ghc library
+    * zlib ghc library
+    * A recent version of DrIFT
+    * pandoc if you wish to build documentation
+    * graphviz if you wish to create code motion graphs
+    * a working 'perl' install for various sundry tasks
+    * the happy haskell parser generator
+
+First you must install darcs, there are a couple projects you need to pull in order to compile jhc, the following should produce a working tree:
+
+    darcs get http://repetae.net/repos/jhc
+    cd jhc
+    darcs get http://repetae.net/repos/Doc
+    cd lib
+    darcs get http://darcs.haskell.org/packages/haskell98
+
+Now you can begin to build jhc, in order to do so, switch to the jhc directory and do:
+
+    autoreconf -i
+    ./configure
+    make
+
+after jhc has finished building, you can create the standard libraries via
+
+    make libs
+
+jhc can now be tested via
+
+    make helloworld
+
+however, during development it is often easier to use the raw haskell source of the libraries directly. in order to do that, you can run jhc with the following options when run in the development tree.
+
+    ./jhc -v --noauto -ilib/base -ilib/haskell98 test/HelloWorld.hs -o helloworld
+