Build system changes
Matt Ryan
matt-survex@mdryan.net
Tue, 4 Nov 2003 18:55:37 +0800
>From the changelog from 1.0.23 to 1.0.24
- (Unix version): fixed compilation problems with aven and getopt.h on MacOS
X (and probably some other Unix versions).
This seems to prevent compilation under Cygwin though (Which is confused as
to if it's Unix or Windows at the best of times).
Before I'd get warnings about redefining the OS from Unix to Windows when
compiling Aven, but everything except resources and paths would work OK.
Now cavern won't compile (below) because it's trying to include two
different getopt.h (one via unistd.h). Strange thing is, looking at changes
to configure.in trying to discover this (before I thought of looking at the
changelog!) I'd expect it to break from 1.0.22 to 1.0.23 as well, but 1.0.23
works out the box. Odd. It doesn't work in any of the later versions
either. Any offers on what the fix is which will reverse this change?
I was also going to tell you my w32api/objidl.h wants to create an
enumerated type DATADIR - but that it's already defined as a string constant
in config.h - although it looks like this will probably work anyway in the
later versions since this is no longer defined for non-unix versions. I'm
probably the only one here who wants to run printwin under unix I'd imagine.
What I really want to do of course is cross compile from cygwin to mingw but
that involves more wrestling with wxWindows than I've got time for at the
moment.
If no-one is actively working on getting printing integrated into Aven then
I'll volunteer. I ought to have some time (although minimal net access) to
work on things in the next couple of weeks. It's a dull enough project but
it should be a test as to how well I understand the Aven source (or not).
I'll aim for a minimal but clean implementation at least to start with.
Looks like it ought to be fairly straightforward (famous last words).
Best Wishes,
-Matt
make[3]: Entering directory `/home/matt/survex-1.0.25/src'
source='cavern.c' object='cavern.o' libtool=no \
depfile='.deps/cavern.Po' tmpdepfile='.deps/cavern.TPo' \
depmode=gcc3 /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I.. -DIMG_HOSTED -g -O2 -c `test -f cavern.c
|| echo './'`cavern.c
In file included from /usr/include/sys/unistd.h:152,
from /usr/include/unistd.h:4,
from cavern.c:50:
getopt.h:95: error: redefinition of `struct option'
make[3]: *** [cavern.o] Error 1
--
Matthew Ryan
www.mdryan.net