I've just committed changes that should get the Gcc support closer. But =
there are still a few things that I haven't been able to beat on Cygwin =
(I haven't yet tried on Linux)
1. Determining include path and library path
I took multiple approaches to determine the include path and library =
path for gcc to no avail. Both "gcc -dumpspecs" and "gcc =
-print-search-dirs" would require a watchdog to kill their processes and =
did not return anything to their output stream. Hardcoding the gcc =
install directory and trying to read the "specs" file didn't work. I =
assume Java just treats "/usr/lib/gcc.../specs" as a normal Windows file =
path and therefore fails to find the specs file that is actually at =
The library path is the most significant since without it you cannot =
resolve <fileset> without dir attributes within <libset> elements which =
should find all matching files within all directories on the library =
paths. I've hardcoded a naive paths in GccLinker.getLibraryPath and =
I'd appreciate advice on how to best determine the paths.
If you'd like to see what is happening on the "gcc -dumpspecs", set a =
breakpoint on GccProcessor.parseSpecs on a gcc build and walk into =
CaptureStreamHandler.run. There were several other commands that liked =
to stall, but I was able to get them to immediately return by throwing =
bogus command options on the line. However, I have not been able to =
coax dumpspecs to return anything valid.
Even with access to the output of -dumpspecs or the specs file, it is =
still fairly complicated to determine what would actually be sent to the =
compiler or linker.
2. On Cygwin the Xerces link step fails with a message about not the =
output file not being writable.
3. Anyway to detect when the user is running cygwin or mingw and is any =
helpful hints on running Java apps under the libraries.
I think it is a lot closer and with the hardcoded paths, it should be =
pretty close. But I am out of my comfort zone, and would appreciate any =
I added a checkstyle task that uses checkstyle =
(http://checkstyle.sourceforge.net) to check for adherence to the Java =
Coding Conventions. I did clean up one file (ProcessorDef.java) which =
only leaves about 3000 other issues to deal with.