Hi all,
I have hacked some Makefiles so that GRX builds cleanly
under Cygwin. The attached patch does the following:
./makedefs.grx:
* Add WIN32_GCC_i386_CYGWIN (cygwin native) and WIN_GCC_i386_CYGMING
(MinGW) as systags 007 and 008. 008 really is 006, just using the Cygwin environment
to build a MinGW target.
* Appended a CYGMING specific section
Added makefile.cyg in ./, ./src, ./test/bgi and ./test.
The system then creates the static and shared libraries. Cygwin
specific if
CC = gcc
MinGW version if you say
CC = gcc -mno-cygwin
in makedefs.grx
Default installation path for the static libraries is
/usr/local/lib/[mingw]
for the header files
/usr/local/include/grx20
The DLLs do not get installed, as I have no clue where to install them :-)
The cygwin one should probably go to /bin.
I set default font-path to "/usr/local/lib/fonts/grx", you may want to change this
to your needs.
Further minor fixes:
test/demogrx.c:
* Added test for Cygwin in the_info(). BTW, is there a reason for not having this as
switch( GrGetLibrarySystem() ){ ... }?
* Small workaround for spawning the test programs. in pev_command(), mostly "\" vs. "/"
related. The real error is in grx20.h, where "__WIN32__" gets defined if the compiler
is cygwin. This is not a good idea and prevails building an X11 version with cygwin at
the moment. I think I have stupidly introduced that myself :-) I am currently thinking
about how to fix that, and what a fix really is. It basically should be possible to build
a library that uses the native drivers or the X11 drivers, depending if the DISPLAY
variable is set (just like rxvt under Cygwin). Any ideas and comments are appreciated :-)
Other than that, the only program that thoroughly fails so far is keys.exe,
I have not yet tried to actually *use* the DLLs, so be warned :-)
Have fun,
Ciao
Tom
<<grx246_ptd1.pat.gz>>
Best regards / Mit freundlichen Grüssen,
Thomas Demmer
Kraft Foods R&D Inc.
Tel.: +49 (0)89 62738-6302
Fax: +49 (0)89 62738-86302
mailto:tdemmer@krafteurope.com
Thought of the day
Love at first sight is one of the greatest labor-saving devices the
world has ever seen.