diff -pbur 4.2/fix.bat 4.2-dmc/fix.bat --- 4.2/fix.bat 2007-06-09 17:49:23.404317000 -0500 +++ 4.2-dmc/fix.bat 2007-06-12 17:13:36.079260500 -0500 @@ -31,6 +31,7 @@ if [%1] == [bcc32] goto head if [%1] == [djgpp] goto head if [%1] == [mingw] goto head if [%1] == [mingw32] goto head +if [%1] == [dmc] goto head if [%1] == [msvc] goto head if [%1] == [msvc6] goto head if [%1] == [msvc7] goto head @@ -50,6 +51,7 @@ if [%1] == [bcc32] goto bcc32 if [%1] == [djgpp] goto djgpp if [%1] == [mingw] goto mingw if [%1] == [mingw32] goto mingw +if [%1] == [dmc] goto dmc if [%1] == [msvc] goto msvc if [%1] == [msvc6] goto msvc6 if [%1] == [msvc7] goto msvc7 @@ -78,6 +80,12 @@ echo MAKEFILE_INC = makefile.mgw >> make echo #define ALLEGRO_MINGW32 >> include\allegro\platform\alplatf.h goto tail +:dmc +echo Configuring Allegro for Windows/DMC... +echo MAKEFILE_INC = makefile.dmc >> makefile +echo #define ALLEGRO_DMC >> include\allegro\platform\alplatf.h +goto tail + :icl echo Configuring Allegro for Windows/ICL... echo COMPILER_ICL = 1 >> makefile @@ -141,7 +149,7 @@ echo. echo Usage: fix platform [--crlf] [--nomsvcpaths] echo. echo Where platform is one of: -echo bcc32, djgpp, mingw, msvc6, msvc7, msvc8, icl, or watcom. +echo bcc32, djgpp, mingw, dmc, msvc6, msvc7, msvc8, icl, or watcom. echo. echo The --crlf parameter is used to turn on LF to CR/LF conversion. echo The --nomsvcpaths parameter is used to turn off special MS Visual C++ diff -pbur 4.2/include/allegro/internal/alconfig.h 4.2-dmc/include/allegro/internal/alconfig.h --- 4.2/include/allegro/internal/alconfig.h 2007-06-09 17:49:09.975489000 -0500 +++ 4.2-dmc/include/allegro/internal/alconfig.h 2007-06-12 17:18:54.708281000 -0500 @@ -42,6 +42,8 @@ #include "allegro/platform/alwatcom.h" #elif defined ALLEGRO_MINGW32 #include "allegro/platform/almngw32.h" + #elif defined ALLEGRO_DMC + #include "allegro/platform/aldmc.h" #elif defined ALLEGRO_BCC32 #include "allegro/platform/albcc32.h" #elif defined ALLEGRO_MSVC @@ -169,7 +171,6 @@ #define DESTRUCTOR_FUNCTION(func) func __attribute__ ((destructor)) #endif - /* the rest of this file fills in some default definitions of language * features and helper functions, which are conditionalised so they will * only be included if none of the above headers defined custom versions. Only in 4.2-dmc/include/allegro/platform: aldmc.h Only in 4.2-dmc: makefile.dmc diff -pbur 4.2/misc/fixdll.bat 4.2-dmc/misc/fixdll.bat --- 4.2/misc/fixdll.bat 2007-06-12 17:12:40.808384000 -0500 +++ 4.2-dmc/misc/fixdll.bat 2007-06-12 17:13:59.109036500 -0500 @@ -29,7 +29,10 @@ sort _intdef1.tmp > _intdef2.tmp copy _apidef2.tmp + _wapidef2.tmp + _intdef2.tmp _alldef2.tmp > nul echo ; generated by fixdll.bat > _all.def -echo EXPORTS >> _all.def +echo LIBRARY >> _all.def +echo EXETYPE NT >> _all.def +echo SUBSYSTEM CONSOLE >> _all.def +echo echo EXPORTS >> _all.def sed -e "p" -e "=" -e "d" _alldef2.tmp > _alldef3.tmp sed -e "N" -e "s/\n/ @/" -e "s/DATA \(.*\)/\1 DATA/" _alldef3.tmp >> _all.def @@ -40,6 +43,9 @@ copy _all.def lib\msvc\allegro.def > nul echo lib\mingw32\allegro.def copy _all.def lib\mingw32\allegro.def > nul +echo lib\dmc\allegro.def +copy _all.def lib\dmc\allegro.def > nul + echo lib\bcc32\allegro.def sed -e "s/^ \([a-zA-Z0-9_]*\) \([@0-9]*\)\([ A-Z]*\)/ _\1 = \1/" _all.def > lib\bcc32\allegro.def diff -pbur 4.2/misc/fixdll.sh 4.2-dmc/misc/fixdll.sh --- 4.2/misc/fixdll.sh 2007-06-09 17:49:13.067088000 -0500 +++ 4.2-dmc/misc/fixdll.sh 2007-06-12 17:13:55.348535000 -0500 @@ -107,6 +107,9 @@ if [ "$1" = "--update-symbol-list" ]; th cp -f _alldef3.tmp misc/dllsyms.lst else echo "; generated by fixdll.sh" > _all.def + echo "LIBRARY" >> _all.def + echo "EXETYPE NT" >> _all.def + echo "SUBSYSTEM CONSOLE" >> _all.def echo "EXPORTS" >> _all.def sed -e "p" -e "=" -e "d" _alldef3.tmp > _alldef4.tmp sed -e "N" -e "s/\n/ @/" -e "s/DATA \(.*\)/\1 DATA/" _alldef4.tmp >> _all.def @@ -118,6 +121,9 @@ else echo " lib/mingw32/allegro.def" cp _all.def lib/mingw32/allegro.def + echo " lib/dmc/allegro.def" + cp _all.def lib/dmc/allegro.def + echo " lib/bcc32/allegro.def" sed -e "s/^ \([a-zA-Z0-9_]*\) \([@0-9]*\)\([ A-Z]*\)/ _\1 = \1/" _all.def > lib/bcc32/allegro.def diff -pbur 4.2/misc/fixver.sh 4.2-dmc/misc/fixver.sh --- 4.2/misc/fixver.sh 2007-06-09 17:49:13.300471500 -0500 +++ 4.2-dmc/misc/fixver.sh 2007-06-12 17:13:52.378022000 -0500 @@ -62,11 +62,11 @@ FILEVERSION $1, $2, $3, 0 PRODUCTVERSION $1, $2, $3, 0 FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL -{ +BEGIN BLOCK "StringFileInfo" - { + BEGIN BLOCK "040904E4" - { + BEGIN VALUE "Comments", "Please see AUTHORS for a list of contributors\000" VALUE "CompanyName", "Allegro Developers\000\000" VALUE "FileDescription", "Allegro\000" @@ -76,14 +76,14 @@ FILETYPE VFT_DLL VALUE "OriginalFilename", "ALLEG$1$2.DLL\000" VALUE "ProductName", "Allegro\000" VALUE "ProductVersion", "$verstr\000" - } - } + END + END BLOCK "VarFileInfo" - { + BEGIN VALUE "Translation", 0x0809, 1252 - } -} + END +END END_OF_DLLVER diff -pbur 4.2/src/win/wsystem.c 4.2-dmc/src/win/wsystem.c --- 4.2/src/win/wsystem.c 2007-06-09 17:48:38.418915000 -0500 +++ 4.2-dmc/src/win/wsystem.c 2007-06-12 17:13:46.361805500 -0500 @@ -30,6 +30,13 @@ #error something is wrong with the makefile #endif +#ifndef ALLEGRO_STATICLINK +BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason, LPVOID lpReserved) +{ +return TRUE; +} +#endif + static int sys_directx_init(void); static void sys_directx_exit(void); diff -pbur 4.2/tools/datedit.c 4.2-dmc/tools/datedit.c --- 4.2/tools/datedit.c 2007-06-09 17:49:03.199555000 -0500 +++ 4.2-dmc/tools/datedit.c 2007-06-12 17:13:40.037991500 -0500 @@ -112,6 +112,8 @@ void datedit_init(void) #include "obj/unix/plugins.h" #elif defined ALLEGRO_MINGW32 #include "obj/mingw32/plugins.h" + #elif defined ALLEGRO_DMC + #include "obj/dmc/plugins.h" #elif defined ALLEGRO_BEOS #include "obj/beos/plugins.h" #elif defined ALLEGRO_BCC32