summaryrefslogtreecommitdiff
path: root/docs/quick-start.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/quick-start.md')
-rw-r--r--docs/quick-start.md111
1 files changed, 111 insertions, 0 deletions
diff --git a/docs/quick-start.md b/docs/quick-start.md
new file mode 100644
index 000000000..8bc90de81
--- /dev/null
+++ b/docs/quick-start.md
@@ -0,0 +1,111 @@
+Quick Build Steps for NetSurf
+=============================
+
+Last Updated: 24 February 2015
+
+This document provides steps for building NetSurf.
+
+
+Grab a temporary env.sh
+-----------------------
+
+ $ wget http://git.netsurf-browser.org/netsurf.git/plain/docs/env.sh
+ $ source env.sh
+
+
+Install any packages you need
+-----------------------------
+
+Installs all packages required to build NetSurf and the NetSurf project
+libraries.
+
+ $ ns-package-install
+
+If your package manager is not supported, you will have to install third
+ party packages manually.
+
+
+Get the NetSurf project source code from Git
+--------------------------------------------
+
+ $ ns-clone
+
+
+Build and install our project libraries
+---------------------------------------
+
+Updates NetSurf project library sources to latest, builds and installs them.
+
+ $ ns-pull-install
+
+
+Switch to new NetSurf workspace
+-------------------------------
+
+Remove the bootstrack script and use the newly installed one
+
+ $ rm env.sh
+ $ cd ~/dev-netsurf/workspace
+ $ source env.sh
+
+
+Build and run NetSurf
+---------------------
+
+ $ cd netsurf
+
+To build the native front end (the GTK front end on Linux, BSDs, etc) you
+could do:
+
+ $ make
+ $ ./nsgtk
+
+To build the framebuffer front end, you could do:
+
+ $ make TARGET=framebuffer
+ $ ./nsfb
+
+
+Cross Compiling
+===============
+
+If you are cross compiling, you can follow the above steps, but when
+sourcing env.sh, you should set HOST environment variable to the
+appropriate triplet for your cross compiler. For example, to cross
+compile for RISC OS:
+
+ $ HOST=arm-unknown-riscos source env.sh
+
+After that, the commands such as `ns-package-install` and
+`ns-pull-install` will do what is appropriate for the platform you
+are building for.
+
+To do the final build of NetSurf, pass the appropriate TARGET to make.
+For example, to cross compile for RISC OS:
+
+ $ make TARGET=riscos
+
+Finally, you can package up your build to transfer to the system you
+are developing for. For example, to produce a package for RISC OS:
+
+ $ make TARGET=riscos package
+
+Getting a cross compiler set up
+-------------------------------
+
+We maintain cross compilation environments and an SDK for a number of
+platforms. These may be found in our toolchains repository.
+
+ $ git clone git://git.netsurf-browser.org/toolchains
+
+Pre-built versions of the toolchains for Debian systems are often available
+via our [automated build and test infrastructure](http://ci.netsurf-browser.org/builds/toolchains/)
+
+
+Not working?
+============
+
+If the above steps are inapplicable, or don't work, you can build manually.
+Follow the instructions in the BUILDING-* documents in the docs/ directory
+the NetSurf browser source tree.
+