Remove i686-pc-mingw32

Fixes #400 and #492.

See #453.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
pull/529/head
Timothy Gu 10 years ago
parent 30d33ef5db
commit d87240eb7b

@ -9,7 +9,7 @@ EXT_DIR := $(TOP_DIR)/ext
# See doc/gmsl.html for further information
include $(EXT_DIR)/gmsl
MXE_TRIPLETS := i686-pc-mingw32 x86_64-w64-mingw32 i686-w64-mingw32
MXE_TRIPLETS := i686-w64-mingw32 x86_64-w64-mingw32
MXE_LIB_TYPES := static shared
MXE_TARGET_LIST := $(foreach TRIPLET,$(MXE_TRIPLETS),\
$(addprefix $(TRIPLET).,$(MXE_LIB_TYPES)))

@ -107,25 +107,18 @@
<th>Shared*</th>
</tr>
<tr>
<td><a href="http://www.mingw.org/">MinGW 3.x</a></td>
<td>i686-pc-mingw32</td>
<td style='text-align:center'>90% (306/341)</td>
<td style='text-align:center'>50% (169/341)</td>
</tr>
<tr>
<td rowspan="2"><a href="http://mingw-w64.sourceforge.net/">MinGW-w64</a></td>
<td>i686-w64-mingw32</td>
<td style='text-align:center'>98% (334/341)</td>
<td style='text-align:center'>58% (198/341)</td>
<td style='text-align:center'>99% (338/340)</td>
<td style='text-align:center'>62% (211/340)</td>
</tr>
<tr>
<td>x86_64-w64-mingw32</td>
<td style='text-align:center'>90% (306/341)</td>
<td style='text-align:center'>59% (200/341)</td>
<td style='text-align:center'>91% (311/340)</td>
<td style='text-align:center'>61% (209/340)</td>
</tr>
</table>
<p>
These numbers were last updated on October 2, 2014. You can see the
These numbers were last updated on October 13, 2014. You can see the
current status by executing <code>make build-matrix.html</code> in the
MXE directory.
</p>
@ -252,7 +245,7 @@ exit</pre>
<pre>make gtk lua libidn</pre>
<p>
Targets can also be specified on the command line.
By default, only i686-pc-mingw32.static is built, but you can
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>
@ -294,9 +287,9 @@ exit</pre>
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_pc_mingw32_static="<em>entries for MXE builds</em>"</pre>
<pre>export PKG_CONFIG_PATH_i686_w64_mingw32_static="<em>entries for MXE builds</em>"</pre>
<p>
Remember to use i686-pc-mingw32.static-pkg-config
Remember to use i686-w64-mingw32.static-pkg-config
instead of pkg-config for cross builds.
The Autotools do that automatically for you.
</p>
@ -328,13 +321,13 @@ exit</pre>
<a href="https://www.lrde.epita.fr/~adl/autotools.html">Autotools</a>,
all you have to do is:
</p>
<pre>./configure --host=i686-pc-mingw32.static
<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-pc-mingw32.static --enable-static --disable-shared
<pre>./configure --host=i686-w64-mingw32.static --enable-static --disable-shared
make</pre>
<p>
@ -353,7 +346,7 @@ If a cross compiler is detected then cross compile mode will be used.</pre>
<a href="http://www.cmake.org/">CMake</a> project,
you can use the provided toolchain file:
</p>
<pre>cmake ... -DCMAKE_TOOLCHAIN_FILE=/<em>where MXE is installed</em>/usr/i686-pc-mingw32.static/share/cmake/mxe-conf.cmake</pre>
<pre>cmake ... -DCMAKE_TOOLCHAIN_FILE=/<em>where MXE is installed</em>/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake</pre>
<h3 id="tutorial-5c">Step 5c: Cross compile your Project (Qt)</h3>
@ -362,7 +355,7 @@ If a cross compiler is detected then cross compile mode will be used.</pre>
<a href="https://qt-project.org/">Qt</a> application,
all you have to do is:
</p>
<pre>/where MXE is installed/usr/i686-pc-mingw32.static/qt/bin/qmake
<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
@ -397,7 +390,7 @@ PKG_CONFIG=$(CROSS)pkg-config</pre>
<p>
Then, all you have to do is:
</p>
<pre>make CROSS=i686-pc-mingw32.static-</pre>
<pre>make CROSS=i686-w64-mingw32.static-</pre>
<p>
That's it!
</p>
@ -420,12 +413,12 @@ USE_OSGPLUGIN(&lt;plugin2&gt;)
OpenSceneGraph source distribution for an example. This example can be
compiled with the following command:
</p>
<pre>i686-pc-mingw32.static-g++ \
<pre>i686-w64-mingw32.static-g++ \
-o osgstaticviewer.exe examples/osgstaticviewer/osgstaticviewer.cpp \
`i686-pc-mingw32.static-pkg-config --cflags openscenegraph-osgViewer openscenegraph-osgPlugins` \
`i686-pc-mingw32.static-pkg-config --libs openscenegraph-osgViewer openscenegraph-osgPlugins`</pre>
`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-pc-mingw32.static-pkg-config</code> command from MXE will
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>
@ -1883,18 +1876,10 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
<td class="package">mdbtools</td>
<td class="website"><a href="http://sourceforge.net/projects/mdbtools/">mdbtools</a></td>
</tr>
<tr>
<td class="package">mingw-utils</td>
<td class="website"><a href="http://www.mingw.org/">MinGW Utilities</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">mingwrt</td>
<td class="website"><a href="http://www.mingw.org/">MinGW Runtime</a></td>
</tr>
<tr>
<td class="package">mpc</td>
<td class="website"><a href="http://www.multiprecision.org/">GNU MPC</a></td>
@ -2139,10 +2124,6 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
<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">pthreads-w32</td>
<td class="website"><a href="https://sourceware.org/pthreads-win32/">Pthreads-w32</a></td>
</tr>
<tr>
<td class="package">qdbm</td>
<td class="website"><a href="http://fallabs.com/qdbm/">QDBM</a></td>
@ -2447,10 +2428,6 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
<td class="package">vtk6</td>
<td class="website"><a href="http://www.vtk.org/">VTK6</a></td>
</tr>
<tr>
<td class="package">w32api</td>
<td class="website"><a href="http://www.mingw.org/">MinGW Windows API</a></td>
</tr>
<tr>
<td class="package">wavpack</td>
<td class="website"><a href="http://www.wavpack.com/">WavPack</a></td>

@ -9,11 +9,7 @@ $(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := http://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_URL_2 := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := binutils gcc-cloog gcc-gmp gcc-isl gcc-mpc gcc-mpfr
$(PKG)_DEPS_i686-pc-mingw32 := $($(PKG)_DEPS) mingwrt w32api
$(PKG)_DEPS_i686-w64-mingw32 := $($(PKG)_DEPS) mingw-w64
$(PKG)_DEPS_x86_64-w64-mingw32 := $($(PKG)_DEPS) mingw-w64
$(PKG)_DEPS := binutils gcc-cloog gcc-gmp gcc-isl gcc-mpc gcc-mpfr mingw-w64
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \
@ -62,16 +58,6 @@ define $(PKG)_POST_BUILD
-cp '$(PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/'*.dll.a '$(PREFIX)/$(TARGET)/lib/'
endef
define $(PKG)_BUILD_i686-pc-mingw32
# build full cross gcc
$($(PKG)_CONFIGURE) \
--disable-sjlj-exceptions
$(MAKE) -C '$(1).build' -j '$(JOBS)'
$(MAKE) -C '$(1).build' -j 1 install
$($(PKG)_POST_BUILD)
endef
define $(PKG)_BUILD_mingw-w64
# build standalone gcc
$($(PKG)_CONFIGURE)

@ -1,169 +0,0 @@
This file is part of MXE.
See index.html for further information.
This patch has been taken from:
http://sourceforge.net/tracker/?func=detail&aid=3119898&group_id=2435&atid=102435
diff -r 62cf992c82c9 reimp/reimp.c
--- a/reimp/reimp.c Fri Nov 26 19:02:28 2010 +0100
+++ b/reimp/reimp.c Fri Nov 26 19:14:59 2010 +0100
@@ -80,20 +80,20 @@
return 1;
}
-static int do_import (char *, uint32, FILE *);
+static int do_import (char *, uint32_t, FILE *);
/* read second linker member and process all archive members */
static int
read_link_member (struct ar_hdr *hdr, FILE *f)
{
- uint32 n_memb;
- uint32 n_syms;
- uint32 *ofs;
- uint16 *idx;
+ uint32_t n_memb;
+ uint32_t n_syms;
+ uint32_t *ofs;
+ uint16_t *idx;
char *buf;
char *sym;
- uint32 n;
- uint16 i;
+ uint32_t n;
+ uint16_t i;
/* FIXME: are offsets and sizes in host endianness? Currently we
assume so. */
@@ -305,7 +305,7 @@
}
void
-extract_member (char *name, uint32 size, FILE *f)
+extract_member (char *name, uint32_t size, FILE *f)
{
static int non_imports = 0;
char buf[2048];
@@ -379,7 +379,7 @@
/* process an import */
static int
-do_import (char *name, uint32 offset, FILE *f)
+do_import (char *name, uint32_t offset, FILE *f)
{
struct ar_hdr ar_hdr;
struct imp_hdr imp_hdr;
@@ -410,7 +410,7 @@
extract_member (get_ar_name (&ar_hdr),
strtol (ar_hdr.ar_size, NULL, 10), f);
}
- return;
+ return 0;
}
sym = buf = xmalloc (imp_hdr.size);
diff -r 62cf992c82c9 reimp/reimp.h
--- a/reimp/reimp.h Fri Nov 26 19:02:28 2010 +0100
+++ b/reimp/reimp.h Fri Nov 26 19:14:59 2010 +0100
@@ -1,14 +1,6 @@
#include <stddef.h>
+#include <stdint.h>
#include <stdio.h>
-
-/* we need integers of specific sizes */
-#ifndef uint32
-#define uint32 unsigned long
-#endif
-
-#ifndef uint16
-#define uint16 unsigned short
-#endif
/* defines for archive */
#ifndef ARMAG
@@ -41,13 +33,13 @@
/* import header */
struct imp_hdr {
- uint16 sig1;
- uint16 sig2;
- uint16 version;
- uint32 time;
- uint32 size;
- uint16 ord_or_hint;
- uint16 type;
+ uint16_t sig1;
+ uint16_t sig2;
+ uint16_t version;
+ uint32_t time;
+ uint32_t size;
+ uint16_t ord_or_hint;
+ uint16_t type;
};
/* sig1 */
@@ -67,7 +59,7 @@
#define IMPORT_NAME_UNDECORATE IMPNT(3)
#define TEST_IMPNT(t,v) (((t) & IMPNT(7)) == (v))
-uint32 swap_endian (uint32);
+uint32_t swap_endian (uint32_t);
#ifdef BIG_ENDIAN
#define btonat(u) u
@@ -87,7 +79,7 @@
#if !defined(_WIN32) && !defined(__MSDOS__)
#define spawnvp do_spawn
-int spawnvp (int, char *, char **);
+int spawnvp (int, char *, const char * const *);
#define P_WAIT 0
#define P_NOWAIT 1
#endif
diff -r 62cf992c82c9 reimp/util.c
--- a/reimp/util.c Fri Nov 26 19:02:28 2010 +0100
+++ b/reimp/util.c Fri Nov 26 19:14:59 2010 +0100
@@ -1,6 +1,7 @@
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include <reimp.h>
@@ -9,14 +10,14 @@
#define swapb(a,b) a ^= b; b ^= a; a ^= b
/* swap little <=> big endian */
-uint32
-swap_endian (uint32 u)
+uint32_t
+swap_endian (uint32_t u)
{
#define swapb(a,b) a ^= b; b ^= a; a ^= b
unsigned char *p = (unsigned char *) &u;
swapb (p[0], p[3]);
swapb (p[1], p[2]);
- return *((uint32 *) p);
+ return *((uint32_t *) p);
}
@@ -79,7 +80,7 @@
#endif
int
-spawnvp (int mode, char *path, char **argv)
+spawnvp (int mode, char *path, const char * const *argv)
{
int pid;
int status;
@@ -89,7 +90,7 @@
case -1:
return -1;
case 0:
- execvp (path, argv);
+ execvp (path, (char * const *) argv);
_exit (EXIT_FAILURE);
break;

@ -1,40 +0,0 @@
# This file is part of MXE.
# See index.html for further information.
PKG := mingw-utils
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.4-1
$(PKG)_CHECKSUM := 716f51d7622b36448fc1e92d2c69d8f41b1cc2df
$(PKG)_SUBDIR := $(PKG)-$(word 1,$(subst -, ,$($(PKG)_VERSION)))
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION)-mingw32-src.tar.lzma
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/mingw/MinGW/Extension/$(PKG)/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS :=
$(PKG)_DEPS_i686-pc-mingw32 := gcc
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://sourceforge.net/projects/mingw/files/MinGW/Extension/mingw-utils/' | \
$(SED) -n 's,.*mingw-utils-\([0-9][^"]*\)/".*,\1,p' | \
head -1
endef
define $(PKG)_BUILD_i686-pc-mingw32
# native build
cp -Rp '$(1)' '$(1).native'
cd '$(1).native' && ./configure \
--disable-shared \
--prefix='$(PREFIX)' \
CFLAGS='-Wno-error=return-type'
$(MAKE) -C '$(1).native/reimp' -j '$(JOBS)'
$(INSTALL) -m755 '$(1).native/reimp/reimp' '$(PREFIX)/bin/$(TARGET)-reimp'
# cross build
cd '$(1)' && ./configure \
--host='$(TARGET)' \
--disable-shared \
--prefix='$(PREFIX)/$(TARGET)'
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install
endef
$(PKG)_BUILD_SHARED =

@ -1,23 +0,0 @@
# This file is part of MXE.
# See index.html for further information.
PKG := mingwrt
$(PKG)_IGNORE := 4%
$(PKG)_VERSION := 3.20-2
$(PKG)_CHECKSUM := cc6c1f841ab255e52e60f9c967cea6acf29354db
$(PKG)_SUBDIR := .
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION)-mingw32-dev.tar.lzma
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/mingw/MinGW/Base/mingw-rt/mingwrt-3.20/$($(PKG)_FILE)
$(PKG)_DEPS :=
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://sourceforge.net/projects/mingw/files/MinGW/Base/mingw-rt/' | \
$(SED) -n 's,.*mingwrt-\([0-9][^"]*\)/".*,\1,p' | \
head -1
endef
define $(PKG)_BUILD_i686-pc-mingw32
$(INSTALL) -d '$(PREFIX)/$(TARGET)'
cd '$(1)' && \
cp -rpv include lib '$(PREFIX)/$(TARGET)'
endef

@ -1,37 +0,0 @@
# This file is part of MXE.
# See index.html for further information.
PKG := pthreads-w32
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2-9-1
$(PKG)_CHECKSUM := 24d40e89c2e66a765733e8c98d6f94500343da86
$(PKG)_SUBDIR := pthreads-w32-$($(PKG)_VERSION)-release
$(PKG)_FILE := pthreads-w32-$($(PKG)_VERSION)-release.tar.gz
$(PKG)_URL := http://download.videolan.org/contrib/$($(PKG)_FILE)
$(PKG)_URL_2 := ftp://sourceware.org/pub/pthreads-win32/$($(PKG)_FILE)
$(PKG)_DEPS :=
$(PKG)_DEPS_i686-pc-mingw32 := gcc
define $(PKG)_UPDATE
$(WGET) -q -O- 'ftp://sourceware.org/pub/pthreads-win32/dll-latest/include/pthread.h' | \
$(SED) -n 's/^#define PTW32_VERSION \([^,]*\),\([^,]*\),\([^,]*\),.*/\1-\2-\3/p;'
endef
define $(PKG)_BUILD_i686-pc-mingw32
$(MAKE) -C '$(1)' -j 1 \
$(if $(BUILD_STATIC),GC-static,GC-inlined) \
CROSS='$(TARGET)-'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
# This is the DLL include lib on a shared build
$(INSTALL) -m644 '$(1)/libpthreadGC2.a' '$(PREFIX)/$(TARGET)/lib/libpthread.a'
$(if $(BUILD_STATIC), \
$(SED) -i 's/defined(PTW32_STATIC_LIB)/1/' '$(1)/pthread.h' '$(1)/sched.h' '$(1)/semaphore.h',
$(INSTALL) -m644 '$(1)/pthreadGC2.dll' '$(PREFIX)/$(TARGET)/bin/pthread.dll')
$(INSTALL) -d '$(PREFIX)/$(TARGET)/include'
$(INSTALL) -m644 '$(1)/pthread.h' '$(PREFIX)/$(TARGET)/include/'
$(INSTALL) -m644 '$(1)/sched.h' '$(PREFIX)/$(TARGET)/include/'
$(INSTALL) -m644 '$(1)/semaphore.h' '$(PREFIX)/$(TARGET)/include/'
$(PTHREADS_TEST)
endef

@ -8,7 +8,7 @@ PKG := pthreads
$(PKG)_VERSION := POSIX 1003.1-2001
$(PKG)_CHECKSUM = $(pthreads-w32_CHECKSUM)
$(PKG)_FILE = $(pthreads-w32_FILE)
$(PKG)_DEPS := pthreads-w32 winpthreads
$(PKG)_DEPS := winpthreads
define $(PKG)_UPDATE
echo $(pthreads_VERSION)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,22 +0,0 @@
# This file is part of MXE.
# See index.html for further information.
PKG := w32api
$(PKG)_IGNORE := 4%
$(PKG)_VERSION := 3.17
$(PKG)_CHECKSUM := 1eb60b0cd546bf3efdc3fb89a4118df11da2314a
$(PKG)_SUBDIR := .
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION)-2-mingw32-dev.tar.lzma
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/mingw/MinGW/Base/$(PKG)/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS :=
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/' | \
$(SED) -n 's,.*w32api-\([0-9][^"]*\)/".*,\1,p' | \
head -1
endef
define $(PKG)_BUILD_i686-pc-mingw32
$(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
cp -rpv '$(1)/include' '$(1)/lib' '$(PREFIX)/$(TARGET)'
endef

@ -8,10 +8,7 @@ $(PKG)_CHECKSUM = $(mingw-w64_CHECKSUM)
$(PKG)_SUBDIR = $(mingw-w64_SUBDIR)
$(PKG)_FILE = $(mingw-w64_FILE)
$(PKG)_URL = $(mingw-w64_URL)
$(PKG)_DEPS :=
$(PKG)_DEPS_i686-w64-mingw32 := gcc
$(PKG)_DEPS_x86_64-w64-mingw32 := gcc
$(PKG)_DEPS := gcc
define $(PKG)_UPDATE
echo $(mingw-w64_VERSION)

Loading…
Cancel
Save