diff options
author | Boris Nagaev <bnagaev@gmail.com> | 2016-08-22 20:29:49 (GMT) |
---|---|---|
committer | Boris Nagaev <bnagaev@gmail.com> | 2016-08-27 09:31:30 (GMT) |
commit | 8e35c23242cbc7aba16463f4f9ffcc6cc17d66f4 (patch) | |
tree | 1289f786f2b9d42a5fa396d5afcec8be40e74cf7 /docs | |
parent | cce8094fb001c327cc08483eb488ba8508b9bf25 (diff) | |
download | mxe-8e35c23242cbc7aba16463f4f9ffcc6cc17d66f4.zip mxe-8e35c23242cbc7aba16463f4f9ffcc6cc17d66f4.tar.gz mxe-8e35c23242cbc7aba16463f4f9ffcc6cc17d66f4.tar.bz2 |
move index.html to docs/
See https://github.com/mxe/mxe/issues/1500
Diffstat (limited to 'docs')
-rw-r--r-- | docs/index.html | 4486 | ||||
-rw-r--r-- | docs/release-process.txt | 2 |
2 files changed, 4487 insertions, 1 deletions
diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..bee217a --- /dev/null +++ b/docs/index.html @@ -0,0 +1,4486 @@ +<!DOCTYPE html> +<html> +<head> + + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + + <title>MXE (M cross environment)</title> + + <link rel="stylesheet" href="assets/common.css"> + +</head> +<body> + +<div id="navigation"> +<h1>MXE (M cross environment)</h1> + + <ul> + <li><a href="#introduction" >Introduction</a></li> + <li><a href="#screenshots" >Screenshots</a></li> + <li><a href="#tutorial" >Tutorial</a></li> + <li><a href="#download" >Download</a></li> + <li><a href="https://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">Mailing List</a></li> + <li><a href="https://github.com/mxe/mxe/issues">Issue Tracker</a></li> + </ul> + <ul> + <li><a href="#requirements" >Requirements</a></li> + <li><a href="#usage" >Usage</a></li> + <li><a href="#packages" >List of Packages</a></li> + <li><a href="#creating-packages">Creating Packages</a></li> + <li><a href="#copyright" >Copyright</a></li> + <li><a href="#legal" >Legal</a></li> + <li><a href="#history" >History</a></li> + </ul> + <ul> + <li><a href="#see-also" >See also</a></li> + <li><a href="#used-by" >Used by</a></li> + </ul> +</div> + +<div class="section"> +<h2 id="introduction">Introduction</h2> + + <p> + MXE (M cross environment) is a Makefile that + compiles a cross compiler and cross compiles + many free libraries such as SDL and Qt. Thus, + it provides a nice cross compiling environment + for various target platforms, which + </p> + + <ul> + <li> + is designed to + <a href="#requirements">run on any Unix system</a> + </li> + <li> + is easy to adapt and to extend + </li> + <li> + builds + <a href="#packages">many free libraries</a> + in addition to the cross compiler + </li> + <li> + can also + <a href="#usage">build just a subset</a> + of the packages, + and automatically builds their dependencies + </li> + <li> + downloads all needed packages + and verifies them by their checksums + </li> + <li> + is able to update the version numbers of all packages automatically + </li> + <li> + directly uses source packages, + thus ensuring the whole build mechanism is transparent + </li> + <li> + allows inter-package and intra-package + <a href="#usage">parallel builds</a> + whenever possible + </li> + <li> + integrates well with <a href="#tutorial-5a">autotools</a>, + <a href="#tutorial-5b">cmake</a>, <a href="#tutorial-5c">qmake</a>, + and <a href="#tutorial-5d">hand-written makefiles</a> + </li> + <li> + has been in continuous development <a href="#history">since 2007</a> + and is <a href="#used-by">used by several projects</a> + </li> + <li> + has <a href="http://pkg.mxe.cc/">pre-compiled binaries</a> + that <a href="https://github.com/zer0main/battleship">can be used + in Continuous Integration systems</a> + </li> + </ul> + + <h3>Supported Toolchains</h3> + + <table id="supported-toolchains"> + <tr> + <th rowspan="2">Runtime</th> + <th rowspan="2">Host Triplet</th> + <th colspan="2">Packages</th> + </tr> + <tr> + <th>Static</th> + <th>Shared</th> + </tr> + <tr> + <td rowspan="2">MinGW-w64</td> + <td>i686-w64-mingw32</td> + <td style='text-align:center'>99% (379/381)</td> + <td style='text-align:center'>72% (273/381)</td> + </tr> + <tr> + <td>x86_64-w64-mingw32</td> + <td style='text-align:center'>94% (360/381)</td> + <td style='text-align:center'>71% (271/381)</td> + </tr> + </table> + <p> + These numbers were last updated on December 16, 2015. + See the <a href="build-matrix.html">current status</a> + for individual packages. + </p> + <p> + OpenMP (<a href="http://gcc.gnu.org/projects/gomp/">libgomp</a>) + and pthreads (<a href="http://mingw-w64.sourceforge.net/">winpthreads</a>) + are always available. + </p> + <p> + Experimental support for GCC with posix threads was + added in <a href="https://github.com/mxe/mxe/pull/958">November 2015</a>. + </p> + +</div> + +<div class="section"> +<h2 id="screenshots">Screenshots</h2> + + <p> + Cross compiling + <a href="http://thebeez.home.xs4all.nl/4tH/">4tH</a>: + </p> + <a href="assets/screenshot-4th-compile.png"> + <img src="assets/screenshot-4th-compile-small.png" alt="4th-compile"> + </a> + + <p> + and running it: + </p> + <a href="assets/screenshot-4th-run.png"> + <img src="assets/screenshot-4th-run-small.png" alt="4th-run"> + </a> +</div> + +<div class="section"> +<h2 id="tutorial">Tutorial</h2> + + <h3 id="tutorial-1">Step 1: Requirements and Download</h3> + + <p> + First, you should ensure that your system meets + MXE's + <a href="#requirements">requirements</a>. + You will almost certainly have to install some stuff. + </p> + + <p> + When everything is fine, download the + <a href="#download">current version</a>: + </p> + <pre>git clone https://github.com/mxe/mxe.git</pre> + + <p> + If you don't mind installing it in your home directory, + just skip the following step and go straight to step 3. + </p> + + <p> + MXE builds and installs everything under the same + top-level directory and is not relocatable after + the first packages are built. + </p> + + <p> + Due to limitations of GNU Make, the path of MXE is not allowed + to contain any whitespace characters. + </p> + + <h3 id="tutorial-2">Step 2: System-wide Installation (optional)</h3> + + <p> + Now you should save any previous installation + of the MXE. + Assuming you've installed it under + /opt/mxe (any other directory will do as well), + you should execute the following commands: + </p> + <pre>su +mv /opt/mxe /opt/mxe.old +exit</pre> + + <p> + Then you need to transfer the entire directory to its definitive location. + We will assume again you use /opt/mxe, + but feel free to use any other directory if you like. + </p> + <pre>su +mv mxe /opt/mxe +exit</pre> + + <p> + We're almost done. + Just change to your newly created directory and get going: + </p> + <pre>cd /opt/mxe</pre> + + <h3 id="tutorial-3">Step 3a: Build MXE</h3> + + <p> + Enter the directory where you've downloaded MXE. + Now it depends on what you actually want – or need. + </p> + + <p> + If you choose to enter: + </p> + <pre>make</pre> + <p> + you're in for a long wait, + because it compiles + <a href="#packages">a lot of packages</a>. + On the other hand it doesn't require any intervention, + so you're free to do whatever you like + – like watch a movie or go for a night on the town. + When it's done you'll find that you've installed + a very capable Win32 cross compiler onto your system. + </p> + + <p> + If you only need the most basic tools you can also use: + </p> + <pre>make gcc</pre> + <p> + and add any additional packages you need later on. + You can also supply a host of packages on the + <a href="#usage">command line</a>, + e.g.: + </p> + <pre>make gtk lua libidn</pre> + <p> + Targets can also be specified on the command line. + By default, only i686-w64-mingw32.static is built, but you can + build your toolchain(s) of choice with: + </p> + <pre>make MXE_TARGETS='x86_64-w64-mingw32.static i686-w64-mingw32.static'</pre> + <p> + or by adjusting the <code>MXE_TARGETS</code> variable + in <code>settings.mk</code>. + </p> + <p> + You'll always end up with a consistent cross compiling environment. + </p> + + <p> + If you have trouble here, please feel free to + contact the mxe team through the + <a href="https://github.com/mxe/mxe/issues">issue tracker</a> or + <a href="https://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">mailing list</a>. + </p> + + <p> + After you're done it just needs a little post-installation. + </p> + + <h3 id="tutorial-3b">Step 3b: Install MXE from the binary distribution</h3> + + <p> + Instead of building MXE packages from source, you can + download precompiled packages. There are two options: + tar archives and Debian packages. + See <a href="http://pkg.mxe.cc/">pkg.mxe.cc</a>. + </p> + + <h3 id="tutorial-4">Step 4: Environment Variables</h3> + + <p> + Edit your .bashrc script in order to change $PATH: + </p> + <pre>export PATH=/<em>where MXE is installed</em>/usr/bin:$PATH</pre> + + <p> + You may be tempted to also add <code>$(TARGET)/bin</code> + to your path. You <strong>never</strong> want to do this, + the executables and scripts in there will cause conflicts + with your native toolchain. + </p> + + <p> + In case you are using custom $PKG_CONFIG_PATH entries, + you can add separate entries for cross builds: + </p> + <pre>export PKG_CONFIG_PATH="<em>entries for native builds</em>"</pre> + <pre>export PKG_CONFIG_PATH_i686_w64_mingw32_static="<em>entries for MXE builds</em>"</pre> + <p> + Remember to use i686-w64-mingw32.static-pkg-config + instead of pkg-config for cross builds. + The Autotools do that automatically for you. + </p> + + <p> + Note that any other compiler related environment variables + (like $CC, $LDFLAGS, etc.) + may spoil your compiling pleasure, + so be sure to delete or disable those. + </p> + <p> + For the most isolated and repeatable environment, + use a white-list approach: + </p> + <pre>unset `env | \ + grep -vi '^EDITOR=\|^HOME=\|^LANG=\|MXE\|^PATH=' | \ + grep -vi 'PKG_CONFIG\|PROXY\|^PS1=\|^TERM=' | \ + cut -d '=' -f1 | tr '\n' ' '`</pre> + <!-- update mxe-activate also --> + <p> + Congratulations! + You're ready to cross compile anything you like. + </p> + + <h3 id="tutorial-5a">Step 5a: Cross compile your Project (Autotools)</h3> + + <p> + If you use the + <a href="https://www.lrde.epita.fr/~adl/autotools.html">Autotools</a>, + all you have to do is: + </p> + <pre>./configure --host=i686-w64-mingw32.static +make</pre> + + <p> + If you build a library, you might also want to enforce a static build: + </p> + <pre>./configure --host=i686-w64-mingw32.static --enable-static --disable-shared +make</pre> + + <p> + Don't worry about a warning like this: + </p> + <pre>configure: WARNING: If you wanted to set the --build type, don't use --host. +If a cross compiler is detected then cross compile mode will be used.</pre> + <p> + Everything will be just fine. + </p> + + <h3 id="tutorial-5b">Step 5b: Cross compile your Project (CMake)</h3> + + <p> + If you have a + <a href="http://www.cmake.org/">CMake</a> project, + you can use the provided cmake wrapper: + </p> + <pre>i686-w64-mingw32.static-cmake ...</pre> + <p> + This will automatically use the MXE version of cmake + and locate the toolchain file. + </p> + + <h3 id="tutorial-5c">Step 5c: Cross compile your Project (Qt)</h3> + + <p> + If you have a + <a href="https://qt-project.org/">Qt</a> application, + all you have to do is: + </p> + <pre>/where MXE is installed/usr/i686-w64-mingw32.static/qt/bin/qmake +make</pre> + <p> + Note that Qt 4 is in the "qt" subdirectory. Qt 5 is in the "qt5" subdirectory + and its qmake can be invoked similarly. + </p> + <p> + If you are using Qt plugins + such as the svg or ico image handlers, + you should also have a look at the + <a href="https://qt-project.org/doc/qt-4.8/plugins-howto.html#static-plugins">Qt documentation about static plugins</a>. + </p> + <p> + Note the sql drivers (-qt-sql-*) + and the image handlers for jpeg, tiff, gif and mng + are built-in, <em>not</em> plugins. + </p> + + <h3 id="tutorial-5d">Step 5d: Cross compile your Project (Makefile)</h3> + + <p> + If you have a handwritten Makefile, + you probably will have to make a few adjustments to it: + </p> + <pre>CC=$(CROSS)gcc +LD=$(CROSS)ld +AR=$(CROSS)ar +PKG_CONFIG=$(CROSS)pkg-config</pre> + <p> + You may have to add a few others, depending on your project. + </p> + + <p> + Then, all you have to do is: + </p> + <pre>make CROSS=i686-w64-mingw32.static-</pre> + <p> + That's it! + </p> + + <h3 id="tutorial-5e">Step 5e: Cross compile your Project (OSG)</h3> + + <p> + Using static OpenSceneGraph libraries requires a few changes to your source. + The graphics subsystem and all plugins required by your application must be + referenced explicitly. Use a code block like the following: + </p> + <pre>#ifdef OSG_LIBRARY_STATIC +USE_GRAPHICSWINDOW() +USE_OSGPLUGIN(<plugin1>) +USE_OSGPLUGIN(<plugin2>) +... +#endif</pre> + <p> + Look at <code>examples/osgstaticviewer/osgstaticviewer.cpp</code> in the + OpenSceneGraph source distribution for an example. This example can be + compiled with the following command: + </p> + <pre>i686-w64-mingw32.static-g++ \ + -o osgstaticviewer.exe examples/osgstaticviewer/osgstaticviewer.cpp \ + `i686-w64-mingw32.static-pkg-config --cflags openscenegraph-osgViewer openscenegraph-osgPlugins` \ + `i686-w64-mingw32.static-pkg-config --libs openscenegraph-osgViewer openscenegraph-osgPlugins`</pre> + <p> + The <code>i686-w64-mingw32.static-pkg-config</code> command from MXE will + automatically add <code>-DOSG_LIBRARY_STATIC</code> to your compiler flags. + </p> + + <h3>Further Steps</h3> + + <p> + If you need further assistance, + feel free to join the + <a href="https://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">mailing list</a> + where you'll get in touch with + the MXE developers + and other users. + </p> +</div> + +<div class="section"> +<div id="latest-release"></div> +<div id="latest-version"></div> +<div id="development"></div> +<h2 id="download">Download</h2> + + <p> + To obtain the current version, run: + </p> + + <pre>git clone https://github.com/mxe/mxe.git</pre> + + <p> + To retrieve updates, run: + </p> + + <pre>git pull</pre> + + <p> + You can also browse the + <a href="https://github.com/mxe/mxe">web repository</a>. + </p> + + <p> + In addition, + feel free to join the + <a href="https://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">mailing list</a> + and to <a href="#creating-packages">propose new packages</a>. + </p> +</div> + +<div class="section"> +<h2 id="requirements">Requirements</h2> + + <p> + MXE requires a recent Unix system where + all components as stated in the table below + are installed. It also needs roughly 2 GiB of + RAM to link gcc and at least 700 MB of disk + space per target (counted with only gcc + built). + </p> + <p> + Detailed instructions are available for: + </p> + + <ul class="compact-list"> + <li><a href="#requirements-debian">Debian</a></li> + <li><a href="#requirements-fedora">Fedora</a></li> + <li><a href="#requirements-freebsd">FreeBSD</a></li> + <li><a href="#requirements-frugalware">Frugalware</a></li> + <li><a href="#requirements-gentoo">Gentoo</a></li> + <li><a href="#requirements-macos">Mac OS X</a></li> + <li><a href="#requirements-opensuse">openSUSE</a></li> + </ul> + + <table class="requirements"> + <tr> + <td><a href="https://www.gnu.org/software/autoconf/">Autoconf</a></td> + <td>≥ 2.68</td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/automake/">Automake</a></td> + <td>≥ 1.11.3</td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/bash/">Bash</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/bison/">Bison</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://www.bzip.org/">Bzip2</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://flex.sourceforge.net/">Flex</a></td> + <td>≥ 2.5.31</td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/gcc/">GCC</a> (gcc, g++)</td> + <td></td> + </tr> + <tr> + <td><a href="http://www.gdk-pixbuf.org/">gdk-pixbuf</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://git-scm.com/">Git</a></td> + <td>≥ 1.7</td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/coreutils/">GNU Coreutils</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/gettext/">GNU Gettext</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/gperf/">GNU gperf</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/make/">GNU Make</a></td> + <td>≥ 3.81</td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/sed/">GNU Sed</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/tar/">GNU Tar</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://freedesktop.org/wiki/Software/intltool/">Intltool</a></td> + <td>≥ 0.40</td> + </tr> + <tr> + <td><a href="https://en.wikipedia.org/wiki/C_standard_library">LibC</a> for 32-bit</td> + <td></td> + </tr> + <tr> + <td><a href="https://sourceware.org/libffi/">libffi</a></td> + <td>≥ 3.0.0</td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/libtool/">Libtool</a></td> + <td>≥ 2.2</td> + </tr> + <tr> + <td><a href="https://www.openssl.org/">OpenSSL</a>-dev</td> + <td>≥ 1.01</td> + </tr> + <tr> + <td><a href="http://p7zip.sourceforge.net/">p7zip (7-Zip)</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/patch/">Patch</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://www.perl.org/">Perl</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://search.cpan.org/dist/XML-Parser/Parser.pm">Perl XML::Parser</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://www.freedesktop.org/wiki/Software/pkg-config/">Pkg-config</a></td> + <td>≥ 0.16</td> + </tr> + <tr> + <td><a href="https://www.python.org/">Python</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.ruby-lang.org/">Ruby</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://www.scons.org/">SCons</a></td> + <td>≥ 0.98</td> + </tr> + <tr> + <td><a href="http://www.info-zip.org/UnZip.html">UnZip</a></td> + <td></td> + </tr> + <tr> + <td><a href="https://www.gnu.org/software/wget/">Wget</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://tukaani.org/xz/">XZ Utils</a></td> + <td></td> + </tr> + <tr> + <td><a href="http://zlib.net/">zlib</a></td> + <td>≥ 1.20</td> + </tr> + </table> + + <h3 id="requirements-debian">Debian and derivatives</h3> + + <!-- http://www.debian.org/distrib/packages#search_packages --> + <pre>apt-get install \ + autoconf automake autopoint bash bison bzip2 flex gettext\ + git g++ gperf intltool libffi-dev libgdk-pixbuf2.0-dev \ + libtool libltdl-dev libssl-dev libxml-parser-perl make \ + openssl p7zip-full patch perl pkg-config python ruby scons \ + sed unzip wget xz-utils</pre> + + <p> + On 64-bit Debian, install also: + </p> + <pre>apt-get install g++-multilib libc6-dev-i386</pre> + + <p> + On Debian Jessie (8) or Ubuntu Utopic (14.10) or later, + install also: + </p> + <pre>apt-get install libtool-bin</pre> + + <p> + Only the <a href="https://www.debian.org/releases/stable/">latest Debian stable series</a> is supported. + </p> + + <p> + You can install a precompiled MXE via Debian packages. + See <a href="http://pkg.mxe.cc/">pkg.mxe.cc</a>. + </p> + + <h3 id="requirements-fedora">Fedora</h3> + + <!-- https://admin.fedoraproject.org/pkgdb/ --> + <pre>yum install \ + autoconf automake bash bison bzip2 flex gcc-c++ \ + gdk-pixbuf2-devel gettext git gperf intltool make \ + sed libffi-devel libtool openssl-devel p7zip patch \ + perl pkgconfig python ruby scons unzip wget xz</pre> + + <p> + On 64-bit Fedora, + there are <a href="#issue-non-multilib">issues without a 32-bit compiler</a>. + </p> + + <h3 id="requirements-freebsd">FreeBSD</h3> + + <!-- http://www.freshports.org/ --> + <pre>pkg install \ + automake autoconf bash bison coreutils flex \ + gcc gdk-pixbuf2 gettext git glib gmake gperf gsed intltool libffi \ + libtool openssl p5-XML-Parser p7zip patch perl5 \ + pkgconf python ruby scons unzip wget</pre> + + <p> + Use gmake instead of make. + </p> + <p> + Install file(1) from ports, because file(1) from base + <a href="https://forums.freebsd.org/threads/usr-bin-file-works-very-slow.52958/">works</a> + very-very-very slow with long text files. + </p> + <p> + Do not build as root. See + <a href="https://github.com/mxe/mxe/issues/902">#902</a>. + </p> + <p> + Ensure that /usr/local/bin precedes /usr/bin in your $PATH: + </p> + <p> + For C style shells, edit .cshrc + </p> + <pre>setenv PATH /usr/local/bin:$PATH</pre> + <p> + For Bourne shells, edit .profile + </p> + <pre>export PATH=/usr/local/bin:$PATH</pre> + <p> + On 64-bit FreeBSD, + there are <a href="#issue-non-multilib">issues without a 32-bit compiler</a>. + </p> + <p> + <strong>N.B. FreeBSD is no longer fully supported</strong> + </p> + <p> + to build the remainder of MXE, run: + </p> + <pre>gmake EXCLUDE_PKGS='gtksourceviewmm2 ocaml% openexr pcl qtbase'</pre> + <p> + to see a list of all dependent downstream packages that + will be excluded, run: + </p> + <pre>gmake show-downstream-deps-'gtksourceviewmm2 ocaml% openexr \ + pcl qtbase'</pre> + + <h3 id="requirements-frugalware">Frugalware</h3> + + <!-- http://www.frugalware.org/packages --> + <pre>pacman-g2 -S \ + autoconf automake bash bzip2 bison flex gcc gdk-pixbuf2\ + gettext git gperf intltool make sed libffi libtool \ + openssl patch perl perl-xml-parser pkgconfig python \ + ruby scons unzip wget xz xz-lzma</pre> + + <p> + On 64-bit Frugalware, + there are <a href="#issue-non-multilib">issues without a 32-bit compiler</a>. + </p> + + <h3 id="requirements-gentoo">Gentoo</h3> + + <!-- http://packages.gentoo.org/ --> + <pre>emerge \ + sys-devel/autoconf sys-devel/automake app-shells/bash \ + sys-devel/bison app-arch/bzip2 \ + sys-devel/flex sys-devel/gcc sys-devel/gettext \ + dev-vcs/git dev-util/gperf dev-util/intltool \ + sys-devel/make sys-apps/sed dev-libs/libffi \ + sys-devel/libtool dev-libs/openssl app-arch/p7zip \ + sys-devel/patch dev-lang/perl dev-perl/XML-Parser \ + dev-util/pkgconfig dev-lang/python dev-lang/ruby \ + dev-util/scons app-arch/unzip net-misc/wget \ + app-arch/xz-utils x11-libs/gdk-pixbuf</pre> + + <h3 id="requirements-macos">Mac OS X</h3> + + <p> + Install + <a href="http://developer.apple.com/xcode/">the latest Xcode</a> + </p> + <h5 id="requirements-macos-method-1">Method 1 - MacPorts</h5> + <p> + Install <a href="http://www.macports.org/">MacPorts</a>, + then run: + </p> + <!-- http://www.macports.org/ports.php --> + <pre>sudo port install \ + autoconf automake bison coreutils flex gettext \ + gdk-pixbuf2 glib2 gnutar gsed intltool libffi libtool \ + openssl p5-xml-parser p7zip pkgconfig scons wget xz</pre> + + <h5 id="requirements-macos-method-2">Method 2 - Rudix</h5> + <p> + Install <a href="http://rudix.org/">Rudix</a>, + then run: + </p> + <!-- http://rudix.org/packages/index.html --> + <pre>sudo rudix install \ + autoconf automake coreutils gettext glib intltool \ + libtool p7zip scons sed tar wget xz</pre> + <p> + Note: <b>gdk-pixbuf2</b> is not installed in method 2, + so you can not build <b>gtk3</b>. Other packages may be + missing on Rudix - please open an issue if you find any. + </p> + + <h5 id="requirements-macos-method-3">Method 3 - Homebrew</h5> + <p> + Install <a href="http://brew.sh/">Homebrew</a>, + then run: + </p> + <!-- http://braumeister.org/ --> + <pre>brew install \ + autoconf automake coreutils gdk-pixbuf gettext \ + gnu-sed gnu-tar intltool libtool p7zip wget xz</pre> + <p> + Some formulae are + <a href="https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/FAQ.md#what-does-keg-only-mean"><code>keg-only</code></a> + and will need <code>brew link</code> to be found. + </p> + + <h5 id="requirements-macos-genaral">Genral Notes</h5> + <p> + You may be prompted to install a java runtime + - this is not required. + </p> + <p> + Mac OS X versions ≤ 10.9 are no longer tested. + </p> + <p> + <h5>Certain packages have open issues on OS X</h5> + </p> + <p> + For Xcode <7.3, run: + </p> + <pre>make EXCLUDE_PKGS='nsis'</pre> + <p> + For Xcode ≥7.3, run: + </p> + <pre>make EXCLUDE_PKGS='gsoap'</pre> + + <h3 id="requirements-opensuse">openSUSE</h3> + + <!-- http://software.opensuse.org/131/en --> + <pre>zypper install -R \ + autoconf automake bash bison bzip2 flex gcc-c++ \ + gdk-pixbuf-devel gettext-tools git gperf intltool \ + libffi-devel libtool make openssl libopenssl-devel \ + p7zip patch perl perl-XML-Parser pkg-config python \ + ruby scons sed unzip wget xz</pre> + + <p> + On 64-bit openSUSE, install also: + </p> + <pre>zypper install -R \ + gcc-32bit glibc-devel-32bit libgcc46-32bit \ + libgomp46-32bit libstdc++46-devel-32bit</pre> + + <h3 id="issue-non-multilib">Issues without a 32-bit compiler</h3> + + <p> + Certain packages contain native tools that are + currently 32-bit only. In order to build these on a + 64-bit system, multi-lib support must be enabled in the + compiler toolchain. However, not all operating systems + support this. + </p> + <p> + To build the remainder of MXE, specify the affected + packages to exclude: + </p> + <pre>make EXCLUDE_PKGS='ocaml%'</pre> +</div> + +<div class="section"> +<h2 id="usage">Usage</h2> + + <p> + All build commands also download the packages if necessary. + </p> + <p> + In a BSD userland, substitute "make" with "gmake" + as all commands are based on + <a href="https://www.gnu.org/software/make/manual/make.html">GNU Make</a>. + </p> + <dl class="usage"> + + <dt>make</dt> + + <dd> + build all packages, + non-parallel + </dd> + + <dt>make gcc</dt> + + <dd> + build a minimal useful set of packages, + i.e. the cross compilers + and the most basic packages, + non-parallel + </dd> + + <dt>make foo bar</dt> + + <dd> + build packages "foo", "bar" and their dependencies, + non-parallel + </dd> + + <dd> + the package list can also be set in + <code>settings.mk</code> + <pre>LOCAL_PKG_LIST := foo bar +.DEFAULT local-pkg-list: +local-pkg-list: $(LOCAL_PKG_LIST)</pre> + </dd> + <dd> + so a call to <code>make</code> will only build those packages (and their + dependencies, of course) + </dd> + + <dt>make foo bar --touch</dt> + + <dd> + mark packages "foo" and "bar" as up-to-date after + a trivial change in one of their dependencies + (short option "-t") + </dd> + + <dt>make foo bar --jobs=4 JOBS=2</dt> + + <dd> + build packages "foo", "bar" and their dependencies, + where up to 4 packages are built in parallel + (short option "-j 4"), + each with up to 2 compiler processes running in parallel + </dd> + <dd> + the JOBS variable can also be defined in + <code>settings.mk</code> and defaults to the number + of CPUs up to a max of 6 to prevent runaway system + load with diminishing returns - see the + <a href="https://www.gnu.org/software/make/manual/make.html#Parallel">GNU Make manual</a> + for more details on parallel execution + </dd> + + <dt>make --jobs=4 --keep-going</dt> + + <dd> + build all packages with 4 inter-package parallel + jobs and continue as much as possible after an error + (short option "-j 4 -k") + </dd> + + <dt>make EXCLUDE_PKGS='foo bar'</dt> + + <dd> + build all packages excluding foo, bar, and all downstream + packages that depend on them - mostly used when there are + <a href="#issue-non-multilib">known issues</a> + </dd> + + <dt>make foo_SOURCE_TREE=/path/to/local/source</dt> + + <dd> + build using local source tree for package "foo", bypassing + download, checksum and patching + </dd> + <dd> + <strong>N.B.</strong> ensure "foo" has an out-of-source + build configured to avoid generation of build artefacts + in local tree + </dd> + + <dt>make check-requirements</dt> + + <dd> + check most of the + <a href="#requirements">requirements</a> + if necessary + – executed automatically + before building packages + </dd> + + <dt>make download</dt> + + <dd> + download all packages, + non-parallel, + such that subsequent builds work without internet access + </dd> + + <dt>make download-foo download-bar</dt> + + <dd> + download packages "foo", "bar" and their dependencies, + non-parallel + </dd> + + <dt>make download-foo download-bar -j 4</dt> + + <dd> + download packages "foo", "bar" and their dependencies, + where up to 4 packages are downloaded in parallel + </dd> + + <dt>make download-only-foo download-only-bar</dt> + + <dd> + download packages "foo", "bar", without their dependencies, + non-parallel + </dd> + + <dt>make clean</dt> + + <dd> + remove all package builds + – use with caution! + </dd> + + <dt>make clean-junk</dt> + + <dd> + remove all unused files, including unused package + files, temporary folders, and logs + </dd> + + <dt>make clean-pkg</dt> + + <dd> + remove all unused package files, + handy after a successful update + </dd> + + <dt>make show-deps-foo</dt> + + <dd> + print a list of upstream dependencies + and downstream dependents + </dd> + + <dt>make show-downstream-deps-foo</dt> + + <dd> + print a list of downstream dependents + suitable for usage in shell scripts + </dd> + + <dt>make show-upstream-deps-foo</dt> + + <dd> + print a list of upstream dependencies + suitable for usage in shell scripts + </dd> + + <dt>make docs/build-matrix.html</dt> + + <dd> + generate a report of what packages are + supported on what targets to + <a href="build-matrix.html">docs/build-matrix.html</a> + </dd> + + <dt>make update</dt> + + <dd> + for internal use only! + – + update the version numbers of all packages, + download the new versions and note their checksums + </dd> + + <dt>make update UPDATE_DRYRUN=true</dt> + + <dd> + for internal use only! + – + show list of update candidates without downloading + </dd> + + <dt>make update-package-foo</dt> + + <dd> + for internal use only! + – + update the version numbers of package foo, + download the new version and note its checksum + </dd> + + <dt>make update-checksum-foo</dt> + + <dd> + for internal use only! + – + download package foo and update its checksum + </dd> + + <dt>make cleanup-style</dt> + + <dd> + for internal use only! + – + cleanup coding style + </dd> + + </dl> +</div> + +<div class="section"> +<h2 id="packages">List of Packages</h2> + + <p> + See something missing? Feel free to <a href="#creating-packages">create a new package</a>. + </p> + <table id="package-list" class="old"> + <tr> + <td class="package">a52dec</td> + <td class="website"><a href="http://liba52.sourceforge.net/">a52dec (aka. liba52)</a></td> + </tr> + <tr> + <td class="package">agg</td> + <td class="website"><a href="http://agg.sourceforge.net/">Anti-Grain Geometry</a></td> + </tr> + <tr> + <td class="package">alure</td> + <td class="website"><a href="http://kcat.strangesoft.net/alure.html">alure</a></td> + </tr> + <tr> + <td class="package">apr</td> + <td class="website"><a href="http://apr.apache.org/">APR</a></td> + </tr> + <tr> + <td class="package">apr-util</td> + <td class="website"><a href="http://apr.apache.org/">APR-util</a></td> + </tr> + <tr> + <td class="package">armadillo</td> + <td class="website"><a href="http://arma.sourceforge.net/">Armadillo C++ linear algebra library</a></td> + </tr> + <tr> + <td class="package">aspell</td> + <td class="website"><a href="http://aspell.net/">Aspell</a></td> + </tr> + <tr> + <td class="package">assimp</td> + <td class="website"><a href="http://assimp.sourceforge.net/">Assimp Open Asset Import Library</a></td> + </tr> + <tr> + <td class="package">atk</td> + <td class="website"><a href="http://www.gtk.org/">ATK</a></td> + </tr> + <tr> + <td class="package">atkmm</td> + <td class="website"><a href="http://www.gtkmm.org/">ATKmm</a></td> + </tr> + <tr> + <td class="package">aubio</td> + <td class="website"><a href="http://www.aubio.org/">aubio</a></td> + </tr> + <tr> + <td class="package">bfd</td> + <td class="website"><a href="https://www.gnu.org/software/binutils/">Binary File Descriptor library</a></td> + </tr> + <tr> + <td class="package">binutils</td> + <td class="website"><a href="https://www.gnu.org/software/binutils/">GNU Binutils</a></td> + </tr> + <tr> + <td class="package">blas</td> + <td class="website"><a href="http://www.netlib.org/blas/">blas</a></td> + </tr> + <tr> + <td class="package">boost</td> + <td class="website"><a href="http://www.boost.org/">Boost C++ Library</a></td> + </tr> + <tr> + <td class="package">box2d</td> + <td class="website"><a href="http://www.box2d.org/">Box2D</a></td> + </tr> + <tr> + <td class="package">bullet</td> + <td class="website"><a href="http://bulletphysics.org/">Bullet physics, version 2</a></td> + </tr> + <tr> + <td class="package">bzip2</td> + <td class="website"><a href="http://www.bzip.org/">bzip2</a></td> + </tr> + <tr> + <td class="package">cairo</td> + <td class="website"><a href="http://cairographics.org/">cairo</a></td> + </tr> + <tr> + <td class="package">cairomm</td> + <td class="website"><a href="http://cairographics.org/cairomm/">cairomm</a></td> + </tr> + <tr> + <td class="package">cblas</td> + <td class="website"><a href="http://www.netlib.org/blas/">cblas</a></td> + </tr> + <tr> + <td class="package">ccfits</td> + <td class="website"><a href="http://heasarc.gsfc.nasa.gov/fitsio/ccfits">CCfits</a></td> + </tr> + <tr> + <td class="package">cegui</td> + <td class="website"><a href="http://cegui.org.uk/">Crazy Eddie’s GUI System (CEGUI)</a></td> + </tr> + <tr> + <td class="package">cfitsio</td> + <td class="website"><a href="http://heasarc.gsfc.nasa.gov/fitsio/">cfitsio</a></td> + </tr> + <tr> + <td class="package">cgal</td> + <td class="website"><a href="http://www.cgal.org/">cgal</a></td> + </tr> + <tr> + <td class="package">check</td> + <td class="website"><a href="http://check.sourceforge.net/">check</a></td> + </tr> + <tr> + <td class="package">chipmunk</td> + <td class="website"><a href="https://chipmunk-physics.net/">Chipmunk Physics</a></td> + </tr> + <tr> + <td class="package">chromaprint</td> + <td class="website"><a href="http://acoustid.org/chromaprint">Chromaprint</a></td> + </tr> + <tr> + <td class="package">cimg</td> + <td class="website"><a href="http://cimg.eu/">CImg Library</a></td> + </tr> + <tr> + <td class="package">cloog</td> + <td class="website"><a href="http://www.cloog.org/">CLooG Code Generator</a></td> + </tr> + <tr> + <td class="package">cmake</td> + <td class="website"><a href="http://www.cmake.org/">cmake</a></td> + </tr> + <tr> + <td class="package">cminpack</td> + <td class="website"><a href="http://devernay.free.fr/hacks/cminpack/cminpack.html">cminpack</a></td> + </tr> + <tr> + <td class="package">coda</td> + <td class="website"><a href="https://stcorp.nl/coda/">CODA</a></td> + </tr> + <tr> + <td class="package">coin</td> + <td class="website"><a href="https://bitbucket.org/Coin3D/">Coin3D</a></td> + </tr> + <tr> + <td class="package">cpp-netlib</td> + <td class="website"><a href="http://cpp-netlib.org/">Boost C++ Networking Library</a></td> + </tr> + <tr> + <td class="package">cppunit</td> + <td class="website"><a href="http://www.freedesktop.org/wiki/Software/cppunit/">CppUnit</a></td> + </tr> + <tr> + <td class="package">cryptopp</td> + <td class="website"><a href="https://www.cryptopp.com/">Crypto++ Library</a></td> + </tr> + <tr> + <td class="package">crystalhd</td> + <td class="website"><a href="http://www.broadcom.com/support/crystal_hd/">Broadcom Crystal HD Headers</a></td> + </tr> + <tr> + <td class="package">cunit</td> + <td class="website"><a href="http://cunit.sourceforge.net/">cunit</a></td> + </tr> + <tr> + <td class="package">curl</td> + <td class="website"><a href="http://curl.haxx.se/libcurl/">cURL</a></td> + </tr> + <tr> + <td class="package">db</td> + <td class="website"><a href="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html">Oracle Berkeley DB</a></td> + </tr> + <tr> + <td class="package">dbus</td> + <td class="website"><a href="http://dbus.freedesktop.org/">dbus</a></td> + </tr> + <tr> + <td class="package">dcmtk</td> + <td class="website"><a href="http://dicom.offis.de/dcmtk.php.en">DCMTK</a></td> + </tr> + <tr> + <td class="package">devil</td> + <td class="website"><a href="http://openil.sourceforge.net/">DevIL</a></td> + </tr> + <tr> + <td class="package">djvulibre</td> + <td class="website"><a href="http://djvu.sourceforge.net/">DjVuLibre</a></td> + </tr> + <tr> + <td class="package">dlfcn-win32</td> + <td class="website"><a href="https://code.google.com/p/dlfcn-win32/">POSIX dlfcn wrapper for Windows</a></td> + </tr> + <tr> + <td class="package">eigen</td> + <td class="website"><a href="http://eigen.tuxfamily.org/">eigen</a></td> + </tr> + <tr> + <td class="package">exiv2</td> + <td class="website"><a href="http://www.exiv2.org/">Exiv2</a></td> + </tr> + <tr> + <td class="package">expat</td> + <td class="website"><a href="http://expat.sourceforge.net/">Expat XML Parser</a></td> + </tr> + <tr> + <td class="package">faad2</td> + <td class="website"><a href="http://www.audiocoding.com/">faad2</a></td> + </tr> + <tr> + <td class="package">fdk-aac</td> + <td class="website"><a href="https://github.com/mstorsjo/fdk-aac">FDK-AAC</a></td> + </tr> + <tr> + <td class="package">ffmpeg</td> + <td class="website"><a href="http://www.ffmpeg.org/">ffmpeg</a></td> + </tr> + <tr> + <td class="package">fftw</td> + <td class="website"><a href="http://www.fftw.org/">fftw</a></td> + </tr> + <tr> + <td class="package">file</td> + <td class="website"><a href="http://www.darwinsys.com/file/">file</a></td> + </tr> + <tr> + <td class="package">flac</td> + <td class="website"><a href="http://www.xiph.org/flac/">FLAC</a></td> + </tr> + <tr> + <td class="package">flann</td> + <td class="website"><a href="http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN">FLANN</a></td> + </tr> + <tr> + <td class="package">fltk</td> + <td class="website"><a href="http://www.fltk.org/">FLTK</a></td> + </tr> + <tr> + <td class="package">fontconfig</td> + <td class="website"><a href="http://fontconfig.org/">fontconfig</a></td> + </tr> + <tr> + <td class="package">freeglut</td> + <td class="website"><a href="http://freeglut.sourceforge.net/">freeglut</a></td> + </tr> + <tr> + <td class="package">freeimage</td> + <td class="website"><a href="http://freeimage.sourceforge.net/">FreeImage</a></td> + </tr> + <tr> + <td class="package">freetds</td> + <td class="website"><a href="http://www.freetds.org/">FreeTDS</a></td> + </tr> + <tr> + <td class="package">freetype</td> + <td class="website"><a href="http://www.freetype.org/">freetype</a></td> + </tr> + <tr> + <td class="package">freetype-bootstrap</td> + <td class="website"><a href="http://www.freetype.org/">freetype (without harfbuzz)</a></td> + </tr> + <tr> + <td class="package">fribidi</td> + <td class="website"><a href="http://fribidi.org/">FriBidi</a></td> + </tr> + <tr> + <td class="package">ftgl</td> + <td class="website"><a href="http://sourceforge.net/projects/ftgl/">ftgl</a></td> + </tr> + <tr> + <td class="package">gc</td> + <td class="website"><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">gc</a></td> + </tr> + <tr> + <td class="package">gcc</td> + <td class="website"><a href="http://gcc.gnu.org/">GCC</a></td> + </tr> + <tr> + <td class="package">gd</td> + <td class="website"><a href="http://www.libgd.org/">GD (without support for xpm)</a></td> + </tr> + <tr> + <td class="package">gdal</td> + <td class="website"><a href="http://www.gdal.org/">GDAL</a></td> + </tr> + <tr> + <td class="package">gdb</td> + <td class="website"><a href="https://www.gnu.org/software/gdb/">gdb</a></td> + </tr> + <tr> + <td class="package">gdk-pixbuf</td> + <td class="website"><a href="http://www.gdk-pixbuf.org/">GDK-pixbuf</a></td> + </tr> + <tr> + <td class="package">gendef</td> + <td class="website"><a href="http://sourceforge.net/p/mingw-w64/wiki2/gendef/">gendef</a></td> + </tr> + <tr> + <td class="package">geoip-database</td> + <td class="website"><a href="http://www.maxmind.com">GeoIP Legacy Database</a></td> + </tr> + <tr> + <td class="package">geos</td> + <td class="website"><a href="http://trac.osgeo.org/geos/">GEOS</a></td> + </tr> + <tr> + <td class="package">gettext</td> + <td class="website"><a href="https://www.gnu.org/software/gettext/">gettext</a></td> + </tr> + <tr> + <td class="package">ghostscript</td> + <td class="website"><a href="http://www.ghostscript.com/">ghostscript</a></td> + </tr> + <tr> + <td class="package">giflib</td> + <td class="website"><a href="http://sourceforge.net/projects/libungif/">giflib</a></td> + </tr> + <tr> + <td class="package">glew</td> + <td class="website"><a href="http://glew.sourceforge.net/">GLEW</a></td> + </tr> + <tr> + <td class="package">glfw2</td> + <td class="website"><a href="http://www.glfw.org/">GLFW 2.x</a></td> + </tr> + <tr> + <td class="package">glfw3</td> + <td class="website"><a href="http://www.glfw.org/">GLFW 3.x</a></td> + </tr> + <tr> + <td class="package">glib</td> + <td class="website"><a href="http://www.gtk.org/">GLib</a></td> + </tr> + <tr> + <td class="package">glibmm</td> + <td class="website"><a href="http://www.gtkmm.org/">GLibmm</a></td> + </tr> + <tr> + <td class="package">glm</td> + <td class="website"><a href="http://glm.g-truc.net">GLM - OpenGL Mathematics</a></td> + </tr> + <tr> + <td class="package">gmp</td> + <td class="website"><a href="http://www.gmplib.org/">GMP</a></td> + </tr> + <tr> + <td class="package">gnutls</td> + <td class="website"><a href="https://www.gnu.org/software/gnutls/">GnuTLS</a></td> + </tr> + <tr> + <td class="package">graphicsmagick</td> + <td class="website"><a href="http://www.graphicsmagick.org/">GraphicsMagick</a></td> + </tr> + <tr> + <td class="package">gsl</td> + <td class="website"><a href="https://www.gnu.org/software/gsl/">GSL</a></td> + </tr> + <tr> + <td class="package">gsoap</td> + <td class="website"><a href="http://gsoap2.sourceforge.net/">gSOAP</a></td> + </tr> + <tr> + <td class="package">gst-plugins-bad</td> + <td class="website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-bad</a></td> + </tr> + <tr> + <td class="package">gst-plugins-base</td> + <td class="website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-base</a></td> + </tr> + <tr> + <td class="package">gst-plugins-good</td> + <td class="website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-good</a></td> + </tr> + <tr> + <td class="package">gst-plugins-ugly</td> + <td class="website"><a href="http://gstreamer.freedesktop.org/">gst-plugins-ugly</a></td> + </tr> + <tr> + <td class="package">gstreamer</td> + <td class="website"><a href="http://gstreamer.freedesktop.org/">gstreamer</a></td> + </tr> + <tr> + <td class="package">gta</td> + <td class="website"><a href="http://www.nongnu.org/gta/">gta</a></td> + </tr> + <tr> + <td class="package">gtk2</td> + <td class="website"><a href="http://www.gtk.org/">GTK+</a></td> + </tr> + <tr> + <td class="package">gtk3</td> + <td class="website"><a href="http://www.gtk.org/">GTK+</a></td> + </tr> + <tr> + <td class="package">gtkglarea</td> + <td class="website"><a href="http://www.mono-project.com/GtkGLArea/">GtkGLArea</a></td> + </tr> + <tr> + <td class="package">gtkglext</td> + <td class="website"><a href="http://gtkglext.sourceforge.net/">GtkGLExt</a></td> + </tr> + <tr> + <td class="package">gtkglextmm</td> + <td class="website"><a href="http://gtkglext.sourceforge.net/">GtkGLExtmm</a></td> + </tr> + <tr> + <td class="package">gtkimageview</td> + <td class="website"><a href="http://trac.bjourne.webfactional.com/">GtkImageView</a></td> + </tr> + <tr> + <td class="package">gtkmm2</td> + <td class="website"><a href="http://www.gtkmm.org/">GTKMM</a></td> + </tr> + <tr> + <td class="package">gtkmm3</td> + <td class="website"><a href="http://www.gtkmm.org/">GTKMM</a></td> + </tr> + <tr> + <td class="package">gtksourceview</td> + <td class="website"><a href="http://projects.gnome.org/gtksourceview/">GTKSourceView</a></td> + </tr> + <tr> + <td class="package">gtksourceviewmm2</td> + <td class="website"><a href="http://projects.gnome.org/gtksourceviewmm/">GtkSourceViewmm</a></td> + </tr> + <tr> + <td class="package">guile</td> + <td class="website"><a href="https://www.gnu.org/software/guile/">GNU Guile</a></td> + </tr> + <tr> + <td class="package">harfbuzz</td> + <td class="website"><a href="http://harfbuzz.sourceforge.net/">HarfBuzz</a></td> + </tr> + <tr> + <td class="package">hdf-eos2</td> + <td class="website"><a href="https://hdfeos.org/software/library.php">HDF-EOS2</a></td> + </tr> + <tr> + <td class="package">hdf-eos5</td> + <td class="website"><a href="https://hdfeos.org/software/library.php">HDF-EOS5</a></td> + </tr> + <tr> + <td class="package">hdf4</td> + <td class="website"><a href="http://www.hdfgroup.org/products/hdf4/">HDF4</a></td> + </tr> + <tr> + <td class="package">hdf5</td> + <td class="website"><a href="http://www.hdfgroup.org/products/hdf5/">HDF5</a></td> + </tr> + <tr> + <td class="package">hunspell</td> + <td class="website"><a href="http://hunspell.sourceforge.net/">Hunspell</a></td> + </tr> + <tr> + <td class="package">hyperscan</td> + <td class="website"><a href="https://01.org/hyperscan">Hyperscan</a></td> + </tr> + <tr> + <td class="package">icu4c</td> + <td class="website"><a href="http://site.icu-project.org/">ICU4C</a></td> + </tr> + <tr> + <td class="package">id3lib</td> + <td class="website"><a href="http://id3lib.sourceforge.net/">id3lib</a></td> + </tr> + <tr> + <td class="package">ilmbase</td> + <td class="website"><a href="http://www.openexr.com/">IlmBase</a></td> + </tr> + <tr> + <td class="package">imagemagick</td> + <td class="website"><a href="http://www.imagemagick.org/">ImageMagick</a></td> + </tr> + <tr> + <td class="package">isl</td> + <td class="website"><a href="http://isl.gforge.inria.fr/">Integer Set Library</a></td> + </tr> + <tr> + <td class="package">itk</td> + <td class="website"><a href="http://www.itk.org/">Insight Segmentation and Registration Toolkit (ITK)</a></td> + </tr> + <tr> + <td class="package">jack</td> + <td class="website"><a href="http://jackaudio.org/">JACK Audio Connection Kit</a></td> + </tr> + <tr> + <td class="package">jansson</td> + <td class="website"><a href="http://www.digip.org/jansson/">Jansson</a></td> + </tr> + <tr> + <td class="package">jasper</td> + <td class="website"><a href="http://www.ece.uvic.ca/~mdadams/jasper/">JasPer</a></td> + </tr> + <tr> + <td class="package">jpeg</td> + <td class="website"><a href="http://www.ijg.org/">jpeg</a></td> + </tr> + <tr> + <td class="package">json-c</td> + <td class="website"><a href="https://github.com/json-c/json-c/wiki">json-c</a></td> + </tr> + <tr> + <td class="package">json-glib</td> + <td class="website"><a href="https://wiki.gnome.org/action/show/Projects/JsonGlib">JSON-Glib</a></td> + </tr> + <tr> + <td class="package">json_spirit</td> + <td class="website"><a href="https://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented">json_spirit</a></td> + </tr> + <tr> + <td class="package">jsoncpp</td> + <td class="website"><a href="https://github.com/open-source-parsers/jsoncpp">jsoncpp</a></td> + </tr> + <tr> + <td class="package">lame</td> + <td class="website"><a href="http://lame.sourceforge.net/">lame</a></td> + </tr> + <tr> + <td class="package">lapack</td> + <td class="website"><a href="http://www.netlib.org/lapack/">lapack</a></td> + </tr> + <tr> + <td class="package">lcms</td> + <td class="website"><a href="http://www.littlecms.com/">lcms</a></td> + </tr> + <tr> + <td class="package">lcms1</td> + <td class="website"><a href="http://www.littlecms.com/">lcms1</a></td> + </tr> + <tr> + <td class="package">lensfun</td> + <td class="website"><a href="http://lensfun.sourceforge.net/">lensfun</a></td> + </tr> + <tr> + <td class="package">levmar</td> + <td class="website"><a href="http://www.ics.forth.gr/~lourakis/levmar">levmar</a></td> + </tr> + <tr> + <td class="package">libaacs</td> + <td class="website"><a href="http://www.videolan.org/developers/libaacs.html">libaacs</a></td> + </tr> + <tr> + <td class="package">libarchive</td> + <td class="website"><a href="http://www.libarchive.org/">Libarchive</a></td> + </tr> + <tr> + <td class="package">libass</td> + <td class="website"><a href="http://code.google.com/p/libass/">libass</a></td> + </tr> + <tr> + <td class="package">libbluray</td> + <td class="website"><a href="http://www.videolan.org/developers/libbluray.html">libbluray</a></td> + </tr> + <tr> + <td class="package">libbs2b</td> + <td class="website"><a href="http://bs2b.sourceforge.net/">Bauer Stereophonic-to-Binaural library</a></td> + </tr> + <tr> + <td class="package">libcaca</td> + <td class="website"><a href="http://caca.zoy.org/wiki/libcaca">libcaca</a></td> + </tr> + <tr> + <td class="package">libcdio</td> + <td class="website"><a href="https://www.gnu.org/software/libcdio/">Libcdio</a></td> + </tr> + <tr> + <td class="package">libcdio-paranoia</td> + <td class="website"><a href="https://www.gnu.org/software/libcdio/">Libcdio-paranoia</a></td> + </tr> + <tr> + <td class="package">libcomm14cux</td> + <td class="website"><a href="https://github.com/colinbourassa/libcomm14cux/">libcomm14cux</a></td> + </tr> + <tr> + <td class="package">libcroco</td> + <td class="website"><a href="http://www.freespiders.org/projects/libcroco/">Libcroco</a></td> + </tr> + <tr> + <td class="package">libdnet</td> + <td class="website"><a href="http://libdnet.sourceforge.net/">libdnet</a></td> + </tr> + <tr> + <td class="package">libdvbpsi</td> + <td class="website"><a href="http://www.videolan.org/developers/libdvbpsi.html">libdvbpsi</a></td> + </tr> + <tr> + <td class="package">libdvdcss</td> + <td class="website"><a href="http://www.videolan.org/developers/libdvdcss.html">libdvdcss</a></td> + </tr> + <tr> + <td class="package">libdvdnav</td> + <td class="website"><a href="https://dvdnav.mplayerhq.hu/">libdvdnav</a></td> + </tr> + <tr> + <td class="package">libdvdread</td> + <td class="website"><a href="https://dvdnav.mplayerhq.hu/">libdvdread</a></td> + </tr> + <tr> + <td class="package">libechonest</td> + <td class="website"><a href="https://github.com/lfranchi/libechonest">libechonest</a></td> + </tr> + <tr> + <td class="package">libepoxy</td> + <td class="website"><a href="https://github.com/anholt/libepoxy">libepoxy</a></td> + </tr> + <tr> + <td class="package">libevent</td> + <td class="website"><a href="http://libevent.org/">libevent</a></td> + </tr> + <tr> + <td class="package">libf2c</td> + <td class="website"><a href="http://www.netlib.org/f2c/">libf2c</a></td> + </tr> + <tr> + <td class="package">libffi</td> + <td class="website"><a href="https://sourceware.org/libffi/">libffi</a></td> + </tr> + <tr> + <td class="package">libftdi</td> + <td class="website"><a href="http://www.intra2net.com/en/developer/libftdi/index.php">LibFTDI</a></td> + </tr> + <tr> + <td class="package">libftdi1</td> + <td class="website"><a href="http://www.intra2net.com/en/developer/libftdi/index.php">LibFTDI1</a></td> + </tr> + <tr> + <td class="package">libgcrypt</td> + <td class="website"><a href="ftp://ftp.gnupg.org/gcrypt/libgcrypt/">libgcrypt</a></td> + </tr> + <tr> + <td class="package">libgda</td> + <td class="website"><a href="http://www.gnome-db.org/">libgda</a></td> + </tr> + <tr> + <td class="package">libgdamm</td> + <td class="website"><a href="https://launchpad.net/libgdamm">libgdamm</a></td> + </tr> + <tr> + <td class="package">libgee</td> + <td class="website"><a href="http://live.gnome.org/Libgee">libgee</a></td> + </tr> + <tr> + <td class="package">libgeotiff</td> + <td class="website"><a href="http://trac.osgeo.org/geotiff/">GeoTiff</a></td> + </tr> + <tr> + <td class="package">libgit2</td> + <td class="website"><a href="https://libgit2.github.com/">libgit2</a></td> + </tr> + <tr> + <td class="package">libglade</td> + <td class="website"><a href="http://glade.gnome.org/">glade</a></td> + </tr> + <tr> + <td class="package">libgnurx</td> + <td class="website"><a href="http://sourceforge.net/projects/mingw/files/UserContributed/regex/">libgnurx</a></td> + </tr> + <tr> + <td class="package">libgpg_error</td> + <td class="website"><a href="ftp://ftp.gnupg.org/gcrypt/libgpg-error/">libgpg-error</a></td> + </tr> + <tr> + <td class="package">libgsasl</td> + <td class="website"><a href="https://www.gnu.org/software/gsasl/">Libgsasl</a></td> + </tr> + <tr> + <td class="package">libgsf</td> + <td class="website"><a href="http://projects.gnome.org/libgsf/">libgsf</a></td> + </tr> + <tr> + <td class="package">libharu</td> + <td class="website"><a href="http://libharu.org/">libharu</a></td> + </tr> + <tr> + <td class="package">libiberty</td> + <td class="website"><a href="http://gcc.gnu.org/onlinedocs/libiberty/">libiberty</a></td> + </tr> + <tr> + <td class="package">libical</td> + <td class="website"><a href="http://freeassociation.sourceforge.net/">libical</a></td> + </tr> + <tr> + <td class="package">libiconv</td> + <td class="website"><a href="https://www.gnu.org/software/libiconv/">libiconv</a></td> + </tr> + <tr> + <td class="package">libid3tag</td> + <td class="website"><a href="http://sourceforge.net/projects/mad/files/libid3tag/">libid3tag</a></td> + </tr> + <tr> + <td class="package">libidn</td> + <td class="website"><a href="https://www.gnu.org/software/libidn/">Libidn</a></td> + </tr> + <tr> + <td class="package">libieee1284</td> + <td class="website"><a href="http://cyberelk.net/tim/software/libieee1284/">libieee1284</a></td> + </tr> + <tr> + <td class="package">libircclient</td> + <td class="website"><a href="http://sourceforge.net/projects/libircclient/">libircclient</a></td> + </tr> + <tr> + <td class="package">libjpeg-turbo</td> + <td class="website"><a href="http://libjpeg-turbo.virtualgl.org/">libjpeg-turbo</a></td> + </tr> + <tr> + <td class="package">liblaxjson</td> + <td class="website"><a href="https://github.com/andrewrk/liblaxjson">liblaxjson</a></td> + </tr> + <tr> + <td class="package">liblo</td> + <td class="website"><a href="http://liblo.sourceforge.net/">liblo</a></td> + </tr> + <tr> + <td class="package">liblqr-1</td> + <td class="website"><a href="http://liblqr.wikidot.com/">liblqr-1</a></td> + </tr> + <tr> + <td class="package">liblsmash</td> + <td class="website"><a href="https://l-smash.github.io/l-smash/">L-SMASH</a></td> + </tr> + <tr> + <td class="package">libltdl</td> + <td class="website"><a href="http://www.gnu.org/software/libtool/manual/html_node/Using-libltdl.html#Using-libltdl">GNU Libtool Library (libltdl)</a></td> + </tr> + <tr> + <td class="package">libmad</td> + <td class="website"><a href="http://www.underbit.com/products/mad/">libmad</a></td> + </tr> + <tr> + <td class="package">libmicrohttpd</td> + <td class="website"><a href="http://www.gnu.org/software/libmicrohttpd/">GNU Libmicrohttpd</a></td> + </tr> + <tr> + <td class="package">libmikmod</td> + <td class="website"><a href="http://mikmod.raphnet.net/">libMikMod</a></td> + </tr> + <tr> + <td class="package">libmng</td> + <td class="website"><a href="http://www.libmng.com/">libmng</a></td> + </tr> + <tr> + <td class="package">libmodplug</td> + <td class="website"><a href="http://modplug-xmms.sourceforge.net/">libmodplug</a></td> + </tr> + <tr> + <td class="package">libmpcdec</td> + <td class="website"><a href="http://www.musepack.net/">libmpcdec</a></td> + </tr> + <tr> + <td class="package">libmysqlclient</td> + <td class="website"><a href="https://dev.mysql.com/downloads/connector/c/">libmysqlclient</a></td> + </tr> + <tr> + <td class="package">libntlm</td> + <td class="website"><a href="http://www.nongnu.org/libntlm/">Libntlm</a></td> + </tr> + <tr> + <td class="package">liboauth</td> + <td class="website"><a href="http://liboauth.sourceforge.net/">liboauth</a></td> + </tr> + <tr> + <td class="package">libodbc++</td> + <td class="website"><a href="http://libodbcxx.sourceforge.net/">libodbc++</a></td> + </tr> + <tr> + <td class="package">liboil</td> + <td class="website"><a href="http://liboil.freedesktop.org/">liboil</a></td> + </tr> + <tr> + <td class="package">libpano13</td> + <td class="website"><a href="http://panotools.sourceforge.net/">libpano13</a></td> + </tr> + <tr> + <td class="package">libpaper</td> + <td class="website"><a href="http://packages.debian.org/unstable/libpaper1">libpaper</a></td> + </tr> + <tr> + <td class="package">libplist</td> + <td class="website"><a href="https://github.com/libimobiledevice/libplist">libplist</a></td> + </tr> + <tr> + <td class="package">libpng</td> + <td class="website"><a href="http://www.libpng.org/">libpng</a></td> + </tr> + <tr> + <td class="package">librosco</td> + <td class="website"><a href="https://github.com/colinbourassa/librosco/">librosco</a></td> + </tr> + <tr> + <td class="package">librsvg</td> + <td class="website"><a href="http://librsvg.sourceforge.net/">librsvg</a></td> + </tr> + <tr> + <td class="package">librtmp</td> + <td class="website"><a href="http://rtmpdump.mplayerhq.hu/">librtmp</a></td> + </tr> + <tr> + <td class="package">libsamplerate</td> + <td class="website"><a href="http://www.mega-nerd.com/SRC/">libsamplerate</a></td> + </tr> + <tr> + <td class="package">libshout</td> + <td class="website"><a href="http://www.icecast.org/">libshout</a></td> + </tr> + <tr> + <td class="package">libsigc++</td> + <td class="website"><a href="http://libsigc.sourceforge.net/">libsigc++</a></td> + </tr> + <tr> + <td class="package">libsndfile</td> + <td class="website"><a href="http://www.mega-nerd.com/libsndfile/">libsndfile</a></td> + </tr> + <tr> + <td class="package">libsodium</td> + <td class="website"><a href="https://download.libsodium.org/doc/">libsodium</a></td> + </tr> + <tr> + <td class="package">libsoup</td> + <td class="website"><a href="https://github.com/GNOME/libsoup">libsoup</a></td> + </tr> + <tr> + <td class="package">libspectre</td> + <td class="website"><a href="https://libspectre.freedesktop.org">libspectre</a></td> + </tr> + <tr> + <td class="package">libssh2</td> + <td class="website"><a href="http://www.libssh2.org">libssh2</a></td> + </tr> + <tr> + <td class="package">libsvm</td> + <td class="website"><a href="http://www.csie.ntu.edu.tw/~cjlin/libsvm">libsvm</a></td> + </tr> + <tr> + <td class="package">libtool</td> + <td class="website"><a href="https://www.gnu.org/software/libtool/">GNU Libtool</a></td> + </tr> + <tr> + <td class="package">libtorrent-rasterbar</td> + <td class="website"><a href="http://www.rasterbar.com/products/libtorrent/">libtorrent-rasterbar</a></td> + </tr> + <tr> + <td class="package">libunistring</td> + <td class="website"><a href="https://www.gnu.org/software/libunistring/">libunistring</a></td> + </tr> + <tr> + <td class="package">libusb</td> + <td class="website"><a href="http://libusb-win32.sourceforge.net/">LibUsb</a></td> + </tr> + <tr> + <td class="package">libusb1</td> + <td class="website"><a href="http://libusb.org/">LibUsb-1.0</a></td> + </tr> + <tr> + <td class="package">libuv</td> + <td class="website"><a href="http://libuv.org/">libuv</a></td> + </tr> + <tr> + <td class="package">libvpx</td> + <td class="website"><a href="http://code.google.com/p/webm/">vpx</a></td> + </tr> + <tr> + <td class="package">libwebp</td> + <td class="website"><a href="https://developers.google.com/speed/webp/">libwebp</a></td> + </tr> + <tr> + <td class="package">libwebsockets</td> + <td class="website"><a href="http://libwebsockets.org/">libwebsockets</a></td> + </tr> + <tr> + <td class="package">libxml++</td> + <td class="website"><a href="http://libxmlplusplus.sourceforge.net/">libxml2</a></td> + </tr> + <tr> + <td class="package">libxml2</td> + <td class="website"><a href="http://www.xmlsoft.org/">libxml2</a></td> + </tr> + <tr> + <td class="package">libxslt</td> + <td class="website"><a href="http://xmlsoft.org/XSLT/">libxslt</a></td> + </tr> + <tr> + <td class="package">libzip</td> + <td class="website"><a href="http://www.nih.at/libzip/">libzip</a></td> + </tr> + <tr> + <td class="package">llvm</td> + <td class="website"><a href="http://llvm.org/">llvm</a></td> + </tr> + <tr> + <td class="package">log4cxx</td> + <td class="website"><a href="http://logging.apache.org/log4cxx/">log4cxx</a></td> + </tr> + <tr> + <td class="package">lua</td> + <td class="website"><a href="http://www.lua.org/">Lua</a></td> + </tr> + <tr> + <td class="package">luabind</td> + <td class="website"><a href="http://www.rasterbar.com/products/luabind.html">Luabind</a></td> + </tr> + <tr> + <td class="package">luajit</td> + <td class="website"><a href="http://luajit.org/luajit.html">LuaJIT</a></td> + </tr> + <tr> + <td class="package">lzma</td> + <td class="website"><a href="http://www.7-zip.org/sdk.html">LZMA SDK</a></td> + </tr> + <tr> + <td class="package">lzo</td> + <td class="website"><a href="http://www.oberhumer.com/opensource/lzo/">lzo</a></td> + </tr> + <tr> + <td class="package">matio</td> + <td class="website"><a href="http://sourceforge.net/projects/matio/">matio</a></td> + </tr> + <tr> + <td class="package">mdbtools</td> + <td class="website"><a href="http://sourceforge.net/projects/mdbtools/">mdbtools</a></td> + </tr> + <tr> + <td class="package">mingw-w64</td> + <td class="website"><a href="http://mingw-w64.sourceforge.net/">MinGW-w64 Runtime</a></td> + </tr> + <tr> + <td class="package">miniupnpc</td> + <td class="website"><a href="http://miniupnp.free.fr/">miniupnpc</a></td> + </tr> + <tr> + <td class="package">minizip</td> + <td class="website"><a href="http://www.winimage.com/zLibDll/minizip.html">minizip</a></td> + </tr> + <tr> + <td class="package">mman-win32</td> + <td class="website"><a href="https://code.google.com/p/mman-win32/">MMA-Win32</a></td> + </tr> + <tr> + <td class="package">mpc</td> + <td class="website"><a href="http://www.multiprecision.org/">GNU MPC</a></td> + </tr> + <tr> + <td class="package">mpfr</td> + <td class="website"><a href="http://www.mpfr.org/">mpfr</a></td> + </tr> + <tr> + <td class="package">mpg123</td> + <td class="website"><a href="http://www.mpg123.de/">mpg123</a></td> + </tr> + <tr> + <td class="package">muparser</td> + <td class="website"><a href="http://muparser.beltoforion.de/">muParser</a></td> + </tr> + <tr> + <td class="package">muparserx</td> + <td class="website"><a href="http://muparserx.beltoforion.de/">muParserX</a></td> + </tr> + <tr> + <td class="package">mxml</td> + <td class="website"><a href="http://www.msweet.org/projects.php?Z3">Mini-XML</a></td> + </tr> + <tr> + <td class="package">ncurses</td> + <td class="website"><a href="https://www.gnu.org/software/ncurses/">Ncurses</a></td> + </tr> + <tr> + <td class="package">netcdf</td> + <td class="website"><a href="http://www.unidata.ucar.edu/software/netcdf/">NetCDF</a></td> + </tr> + <tr> + <td class="package">netpbm</td> + <td class="website"><a href="http://netpbm.sourceforge.net/">Netpbm</a></td> + </tr> + <tr> + <td class="package">nettle</td> + <td class="website"><a href="http://www.lysator.liu.se/~nisse/nettle/">nettle</a></td> + </tr> + <tr> + <td class="package">nlopt</td> + <td class="website"><a href="http://ab-initio.mit.edu/wiki/index.php/NLopt">NLopt</a></td> + </tr> + <tr> + <td class="package">nsis</td> + <td class="website"><a href="http://nsis.sourceforge.net/">NSIS</a></td> + </tr> + <tr> + <td class="package">ocaml-cairo</td> + <td class="website"><a href="http://cairographics.org/cairo-ocaml/">cairo-ocaml</a></td> + </tr> + <tr> + <td class="package">ocaml-camlimages</td> + <td class="website"><a href="http://gallium.inria.fr/camlimages">camlimages</a></td> + </tr> + <tr> + <td class="package">ocaml-core</td> + <td class="website"><a href="http://caml.inria.fr/">ocaml</a></td> + </tr> + <tr> + <td class="package">ocaml-findlib</td> + <td class="website"><a href="http://download.camlcity.org/">findlib</a></td> + </tr> + <tr> + <td class="package">ocaml-flexdll</td> + <td class="website"><a href="http://alain.frisch.fr/">flexdll</a></td> + </tr> + <tr> + <td class="package">ocaml-lablgl</td> + <td class="website"><a href="http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html">lablgl</a></td> + </tr> + <tr> + <td class="package">ocaml-lablgtk2</td> + <td class="website"><a href="http://forge.ocamlcore.org/">lablgtk2</a></td> + </tr> + <tr> + <td class="package">ocaml-native</td> + <td class="website"><a href="http://caml.inria.fr/">ocaml</a></td> + </tr> + <tr> + <td class="package">ocaml-xml-light</td> + <td class="website"><a href="http://tech.motion-twin.com/xmllight.html">xml-light</a></td> + </tr> + <tr> + <td class="package">oce</td> + <td class="website"><a href="https://github.com/tpaviot/oce">Open CASCADE Community Edition</a></td> + </tr> + <tr> + <td class="package">ogg</td> + <td class="website"><a href="http://www.xiph.org/ogg/">OGG</a></td> + </tr> + <tr> + <td class="package">old</td> + <td class="website"><a href="http://blitiri.com.ar/p/old/">old</a></td> + </tr> + <tr> + <td class="package">openal</td> + <td class="website"><a href="http://kcat.strangesoft.net/openal.html">openal</a></td> + </tr> + <tr> + <td class="package">openblas</td> + <td class="website"><a href="http://www.openblas.net/">OpenBLAS</a></td> + </tr> + <tr> + <td class="package">opencore-amr</td> + <td class="website"><a href="http://opencore-amr.sourceforge.net/">opencore-amr</a></td> + </tr> + <tr> + <td class="package">opencsg</td> + <td class="website"><a href="http://www.opencsg.org/">opencsg</a></td> + </tr> + <tr> + <td class="package">opencv</td> + <td class="website"><a href="http://opencv.org/">OpenCV</a></td> + </tr> + <tr> + <td class="package">openexr</td> + <td class="website"><a href="http://www.openexr.com/">OpenEXR</a></td> + </tr> + <tr> + <td class="package">openjpeg</td> + <td class="website"><a href="http://www.openjpeg.org/">OpenJPEG</a></td> + </tr> + <tr> + <td class="package">openmp-validation</td> + <td class="website"><a href="http://web.cs.uh.edu/~openuh/">OpenMP Validation Suite</a></td> + </tr> + <tr> + <td class="package">openscenegraph</td> + <td class="website"><a href="http://www.openscenegraph.org/">OpenSceneGraph</a></td> + </tr> + <tr> + <td class="package">openssl</td> + <td class="website"><a href="https://www.openssl.org/">openssl</a></td> + </tr> + <tr> + <td class="package">openthreads</td> + <td class="website"><a href="http://www.openscenegraph.org/">OpenThreads</a></td> + </tr> + <tr> + <td class="package">opus</td> + <td class="website"><a href="http://opus-codec.org/">opus</a></td> + </tr> + <tr> + <td class="package">opusfile</td> + <td class="website"><a href="http://opus-codec.org/">opusfile</a></td> + </tr> + <tr> + <td class="package">ossim</td> + <td class="website"><a href="http://trac.osgeo.org/ossim">OSSIM</a></td> + </tr> + <tr> + <td class="package">pango</td> + <td class="website"><a href="http://www.pango.org/">Pango</a></td> + </tr> + <tr> + <td class="package">pangomm</td> + <td class="website"><a href="http://www.pango.org/">Pangomm</a></td> + </tr> + <tr> + <td class="package">pcl</td> + <td class="website"><a href="http://www.pointclouds.org/">PCL (Point Cloud Library)</a></td> + </tr> + <tr> + <td class="package">pcre</td> + <td class="website"><a href="http://www.pcre.org/">PCRE</a></td> + </tr> + <tr> + <td class="package">pdcurses</td> + <td class="website"><a href="http://pdcurses.sourceforge.net/">PDcurses</a></td> + </tr> + <tr> + <td class="package">pdflib_lite</td> + <td class="website"><a href="http://www.pdflib.com/download/free-software/pdflib-lite-7/">PDFlib Lite</a></td> + </tr> + <tr> + <td class="package">pfstools</td> + <td class="website"><a href="http://pfstools.sourceforge.net/">pfstools</a></td> + </tr> + <tr> + <td class="package">physfs</td> + <td class="website"><a href="http://icculus.org/physfs/">physfs</a></td> + </tr> + <tr> + <td class="package">picomodel</td> + <td class="website"><a href="http://code.google.com/p/picomodel/">picomodel</a></td> + </tr> + <tr> + <td class="package">pire</td> + <td class="website"><a href="https://github.com/yandex/pire">PIRE</a></td> + </tr> + <tr> + <td class="package">pixman</td> + <td class="website"><a href="http://cairographics.org/">pixman</a></td> + </tr> + <tr> + <td class="package">pkgconf</td> + <td class="website"><a href="https://github.com/pkgconf/pkgconf">pkgconf</a></td> + </tr> + <tr> + <td class="package">plib</td> + <td class="website"><a href="http://plib.sourceforge.net/">Plib</a></td> + </tr> + <tr> + <td class="package">plibc</td> + <td class="website"><a href="http://plibc.sourceforge.net/">Plibc</a></td> + </tr> + <tr> + <td class="package">plotmm</td> + <td class="website"><a href="http://plotmm.sourceforge.net/">PlotMM</a></td> + </tr> + <tr> + <td class="package">plotutils</td> + <td class="website"><a href="https://www.gnu.org/software/plotutils/">plotutils</a></td> + </tr> + <tr> + <td class="package">poco</td> + <td class="website"><a href="http://pocoproject.org/">POCO C++ Libraries</a></td> + </tr> + <tr> + <td class="package">polarssl</td> + <td class="website"><a href="https://polarssl.org/">Polar SSL Library</a></td> + </tr> + <tr> + <td class="package">poppler</td> + <td class="website"><a href="http://poppler.freedesktop.org/">poppler</a></td> + </tr> + <tr> + <td class="package">popt</td> + <td class="website"><a href="http://freshmeat.net/projects/popt/">popt</a></td> + </tr> + <tr> + <td class="package">portablexdr</td> + <td class="website"><a href="http://people.redhat.com/~rjones/portablexdr/">PortableXDR</a></td> + </tr> + <tr> + <td class="package">portaudio</td> + <td class="website"><a href="http://www.portaudio.com/">portaudio</a></td> + </tr> + <tr> + <td class="package">portmidi</td> + <td class="website"><a href="http://portmedia.sourceforge.net/portmidi/">portmidi</a></td> + </tr> + <tr> + <td class="package">postgresql</td> + <td class="website"><a href="http://www.postgresql.org/">PostgreSQL</a></td> + </tr> + <tr> + <td class="package">primesieve</td> + <td class="website"><a href="http://primesieve.org/">Primesieve</a></td> + </tr> + <tr> + <td class="package">proj</td> + <td class="website"><a href="http://trac.osgeo.org/proj/">proj</a></td> + </tr> + <tr> + <td class="package">protobuf</td> + <td class="website"><a href="https://github.com/google/protobuf">protobuf</a></td> + </tr> + <tr> + <td class="package">pthreads</td> + <td class="website"><a href="https://en.wikipedia.org/wiki/POSIX_Threads">POSIX Threads</a></td> + </tr> + <tr> + <td class="package">qdbm</td> + <td class="website"><a href="http://fallabs.com/qdbm/">QDBM</a></td> + </tr> + <tr> + <td class="package">qhttpengine</td> + <td class="website"><a href="https://github.com/nitroshare/qhttpengine">qhttpengine</a></td> + </tr> + <tr> + <td class="package">qjson</td> + <td class="website"><a href="http://qjson.sourceforge.net/">QJson</a></td> + </tr> + <tr> + <td class="package">qscintilla2</td> + <td class="website"><a href="http://www.riverbankcomputing.com/software/qscintilla/intro">QScintilla2</a></td> + </tr> + <tr> + <td class="package">qt</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qt3d</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qt5</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtactiveqt</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtbase</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtcanvas3d</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtcharts</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtconnectivity</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtdatavis3d</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtdeclarative</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtdeclarative-render2d</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtgamepad</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtgraphicaleffects</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtimageformats</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtlocation</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtmultimedia</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtofficeopenxml</td> + <td class="website"><a href="https://github.com/dbzhang800/QtOfficeOpenXml/">QtOfficeOpenXml</a></td> + </tr> + <tr> + <td class="package">qtpurchasing</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtquickcontrols</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtquickcontrols2</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtscript</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtscxml</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtsensors</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtserialbus</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtserialport</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtserialport_qt4</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtservice</td> + <td class="website"><a href="https://qt.gitorious.org/qt-solutions/">Qt Solutions</a></td> + </tr> + <tr> + <td class="package">qtsparkle_qt4</td> + <td class="website"><a href="https://github.com/davidsansome/qtsparkle">qtsparkle</a></td> + </tr> + <tr> + <td class="package">qtsvg</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtsystems</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qttools</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qttranslations</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtvirtualkeyboard</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtwebchannel</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtwebengine</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtwebkit</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtwebsockets</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtwebview</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtwinextras</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qtxlsxwriter</td> + <td class="website"><a href="https://github.com/dbzhang800/QtXlsxWriter/">QtXlsxWriter</a></td> + </tr> + <tr> + <td class="package">qtxmlpatterns</td> + <td class="website"><a href="http://qt-project.org/">Qt</a></td> + </tr> + <tr> + <td class="package">qwt</td> + <td class="website"><a href="http://qwt.sourceforge.net/">Qwt</a></td> + </tr> + <tr> + <td class="package">qwt_qt4</td> + <td class="website"><a href="http://qwt.sourceforge.net/">Qwt-qt4</a></td> + </tr> + <tr> + <td class="package">qwtplot3d</td> + <td class="website"><a href="http://qwtplot3d.sourceforge.net/">QwtPlot3D</a></td> + </tr> + <tr> + <td class="package">ragel</td> + <td class="website"><a href="https://www.colm.net/open-source/ragel/">Ragel</a></td> + </tr> + <tr> + <td class="package">readline</td> + <td class="website"><a href="http://tiswww.case.edu/php/chet/readline/rltop.html">Readline</a></td> + </tr> + <tr> + <td class="package">rubberband</td> + <td class="website"><a href="http://breakfastquay.com/rubberband/">Rubberband</a></td> + </tr> + <tr> + <td class="package">rucksack</td> + <td class="website"><a href="https://github.com/andrewrk/rucksack">rucksack</a></td> + </tr> + <tr> + <td class="package">sdl</td> + <td class="website"><a href="http://www.libsdl.org/">SDL</a></td> + </tr> + <tr> + <td class="package">sdl2</td> + <td class="website"><a href="http://www.libsdl.org/">SDL2</a></td> + </tr> + <tr> + <td class="package">sdl2_gfx</td> + <td class="website"><a href="http://www.ferzkopp.net/joomla/content/view/19/14/">SDL2_gfx</a></td> + </tr> + <tr> + <td class="package">sdl2_image</td> + <td class="website"><a href="http://www.libsdl.org/">SDL2_image</a></td> + </tr> + <tr> + <td class="package">sdl2_mixer</td> + <td class="website"><a href="http://www.libsdl.org/">SDL2_mixer</a></td> + </tr> + <tr> + <td class="package">sdl2_net</td> + <td class="website"><a href="http://www.libsdl.org/">sdl2_net</a></td> + </tr> + <tr> + <td class="package">sdl2_ttf</td> + <td class="website"><a href="http://www.libsdl.org/">SDL2_ttf</a></td> + </tr> + <tr> + <td class="package">sdl_gfx</td> + <td class="website"><a href="http://www.ferzkopp.net/joomla/content/view/19/14/">SDL_gfx</a></td> + </tr> + <tr> + <td class="package">sdl_image</td> + <td class="website"><a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a></td> + </tr> + <tr> + <td class="package">sdl_mixer</td> + <td class="website"><a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a></td> + </tr> + <tr> + <td class="package">sdl_net</td> + <td class="website"><a href="http://www.libsdl.org/projects/SDL_net/">SDL_net</a></td> + </tr> + <tr> + <td class="package">sdl_pango</td> + <td class="website"><a href="http://sdlpango.sourceforge.net/">SDL_Pango</a></td> + </tr> + <tr> + <td class="package">sdl_rwhttp</td> + <td class="website"><a href="http://github.com/mgerhardy/SDL_rwhttp/">SDL_rwhttp</a></td> + </tr> + <tr> + <td class="package">sdl_sound</td> + <td class="website"><a href="http://icculus.org/SDL_sound/">SDL_sound</a></td> + </tr> + <tr> + <td class="package">sdl_ttf</td> + <td class="website"><a href="http://www.libsdl.org/projects/SDL_ttf/">SDL_ttf</a></td> + </tr> + <tr> + <td class="package">sfml</td> + <td class="website"><a href="http://www.sfml-dev.org/">SFML</a></td> + </tr> + <tr> + <td class="package">smpeg</td> + <td class="website"><a href="http://icculus.org/smpeg/">smpeg</a></td> + </tr> + <tr> + <td class="package">smpeg2</td> + <td class="website"><a href="http://icculus.org/smpeg/">smpeg</a></td> + </tr> + <tr> + <td class="package">sox</td> + <td class="website"><a href="http://sox.sourceforge.net/">SoX</a></td> + </tr> + <tr> + <td class="package">sparsehash</td> + <td class="website"><a href="https://github.com/sparsehash/sparsehash">sparsehash</a></td> + </tr> + <tr> + <td class="package">speex</td> + <td class="website"><a href="http://www.speex.org/">Speex</a></td> + </tr> + <tr> + <td class="package">speexdsp</td> + <td class="website"><a href="http://www.speex.org/">SpeexDSP</a></td> + </tr> + <tr> + <td class="package">sqlite</td> + <td class="website"><a href="http://www.sqlite.org/">SQLite</a></td> + </tr> + <tr> + <td class="package">subversion</td> + <td class="website"><a href="http://subversion.apache.org">subversion</a></td> + </tr> + <tr> + <td class="package">suitesparse</td> + <td class="website"><a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">SuiteSparse</a></td> + </tr> + <tr> + <td class="package">t4k_common</td> + <td class="website"><a href="http://tux4kids.alioth.debian.org/">t4k_common</a></td> + </tr> + <tr> + <td class="package">taglib</td> + <td class="website"><a href="http://developer.kde.org/~wheeler/taglib.html">TagLib</a></td> + </tr> + <tr> + <td class="package">tclap</td> + <td class="website"><a href="http://tclap.sourceforge.net/">tclap</a></td> + </tr> + <tr> + <td class="package">teem</td> + <td class="website"><a href="http://teem.sourceforge.net/">Teem</a></td> + </tr> + <tr> + <td class="package">termcap</td> + <td class="website"><a href="https://www.gnu.org/software/termutils/">Termcap</a></td> + </tr> + <tr> + <td class="package">theora</td> + <td class="website"><a href="http://theora.org/">Theora</a></td> + </tr> + <tr> + <td class="package">tiff</td> + <td class="website"><a href="http://www.remotesensing.org/libtiff/">LibTIFF</a></td> + </tr> + <tr> + <td class="package">tinyxml</td> + <td class="website"><a href="http://sourceforge.net/projects/tinyxml/">tinyxml</a></td> + </tr> + <tr> + <td class="package">tinyxml2</td> + <td class="website"><a href="http://grinninglizard.com/tinyxml2/">tinyxml2</a></td> + </tr> + <tr> + <td class="package">tre</td> + <td class="website"><a href="http://laurikari.net/tre/">TRE</a></td> + </tr> + <tr> + <td class="package">twolame</td> + <td class="website"><a href="http://www.twolame.org/">TwoLAME</a></td> + </tr> + <tr> + <td class="package">ucl</td> + <td class="website"><a href="http://www.oberhumer.com/opensource/ucl/">UCL</a></td> + </tr> + <tr> + <td class="package">unrtf</td> + <td class="website"><a href="https://www.gnu.org/software/unrtf/">unRTF</a></td> + </tr> + <tr> + <td class="package">upx</td> + <td class="website"><a href="http://upx.sourceforge.net/">UPX</a></td> + </tr> + <tr> + <td class="package">vamp-plugin-sdk</td> + <td class="website"><a href="http://vamp-plugins.org/">Vamp Plugins SDK</a></td> + </tr> + <tr> + <td class="package">vcdimager</td> + <td class="website"><a href="https://www.gnu.org/software/vcdimager/">vcdimager</a></td> + </tr> + <tr> + <td class="package">vidstab</td> + <td class="website"><a href="http://public.hronopik.de/vid.stab/features.php?lang=en">vid.stab video stablizer</a></td> + </tr> + <tr> + <td class="package">vigra</td> + <td class="website"><a href="http://hci.iwr.uni-heidelberg.de/vigra">vigra</a></td> + </tr> + <tr> + <td class="package">vmime</td> + <td class="website"><a href="http://www.vmime.org/">VMime</a></td> + </tr> + <tr> + <td class="package">vo-aacenc</td> + <td class="website"><a href="https://github.com/mstorsjo/vo-aacenc">VO-AACENC</a></td> + </tr> + <tr> + <td class="package">vo-amrwbenc</td> + <td class="website"><a href="https://github.com/mstorsjo/vo-amrwbenc">VO-AMRWBENC</a></td> + </tr> + <tr> + <td class="package">vorbis</td> + <td class="website"><a href="http://www.vorbis.com/">Vorbis</a></td> + </tr> + <tr> + <td class="package">vtk</td> + <td class="website"><a href="http://www.vtk.org/">vtk</a></td> + </tr> + <tr> + <td class="package">vtk6</td> + <td class="website"><a href="http://www.vtk.org/">VTK6</a></td> + </tr> + <tr> + <td class="package">waf</td> + <td class="website"><a href="https://waf.io/">Waf: the meta build system</a></td> + </tr> + <tr> + <td class="package">wavpack</td> + <td class="website"><a href="http://www.wavpack.com/">WavPack</a></td> + </tr> + <tr> + <td class="package">wget</td> + <td class="website"><a href="https://www.gnu.org/software/wget/">wget</a></td> + </tr> + <tr> + <td class="package">widl</td> + <td class="website"><a href="https://www.winehq.org/docs/widl/">Wine IDL Compiler</a></td> + </tr> + <tr> + <td class="package">winpcap</td> + <td class="website"><a href="http://www.winpcap.org/">WinPcap</a></td> + </tr> + <tr> + <td class="package">wt</td> + <td class="website"><a href="http://www.webtoolkit.eu">Wt</a></td> + </tr> + <tr> + <td class="package">wxwidgets</td> + <td class="website"><a href="http://www.wxwidgets.org/">wxWidgets</a></td> + </tr> + <tr> + <td class="package">x264</td> + <td class="website"><a href="http://www.videolan.org/developers/x264.html">x264</a></td> + </tr> + <tr> + <td class="package">xapian-core</td> + <td class="website"><a href="http://xapian.org/">Xapian-Core</a></td> + </tr> + <tr> + <td class="package">xerces</td> + <td class="website"><a href="http://xerces.apache.org/xerces-c/">Xerces-C++</a></td> + </tr> + <tr> + <td class="package">xmlrpc-c</td> + <td class="website"><a href="http://xmlrpc-c.sourceforge.net/">xmlrpc-c</a></td> + </tr> + <tr> + <td class="package">xmlwrapp</td> + <td class="website"><a href="http://sourceforge.net/projects/xmlwrapp/">xmlwrapp</a></td> + </tr> + <tr> + <td class="package">xorg-macros</td> + <td class="website"><a href="http://cgit.freedesktop.org/xorg/util/macros/">X.org utility macros</a></td> + </tr> + <tr> + <td class="package">xvidcore</td> + <td class="website"><a href="http://www.xvid.org/">xvidcore</a></td> + </tr> + <tr> + <td class="package">xxhash</td> + <td class="website"><a href="http://cyan4973.github.io/xxHash/">xxHash</a></td> + </tr> + <tr> + <td class="package">xz</td> + <td class="website"><a href="http://tukaani.org/xz/">XZ</a></td> + </tr> + <tr> + <td class="package">yaml-cpp</td> + <td class="website"><a href="https://github.com/jbeder/yaml-cpp">A YAML parser and emitter for C++</a></td> + </tr> + <tr> + <td class="package">yasm</td> + <td class="website"><a href="http://yasm.tortall.net//">Yasm</a></td> + </tr> + <tr> + <td class="package">zlib</td> + <td class="website"><a href="http://zlib.net/">zlib</a></td> + </tr> + <tr> + <td class="package">zziplib</td> + <td class="website"><a href="http://zziplib.sourceforge.net/">ZZIPlib</a></td> + </tr> + </table> + + <script> + function getPackageElements() { + var packageElements = {}; + var elements = document.getElementById('package-list').getElementsByTagName('td'); + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + if (element.className === 'package') { + var package = element.textContent; + packageElements[package] = element; + } + } + return packageElements; + } + function parseVersion(mkfile) { + var matchResult = mkfile.match(/^\$\(PKG\)_VERSION\s*:?=\s*(.+)\s*$/m); + return matchResult[1]; + } + function loadVersions(packageElements, doneCallback) { + var versions = {}; + var packageCount = 0; + for (var package in packageElements) { + packageCount++; + } + var loadCount = 0; + for (var packageIndex in packageElements) { + (function handlePackage(){ + var package = packageIndex; + var request = new XMLHttpRequest(); + request.open('GET', 'src/' + package + '.mk', true); + request.onreadystatechange = function reqCallback() { + if (request.readyState === 4) { + versions[package] = parseVersion(request.responseText); + loadCount++; + if (loadCount === packageCount) { + doneCallback(versions); + } + } + } + request.send(); + })(); + } + } + function loadVersionCache(doneCallback, errCallback) { + var request = new XMLHttpRequest(); + request.open('GET', 'versions.json', true); + request.onreadystatechange = function reqCallback() { + if (request.readyState === 4) { + if (request.status === 200) { + try { + var versions = JSON.parse(request.responseText); + doneCallback(versions); + } catch (e) { + errCallback(); + } + } else { + errCallback(); + } + } + } + request.send(); + } + function resolveVersions(versions) { + var resolvedVersions = {}; + for (var package in versions) { + var version = versions[package]; + var matchResult = version.match(/^\$\((.+)_VERSION\)$/); + if (matchResult) { + resolvedVersions[package] = versions[matchResult[1]]; + } else { + resolvedVersions[package] = versions[package]; + } + } + return resolvedVersions; + } + function showVersions(packageElements, resolvedVersions) { + for (package in packageElements) { + var element = packageElements[package]; + var version = resolvedVersions[package]; + var shorten = version.length > 12; + if (shorten) { + version = version.substring(0, 12); + } + var versionEscaped = version.replace('&', '&').replace('<', '<').replace('>', '>'); + if (shorten) { + versionEscaped += '…'; + } + var versionHtml = '<td class="version">' + versionEscaped + '</td>'; + element.insertAdjacentHTML('afterend', versionHtml); + } + } + (function main() { + var packageElements = getPackageElements(); + loadVersionCache(function doneCallback(versions) { + showVersions(packageElements, versions); + }, function errCallback() { + loadVersions(packageElements, function doneCallback(versions) { + var resolvedVersions = resolveVersions(versions); + showVersions(packageElements, resolvedVersions); + }); + }); + })(); + </script> +</div> + +<div class="section"> +<h2 id="creating-packages">Guidelines for Creating Packages</h2> + + <ol> + <li> + <p> + The package should be a + <a href="https://www.gnu.org/philosophy/free-sw.html">free</a> + <a href="http://www.debian.org/social_contract#guidelines">software</a> + <a href="http://www.opensource.org/osd.html">library</a> + that is really used by one of your applications. Please also review our + <a href="#legal">legal notes</a>. + </p> + + <p> + BTW, we're always curious about the applications people are porting. + We maintain a + <a href="#used-by">list of projects</a> + which use MXE. + No matter whether your project is free or proprietary + – as long as it has its own website, + we'd be happy to link to it. + </p> + + <p> + Also, feel free to link to us. :-) + </p> + </li> + + <li> + <p> + Grep through the <code>src/*.mk</code> files + to find a project that is most similar to yours. + (Really, <code>grep</code> is your friend here.) + </p> + + <p> + For instance, + when adding a GNU library, + you should take a package like + <a href="https://github.com/mxe/mxe/blob/master/src/gettext.mk">gettext.mk</a> + or + <a href="https://github.com/mxe/mxe/blob/master/src/libiconv.mk">libiconv.mk</a> + as the base of your work. + When using a SourceForge project, + you could start with a copy of + <a href="https://github.com/mxe/mxe/blob/master/src/xmlwrapp.mk">xmlwrapp.mk</a>. + And so on. + </p> + + <p> + The <a href="gmsl.html">GNU Make Standard Library</a> is also + available (though it should be unnecessary for most packages). + </p> + + <p> + Alternatively you can use tool <code>tools/skeleton.py</code> to + create a skeleton of new MXE package. It fills most of the fields + of <code>.mk</code> file automatically and supports typical + build scenarios through option <code>--builder</code>. It also + adds a package to the <a href="#packages">list of packages</a> + (see below). + </p> + </li> + + <li> + <p> + Adjust the comments, + fill in the <code>$(PKG)_*</code> fields. + </p> + + <p> + To fill the <code>$(PKG)_CHECKSUM</code> field, use a command such as (for file gettext.mk): + </p> + <pre>make update-checksum-gettext</pre> + <p>or:</p> + <pre>openssl sha256 pkg/gettext-x.y.z.tar.gz</pre> + <p> + if you have already downloaded the package. + </p> + + <p> + Be especially careful with the <code>$(PKG)_DEPS</code> section. + The easiest way to get the dependencies right + is to start with a minimal setup. + That is, + initialize MXE with <code>make gcc</code> only, + then check whether your package builds successfully. + </p> + + <p> + Always list the dependency on <code>gcc</code> explicitly: + </p> + <pre>$(PKG)_DEPS := gcc ...</pre> + + <p> + Things not to do: + </p> + <ul> + <li> + <b>do not run target executables with Wine</b>, as Wine is + not guaranteed to be installed. Instead build the needed tool + natively or (if it is too huge to build one more time) add + to MXE's dependencies. This policy is forced by setting + WINEPREFIX to an empty directory, which breaks Wine; + </li> + + <li> + <b>do not download anything while building</b>, as all files + downloaded should be verified by checksums. Instead create a + package which installs the needed file. This policy is forced + on Linux by <a href="https://github.com/starius/nonetwork/" + >LD_PRELOAD trick</a>, breaking network functions. + </li> + </ul> + + </li> + + <li> + <p> + Add your package to the <a href="#packages">list of packages</a>. + </p> + <p> + Each package gets its own table row element with table cells + specifying your package name, official name and website: + </p> + <pre> +<tr> + <td class="package">gettext</td> + <td class="website"><a href="https://www.gnu.org/software/gettext/">gettext</a></td> +</tr></pre> + <p> + Always look for the SSL version of a website, that is, + prefer <code>https://</code> URLs over <code>http://</code> URLs. + </p> + </li> + + <li> + <p> + Write your <code>$(PKG)_BUILD</code>. + If your library has a <code>./configure</code> script, + enable/disable all dependency libraries explicitly + via "<code>--enable-*</code>" and "<code>--disable-*</code>" options. + </p> + </li> + + <li> + <p> + You might also have to provide a patch for it. + In that case, have a look at other patches such as + <a href="https://github.com/mxe/mxe/blob/master/src/sdl2-2-libtool.patch">sdl2-2-libtool.patch</a>. + In particular, each patch file should be named as: + </p> + <pre>PACKAGE-PATCHNUMBER-DESCRIPTION.patch</pre> + <p> + and should start with: + </p> + <pre>This file is part of MXE. See LICENSE.md for licensing information. + +This patch has been taken from: +https://...</pre> + <p> + where the URL points to the + bugtracker entry, + mailing list entry or + website + you took the patch from. + </p> + + <p> + If you created the patch yourself, + please offer it to the upstream project first, + and point to <em>that</em> URL, + using the same wording: + "This patch has been taken from:". + </p> + + <p> + Depending on the feedback you get from the upstream project, + you might want to improve your patch. + </p> + </li> + + <li> + <p> + If you find some time, + please provide a minimal test program for it. + It should be + simple, + stand alone and + should work unmodified for many (all?) future versions of the library. + Test programs are named as: + </p> + <pre>PACKAGE-test.c</pre> + or + <pre>PACKAGE-test.cpp</pre> + <p> + depending on whether it is a C or C++ library. + To get a clue, + please have a look at existing test programs such as + <a href="https://github.com/mxe/mxe/blob/master/src/sdl-test.c">sdl-test.c</a>. + </p> + + <p> + At the very end of your <code>*.mk</code> file + you should build the test program in a generic way, + using strict compiler flags. + The last few lines of + <a href="https://github.com/mxe/mxe/blob/master/src/sdl.mk">sdl.mk</a> + will give you a clue. + </p> + </li> + + <li> + <p> + You could also try to provide a <code>$(PKG)_UPDATE</code> section. + However, that requires some experience and "feeling" for it. + So it is perfectly okay if you leave a placeholder: + </p> + <pre>define $(PKG)_UPDATE + echo 'TODO: write update script for $(PKG).' >&2; + echo $($(PKG)_VERSION) +endef</pre> + <p> + We'll fill that in for you. + It's a funny exercise. + </p> + </li> + + <li> + <p> + Check that you don't have "dirty stuff" in your <code>*.mk</code> files, + such as TAB characters or trailing spaces at lines endings. Run: + </p> + <pre>make cleanup-style</pre> + <p> + to remove these. + Have a look at random <code>*.mk</code> files + to get a feeling for the coding style. + </p> + + <p> + The same holds for your test program. + </p> + + <p> + However, patch files should always appear + in the same coding style as the files they are patching. + </p> + + <p> + When patching sources with crlf line endings, the patch + file itself should also have the same eol style. Use the + convention of naming the file as <code>*crlf.patch</code> + to instruct git not to normalise the line endings (defined + in <code>.gitattributes</code>). + </p> + + <p> + Finally, in your <code>$(PKG)_BUILD</code> section, + please check that you use our portability variables: + </p> + <table class="translation old"> + <tr><td><code>bash</code></td> <td>→</td><td><code>$(SHELL)</code></td></tr> + <tr><td><code>date</code></td> <td>→</td><td><code>$(DATE)</code></td></tr> + <tr><td><code>install</code></td> <td>→</td><td><code>$(INSTALL)</code></td></tr> + <tr><td><code>libtool</code></td> <td>→</td><td><code>$(LIBTOOL)</code></td></tr> + <tr><td><code>libtoolize</code></td><td>→</td><td><code>$(LIBTOOLIZE)</code></td></tr> + <tr><td><code>make</code></td> <td>→</td><td><code>$(MAKE)</code></td></tr> + <tr><td><code>patch</code></td> <td>→</td><td><code>$(PATCH)</code></td></tr> + <tr><td><code>sed</code></td> <td>→</td><td><code>$(SED)</code></td></tr> + <tr><td><code>sort</code></td> <td>→</td><td><code>$(SORT)</code></td></tr> + <tr><td><code>wget</code></td> <td>→</td><td><code>$(WGET)</code></td></tr> + </table> + </li> + + <li> + <p> + Check whether everything runs fine. + If you have some trouble, + don't hesitate to ask on the + <a href="https://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">mailing list</a>, + providing your <code>*.mk</code> file so far. + </p> + </li> + + <li> + <p> + Issue a + <a href="https://help.github.com/articles/creating-a-pull-request">pull request</a> + to propose your final <code>*.mk</code> file to us. + If you have trouble with pull requests, + send your file to the mailing list instead. + </p> + <p> + Either way, + don't forget to tell us + if there are some pieces in your <code>*.mk</code> file + you feel unsure about. + We'll then have a specific look at those parts, + which avoids trouble for you and us in the future. + </p> + </li> + </ol> +</div> + +<div class="section"> +<h2 id="copyright">Copyright © <span class="years">2007–2015</span></h2> + + <ul id="authors-list" class="compact-list"> + <li>Volker Diels-Grabsch</li> + <li>Mark Brand</li> + <li>Tony Theodore</li> + <li>Martin Gerhardy</li> + <li>Tiancheng "Timothy" Gu</li> + <li>Boris Nagaev</li> + <li><a href="https://github.com/mxe/mxe/graphs/contributors">... and many other contributors</a></li> + </ul> + + <p>(contact via the + <a href="https://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">project mailing list</a>)</p> + + <p> + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject + to the following conditions: + </p> + + <p> + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + </p> + + <p> + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + </p> +</div> + +<div class="section"> +<h2 id="legal">Legal</h2> + + <h3>Disclaimer - it's all code...</h3> + + <p> + Modern legal systems are like any other large, complex, and evolving body + of code you're likely to encounter. + </p> + + <p> + They have their own language with quirky parsers, compilers, and + interpreters (though these tend to be human). Their issue trackers are + a backlog of court cases. They have bugs. They have traps for the + uninitiated that may potentially do more than waste your time. + </p> + + <p> + We currently limit ourselves to: + </p> + <pre>--enable-languages='c,c++,objc,fortran'</pre> + <p> + so nothing mentioned here or on the mailing list should be taken as + legal advice. :-) + </p> + + <h3>Choosing the right compiler</h3> + + <p> + The best starting point for any legal questions would be the + </p> + <p> + <a href="http://fsfe.org/projects/ftf/">FTF (Freedom Task Force of the FSFE (Free Software Foundation Europe)).</a> + </p> + <p> + They have been very helpful in the past, and maintain an + <a href="http://fsfe.org/projects/ftf/network.en.html">extensive network</a> + of legal contacts, both within and outside Europe. + </p> + + <p>Your local jurisdiction may be a signatory to various + <a href="http://en.wikipedia.org/wiki/List_of_parties_to_international_copyright_agreements">international agreements,</a> + so be sure to mention where you are in any correspondence (much like any + detailed bug report really). + </p> + + <p>Additionally, you should also do some background reading from the + <a href="http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs">FSF (Free Software Foundation)</a> + and + <a href="http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License">Wikipedia</a> + to familiarise yourself with some of the potential issues (and experience + some context-switching overhead). + </p> + + <h3 id="contributions">Contributions</h3> + + <p> + Contributions are always welcome! + </p> + + <p> + Ownership of all contributions (bug fixes, new packages, doc updates, etc.) + remain with the author. All we require is a real name (no l33t handles, + please), and that you release your work under + <a href="#copyright">our licence</a>. + </p> + + <p>If you prefer not to be credited with a contribution, please notify + the committer. + </p> + + <h3 id="package-licenses">Package Licences</h3> + + <p> + Each package is individually licensed under terms specified by the + authors of that package. Please see the respective source tarball + and/or project website for details. + </p> + + <p> + Packages that are + <a href="http://www.audiocoding.com/faac.html">non-free</a> + or + <a href="http://glaros.dtc.umn.edu/gkhome/metis/metis/faq#distribute">ambiguous</a> + will be + <a href="http://lists.nongnu.org/archive/html/mingw-cross-env-list/2010-12/msg00049.html">removed</a> + or + <a href="http://lists.nongnu.org/archive/html/mingw-cross-env-list/2010-09/msg00063.html">rejected</a>. + </p> + + <p> + The definition of free must be one of: + </p> + <ul> + <li><a href="http://www.gnu.org/philosophy/free-sw.html">The Free Software Definition</a></li> + <li><a href="http://www.debian.org/social_contract#guidelines">The Debian Free Software Guidelines (DFSG)</a></li> + <li><a href="http://www.opensource.org/osd.html">The Open Source Definition</a></li> + </ul> + + <p> + Please contact the + <a href="http://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">mailing list</a> + if you notice a package that doesn't meet these guidlines. + </p> + + <h3 id="other-legal-considerations">Other Considerations</h3> + + <p> + In addition to the usual considerations (copyrights, patents, + trademarks, export regulations etc.), building + <a href="http://lists.nongnu.org/archive/html/mingw-cross-env-list/2010-12/msg00025.html">statically linked</a> + libraries + <a href="http://lists.nongnu.org/archive/html/mingw-cross-env-list/2011-02/msg00018.html">for Windows</a> + exposes some edge cases that you may not have encountered before. + </p> + + <p> + According to + <a href="http://www.gnu.org/philosophy/free-sw.html">freedom 0</a> and our + <a href="#copyright">own licence</a>, + you can use mxe in countless different + environments, each with it's own special legal considerations. The + configuration options of certain packages (e.g ffmpeg) allow the use of + non-free software and/or combinations that cause license violations. + </p> + + <p> + For these packages, we will provide sensible defaults aimed + at achieving the following goals: + </p> + <ol> + <li>avoid causing inherent licensing issues with conflicting options</li> + <li>make the package as feature complete as possible</li> + </ol> + + <p> + Note that this does not prevent downstream violations, or affect any + further obligations a licence may impose on you. + </p> + + <h3 id="potential-legal-issues">Potential Issues - Non Exhaustive List</h3> + + <h4>GNU Licenses</h4> + <p> + Review the + <a href="http://www.gnu.org/licenses/gpl-faq.html#content">FAQ</a> + </p> + + <h4>LGPL and Static Linking</h4> + + <p> + Review the + <a href="http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License#Differences_from_the_GPL">Differences from the GPL</a> + section of the Wikipedia article mentioned above. + </p> + + <h4>GPL and OpenSSL</h4> + + <p> + See conflicting accounts from the + <a href="http://www.gnu.org/licenses/license-list.html#OpenSSL">FSF</a> + and the + <a href="http://www.openssl.org/support/faq.html#LEGAL2">OpenSSL project</a>. + </p> + <p> + A similar situation also exists for package fdk-aac. + </p> +</div> + +<div class="section"> +<h2 id="history">History</h2> + + <dl> + + <dt>2015-05-04 – Retired the stable branch</dt> + <dd> + <p> + The stable branch + <a href="https://lists.nongnu.org/archive/html/mingw-cross-env-list/2015-05/msg00004.html">was retired</a> + as it + <a href="https://lists.nongnu.org/archive/html/mingw-cross-env-list/2015-03/msg00002.html">did more harm than good</a>. + Everybody is using the master branch, + because it is always recent and well enough tested. + For historical reference, the last commit to the stable branch was + <a href="https://github.com/mxe/mxe/commits/0c6cc9c91cf94e445ec471a5beebb7199483cb9d" title="0c6cc9c91cf94e445ec471a5beebb7199483cb9d">0c6cc9c</a>, + which was + <a href="https://github.com/mxe/mxe/commits/eaac1a873f37bdc4f91e1b649e28b118acedc436" title="eaac1a873f37bdc4f91e1b649e28b118acedc436">fully merged into master</a> + as usual. + </p> + + <p> + Added support for <a href="#supported-toolchains">shared toolchains</a> for over 50% of all the packages. + </p> + + <p> + Unfortunately, a number of factors have forced us to drop support + for MinGW 3 (i.e. "<a href="http://mingw.org/">MinGW.org</a>"), + in favor of the MinGW-w64 toolchain. This decision was made in a + large part because of the dropping of support for MinGW by <a + href="https://github.com/mxe/mxe/pull/453#issuecomment-51703048"> + GLib</a> and <a + href="https://github.com/mxe/mxe/issues/492#issue-41366666">Qt5</a>, + which arguably are two of the most important packages in MXE. + Other considerations have also been taken, like the <a + href="https://github.com/mxe/mxe/pull/323#issuecomment-39463810">lack + of maintainership in MinGW</a> and <a + href="https://github.com/mxe/mxe/issues/400">potential legal + challenges</a> that comes with using supplemental DirectX + headers in MinGW in order to support Qt4. Worse yet, having to + support the unsupported MinGW toolchain impedes adding or + updating packages, as shown in the <a + href="https://github.com/mxe/mxe/pull/453#issuecomment-51703048">pull + request of updating GLib</a>. + </p> + + <p> + Please note that dropping support for MinGW <strong>DOES NOT + MEAN</strong> dropping support for the 32-bit architecture. MinGW-w64 + also supports 32-bit target through i686-w64-mingw32. + </p> + + <p> + To ease migration to the supported MinGW-w64 target, we have + finished porting all packages that were MinGW-only to at least + i686-w64-mingw32 (32-bit target of MinGW-w64). Hence your existing + commands should work out-of-the-box assuming the + <code>MXE_TARGETS</code> environmental variable is set correctly. + </p> + </dd> + + <dt>2013-07-27 – Release 2.23</dt> + <dd> + <p> + The stable branch was updated + to the current development version after a thorough + <a href="https://lists.nongnu.org/archive/html/mingw-cross-env-list/2013-07/msg00021.html">testing phase</a>. + </p> + + <p> + Current users are <strong>strongly</strong> encouraged to + start with a clean tree as the toolchain has been + updated and requires a full rebuild: + </p> + <pre>git pull && make clean && make</pre> + + <p> + Most packages were updated to their latest version. + </p> + + <p> + Many new packages are supported: + alure, apr-util, apr, armadillo, cegui, cfitsio, cminpack, + flann, gtkglarea, gtkimageview, harfbuzz, hdf4, hdf5, hunspell, + icu4c, itk, lensfun, levmar, libf2c, libftdi, libgda, libgdamm, + libglade, liblqr-1, libmodplug, librtmp, libzip, log4cxx, mdbtools, + ncurses, netcdf, netpbm, ocaml-cairo, ocaml-camlimages, ocaml-core, + ocaml-findlib, ocaml-flexdll, ocaml-lablgl, ocaml-lablgtk2, + ocaml-native, ocaml-xml-light, opencv, opus, opusfile, pcl, + picomodel, plib, plibc, poppler, portablexdr, portmidi, protobuf, + qdbm, qt5, qtactiveqt, qtbase, qtdeclarative, qtgraphicaleffects, + qtimageformats, qtjsbackend, qtmultimedia, qtquick1, qtquickcontrols, + qtscript, qtsensors, qtserialport, qtsvg, qttools, qttranslations, + qtxmlpatterns, qwt, sdl_gfx, sfml, sox, teem, twolame, vtk6, wavpack, + wget, winpthreads, xapian-core, yasm + </p> + + <p> + Added support for <a href="#supported-toolchains">mingw-w64 based toolchains</a> + targeting 32 & 64-bit architectures. + </p> + + <p> + With the addition of Qt5, there is no longer a prefixed version of + qmake, see the <a href="#tutorial-5c">Qt section of the tutorial</a> + for the new way to invoke qmake. + </p> + + <p> + <a href="#requirements-freebsd">FreeBSD</a> is no longer fully supported. + Qt5, ocaml*, and 8 other packages are excluded from the build. + </p> + </dd> + + <dt id="branches">2012-04-12 – Release 2.22</dt> + <dd> + <p> + The release tarballs have been replaced with a stable branch + that conforms to the new branch concept: + </p> + + <ul class="compact-list"> + <li> + Any change of a build script goes into "master". + </li> + <li> + Any package upgrade goes into "master". + </li> + <li> + Any documentation upgrade that refers to a feature + not present in stable goes into "master". + </li> + <li> + Anything else that doesn't affect the build goes + into "stable". + </li> + <li> + Any non-critical improvement to the main Makefile + goes into "stable". + </li> + <li> + Any improvement in the package download URLs or + package version recognition goes into "stable". + </li> + <li> + When in doubt, "master" is used rather than "stable". + </li> + <li> + Every change to the "stable" branch + will be merged into "master". + </li> + <li> + After a successful testing phase, + the "stable" branch + will be fast-forwarded to "master". + </li> + </ul> + + <p> + The project has been + <a href="http://lists.nongnu.org/archive/html/mingw-cross-env-list/2012-03/msg00101.html">renamed</a> + from + mingw-cross-env (MinGW cross compiling environment) + to + MXE (M cross environment). + </p> + + <p> + Most packages were updated to their latest version. + </p> + + <p> + New packages are supported: + agg, cgal, eigen, file, gta, json-c, libgnurx, libharu, + libircclient, libssh2, libxml++, llvm, lzo, mpfr, nettle, + opencsg, qjson, qwtplot3d, vtk, and wt. + </p> + </dd> + + <dt>2011-06-07 – Release 2.21</dt> + <dd> + <p> + <a href="https://bitbucket.org/vog/mingw-cross-env/downloads/mingw-cross-env-2.21.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.21">Changelog</a> + </p> + + <p> + Minor bugfixes in several packages. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + Packages gtkmm and gtksourceviewmm have been renamed to gtkmm2 and gtksourceviewmm2. + </p> + + <p> + New packages are supported: + libass, poco, and t4k_common. + </p> + </dd> + + <dt>2011-04-05 – Release 2.20</dt> + <dd> + <p> + <a href="https://bitbucket.org/vog/mingw-cross-env/downloads/mingw-cross-env-2.20.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.20">Changelog</a> + </p> + + <p> + This release fixes a download error caused by the pixman project + (a sudden change of their URL scheme without proper redirects). + <a href="http://www.w3.org/Provider/Style/URI">That sort of thing should never happen!</a> + </p> + </dd> + + <dt>2011-03-19 – Release 2.19</dt> + <dd> + <p> + <a href="https://bitbucket.org/vog/mingw-cross-env/downloads/mingw-cross-env-2.19.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.19">Changelog</a> + </p> + + <p> + The download mechanisms are improved. + </p> + + <p> + A CMake toolchain file is provided + to simplify cross-compiling projects which use CMake. + </p> + + <p> + Support for Debian/Lenny is dropped. + </p> + + <p> + Package gtk is renamed to gtk2. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + New packages are supported: + dbus, graphicsmagick, libical, liboauth, physfs, and vigra. + </p> + + <p> + Note for <code>boost::filesystem</code> users: + <a href="http://beta.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/index.htm">Version 3 is a major revision</a> + and now the default in 1.46. + </p> + </dd> + + <dt>2010-12-15 – Release 2.18</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.18.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.18">Changelog</a> + </p> + + <p> + This release fixes a checksum error caused by the atkmm project + (a sudden change of their current source tarball). + <a href="http://www.w3.org/Provider/Style/URI">That sort of thing should never happen!</a> + </p> + </dd> + + <dt>2010-12-11 – Release 2.17</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.17.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.17">Changelog</a> + </p> + + <p> + This release provides some improvements of the build system + such as an automatic check for most of the requirements. + </p> + + <p> + All packages are updated to their latest version. + </p> + + <p> + New packages are supported: + bfd, blas, cblas, dcmtk, ftgl, lapack, lcms1, + mingw-utils, mxml, suitesparse and tinyxml. + </p> + </dd> + + <dt>2010-10-27 – Release 2.16</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.16.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.16">Changelog</a> + </p> + + <p> + This release provides lots of improvements to + the build system as well as the documentation. + </p> + + <p> + Support for OpenSolaris is dropped. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + Many new packages are supported: + atkmm, cairomm, cunit, faac, faad2, ffmpeg, gdk-pixbuf, glibmm, + gtkglextmm, gtkmm, gtksourceview, gtksourceviewmm, imagemagick, + lame, libiberty, libsigc++, libvpx, matio, openal, opencore-amr, + pangomm, pfstools, plotmm, sdl_sound and x264. + </p> + </dd> + + <dt>2010-06-16 – Release 2.15</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.15.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.15">Changelog</a> + </p> + + <p> + This release fixes download errors caused by the Qt project + (a sudden change of their current source tarball). + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + </dd> + + <dt>2010-06-08 – Release 2.14</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.14.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.14">Changelog</a> + </p> + + <p> + This release fixes download errors caused by the MinGW project + (a sudden change of their URL scheme without proper redirects). + <a href="http://www.w3.org/Provider/Style/URI">That sort of thing should never happen!</a> + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + New packages are supported: + libarchive, libgee and xvidcore. + </p> + </dd> + + <dt>2010-05-31 – Release 2.13</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.13.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.13">Changelog</a> + </p> + + <p> + This release switches back from TDM to the official GCC, + thus supporting the current GCC 4.5. + </p> + + <p> + The set of DirectX headers is improved and more complete. + </p> + + <p> + The deadlock issues with Pthreads-w32 are fixed. + </p> + + <p> + A static build of GDB is provided, + i.e. a standalone "gdb.exe" + that doesn't require any extra DLLs. + </p> + + <p> + More packages are backed by test programs. + </p> + + <p> + Many "sed hacks" are replaced by proper portability patches. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + Many new packages are supported: + fribidi, gc, gdb, gmp, gsl, gst-plugins-base, gst-plugins-good, + gstreamer, gtkglext, guile, libcroco, libffi, liboil, libpaper, + libshout, libunistring and xine-lib. + </p> + </dd> + + <dt>2010-02-21 – Release 2.12</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.12.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.12">Changelog</a> + </p> + + <p> + This release fixes some minor build issues, + and contains a first small set of test programs + to check the package builds. + </p> + + <p> + The build rules are simplified + by calling generators like Autotools and Flex, + instead of patching the generated files. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + Many new packages are supported: + aubio, devil, directx, exiv2, fftw, freeimage, gsoap, + id3lib, liblo, libpano13, librsvg, libsamplerate, + muparser, openscenegraph, portaudio and sdl_pango. + </p> + </dd> + + <dt>2010-02-20 – Release 2.11</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.11.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.11">Changelog</a> + </p> + + <p> + This release contains a packaging bug. + Please use release 2.12 instead. + </p> + </dd> + + <dt>2009-12-23 – Release 2.10</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.10.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.10">Changelog</a> + </p> + + <p> + This release adds support for many new packages: + flac, libmad, libsndfile, sdl_net, speex, postgresql, + freetds, openssl, plotutils, taglib, lcms, freeglut, + xerces and zziplib. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + In addition to the libraries + some command line tools such as psql.exe are built, too. + </p> + + <p> + The placements of logfiles, as well as many other build details, have been improved. + </p> + </dd> + + <dt>2009-10-24 – Release 2.9</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.9.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.9">Changelog</a> + </p> + + <p> + This release adds support for Qt, VMime and libmng. + </p> + + <p> + The target triplet is updated to i686-pc-mingw32. + </p> + + <p> + OpenMP support is enabled in GCC. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + </dd> + + <dt>2009-09-11 – Release 2.8</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.8.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.8">Changelog</a> + </p> + + <p> + This release comes with a better look & feel + by providing a highlevel overview of the build process. + </p> + + <p> + The detailed build messages are stored into + separate log files for each package, + so parallel builds don't intermix them anymore. + </p> + + <p> + The download URLs of SourceForge packages + are adjusted to ensure that + the selected SourceForge mirror is really used + and not circumvalented via HTTP redirects to other mirrors. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + The whole mingw-cross-env project has moved to + <a href="https://savannah.nongnu.org/">Savannah</a>. + So all URIs have changed, + but the old URIs + redirect to the new locations seamlessly. + </p> + + <p> + Everyone is invited to join the freshly created + <a href="https://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">project mailing list</a>. + </p> + </dd> + + <dt>2009-08-11 – Release 2.7</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.7.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.7">Changelog</a> + </p> + + <p> + This release + provides an improved version recognition + for SourceForge packages. + SourceForge changed their page layout + in a way that makes it much harder + to identify the current version of a package. + </p> + + <p> + Additionally, + almost all packages are updated to their latest version. + </p> + </dd> + + <dt>2009-06-19 – Release 2.6</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.6.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.6">Changelog</a> + </p> + + <p> + This release contains some portability fixes + which allow it to run on a wider range of systems + such as Frugalware. + </p> + + <p> + The documentation and website are completely revised. + </p> + + <p> + New packages such as + CppUnit, libUsb, NSIS, Popt, SQLite and Theora + are supported. + </p> + + <p> + Almost all packages are updated to their latest version. + </p> + + <p> + A new command "make download" is implemented. + </p> + </dd> + + <dt>2009-04-06 – Release 2.5</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.5.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.5">Changelog</a> + </p> + + <p> + This release fixes a download error caused by the MinGW project. + They suddenly changed the names of their source tarballs. + <a href="http://www.w3.org/Provider/Style/URI">That sort of thing should never happen!</a> + </p> + + <p> + This release also contains some bugfixes + which allow it to run on a wider range of systems. + </p> + + <p> + All downloaded files are now + verified by their SHA-1 checksums. + </p> + + <p> + New versions of various packages are supported. + </p> + </dd> + + <dt>2009-03-08 – Release 2.4</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.4.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.4">Changelog</a> + </p> + + <p> + This release provides many new libraries such as + wxWidgets, GTK+ and OpenEXR. + </p> + + <p> + In addition, new versions of various packages + are supported. + </p> + </dd> + + <dt>2009-02-09 – Release 2.3</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.3.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.3">Changelog</a> + </p> + + <p> + This release fixes some serious build problems on FreeBSD and MacOS-X. + </p> + + <p> + The Makefile has a new target "clean-pkg" + and allows to be called from a separate build directory + via "make -f .../Makefile". + </p> + + <p> + Some new versions of the packages are supported, + especially GCC-4.3 by switching from MinGW GCC to + <a href="http://www.tdragon.net/recentgcc/">TDM-GCC</a>. + </p> + </dd> + + <dt>2009-01-31 – Release 2.2</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.2.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.2">Changelog</a> + </p> + + <p> + This release fixes some minor build problems. + </p> + + <p> + It also supports some new packages and + some newer versions of the already supported packages. + </p> + + <p> + Parallelization is now disabled by default. + </p> + </dd> + + <dt>2008-12-13 – Release 2.1</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.1.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.1">Changelog</a> + </p> + + <p> + This release fixes a download error caused by the GDAL project. + They suddenly changed their download URLs. + <a href="http://www.w3.org/Provider/Style/URI">That sort of thing should never happen!</a> + </p> + + <p> + In addition, some newer versions of various packages are supported. + </p> + + <p> + There is also a small compatibility fix for OS X. + </p> + </dd> + + <dt>2008-11-10 – Release 2.0</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-2.0.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/2.0">Changelog</a> + </p> + + <p> + The shell script has been rewritten as Makefile + and supports partial builds and parallel builds. + </p> + + <p> + As usual, + this release also supports some new packages and + some newer versions of the already supported packages. + </p> + </dd> + + <dt>2008-01-11 – Release 1.4</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-1.4.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/1.4">Changelog</a> + </p> + + <p> + This release now includes a tutorial by Hans Bezemer + and has improved compile options of FLTK. + As usual, it supports some newer versions of the libraries. + </p> + + <p> + At the <a href="http://www.fefe.de/nowindows/">request of its author</a>, + libowfat is no longer supported from this release on. + </p> + + <p> + The script now uses a specific SourceForge mirror + instead of randomly chosen ones, + because the download phase + often stumbled on some very slow mirrors. + </p> + </dd> + + <dt>2007-12-23 – Release 1.3</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-1.3.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/1.3">Changelog</a> + </p> + + <p> + A sudden change in the download URLs of GEOS + made the automatic download fail. + <a href="http://www.w3.org/Provider/Style/URI">Such changes should never happen!</a> + But it happened, + and this quick release is an attempt to limit the damage. + </p> + + <p> + This release also supports some newer versions of the libraries + including support for fontconfig-2.5.0. + </p> + </dd> + + <dt>2007-12-13 – Release 1.2</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-1.2.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/1.2">Changelog</a> + </p> + + <p> + This release is a switch from gcc-3 to gcc-4. + It also supports a new library and + some newer versions of the already supported libraries. + </p> + </dd> + + <dt>2007-07-24 – Release 1.1</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-1.1.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/1.1">Changelog</a> + </p> + + <p> + This release is the result of the public attention the release 1.0 got. + It contains many improvements suggested by its first users, + and adds support for many new libraries. + </p> + + <p> + Thanks to Rocco Rutte who contributed many code snippets. + </p> + </dd> + + <dt>2007-06-19 – Release 1.0</dt> + <dd> + <p> + <a href="http://download.savannah.nongnu.org/releases/mingw-cross-env/mingw-cross-env-1.0.tar.gz">Download</a> | + <a href="http://hg.savannah.nongnu.org/hgweb/mingw-cross-env/log/1.0">Changelog</a> + </p> + + <p> + This first release has been created in a 7-day-sprint. + </p> + </dd> + + <dt>2007-06-12 – Project start</dt> + <dd> + </dd> + + </dl> +</div> + +<div class="section"> +<h2 id="see-also">See also</h2> + + <h3>This project</h3> + + <ul class="compact-list"> + <li> + <a href="http://mxe.cc">Website</a> + </li> + <li> + <a href="https://github.com/mxe/mxe">Project on GitHub</a> + </li> + <li> + <a href="http://pkg.mxe.cc/">Binary distribution of packages</a> + </li> + <li> + <a href="https://www.openhub.net/p/mxe">Entry on Open Hub</a> + </li> + <li> + <a href="https://savannah.nongnu.org/projects/mingw-cross-env">Entry on Savannah</a> + </li> + <li> + <a href="http://lists.debian.org/debian-embedded/2007/06/msg00007.html">First release anouncement</a> + and the discussion around it + </li> + </ul> + + <h3>Related articles</h3> + + <ul> + <li> + <a href="http://www.valdyas.org/fading/index.cgi/hacking/krita/mxe_krita.html">Cross-compiling Krita using MXE</a> + <br> + Experience report of the + <a href="https://krita.org/">Krita project</a> + </li> + <li> + <a href="http://thebeezspeaks.blogspot.com/2009/04/cross-compilers-new-wave.html">Cross compilers, the new wave</a> + <br> + Appeared on + <a href="http://lxer.com/module/newswire/view/118868">LXer</a> + and + <a href="http://www.linuxtoday.com/developer/2009041501335RVSWDV">Linux Today</a> + </li> + <li> + <a href="http://www.mingw.org/wiki/LinuxCrossMinGW">MinGW cross compiler for Linux build environment</a> + <br> + Official tutorial of the + <a href="http://www.mingw.org/">MinGW project</a> + </li> + <li> + <a href="http://wiki.wxwidgets.org/Cross-Compiling_Under_Linux#Cross-compiling_under_Linux_for_MS_Windows">Cross-compiling under Linux for MS Windows</a> + <br> + Old tutorial provided by the + <a href="http://www.wxwidgets.org/">wxWidgets project</a> + </li> + </ul> + + <h3>Related projects</h3> + + <ul> + <li> + <a href="https://www.archlinux.org/groups/x86_64/mingw-w64/">Arch Linux mingw-w64 packages</a> + <br> + Win32 cross compiling packages by Arch Linux + </li> + <li> + <a href="http://packages.debian.org/stable/devel/mingw32">Debian mingw32 package</a> + <br> + Bare win32 cross compiler + </li> + <li> + <a href="https://admin.fedoraproject.org/pkgdb/packages/mingw*/">Fedora MinGW packages</a> + <br> + Win32 cross compiling packages by Fedora + </li> + <li> + <a href="https://msys2.github.io/">MSYS2</a> + <br> + Win32/64 ports of many free software packages + </li> + <li> + <a href="http://gnuwin32.sourceforge.net/">GnuWin32</a> + <br> + Win32 ports of many free software packages + </li> + <li> + <a href="http://www.sandroid.org/imcross/">IMCROSS</a> + <br> + Another project with similar goal + </li> + <li> + <a href="http://www.libsdl.org/extras/win32/cross/README.txt">MinGW cross-compiler build script</a> + <br> + Old script provided by the + <a href="http://www.libsdl.org/">SDL project</a> + </li> + <li> + <a href="http://comments.gmane.org/gmane.comp.gnu.octave.maintainers/30358">mxe-octave</a> + <br> + Fork of MXE specialized on building + <a href="https://www.gnu.org/software/octave/">GNU Octave</a> + </li> + <li> + <a href="https://software.opensuse.org/search?q=mingw&baseproject=openSUSE%3A13.2&search_devel=false&search_unsupported=false">openSUSE MinGW packages</a> + <br> + Win32 cross compiling packages by openSUSE + </li> + <li> + <a href="http://win-builds.org/">Win-builds</a> + <br> + Creates binary packages, runs on both Linux and Windows + </li> + </ul> +</div> + +<div class="section"> +<h2 id="used-by">Projects which use MXE (alphabetical order)</h2> + + <ul class="compact-list"> + <li> + <a href="http://sourceforge.net/projects/aorta/">Aorta</a> + </li> + <li> + <a href="https://github.com/zer0main/battleship">Battleship game</a> + </li> + <li> + <a href="https://bino3d.org/">Bino</a> + </li> + <li> + <a href="http://biosig.sourceforge.net/">BioSig</a> + </li> + <li> + <a href="http://en.cataclysmdda.com/">Cataclysm: Dark Days Ahead</a> + </li> + <li> + <a href="http://cvtool.sourceforge.net/">cvtool</a> + </li> + <li> + <a href="http://www.qtrac.eu/diffpdf.html">DiffPDF</a> + </li> + <li> + <a href="https://github.com/eiskaltdcpp/eiskaltdcpp">EiskaltDC++</a> + </li> + <li> + <a href="http://www.ros.org/wiki/eros">Eros</a> + </li> + <li> + <a href="http://www.nongnu.org/galois/">Galois</a> + </li> + <li> + <a href="http://gcompris.net/">GCompris</a> + </li> + <li> + <a href="http://www.nongnu.org/gta/">Generic Tagged Arrays</a> + </li> + <li> + <a href="https://www.gnu.org/software/freedink/">GNU FreeDink</a> + </li> + <li> + <a href="http://ifwiki.org/index.php/Hugor">Hugor</a> + </li> + <li> + <a href="https://krita.org/">Krita</a> + </li> + <li> + <a href="http://lightspark.github.com/">Lightspark</a> + </li> + <li> + <a href="http://marathon.sourceforge.net/">Marathon Aleph One</a> + </li> + <li> + <a href="https://www.maxr.org/">Mechanized Assault and eXploration Reloaded</a> + </li> + <li> + <a href="https://www.bunkus.org/videotools/mkvtoolnix/">MKVToolNix</a> + </li> + <li> + <a href="http://mpop.sourceforge.net/">mpop</a> + </li> + <li> + <a href="http://msmtp.sourceforge.net/">msmtp</a> + </li> + <li> + <a href="http://www.openscad.org/">OpenSCAD</a> + </li> + <li> + <a href="http://pdfgrep.sourceforge.net/">Pdfgrep</a> + </li> + <li> + <a href="http://www.pokerth.net/">PokerTH</a> + </li> + <li> + <a href="http://pushover.sourceforge.net/">Pushover</a> + </li> + <li> + <a href="http://qtads.sourceforge.net/">QTads</a> + </li> + <li> + <a href="http://sigrok.org/">sigrok</a> + </li> + <li> + <a href="http://spek-project.org/">Spek</a> + </li> + <li> + <a href="http://springrts.com/">Spring RTS</a> + </li> + <li> + <a href="http://www.xs4all.nl/~thebeez/4tH/">The 4tH Compiler</a> + </li> + <li> + <a href="https://www.tug.org/texworks/">TeXworks</a> + </li> + <li> + <a href="http://toppler.sourceforge.net/">Tower Toppler</a> + </li> + <li> + <a href="http://tux4kids.alioth.debian.org/tuxtype/">Tux Typing</a> + </li> + <li> + <a href="http://tux4kids.alioth.debian.org/tuxmath/">Tux Math</a> + </li> + <li> + <a href="http://ph.on.things.free.fr/projects/ube/">Ube</a> + </li> + <li> + <a href="http://ufoai.org/">UFO: Alien Invasion</a> + </li> + <li> + <a href="http://violetland.github.io/">Violetland</a> + </li> + <li> + <a href="http://wz2100.net/">Warzone 2100</a> + </li> + <li> + <a href="https://sourceforge.net/projects/xfemm/">xfemm</a> + </li> + </ul> +</div> + +</body> +</html> diff --git a/docs/release-process.txt b/docs/release-process.txt index 57867c1..fe83f3d 100644 --- a/docs/release-process.txt +++ b/docs/release-process.txt @@ -9,7 +9,7 @@ github issue MXE mailing list use the following to check for new/changed requirements: - http://htmlpreview.github.io/?https://raw.github.com/mxe/mxe/master/index.html + http://htmlpreview.github.io/?https://raw.github.com/mxe/mxe/master/docs/index.html ... - Fast-forward the stable branch to master: |