Cross-compilation environment for validating patches to Scintilla version 3
10K+
Clone the Scintilla 3 branch with mercurial, as explained here.
To build the default make target (a cross-platform compile check), enter the
source tree and run the image:
docker run --rm -v $(pwd):/scintilla -it rdipardo/scintilla-3-tools
To build a specific target, pass the complete invocation as an argument, e.g.:
docker run --rm -v $(pwd):/scintilla -it rdipardo/scintilla-3-tools \
make -f check.mak deps
Environment variables can be overridden with the -e
option, e.g.,
docker run --rm -v $(pwd):/scintilla -e GTK3=1 -it rdipardo/scintilla-3-tools \
make -f check.mak bin/scintilla_gtk.a
This image is only intended for compile-checking patches backported to Scintilla's "LongTerm3" branch.
An image suitable for testing Scintilla 4 is available, although it hasn't been updated in some time.
Many of the targets described in Scintilla's makefiles currently fail, partly because of limitations explained in the documentation, as well as:
the size constraints of a Docker image, making it impractical to provide, for
example, a functional wine environment (needed by the dmapp target)
inconsistent ISO standard compliance in the code base; for example, the
test target runs a 4.8 GNU compiler on files that include C++17 headers:
testPerLine.cxx:6:23: fatal error: string_view: No such file or directory
#include <string_view>
hard-coded dependencies; e.g., the bait target fails if the GTK3 variable
is defined, because the test program is built from its own Makefile, which
needs the gtk+-2.0 development libraries
Executables: gcc, g++, clang, clang++
Executables: i686-w64-mingw32-gcc, i686-w64-mingw32-g++
Executables: o32-clang, o32-clang++, o64-clang, o64-clang++
This image pulls its OSX cross-compiler from multiarch/crossbuild, which is distributed under the MIT License.
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Content type
Image
Digest
Size
539.1 MB
Last updated
about 5 years ago
docker pull rdipardo/scintilla-3-tools