aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/12_Compiling.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/12_Compiling.md')
-rw-r--r--doc/12_Compiling.md190
1 files changed, 0 insertions, 190 deletions
diff --git a/doc/12_Compiling.md b/doc/12_Compiling.md
deleted file mode 100644
index 8cac40c7..00000000
--- a/doc/12_Compiling.md
+++ /dev/null
@@ -1,190 +0,0 @@
-# Compiling
-
-## Requirements
-
-Unfortunately, the requirements for building Textadept are not quite as minimal
-as running it.
-
-### Linux and BSD
-
-First, Linux and BSD systems need the [GNU C compiler][] (*gcc*) and
-[GNU Make][] (*make*). BSD users additionally need to have [libiconv][]
-installed. These should be available for your distribution through a package
-manager. For example, Ubuntu includes these tools in the "build-essential"
-package.
-
-Next, the GUI version of Textadept requires the GTK+ development libraries.
-Again, your package manager should allow you to install them. Debian-based Linux
-distributions like Ubuntu typically call the package "libgtk2.0-dev". Otherwise,
-compile and install GTK+ from the [GTK+ website][].
-
-The optional terminal version of Textadept depends on the development library
-for a curses implementation like ncurses. Similarly, your package manager should
-provide one. Debian-based Linux distributions like Ubuntu typically call the
-ncurses package "libncurses5-dev". Otherwise, compile and install ncurses from
-the [ncurses website][]. Note: you need the wide-character development version
-of ncurses installed, which handles multibyte sequences. (Therefore, Debian
-users _also_ need "libncursesw5-dev".)
-
-[GNU C compiler]: http://gcc.gnu.org
-[GNU Make]: http://www.gnu.org/software/make/
-[libiconv]: http://www.gnu.org/software/libiconv/
-[GTK+ website]: http://www.gtk.org/download/linux.php
-[ncurses website]: http://invisible-island.net/ncurses/#download_ncurses
-
-### Windows
-
-Compiling Textadept on Windows is no longer supported. The preferred way to
-compile for Windows is cross-compiling from Linux. To do so, you need [MinGW][]
-with the Windows header files. Your package manager should offer them.
-
-Note: compiling on Windows requires a C compiler that supports the C99 standard,
-the [GTK+ for Windows bundle][] (2.24 is recommended), and
-[libiconv for Windows][] (the "Developer files" and "Binaries" zip files). The
-terminal (pdcurses) version requires my [win32curses bundle][] instead of GTK+
-and libiconv.
-
-[MinGW]: http://mingw.org
-[GTK+ for Windows bundle]: http://www.gtk.org/download/win32.php
-[libiconv for Windows]: http://gnuwin32.sourceforge.net/packages/libiconv.htm
-[win32curses bundle]: download/win32curses.zip
-
-### Mac OSX
-
-Compiling Textadept on Mac OSX is no longer supported. The preferred way is
-cross-compiling from Linux. To do so, you need the [Apple Cross-compiler][]
-binaries.
-
-[Apple Cross-compiler]: https://launchpad.net/~flosoft/+archive/cross-apple
-
-## Compiling
-
-### Linux and BSD
-
-For Linux and BSD systems, simply run `make deps` in the *src/* directory to
-prepare the build environment followed by `make` to build the *textadept* and
-*textadeptjit* executables in the root directory. Make a symlink from them to
-*/usr/bin/* or elsewhere in your `PATH`.
-
-Similarly, `make curses` builds *textadept-curses* and *textadeptjit-curses*.
-
-Note: you may have to run
-
- make CFLAGS="-I/usr/local/include" \
- CXXFLAGS="-I/usr/local/include -L/usr/local/lib"
-
-if the prefix where any dependencies are installed is */usr/local/* and your
-compiler flags do not include them by default.
-
-#### Installing
-
-Textadept is self-contained, meaning you do not have to install it, and runs
-from its current location. Should you choose to install Textadept like a normal
-Linux application, run `make deps` and then the usual `make` and `make install`
-or `sudo make install` commands depending on your privileges. The default prefix
-is */usr/local* but setting `DESTDIR` (e.g.
-`make install DESTDIR=/prefix/to/install/to`) changes it.
-
-Similarly, `make curses` and `make curses install` installs the curses version.
-
-### Cross Compiling for Windows
-
-When cross-compiling from within Linux, first make a note of your MinGW
-compiler names. You may have to either modify the `CROSS` variable in the
-"win32" block of *src/Makefile* or append something like "CROSS=i486-mingw32-"
-when running `make`. After considering your MinGW compiler names, run
-`make win32-deps` or `make CROSS=i486-mingw32- win32-deps` to prepare the build
-environment followed by `make win32` or `make CROSS=i486-mingw32- win32` to
-build *../textadept.exe* and *../textadeptjit.exe*. Finally, copy the dll files
-from *src/win32gtk/bin/* to the directory containing the Textadept executables.
-
-Similarly for the terminal version, run `make win32-curses` or its variant as
-suggested above to build *../textadept-curses.exe* and
-*../textadeptjit-curses.exe*.
-
-Please note the build process produces a *lua51.dll* for _only_
-*textadeptjit.exe* and *textadeptjit-curses.exe* because limitations on external
-Lua library loading do not allow statically linking LuaJIT to Textadept.
-
-### Cross Compiling for Mac OSX
-
-When cross-compiling from within Linux, run `make osx-deps` to prepare the build
-environment followed by `make osx` to build *../textadept.osx* and
-*../textadeptjit.osx*.
-
-Similarly, `make osx-curses` builds *../textadept-curses.osx* and
-*../textadeptjit-curses.osx*.
-
-Build a new *Textadept.app* with `make osx-app`.
-
-#### Compiling on OSX (Legacy)
-
-Textadept requires [XCode][] as well as [jhbuild][] (for GTK+). After building
-"meta-gtk-osx-bootstrap" and "meta-gtk-osx-core", 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.
-
-After using *jhbuild*, GTK+ is in *~/gtk/* so make a symlink from *~/gtk/inst*
-to *src/gtkosx* in Textadept. Then open *src/Makefile* and uncomment the
-"Darwin" block. Finally, run `make osx` to build *../textadept.osx* and
-*../textadeptjit.osx*.
-
-Note: to build a GTK+ for OSX bundle, run the following from the *src/*
-directory before zipping up *gtkosx/include/* and *gtkosx/lib/*:
-
- sed -i -e 's|libdir=/Users/username/gtk/inst/lib|libdir=${prefix}/lib|;' \
- gtkosx/lib/pkgconfig/*.pc
-
-where `username` is your username.
-
-Compiling the terminal version is not so expensive and requires no additional
-libraries. After uncommenting the "Darwin" block mentioned above, simply run
-`make osx-curses` to build *../textadept-curses.osx* and
-*../textadeptjit-curses.osx*.
-
-[XCode]: http://developer.apple.com/TOOLS/xcode/
-[jhbuild]: http://sourceforge.net/apps/trac/gtk-osx/wiki/Build
-
-### Notes on LuaJIT
-
-[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.
-
-[LuaJIT]: http://luajit.org
-[ffi library]: http://luajit.org/ext_ffi.html
-
-### Notes on CDK
-
-[CDK][] is a library of curses widgets. The terminal version of Textadept
-includes a slightly modified, stripped down version of this library. The changes
-made to CDK are in *src/cdk.patch* and listed as follows:
-
-* Excluded the following source files: *alphalist.c*, *calendar.c*,
- *cdk_compat.{c,h}*, *cdk_test.h*, *dialog.c*, *{d,f}scale.{c,h}*,
- *fslider.{c,h}*, *gen-{scale,slider}.{c,h}*, *get_index.c*, *get_string.c*,
- *graph.c*, *histogram.c*, *marquee.c*, *matrix.c*, *popup_dialog.c*,
- *radio.c*, *scale.{c,h}*, *slider.{c,h}*, *swindow.c*, *template.c*,
- *u{scale,slider}.{c,h}*, *view_{file,info}.c*, and *viewer.c*.
-* *cdk.h* does not `#include` "matrix.h", "viewer.h", and any headers labeled
- "Generated headers" due to their machine-dependence. It also `#define`s
- `boolean` as `CDKboolean` on Windows platforms since the former is already
- `typedef`ed.
-* *cdk_config.h* no longer defines `HAVE_SETLOCALE` since Textadept handles
- locale settings, no longer defines `HAVE_NCURSES_H` and `NCURSES` since
- Textadept supports multiple curses implementations (not just ncurses),
- conditionally enables `HAVE_GRP_H`, `HAVE_LSTAT`, and `HAVE_PWD_H` definitions
- on \*nix platforms since Windows does not have them, and explicitly undefines
- `NCURSES_OPAQUE` since newer versions of ncurses on Mac OSX define it.
-* *cdk_util.h* `#define`s `Beep` as `CDKBeep` on Windows platforms since Windows
- already defines Beep.
-* The `baseName` and `dirName` functions in *cdk.c* recognize Window's '\'
- directory separator.
-* Deactivated the `deleteFileCB` function in *fselect.c*.
-
-[CDK]: http://invisible-island.net/cdk/