diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-05-08 17:57:26 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-05-08 17:57:26 +0000 |
commit | 9aa48684216b0dca926fa7e68a1b843dc1a872ce (patch) | |
tree | b4b62b3ad8c815d048c7e6093f4b952a2086d346 /Game/Code/lib/FreeImage | |
parent | 0dd7fd1b3a6276a39699a00e72289f264b7fdd4f (diff) | |
download | usdx-9aa48684216b0dca926fa7e68a1b843dc1a872ce.tar.gz usdx-9aa48684216b0dca926fa7e68a1b843dc1a872ce.tar.xz usdx-9aa48684216b0dca926fa7e68a1b843dc1a872ce.zip |
- added the {$H+} switch for FPC (was introduced for the MacOSX before). This will use AnsiString (no length restriction and passed as pointer) instead of ShortString (= array[0..255] of Char). This is the standard in Delphi so we should use it in FPC too. The FPC reference doc states that {$H-} is standard in FPC, but for any reason in my FPC 2.2.0 for win {$H+} is standard. Maybe the reference guide is somewhat outdated, so probably nothing changed because H+ was the default already.
- removed DLL_CDECL from switches.inc and put it directly into the headers (used in bass and freeimage). Libs shouldn't be declared STDCALL or CDECL globally because it depends on how the libs are compiled. For windows, STDCALL and CDECL are possible, so please define this on a per library base.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1069 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/lib/FreeImage')
-rwxr-xr-x | Game/Code/lib/FreeImage/FreeBitmap.pas | 8 | ||||
-rwxr-xr-x | Game/Code/lib/FreeImage/FreeImage.pas | 22 |
2 files changed, 26 insertions, 4 deletions
diff --git a/Game/Code/lib/FreeImage/FreeBitmap.pas b/Game/Code/lib/FreeImage/FreeBitmap.pas index 47be822e..26a7f243 100755 --- a/Game/Code/lib/FreeImage/FreeBitmap.pas +++ b/Game/Code/lib/FreeImage/FreeBitmap.pas @@ -1,8 +1,5 @@ unit FreeBitmap;
-{$I switches.inc}
-
-
// ==========================================================
//
// Delphi wrapper for FreeImage 3
@@ -34,6 +31,11 @@ unit FreeBitmap; //
// ==========================================================
+{$IFDEF FPC}
+ {$MODE Delphi} + {$H+} // use AnsiString +{$ENDIF} +
interface
uses
diff --git a/Game/Code/lib/FreeImage/FreeImage.pas b/Game/Code/lib/FreeImage/FreeImage.pas index a1c0e7de..c33d1bc8 100755 --- a/Game/Code/lib/FreeImage/FreeImage.pas +++ b/Game/Code/lib/FreeImage/FreeImage.pas @@ -32,10 +32,30 @@ interface uses Windows; -{$MINENUMSIZE 4} // Make sure enums are stored as an integer to be compatible with C/C++ +{$IFDEF FPC} + {$MODE DELPHI} + {$PACKENUM 4} (* use 4-byte enums *) + {$PACKRECORDS C} (* C/C++-compatible record packing *) +{$ELSE} + {$MINENUMSIZE 4} (* use 4-byte enums *) +{$ENDIF} + +{$IFDEF MSWINDOWS} + {$DEFINE DLL_STDCALL}
+{$ELSE}
+ {$DEFINE DLL_CDECL}
+{$ENDIF}
const +{$IFDEF MSWINDOWS} + FIDLL = 'freeimage.dll'; +{$ENDIF} +{$IFDEF LINUX} + FIDLL = 'libfreeimage.so'; +{$ENDIF} +{$IFDEF DARWIN} FIDLL = 'libfreeimage.dylib'; +{$ENDIF} // -------------------------------------------------------------------------- // Bitmap types ------------------------------------------------------------- |