raze-gles/polymer/eduke32/source
hendricks266 dac94ce284 Win64 support! (Meaning it works, not that we recommend it for everyday use.)
This includes a complete Windows header and library refresh, including the addition of 64-bit compiled libs:
*libogg 1.3.0
*libvorbis 1.3.3
*zlib 1.2.7
*libpng 1.5.13
*libvpx 9a3de881c0e681ba1a79a166a86308bbc84b4acd
*SDL_mixer 1.2.12 (for RENDERTYPE=SDL)
*DirectX import libraries: dsound and dxguid (now included)

To build in 64-bit, you essentially need MinGW's MSYS (but not MinGW itself) and MinGW-w64 at the top of your PATH. The target is automatically detected using `$(CC) -dumpmachine`. The EDukeWiki will get detailed instrucitons.

All compiler and linker warnings when building in 64-bit mode have been fixed.

Remaining 64-bit to-do:
 - The ebacktrace dll does not build under 64-bit. It uses code specific to the format of 32-bit executables and will have to be ported to work with 64-bit executables. A future 64-bit version will be named ebacktrace1-64.dll.
 - RENDERTYPE=SDL crashes in SDL_mixer's Mix_Linked_Version().
 - DirectInput gives an error and does not function. This only affects joysticks, and the error never happens without any plugged in.
 - Port the classic renderer ASM to 64-bit. (Just kidding, this is way out of my league.)

This commit includes a fair bit of Makefile development spanning all platforms, including simplifying the SDLCONFIG code, fixing build on Mac OS X (thanks rhoenie!), globally factoring Apple brew/port inclusion, enforcing that all -L come before all -l, and ensuring that $(shell ) is always :='d.

In addition, I have resurrected the old GCC_MAJOR and GCC_MINOR detection using `$(CC) -dumpversion`, but I have made it failsafe in case the command fails or the version is manually specified. I have applied this new fine-grained detection where applicable, including allowing LTO, and restraining -W's to versions that support them.

