diff options
Diffstat (limited to 'doc/manual/12_Compiling.md')
-rw-r--r-- | doc/manual/12_Compiling.md | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/doc/manual/12_Compiling.md b/doc/manual/12_Compiling.md new file mode 100644 index 00000000..2f6e19ea --- /dev/null +++ b/doc/manual/12_Compiling.md @@ -0,0 +1,81 @@ +# Compiling + +## Requirements + +Unfortunately, the requirements for building Textadept are not as minimal as +running it. + +#### Linux and BSD + +Linux systems need the GTK+ development libraries. Your package manager should +allow you to install them. For Debian-based distributions, the package is +typically called `libgtk2.0-dev`. Otherwise, compile and install it 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. + +#### 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-windows.html) +(2.16 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. + +#### 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 +`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. + +## Download + +Download the `textadept_x.x.src.zip`, regardless of what platform you are on. + +## Compiling + +#### 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 +`/usr/bin/` or elsewhere in your `PATH`. + +BSD users please run `make BSD=1`. + +#### Cross Compiling for Windows from Linux + +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 + +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 +this point it is recommended to build a new `textadept.app` from an existing +one. Download the most recent app and replace `Contents/MacOS/textadept.osx`, +all `.dylib` files in `Contents/Resources/lib`, and all `.so` files in +`Contents/Resources/lib/gtk-2.0/<version>/{engines,immodules,loaders}` with your +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 + +If the build fails because of a + + `redefinition of 'struct Sci_TextRange'` + +error, open `src/scintilla/include/Scintilla.h` and comment out the following +lines (put `//` at the start of the line): + + #define CharacterRange Sci_CharacterRange + #define TextRange Sci_TextRange + #define TextToFind Sci_TextToFind |