ArcEmu: Fix Compilation Of Vmaplib When Using Mingw - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Read:

When submitting patches - READ: http://arcemu.org/fo...?showtopic=2355 -
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Fix Compilation Of Vmaplib When Using Mingw This fixes the compile errors mingw32 spits out when building vmaplib

#1 User is offline   Artox 

  • Occasional Poster
  • PipPip
  • Group: Members
  • Posts: 142
  • Joined: 01-November 08

Posted 25 August 2011 - 04:50 PM

EDITED: changed from just vmaplib to g3dlite, vmaplib and loadlib

Patch Title: Fix compilation of the tools provided with arcemu using mingw
This patch makes the tools and their required libraries build for win32 using a gcc compiler (tested with mingw)
Compiled versions of them all created using this patch are available here: http://filebeam.com/...a2b8207728295aa

Index: dep/include/loadlib/loadlib.h
===================================================================
--- dep/include/loadlib/loadlib.h	(Revision 4493)
+++ dep/include/loadlib/loadlib.h	(Arbeitskopie)
@@ -1,7 +1,7 @@
 #ifndef LOAD_LIB_H
 #define LOAD_LIB_H
 
-#ifdef WIN32
+#ifdef _MSC_VER
 typedef __int64        	int64;
 typedef __int32        	int32;
 typedef __int16        	int16;
Index: dep/include/vmaplib/VMapManager2.h
===================================================================
--- dep/include/vmaplib/VMapManager2.h	(Revision 4493)
+++ dep/include/vmaplib/VMapManager2.h	(Arbeitskopie)
@@ -22,7 +22,7 @@
 #include <G3D/Vector3.h>
 #include "IVMapManager.h"
 
-#ifdef WIN32
+#ifdef _MSC_VER
 #include <unordered_map>
 #else
 #include <tr1/unordered_map>
Index: dep/include/vmaplib/BIH.h
===================================================================
--- dep/include/vmaplib/BIH.h	(Revision 4493)
+++ dep/include/vmaplib/BIH.h	(Arbeitskopie)
@@ -30,7 +30,7 @@
 #include <limits>
 #include <cmath>
 
-#ifdef WIN32
+#ifdef _MSC_VER
 #include <unordered_map>
 #else
 #include <tr1/unordered_map>
Index: dep/include/g3dlite/G3D/platform.h
===================================================================
--- dep/include/g3dlite/G3D/platform.h	(Revision 4493)
+++ dep/include/g3dlite/G3D/platform.h	(Arbeitskopie)
@@ -44,7 +44,7 @@
 
 #endif
 
-#ifdef _MSC_VER
+#if defined _MSC_VER || defined __MINGW32__
 	#define G3D_WIN32
 #elif  defined(__FreeBSD__) || defined(__OpenBSD__)  || defined(__FreeBSD_kernel__)
 	#define G3D_FREEBSD
@@ -102,7 +102,7 @@
 #endif
 
 
-#ifdef _MSC_VER
+#if defined _MSC_VER || defined __MINGW32__
 // Microsoft Visual C++ 8.0 ("Express")   	= 1400
 // Microsoft Visual C++ 7.1	("2003") _MSC_VER = 1310
 // Microsoft Visual C++ 7.0	("2002") _MSC_VER = 1300
Index: dep/src/g3dlite/System.cpp
===================================================================
--- dep/src/g3dlite/System.cpp	(Revision 4493)
+++ dep/src/g3dlite/System.cpp	(Arbeitskopie)
@@ -560,7 +560,7 @@
 #endif
 }
 
-#if defined(G3D_WIN32) && !defined(G3D_64BIT)
+#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__)
 	#pragma message("Port System::memcpy SIMD to all platforms")
 /** Michael Herf's fast memcpy */
 void memcpyMMX(void* dst, const void* src, int nbytes) {
@@ -611,7 +611,7 @@
 #endif
 
 void System::memcpy(void* dst, const void* src, size_t numBytes) {
-#if defined(G3D_WIN32) && !defined(G3D_64BIT)
+#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__)
 	memcpyMMX(dst, src, numBytes);
 #else
 	::memcpy(dst, src, numBytes);
@@ -621,7 +621,7 @@
 
 /** Michael Herf's fastest memset. n32 must be filled with the same
 	character repeated. */
-#if defined(G3D_WIN32) && !defined(G3D_64BIT)
+#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__)
 	#pragma message("Port System::memfill SIMD to all platforms")
 
 // On x86 processors, use MMX
@@ -660,7 +660,7 @@
 
 
 void System::memset(void* dst, uint8 value, size_t numBytes) {
-#if defined(G3D_WIN32) && !defined(G3D_64BIT)
+#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__)
 	uint32 v = value;
 	v = v + (v << 8) + (v << 16) + (v << 24); 
 	G3D::memfill(dst, v, numBytes);
Attached File  mingw.patch (3.2K)
Number of downloads: 1
Posted Image
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users