[antlr-interest] Re: 2.7.2 build system is fubar

Dave <davekam at pobox.com> davekam at pobox.com
Sun Feb 16 20:21:56 PST 2003


--- In antlr-interest at yahoogroups.com, Terence Parr <parrt at j...>
wrote:
> Hi Dave,
> 
> First let me agree that the build situation is FUBAR.  Tough no
matter 
> what though with multiple languages.  Anyway, ok, the antlr.jar
file 
> that comes with the distribution should be all you need to get C++ 
> output.  You should then be able to include/compile/link/exec
without 
> rebuilding antlr itself.  I guess though the C++ libraries will
have to 
> be build, which probably why you jumped on the ol' makefile.
> 
> Oh, you need antlr.jar not antlrall.jar now...
> 
> Compiling C++ on various platforms has always been a hassle, but a 
> number of folks have it working per the antlr-interest list
digests...

Yes, I can get it working, but it could be a lot easier. A few
suggestions:

-- if the jar is now antlr.jar and not antlrall.jar, fix the
references in ./configure.in and scripts/Config.make.in. if antlr is
required to build itself, then it must be able to find itself. ;)

-- similarly, why then is antlrall.jar still built and installed? if
you look at my first message, it's several times larger than the built
antlr.jar. not sure what the difference between the two is.

-- it's pointless to include the generated *.java files in the
distribution as readonly, and then try to regenerate new files over
them. either they should be writable, or not regenerated during the
build.

-- on a similar note, it sounds like it's not necessary to recompile
the jar's just to get the C++ runtime working, but that's what the
current Makefile does. I haven't tried to make from the lib/cpp
directory yet.

-- make clean should in no case leave the directory in an unbuildable
state.

-- make install should install everything that's necessary. is the
antlr directory necessary? it certainly appears to be, but I'm not
sure. just antlr.jar and/or antlrall.jar appear not to be sufficient.

-- make uninstall should be available.

I'd rather be able to build and install the files in standard
directories and use the wrapper script, rather than changing CLASSPATH
manually to point to some place my home directory.

I also might suggest using the full gnu autotools build system
(automake, libtool) instead of just autoconf. This should provide the
proper make actions (build, install, clean, uninstall, etc.) and may
work properly on more systems. I would do this myself, but I don't
have the expertise. Any volunteers?

It may be tricky to get antlr to build well on various platforms with
the various language it uses, but I know it can be better than this!
It's frustrating to try to get started when it's in this state.

Dave


 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 



More information about the antlr-interest mailing list