Hi all, I'm trying to improve the way I modified the getopt.c to always be compiled... It has a problem, as pointed out by Mattias, that it requires some ordering issues with config.h. I'm seeking opinions before proceeding just to be safe.
In case people didn't catch it, I've modified lib/getopt*.c to *always* compile now on any platform and have it do some #define magic to prefix it with sanei_ (as not to conflict with platform versions). The #define magic has issues with platforms that have getopt defined in stdio.h though and requires moving stdio.h before #include "config.h"... There are some things in config.h that make having any #include's before "config.h" a bad idea. So I have a circular logic bug I need to break. Fixes boil down to 2 options: 1) Go back to conditionally compiling getopt*.c but to do this right, I need to also rename include/getopt.h. Right now, there is no way to include platform's <getopt.h> because of -L../include and there are conflicting prototype issues in todays <getopt.h> compared to what can be linked in from platform. Pros: This approach aligns with lalloca.h, lassert.h, and _stdint.h. Cons: a) To keep CVS history, someone would need access to backend of CVS server. b) it wasn't correctly conditionally compiling before for Solaris/Darwin and I'll need to create some new configure.in logic. 2) Continue to always compile getopt*.c files and update the header file. Instead of using #define magic to add sanei_ prefixes, manually change the prototypes to include it. Thats around 5 variables and 5 functions in header to add sanei_ to and 5 #define's added to each source file. Pros: No configure support to maintain for various platforms. Cons: Its deviating alot from standard getopt* files and will be harder to port any updates. Chris