Hi all, I have revised and slightly rewritten the DLL-support for GRX. The main trick for making the DLL and the import-lib is the option gcc -shared -Wl,--export-all -Wl,--out-implib= libgrx.dll.a -o GRX.dll $(ALL_O) $(ADDON_LIBS)
and linking the application against libgrx.dll.a
Linking an application directly against the DLL is currently not possible because constructs like
struct foo * const FooInfo = &_FooInfo; struct foo _FooInfo = { ... };
Accessing _FooInfo in the DLL works OK, but FooInfo poins to some distant stars.
To fix this one would need dllimport/dllexport decorations for FooInfo that clutter up the source code.
For other changes see the changelog below.
Ths systag naming conflicts with Dimitar's patches from friday :-(
Ciao Tom
<<thdgrx.zip>>
* include/grx20.h: Added define for __CYGWIN32__ and removed the old equality __CYGWIN32__ is also __WIN32__. This is required to have the X11 driver in cygwin.
* makedefs.grx: Added systags for CYGWIN and MinGW with CYGWIN compiler.
* src/fdriver/ftable.c: Added "ifdef" for native driver in Cygwin
* src/include/grxdebug.h: Is __GNUC__ stil in use for any gcc? Added __CYGWIN32__ and __MINGW32__, but another test may make more sense.
* src/utils/dbgprint.c: dito
* src/mouse/input.h : Replaced __WIN32__ by __WIN32__||W32NATIVE_DRIVER
* src/vdrivers/vtable.c: Replaced __WIN32__ by __WIN32__||W32NATIVE_DRIVER
* src/vdrivers/vd_win32.c: Revised reset(). Neiter PostMessage, nor PostThreadMessage could convince the windowThread to terminate. TerminateThread() does. Not elegant, but effecient. Made windowThread static.
* src/include/libwin32.h: Removed windowThread.
* test/demogrx.c: Added C32 for version=...386_CYG32
* test/speedtst.c: Removed inclusion of <values.h> because it prevailed compilation under Cygwin and file is empty for the MinGW compiler.
* test/keys.c: Also the W32 windows drivers need a graphics mode to initialize keyboard and mous functions.
TODO: Move Library names to makedefs.grx.
Best regards / Mit freundlichen Grüssen,
Thomas Demmer Kraft Foods R&D Inc. Chocolate WW Process Development
Tel.: +49 (0)89 62738-6302 Fax: +49 (0)89 62738-86302
Thought of the day People who claim they don't let little things bother them have never slept in a room with a single mosquito.