Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL339
1 files changed, 339 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..cee8180
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,339 @@
+HOW TO COMPILE AND INSTALL XAOS
+===============================
+
+NOTE: This is the source code package for XaoS. You cannot use XaoS from
+this package until you compile it. For end users, we recommend using a
+pre-built binary instead.
+
+If you would like to install a binary version for Windows or Mac OS X,
+download the appropriate package for your operating system from
+
+ http://xaos.sf.net
+
+For Ubuntu and Debian users, type the following from a shell prompt to
+automatically install XaoS:
+
+ sudo apt-get install xaos
+
+For other GNU/Linux users, refer to your distribution's instructions for
+installing packages from its repositories.
+
+Compilation from source is only necessary if:
+
+ * you are a packager for an operating system distribution,
+ * you want to try new features which are not yet included in the
+ binary packages available for your distribution,
+ * you want to try some changes/enhancements on XaoS source code.
+
+You should be comfortable compiling software and working on a Unix command
+line before attempting these instructions.
+
+
+
+Unix-Like Systems
+=================
+
+Build Requirements
+------------------
+
+XaoS should compile on most modern Unix-like systems. It has been most
+recently tested on Ubuntu 9.04.
+
+The dependencies are broken down by the functionality that requires them. If
+you are not trying to compile an official binary and only want to test or
+develop a certain subset of XaoS's features, you can skip the dependencies
+that are not relevant to those features.
+
+To compile XaoS you need:
+
+ * A modern version of gcc (3.x or higher) from http://gcc.gnu.org/
+ * Other optimizing C compilers may work but have not been tested
+
+To build the X11 UI, you need:
+
+ * Xlib library and headers from http://www.x.org/.
+
+For the GTK UI you need:
+
+ * GTK+ 2.x (tested with 2.16) from http://www.gtk.org/.
+
+XaoS can display fractals as high quality ASCII art. For this, you need:
+
+ * AA-lib 1.4 or higher from http://aa-project.sf.net
+
+To compile XaoS with support for saving images you need:
+
+ * zlib from http://www.zlib.net/
+ * libpng from http://www.libpng.org/pub/png/libpng.html
+
+To use internationalization (i18n) you need:
+
+ * gettext from http://www.gnu.org/software/gettext/
+ * libiconv from http://www.gnu.org/software/libiconv/
+
+To support user-defined formulas, you need ONE of the following:
+
+ * nasm from http://www.nasm.us/
+ * gsl from http://www.gnu.org/software/gsl/
+
+ NOTE: Nasm will only work on x86 architectures, but GSL should work on any
+ modern platform.
+
+These dependencies may be available pre-compiled through your operating
+system's package repository. See your operating system's documentation for
+more details.
+
+NOTE: Many GNU/Linux distributions separate the run-time and development
+components of their libraries into different packages. If you install
+these dependencies from your distribution's repository, please make sure to
+install the development packages as well (usually marked -dev or -devel).
+
+Users of Ubuntu and Debian can automatically install all the necessary
+build dependencies from above by typing:
+
+ sudo apt-get build-dep xaos
+
+However, GTK+ is not configured as a build dependency yet, so you will
+need to install it manually by typing:
+
+ sudo apt-get install libgtk2.0-dev
+
+
+Building XaoS
+-------------
+
+To build XaoS, type the following commands from the XaoS source directory:
+
+ ./configure
+ make
+
+XaoS will automatically detect which dependencies you have installed and
+configure itself to support whatever features are available. If you find
+that some feature is missing, please verify that you have installed the
+corresponding dependency (including the developer libraries).
+
+Configure will try to choose the best optimization switches for your
+architecture, but it may not work well for less common ones. You can
+provide optimization flags by specifying them before running configure:
+
+ CFLAGS=(your best optimizing switches)
+ export CFLAGS
+
+You can also customize what optional features to build by passing options
+to the configure script.
+
+To enable experimental SMP support use:
+
+ --with-pthread=yes
+
+To enable the experimental GTK UI, use:
+
+ --with-gtk-driver=yes --with-x11-driver=no
+
+To enable the aa-lib driver, use:
+
+ --with-aa-driver=yes
+
+Run "./configure --help" for a full list of options.
+
+Once you have successfully compiled XaoS, type the following to install it:
+
+ sudo make install
+
+
+For Win32
+=========
+
+Build Requirements
+------------------
+
+XaoS supports Windows XP or later. To compile a fully-featured XaoS binary
+on Windows, you need the following dependencies.
+
+The dependencies are broken down by the functionality that requires them. If
+you are not trying to compile an official binary and only want to test or
+develop a certain subset of XaoS's features, you can skip the dependencies
+that are not relevant to those features.
+
+To compile XaoS, you need:
+
+ * Cygwin from http://www.cygwin.com/
+
+ In addition to the Base packages, the following packages are required:
+
+ autoconf gcc make gettext gettext-devel subversion tidy
+
+ The following packages are are also recommended to make Cygwin nicer to use:
+
+ indent mintty ncurses unzip vim wget
+
+ Any dependencies required by these packages will be automatically selected
+ when you select the package. Do not unselect any of the dependencies that
+ the installer automatically chooses.
+
+ HINT: These packages will be easier to find if you maximize the Cygwin
+ installer and click the View button until you reach "Full" mode to
+ list the packages in alphabetical order.
+
+To build with DirectX support you need:
+
+ * DirectX SDK from http://msdn.microsoft.com/en-us/directx/aa937788.aspx
+
+To build with online help support you need:
+
+ * HTML Help SDK from
+ http://msdn.microsoft.com/en-us/library/ms670169(VS.85).aspx
+
+To compile XaoS with support for saving images you need:
+
+ * zlib binaries from http://gnuwin32.sourceforge.net/packages/zlib.htm
+ * libpng binaries from http://gnuwin32.sourceforge.net/packages/libpng.htm
+
+ Download the installer for each labeled "Complete package, except sources"
+
+To use internationalization (i18n) you need:
+
+ * libiconv binaries from http://gnuwin32.sourceforge.net/packages/libiconv.htm
+ * gettext binaries from http://gnuwin32.sourceforge.net/packages/gettext.htm
+
+ Download the installer for each labeled "Complete package, except sources"
+
+To compile XaoS with smp support you need:
+
+ * Pthreads-w32 from http://sourceware.org/pthreads-win32/
+
+ NOTE: Pthreads-w32 will extract to the current directory by default. The
+ recommended installation path is C:\pthreads-w32.
+
+To build the XaoS installer you need:
+
+ * NSIS from http://nsis.sourceforge.net/
+
+
+Preparation
+-----------
+
+After running the installer for each of the dependencies above, start Cygwin
+from the icon on your desktop or in your start menu. For a nicer shell, start
+MinTTY from the start menu (assuming you installed it). You will be presented
+with a bash command prompt very similar to GNU/Linux or Unix.
+
+Extract the XaoS source files:
+
+ tar xfz XaoS-$VERSION.tar.gz # replace $VERSION with actual version
+
+Or, check out the latest sources from Subversion:
+
+ svn co https://xaos.svn.sourceforge.net/svnroot/xaos/trunk xaos
+
+NOTE: If your Windows username contains spaces, do not extract the sources in
+your home directory. Instead create a directory called, for example, /build
+and extract them there.
+
+The remaining steps should be performed from the root of the XaoS sources.
+
+Add the contents of cygwin_profile from the tools directory to your profile:
+
+ cat tools/cygwin_profile >> $HOME/.bash_profile
+
+Edit the "$HOME/.bash_profile" file and make sure all the *_HOME variables at
+the top point to the correct location where you installed each of the
+dependencies. These variables are necessary so that gcc can find the
+libraries and header files that you installed to various locations on your
+computer. You should not have to modify the second half of the file.
+
+Exit and restart Cygwin so the changes to your .bash_profile will take effect.
+
+
+Building XaoS
+-------------
+
+To build XaoS, type the following commands from the XaoS source root:
+
+ ./configure
+ make
+
+XaoS will automatically detect what dependencies you have installed and
+configure itself to support whatever features are available. If you find
+that some feature is missing, please verify that you have installed the
+corresponding dependency and that the installation location is specified
+correctly in your "$HOME/.bash_profile" file.
+
+To build the windows help file go to the help directory and run the following
+command:
+
+ make chm
+
+To install XaoS to a staging directory, type the following commands:
+
+ export DESTDIR=<installdir>
+ make install-win
+
+where <installdir> should be the absolute path of the folder in which XaoS
+should be installed.
+
+To build the XaoS installer, install XaoS to
+XaoS/src/ui/ui-drv/win32/installer/XaoS. Use NSIS to compile the script XaoS
+Installer.nsi in the directory XaoS/src/ui/ui-drv/win32/installer.
+
+
+Mac OS X
+========
+
+Build Dependencies
+------------------
+
+XaoS runs on Mac OS X 10.4 or later but compilation has only been tested
+recently on 10.5.
+
+Xcode 3.0 or later is required to compile XaoS for Mac OS X. You can find
+it on the Developer Tools disc that came with your computer or download it
+from:
+
+ http://developer.apple.com/mac/
+
+Pre-compiled binaries for additional Mac OS X third-party build dependencies
+can be downloaded from:
+
+ http://downloads.sourceforge.net/sourceforge/xaos/xaos-thirdparty-cocoa-20090714.tar.gz
+
+Exract this file within the src/ui/ui-drv/cocoa/thirdparty directory of your
+XaoS source distribution.
+
+Alternatively, to compile third party dependencies from source, download:
+
+ * libpng from http://www.libpng.org/pub/png/libpng.html
+ * gettext from http://www.gnu.org/software/gettext/
+ * gsl from http://www.gnu.org/software/gsl/
+
+Extract each library and build them using the following commands:
+
+ env CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
+ -arch i386 -arch ppc -mmacosx-version-min=10.4" \
+ LDFLAGS="-arch i386 -arch ppc" \
+ ./configure --prefix=$XAOS_ROOT/src/ui/ui-drv/cocoa/thirdparty \
+ --disable-dependency-tracking
+
+ make
+ make install
+
+Be sure to replace $XAOS_ROOT with the root of your XaoS folder. This
+will install the libraries and headers in src/ui/ui-drv/cocoa/thirdparty
+where the Xcode project will be able to find them.
+
+For more information about building open source libraries as universal
+binaries see:
+
+ http://developer.apple.com/technotes/tn2005/tn2137.html
+
+
+Building XaoS
+-------------
+
+The Mac OS X version of XaoS is not compiled using the configure scripts in
+the root directory. Instead, use the Xcode project located in:
+
+ src/ui/ui-drv/cocoa/XaoS.xcodeproj
+
+If the libraries were installed properly, you should be able to build XaoS
+from the Xcode project.