pandoc/INSTALL
fiddlosopher 06a6c5431e Minor change in INSTALL instructions.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@893 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-25 17:49:41 +00:00

141 lines
4.7 KiB
Text

% Installing pandoc
The following instructions are for installing pandoc from source.
Packages are also available for Windows, MacOS X, Linux (Debian and
derivatives), and FreeBSD. See the [pandoc home page] for more details.
[pandoc home page]: http://sophos.berkeley.edu/macfarlane/pandoc/
# Installing GHC
To compile Pandoc, you'll need [GHC] version 6.6 or greater. If
you don't have GHC already, you can get it from the [GHC Download]
page. If you're running MacOS X, you can also install GHC using
[MacPorts] or [Fink].
[GHC]: http://www.haskell.org/ghc/
[GHC Download]: http://www.haskell.org/ghc/download.html
[MacPorts]: http://macports.org
[Fink]: http://finkproject.org
You'll also need standard build tools: [GNU `make`], `sed`, `bash`,
and `perl`. These are standard on unix systems (including MacOS
X). If you're using Windows, you can install [Cygwin].
[Cygwin]: http://www.cygwin.com/
[GNU `make`]: http://www.gnu.org/software/make/
# Installing Pandoc
1. Change to the directory containing the Pandoc distribution.
2. Compile:
make
If you get "Unknown modifier" errors, it is probably because `make`
on your system is not [GNU `make`]. Try using `gmake` instead.
3. See if it worked (optional, but recommended):
make test
Note: if you see errors like the following, they're due to differences
between different versions of the xhtml library, and can safely be
disregarded:
2c2
< <html xmlns="http://www.w3.org/1999/xhtml"
---
> <html
4. Install:
sudo make install
Note: This installs `pandoc`, together with its wrappers and
documentation, into the `/usr/local` directory. If you'd rather
install `pandoc` somewhere else--say, in `/opt/local`--you can
set the `PREFIX` environment variable:
PREFIX=/opt/local sudo make install
If you don't have root privileges or would prefer to install
`pandoc` and the associated wrappers into your `~/bin` directory,
type this instead:
PREFIX=~ make install-exec
5. Build and install the Haskell libraries and library
documentation (optional--for Haskell programmers only):
make build-all
sudo make install-all
Note that building the library documentation requires [haddock].
[haddock]: http://www.haskell.org/haddock/
# Removing Pandoc
Each of the installation steps described above can be reversed:
sudo make uninstall
PREFIX=~ make uninstall-exec
sudo make uninstall-all
# Other targets
The following 'make' targets should not be needed by the average user,
but are documented here for packagers and developers:
## Building and installing
* `configure`: Performs the needed preprocessing to create a proper
Cabal package for Pandoc:
- Builds `ASCIIMathML.hs`, `DefaultHeaders.hs`, and `S5.hs`
from templates in `src/templates` and data in `src/ASCIIMathML.js`,
`src/ui`, and `src/headers`.
- Stores values of relevant environment variables in `vars` for
persistence.
- Runs Cabal's "configure" command.
* `build-exec`: Builds `pandoc` executable (using Cabal's "build"
command) and creates the wrappers `html2markdown` and `markdown2pdf`
from templates in `src/wrappers`.
* `build-doc`: Builds program documentation (e.g. `README.html`).
* `build-lib-doc`: Builds Haddock documentation for Pandoc libraries.
* `install-doc`, `uninstall-doc`: Installs/uninstalls user documentation
and man pages.
* `install-lib-doc`, `uninstall-lib-doc`: Installs/uninstalls library
documentation and man pages.
* `install-exec`, `uninstall-exec`: Installs/uninstalls programs
(`pandoc` and wrappers).
## Testing
* `test`: Runs Pandoc's test suite. (All tests should pass.)
* `test-markdown`: Runs the Markdown regression test suite, using
`pandoc --strict`. (Three of the tests will fail.)
## Cleaning
* `clean`: Restores directory to pre-build state, removing generated files.
* `distclean`: Like clean, but also cleans up files created by `make deb`.
## Packaging
* `tarball`: Creates a source tarball for distribution.
* `deb`: Creates debian packages in `..` directory.
* `macport`: Creates MacPorts Portfile in `macports` directory.
* `freebsd`: Creates freebsd Makefile and distinfo in `freebsd` directory.
* `osx-pkg-prep`: Prepares for building a MacOS X package.
* `osx-pkg`: Builds a MacOS X package (must be run as root, and on OS X).
You should make `osx-pkg-prep` first (not as root).
* `osx-dmg`: Creates a compressed disk image containing Mac OS X package
(must be run on OS X). You should make `osx-pkg` first.
* `win-pkg`: Creates a Windows binary package (presupposes `pandoc.exe`,
which must be created by building Pandoc on a Windows machine).
* `website`: Creates Pandoc's website in `web/pandoc` directory.