summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2005-11-04 00:52:08 +0000
committerBrian Paul <[email protected]>2005-11-04 00:52:08 +0000
commit84f3ff91d967887545363cc826b118120a135a58 (patch)
tree887f03d109b88beba75dcb1c82542b3398885308
parentd78834b3061c8e43dde583363e0896cb554f2fcc (diff)
fix MinGW problems (bug 4956)
-rw-r--r--src/mesa/Makefile.mgw22
-rw-r--r--src/mesa/main/glheader.h2
-rw-r--r--src/mesa/x86/assyntax.h2
3 files changed, 18 insertions, 8 deletions
diff --git a/src/mesa/Makefile.mgw b/src/mesa/Makefile.mgw
index 30b32660cba..ebec5c055a8 100644
--- a/src/mesa/Makefile.mgw
+++ b/src/mesa/Makefile.mgw
@@ -57,6 +57,9 @@
.INTERMEDIATE: x86/gen_matypes.exe
.SUFFIXES: .rc .res
+# Set this to the prefix of your build tools, i.e. mingw32-
+TOOLS_PREFIX = mingw32-
+
TOP = ../..
GLIDE ?= $(TOP)/glide3
LIBDIR = $(TOP)/lib
@@ -70,7 +73,7 @@ endif
LDLIBS = -lgdi32
-CC = mingw32-gcc
+CC = $(TOOLS_PREFIX)gcc
CFLAGS += -DBUILD_GL32 -D_OPENGL32_
CFLAGS += $(INCLUDE_DIRS)
CFLAGS += -DUSE_EXTERNAL_DXTN_LIB=1
@@ -91,9 +94,11 @@ endif
AR = ar
ARFLAGS = crus
-ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
UNLINK = del $(subst /,\,$(1))
-else
+ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
+UNLINK = $(RM) $(1)
+endif
+ifneq ($(wildcard $(addsuffix /rm,$(subst :, ,$(PATH)))),)
UNLINK = $(RM) $(1)
endif
@@ -142,10 +147,15 @@ RESOURCE = $(GL_RES:.rc=.res)
.rc.res:
windres -o $@ -Irc -Ocoff $<
-all: $(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP)
+all: $(LIBDIR) $(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP)
+
+$(LIBDIR):
+ mkdir -p $(LIBDIR)
$(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP): $(OBJECTS) $(RESOURCE)
- dllwrap -o $(LIBDIR)/$(GL_DLL) --output-lib $(LIBDIR)/$(GL_IMP) --target i386-mingw32 --def $(GL_DEF) $^ $(LDLIBS)
+ $(TOOLS_PREFIX)dllwrap -o $(LIBDIR)/$(GL_DLL) --output-lib $(LIBDIR)/$(GL_IMP) \
+ --target i386-mingw32 --def $(GL_DEF) -Wl,-enable-stdcall-fixup \
+ $^ $(LDLIBS)
$(X86_OBJECTS): x86/matypes.h
@@ -163,7 +173,7 @@ x86/gen_matypes.exe: x86/gen_matypes.c
# with USE_X86_ASM (useful for trace/debug)
ifeq (1,1)
x86/glapi_x86.o: x86/glapi_x86.S
- $(CC) -o $@ $(CFLAGS) -U__WIN32__ -DSTDCALL_API -c $<
+ $(CC) -o $@ $(CFLAGS) -DSTDCALL_API -c $<
else
main/dispatch.o: main/dispatch.c
$(CC) -o $@ $(CFLAGS) -UUSE_X86_ASM -c $<
diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h
index 4c75585c4d2..4e3e3b5d288 100644
--- a/src/mesa/main/glheader.h
+++ b/src/mesa/main/glheader.h
@@ -71,7 +71,7 @@
/* Get typedefs for uintptr_t and friends */
-#if defined(_WIN32)
+#if defined(_WIN32) && !defined(__MINGW32__)
#include <BaseTsd.h>
#if _MSC_VER == 1200
typedef UINT_PTR uintptr_t;
diff --git a/src/mesa/x86/assyntax.h b/src/mesa/x86/assyntax.h
index 4b7317b0805..9bceacebdb6 100644
--- a/src/mesa/x86/assyntax.h
+++ b/src/mesa/x86/assyntax.h
@@ -1736,7 +1736,7 @@ SECTION _DATA public align=16 class=DATA use32 flat
*/
#if defined(GNU_ASSEMBLER) && !defined(__DJGPP__) && !defined(__MINGW32__)
# define HIDDEN(x) .hidden x
-#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
+#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303 && !defined(__MINGW32__)
# pragma GCC visibility push(default)
# define HIDDEN(x) .hidden x
#else