aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorGravatar mitchell <70453897+orbitalquark@users.noreply.github.com>2020-09-04 20:56:12 -0400
committerGravatar mitchell <70453897+orbitalquark@users.noreply.github.com>2020-09-04 20:56:12 -0400
commit65abfec720806e641c64471104d592aaafed26f7 (patch)
tree88a3ef110e4b879ddf5aa5ed64725c9db520c6bd /doc
parentaffc6c91f7e26b0ba76a82c4eea94926cf46afb0 (diff)
Added support for building with Docker and dropped automated Linux i386 builds.
Also tweaked Makefile with basic git support for an eventual migration to a new build service.
Diffstat (limited to 'doc')
-rw-r--r--doc/index.html11
-rw-r--r--doc/manual.md64
2 files changed, 57 insertions, 18 deletions
diff --git a/doc/index.html b/doc/index.html
index 2c92d73b..6b4afaad 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -78,13 +78,10 @@
<h2>Nightly<a href="#nightly">*</a> Builds</h2>
<ul>
- <li><a href="download/textadept_NIGHTLY.win32.zip">Win32</a></li>
- <li><a href="download/textadept_NIGHTLY.osx.zip">Mac OSX</a></li>
- <li><a href="download/textadept_NIGHTLY.i386.tgz">Linux</a></li>
- <li>
- <a href="download/textadept_NIGHTLY.x86_64.tgz">Linux x86_64</a>
- </li>
- <li><a href="download/textadept_NIGHTLY.modules.zip">Modules</a></li>
+ <li><a href="download/textadept_nightly.win32.zip">Win32</a></li>
+ <li><a href="download/textadept_nightly.macOS.zip">macOS</a></li>
+ <li><a href="download/textadept_nightly.linux.tgz">Linux</a></li>
+ <li><a href="download/textadept_nightly.modules.zip">Modules</a></li>
</ul>
</div>
diff --git a/doc/manual.md b/doc/manual.md
index 0c1ec03c..d4061b39 100644
--- a/doc/manual.md
+++ b/doc/manual.md
@@ -343,10 +343,11 @@ you need Textadept to see. For example:
**Linux Note:** providing a single binary that runs on all Linux systems proves
challenging, since the versions of software installed vary widely from
-distribution to distribution. If you get an error like:
+distribution to distribution. If you get errors like:
- error while loading shared libraries: <lib>: cannot open shared object
- file: No such file or directory
+ * `/<path>/libc.so.6: version 'GLIBC_<version>' not found`
+ * `error while loading shared libraries: <lib>: cannot open shared object
+ file: No such file or directory`
you will need to [compile](#Compiling) Textadept manually for your system, which
is a very straightforward and easy process.
@@ -1569,9 +1570,10 @@ editing Lua code. For example, in your *~/.textadept/init.lua*:
--------------------------------------------------------------------------------
Textadept is a bit unusual in that building it is only supported on Linux and
-BSD. The application is cross-compiled for Windows and macOS from Linux. While
-it is certainly possible to compile Textadept natively on those platforms, it is
-simply not supported in any official capacity.
+BSD, or within a [Docker][] [image][]. The application is cross-compiled for
+Windows and macOS from Linux. While it is certainly possible to compile
+Textadept natively on those platforms, it is simply not supported in any
+official capacity.
### Requirements
@@ -1587,10 +1589,12 @@ Linux requirements:
* [GTK][] 2.24+ development libraries for the GUI version
* [ncurses][](w) development libraries (wide character support) for the terminal
version
+* _**OR**_
+* [Docker][]
**Note:** on Ubuntu for example, these dependencies would be provided by the
-`build-essential`, `libgtk2.0-dev`, `libncurses5-dev`, and `libncursesw5-dev`
-packages.
+`build-essential`, `libgtk2.0-dev`, `libncurses5-dev`, `libncursesw5-dev`, and
+`docker.io` packages.
BSD requirements:
@@ -1606,20 +1610,26 @@ BSD requirements:
Windows cross-compiling requirements:
* [MinGW][] or [mingw-w64][] 4.9+ (circa early 2014)
+* _**OR**_
+* [Docker][]
-**Note:** on Ubuntu for example, this dependency would be provided by the
-`gcc-mingw-w64` and `g++-mingw-w64` packages.
+**Note:** on Ubuntu for example, the compiler dependency would be provided by
+the `gcc-mingw-w64` and `g++-mingw-w64` packages.
macOS cross-compiling requirements:
* [OSX cross toolchain][] with GCC 4.9+ (not Clang)
+* _**OR**_
+* [Docker][]
**Note:** make sure you run `./build_binutils.sh` before `./build_gcc.sh`. macOS
SDK tarballs like *MacOSX10.5.tar.gz* can be found readily on the internet.
-**Warning:** building an macOS cross toolchain can easily take 30 minutes or
+**Warning:** building a macOS cross toolchain can easily take 30 minutes or
more and ultimately consume nearly 3.5GB of disk space.
+[Docker]: https://www.docker.com/
+[image]: https://hub.docker.com/repository/docker/textadept/build
[GNU C compiler]: https://gcc.gnu.org
[libstdc++]: https://gcc.gnu.org
[GNU Make]: https://www.gnu.org/software/make/
@@ -1681,6 +1691,38 @@ specify your system's MinGW name prefix using the `CROSS` variable. For example:
make CROSS=i586-mingw32-msvc- win32-deps
make CROSS=i586-mingw32-msvc- win32
+#### Compiling using Docker
+
+You can use [Docker][] to build Textadept for Windows, macOS, or Linux. The
+[image][] required to do so is about 2.5GB in size. For example:
+
+ localhost$ docker pull textadept/build:v1.0
+ localhost$ docker run -t -i -v /path/to/textadept:/ta -w /ta/src \
+ textadept/build:v1.0
+ container# make deps
+ container# make
+ container# exit
+
+If you prefer to build your own Docker image instead of pulling one, you can
+run `docker build .` from Textadept's *src/* directory, which contains the
+relevant *Dockerfile*.
+
+You can issue within the container any of the build commands given in
+the previous table, though the install commands are meaningless.
+
+**Linux note:** if, when running one of the Linux binaries produced, you get an
+error like `/<path>/libstdc++.so.6: version 'GLIBCXX_<version>' not found`, then
+try compiling with the following flags:
+
+ container# make CXXFLAGS="-0s -std=c++11 -static-libstdc++"
+
+If you still get an error, this time like
+`/<path>/libc.so.6: version 'GLIBC_<version>' not found`, then you will have to
+compile Textadept manually without Docker.
+
+[Docker]: https://www.docker.com/
+[image]: https://hub.docker.com/repository/docker/textadept/build
+
--------------------------------------------------------------------------------
## Appendix
--------------------------------------------------------------------------------