git-svn-id: https://svn.eduke32.com/eduke32@3278 1a8010ca-5511-0410-912e-c29ae57300e0
2012-12-13 02:37:20 +00:00
..
enet Split r3159..r3161, part 7: code touching networking. 2012-11-15 14:28:14 +00:00
jaudiolib Win64 support! (Meaning it works, not that we recommend it for everyday use.) 2012-12-13 02:37:20 +00:00
jmact Guard macros.h by #ifndef/#define, remove two decls of nonexistent functions. 2012-11-25 13:18:36 +00:00
lunatic Networking patch from Jasper Foreman 2012-12-12 02:53:13 +00:00
misc Win64 support! (Meaning it works, not that we recommend it for everyday use.) 2012-12-13 02:37:20 +00:00
util Tools updates: 2012-11-15 06:42:37 +00:00
_functio.h Lunatic translator: update default defines. 2012-11-25 13:18:41 +00:00
_midi.h Fix JonoF's email address. 2012-03-12 04:47:04 +00:00
_rts.h Updated synthesis script, moved some non-essential files around, updated license headers on all non-BUILDLIC files, added memory cache on top of texcache to improve load times, moved some duplicated keyboard handling stuff from winlayer/sdlayer to baselayer, fixed keypad / in Mapster32 tile selector, fixed bug where p->rotscrnang and p->look_ang never reset to 0, added support for reloading maphack based polymer lights after mode changes/savegame loads, other minor changes 2010-05-25 10:56:00 +00:00
actors.c Networking patch from Jasper Foreman 2012-12-12 02:53:13 +00:00
actors.h Networking patch from Jasper Foreman 2012-12-12 02:53:13 +00:00
actors_inline.c Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
actors_inline.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
anim.c Move G_HandleAsync() into game.h as 'static inline' and use everywhere else. 2012-09-05 17:25:34 +00:00
anim.h Possibility of specifying sounds for a VPX anim-replacement via DEF. 2012-01-10 23:43:54 +00:00
animvpx.c Split r3159..r3161, part 10: add explicit casts to *alloc return values. 2012-11-15 14:28:29 +00:00
animvpx.h Make ivfrate build standalone, Makefile tweaks. 2012-11-08 21:54:17 +00:00
astub.c Factor dist() and ldist() into common.c. 2012-11-29 12:49:38 +00:00
common.c Recognize the .pk4 file extension when loading grps and zips for shits and giggles (.pk3 was already recognized). 2012-12-12 02:53:10 +00:00
common_game.h Factor G_MultiPskyInit into common.c. 2012-11-25 04:25:31 +00:00
config.c Fix bound keys' commands being truncated in settings.cfg, control* cleanup. 2012-11-18 15:44:18 +00:00
config.h Fix warning from r3128 2012-11-08 22:09:00 +00:00
demo.c demo.c: time G_DoMoveThings() using a double instead of an int32_t. 2012-11-15 14:28:53 +00:00
demo.h In -d command line arg, allow specifying demo number in addition to file name. 2012-10-01 17:52:40 +00:00
duke3d.h Replace outer apScriptGameEvent[...] checks with G_HaveEvent(). 2012-12-10 18:17:57 +00:00
function.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
game.c Fix declaration-after-statement warning in game.c after r3270. 2012-12-13 02:35:06 +00:00
game.h RENDERTYPE=SDL on Windows, part 2. 2012-11-25 04:26:37 +00:00
game_inline.c Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
game_inline.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
gamedef.c Win64 support! (Meaning it works, not that we recommend it for everyday use.) 2012-12-13 02:37:20 +00:00
gamedef.h Port system gamearray access from M32Script to CON. Expose tilesizx and tilesizy. 2012-12-13 02:33:53 +00:00
gamedefs.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
gameexec.c Port system gamearray access from M32Script to CON. Expose tilesizx and tilesizy. 2012-12-13 02:33:53 +00:00
gameexec.h Make EventNames[] an array of (const char *) instead of const tokenlist. 2012-12-09 13:24:36 +00:00
gamestructures.c Fix warnings involving printf() requiring explicit casts on tracked types. 2012-11-26 08:26:04 +00:00
gamevars.c Port system gamearray access from M32Script to CON. Expose tilesizx and tilesizy. 2012-12-13 02:33:53 +00:00
gamevars.h Port system gamearray access from M32Script to CON. Expose tilesizx and tilesizy. 2012-12-13 02:33:53 +00:00
global.c Tweak r3116. 2012-11-05 03:48:03 +00:00
global.h Fix demo playback with diff application enabled. 2012-11-11 17:57:06 +00:00
GNU.TXT Importing source for great justice 2006-04-13 20:47:06 +00:00
grpscan.c Split r3159..r3161, part 12: Add explicit casts, non-pointer types. 2012-11-15 14:28:41 +00:00
grpscan.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
input.c Further minor MACT cleanups 2012-11-17 16:48:11 +00:00
input.h Massive menu input control revamp/cleanup/factor. (added: input.[ch]) 2012-06-03 16:11:22 +00:00
keys.h Updated synthesis script, moved some non-essential files around, updated license headers on all non-BUILDLIC files, added memory cache on top of texcache to improve load times, moved some duplicated keyboard handling stuff from winlayer/sdlayer to baselayer, fixed keypad / in Mapster32 tile selector, fixed bug where p->rotscrnang and p->look_ang never reset to 0, added support for reloading maphack based polymer lights after mode changes/savegame loads, other minor changes 2010-05-25 10:56:00 +00:00
m32def.c Win64 support! (Meaning it works, not that we recommend it for everyday use.) 2012-12-13 02:37:20 +00:00
m32def.h New M32Script command "getspritelinktype" <spritenum> <<linktypevar>>. 2012-04-05 19:49:12 +00:00
m32exec.c Factor dist() and ldist() into common.c. 2012-11-29 12:49:38 +00:00
m32structures.c Addresses posts #180 and #181 of the TROR thread. Specifically, 2011-07-04 21:20:59 +00:00
m32vars.c Port system gamearray access from M32Script to CON. Expose tilesizx and tilesizy. 2012-12-13 02:33:53 +00:00
macros.h Guard macros.h by #ifndef/#define, remove two decls of nonexistent functions. 2012-11-25 13:18:36 +00:00
mapster32.h Split r3159..r3161, part 14: The rest. 2012-11-15 14:28:47 +00:00
mdump.cpp Superficial text changes: 2012-03-26 05:05:57 +00:00
mdump.h 1. Removed unneeded the svn:executable proprties. These files aren't actually executable. 2008-07-12 14:09:52 +00:00
menus.c Update credits. 2012-12-13 02:34:49 +00:00
menus.h Minor menu cleanups, only half-finished (if that). 2012-10-14 22:16:07 +00:00
midi.c Split r3159..r3161, part 10: add explicit casts to *alloc return values. 2012-11-15 14:28:29 +00:00
midi.h Fix JonoF's email address. 2012-03-12 04:47:04 +00:00
mpu401.c Win64 support! (Meaning it works, not that we recommend it for everyday use.) 2012-12-13 02:37:20 +00:00
mpu401.h Fix JonoF's email address. 2012-03-12 04:47:04 +00:00
music.c This should fix the "assignment discards 'const' qualifier" warning in music.c. 2012-07-09 19:00:23 +00:00
names.h add two tile labels which Todd forgot to move from GAME.CON to DEFS.CON and therefore did not make it to names.h 2011-08-20 23:27:46 +00:00
namesdyn.c Constify various char* vars, parameters, etc. for more -Wwrite-strings cleanness 2012-07-01 22:11:33 +00:00
namesdyn.h Patch adding Wii support by tueidj, part 11: miscellaneous changes 2012-05-01 12:41:13 +00:00
net.c Fix building as C instead of C++ 2012-12-12 02:53:15 +00:00
net.h Fix building as C instead of C++ 2012-12-12 02:53:15 +00:00
old.diff Tweakery in various places. 2011-03-17 23:37:38 +00:00
osdcmds.c Experimental NETCODE Makefile variable, enabled by default. 2012-12-09 13:24:44 +00:00
osdcmds.h Fix bound keys' commands being truncated in settings.cfg, control* cleanup. 2012-11-18 15:44:18 +00:00
osdfuncs.c Clean up picanm[] by making its elements values of struct type picanm_t. 2012-11-17 19:46:28 +00:00
osdfuncs.h Updated synthesis script, moved some non-essential files around, updated license headers on all non-BUILDLIC files, added memory cache on top of texcache to improve load times, moved some duplicated keyboard handling stuff from winlayer/sdlayer to baselayer, fixed keypad / in Mapster32 tile selector, fixed bug where p->rotscrnang and p->look_ang never reset to 0, added support for reloading maphack based polymer lights after mode changes/savegame loads, other minor changes 2010-05-25 10:56:00 +00:00
player.c Replace outer apScriptGameEvent[...] checks with G_HaveEvent(). 2012-12-10 18:17:57 +00:00
player.h Lunatic: knee-deep in code. 2012-12-03 18:24:25 +00:00
premap.c Networking patch from Jasper Foreman 2012-12-12 02:53:13 +00:00
premap.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
quotes.h Addition of 3 events: 2012-05-14 18:12:27 +00:00
rev.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
rts.c Split r3159..r3161, part 10: add explicit casts to *alloc return values. 2012-11-15 14:28:29 +00:00
rts.h Possibly fix another weird crash 2010-08-07 23:14:23 +00:00
savegame.c Initialize BADGUY sprite flags for hardcoded enemies. 2012-12-09 13:24:32 +00:00
savegame.h Rewrite old-version-savegame signaling in a cleaner fashion. 2012-11-13 10:50:06 +00:00
sdlmusic.c For novelty, add support for RENDERTYPE=SDL under Windows. 2012-11-24 09:13:29 +00:00
sector.c Networking patch from Jasper Foreman 2012-12-12 02:53:13 +00:00
sector.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
sector_inline.c Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
sector_inline.h Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup. 2012-11-05 02:49:08 +00:00
soundefs.h update soundefs.h to match the final v1.5 DEFS.CON 2011-08-20 23:27:58 +00:00
sounds.c Replace outer apScriptGameEvent[...] checks with G_HaveEvent(). 2012-12-10 18:17:57 +00:00
sounds.h The other half of the previous commit. 2012-10-08 07:07:59 +00:00
sounds_mapster32.c Guard macros.h by #ifndef/#define, remove two decls of nonexistent functions. 2012-11-25 13:18:36 +00:00
sounds_mapster32.h Rename SOUNDOWNER's (used in sound_t) member .i to .ow for easier grepping. 2012-03-10 21:22:44 +00:00
standard.h Fix JonoF's email address. 2012-03-12 04:47:04 +00:00
startgtk.game.c Split r3159..r3161, part 3: MSVC, nedmalloc, *layer, startup windows. 2012-11-15 14:27:57 +00:00
startwin.game.c Win64 support! (Meaning it works, not that we recommend it for everyday use.) 2012-12-13 02:37:20 +00:00
startwin.game.h Updated synthesis script, moved some non-essential files around, updated license headers on all non-BUILDLIC files, added memory cache on top of texcache to improve load times, moved some duplicated keyboard handling stuff from winlayer/sdlayer to baselayer, fixed keypad / in Mapster32 tile selector, fixed bug where p->rotscrnang and p->look_ang never reset to 0, added support for reloading maphack based polymer lights after mode changes/savegame loads, other minor changes 2010-05-25 10:56:00 +00:00
winbits.c Windows: Fix potential crash in version checker. 2012-11-29 12:49:41 +00:00