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.