aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/12_Compiling.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/12_Compiling.md')
-rw-r--r--doc/manual/12_Compiling.md67
1 files changed, 38 insertions, 29 deletions
diff --git a/doc/manual/12_Compiling.md b/doc/manual/12_Compiling.md
index f52c3b0f..aa7b2303 100644
--- a/doc/manual/12_Compiling.md
+++ b/doc/manual/12_Compiling.md
@@ -5,43 +5,49 @@
Unfortunately, the requirements for building Textadept are not quite as minimal
as running it.
-#### Linux and BSD
+### Linux and BSD
Linux systems need the GTK+ development libraries. Your package manager should
allow you to install them. For Debian-based distributions like Ubuntu, the
package is typically called `libgtk2.0-dev`. Otherwise, compile and install GTK
-from the [GTK+ website](http://www.gtk.org/download/linux.html). Additionally
-you will need the [GNU C compiler](http://gcc.gnu.org) (`gcc`) and
-[GNU Make](http://www.gnu.org/software/make/) (`make`). Both should be available
-for your Linux distribution through its package manager. For example, Ubuntu
-includes these tools in the `build-essential` package.
+from the [GTK+ website][]. Additionally you will need the [GNU C compiler][]
+(`gcc`) and [GNU Make][] (`make`). Both should be available for your Linux
+distribution through its package manager. For example, Ubuntu includes these
+tools in the `build-essential` package.
-#### Windows
+[GTK+ website]: http://www.gtk.org/download/linux.html
+[GNU C compiler]: http://gcc.gnu.org
+[GNU Make]: http://www.gnu.org/software/make/
+
+### Windows
Compiling Textadept on Windows is no longer supported. If you wish to do so
however, you need a C compiler that supports the C99 standard (Microsoft's does
-not) and the [GTK+ for Windows bundle](http://www.gtk.org/download/win32.html)
-(2.22 is recommended).
+not) and the [GTK+ for Windows bundle][] (2.22 is recommended).
The preferred way to compile for Windows is cross-compiling from Linux. To do
-so, in addition to the GTK bundle mentioned above, you need
-[MinGW](http://mingw.org) with the Windows header files. They should be
-available from your package manager.
+so, in addition to the GTK bundle mentioned above, you need [MinGW][] with the
+Windows header files. They should be available from your package manager.
+
+[GTK+ for Windows bundle]: http://www.gtk.org/download/win32.html
+[MinGW]: http://mingw.org
-#### Mac OSX
+### Mac OSX
-[XCode](http://developer.apple.com/TOOLS/xcode/) is needed for Mac OSX as well
-as [jhbuild](http://sourceforge.net/apps/trac/gtk-osx/wiki/Build). After
-building `meta-gtk-osx-bootstrap` and `meta-gtk-osx-core`, you need to build
+[XCode][] is needed for Mac OSX as well as [jhbuild][]. After building
+`meta-gtk-osx-bootstrap` and `meta-gtk-osx-core`, you need to build
`meta-gtk-osx-themes`. Note that the entire compiling process can easily take
30 minutes or more and ultimately consume nearly 1GB of disk space.
+[XCode]: http://developer.apple.com/TOOLS/xcode/
+[jhbuild]: http://sourceforge.net/apps/trac/gtk-osx/wiki/Build
+
## Compiling
Make sure you downloaded the `textadept_x.x.src.zip` (regardless of what
platform you are on) and not a platform-specific binary package.
-#### Linux and BSD
+### Linux and BSD
For Linux systems, simply run `make` in the `src/` directory. The `textadept`
executable is created in the root directory. Make a symlink from it to
@@ -49,14 +55,14 @@ executable is created in the root directory. Make a symlink from it to
BSD users please run `make BSD=1`.
-#### Cross Compiling for Windows from Linux
+### Cross Compiling for Windows
When cross-compiling from within Linux, first unzip the GTK+ for Windows bundle
into a new `src/win32gtk` directory. Then modify the `CC`, `CPP`, and `WINDRES`
variables in the `WIN32` block of `src/Makefile` to match your MinGW
installation and run `make WIN32=1` to build `../textadept.exe`.
-#### Mac OSX
+### Mac OSX
After using `jhbuild`, GTK is in `~/gtk` so make a symlink from `~/gtk/inst` to
`src/gtkosx` in Textadept. Then run `make OSX=1` to build `../textadept.osx`. At
@@ -67,7 +73,7 @@ all `.dylib` files in `Contents/Resources/lib`, and all `.so` files in
own versions in `src/gtkosx/lib`. If you wish, you may also replace the files
in `Contents/Resources/{etc,share}`, but these rarely change.
-##### Problems
+#### Problems
If the build fails because of a
@@ -80,16 +86,16 @@ lines (put `//` at the start of the line):
#define TextRange Sci_TextRange
#define TextToFind Sci_TextToFind
-#### Compiling with LuaJIT
+### Compiling with LuaJIT
-[LuaJIT](http://luajit.org) is a Just-In-Time Compiler for Lua and can boost the
-speed of Lua programs. I have noticed that syntax highlighting can be up to 2
-times faster with LuaJIT than with vanilla Lua. This difference is largely
-unnoticable on modern computers and usually only discernable when initially
-loading large files. Other than syntax highlighting, LuaJIT offers no real
-benefit performance-wise to justify it being Textadept's default runtime.
-LuaJIT's [ffi library](http://luajit.org/ext_ffi.html), however, appears to be
-useful for interfacing with external, non-Lua, libraries.
+[LuaJIT][] is a Just-In-Time Compiler for Lua and can boost the speed of Lua
+programs. I have noticed that syntax highlighting can be up to 2 times faster
+with LuaJIT than with vanilla Lua. This difference is largely unnoticable on
+modern computers and usually only discernable when initially loading large
+files. Other than syntax highlighting, LuaJIT offers no real benefit
+performance-wise to justify it being Textadept's default runtime. LuaJIT's
+[ffi library][], however, appears to be useful for interfacing with external,
+non-Lua, libraries.
You can compile Textadept with LuaJIT by running `make LUAJIT=1` for Linux
systems, `make OSX=1 LUAJIT=1` for Mac OSX, and `make WIN32=1 LUAJIT=1` for
@@ -98,3 +104,6 @@ Windows systems.
Please note that a `lua51.dll` is produced for Windows platforms because
limitations on external Lua library loading do not allow statically linking
LuaJIT to Textadept. Static linking occurs on all other platforms.
+
+[LuaJIT]: http://luajit.org
+[ffi library]: http://luajit.org/ext_ffi.html