From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6308 invoked by alias); 14 Jul 2003 16:19:53 -0000 Mailing-List: contact rhug-rhats-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: rhug-rhats-owner@sources.redhat.com Received: (qmail 6300 invoked from network); 14 Jul 2003 16:19:53 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 14 Jul 2003 16:19:53 -0000 Received: from int-mx2.corp.redhat.com (nat-pool-rdu-dmz.redhat.com [172.16.52.200] (may be forged)) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h6EGJqH14135 for ; Mon, 14 Jul 2003 12:19:52 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h6EGJpS29430; Mon, 14 Jul 2003 12:19:51 -0400 Received: from [192.168.64.11] (vpn50-8.rdu.redhat.com [172.16.50.8]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id h6EGJnK03959; Mon, 14 Jul 2003 09:19:49 -0700 Subject: Re: GCJ From: Anthony Green To: paul taney Cc: antlr-interest@yahoogroups.com, rhug-rhats@sources.redhat.com In-Reply-To: <20030712171415.47625.qmail@web80602.mail.yahoo.com> References: <20030712171415.47625.qmail@web80602.mail.yahoo.com> Content-Type: text/plain Organization: Red Hat, Inc. Message-Id: <1058199588.3331.104.camel@escape> Mime-Version: 1.0 Date: Mon, 14 Jul 2003 16:19:00 -0000 Content-Transfer-Encoding: 7bit X-SW-Source: 2003-07/txt/msg00007.txt.bz2 On Sat, 2003-07-12 at 10:14, paul taney wrote: > Ric wrote: > ...If I make a redhat 9 rpm I hope it can use > the > redhat installed gcj.so, probably it's also possible > to compile it > staticaly (or only do gcj.so statically). And what's > 2.6 Mb nowadays ;) > Advantage of using gcj is that it comes default > nowadays with most linux distributions FWIW, I used antlr on regular basis with gcj (and gij). If I could change one thing about antlr, I would try to make a cleaner separation between the build- and run-time classes. Right now they are all in one package. Moving the runtime classes into a different package, say antlr.runtime, would make life easier for gcj users. Once done, we could build and use lib-antlr-runtime.so. There's no obvious way to build nice shared libraries without this separation. You either put everything into one .so, or you do some thing weird. BTW - I was looking at how ant uses antlr. It looks like it spawns a new java process. Why does it do this instead of just loading the classes and running in-process? > green@redhat.com is an antlr user, and he might > upload an RH9 executable or help you make an rpm. > I'll cross-post. Well, to be clear, these days I just run antlr with "gij" instead of "java", and then I link native versions of the runtime classes into my app. Here's the list... ANTLR_SOURCES = \ antlr-2.7.2/antlr/ANTLRException.java \ antlr-2.7.2/antlr/ANTLRHashString.java \ antlr-2.7.2/antlr/ANTLRStringBuffer.java \ antlr-2.7.2/antlr/ASTFactory.java \ antlr-2.7.2/antlr/ASTNULLType.java \ antlr-2.7.2/antlr/ASTPair.java \ antlr-2.7.2/antlr/BaseAST.java \ antlr-2.7.2/antlr/ByteBuffer.java \ antlr-2.7.2/antlr/CharBuffer.java \ antlr-2.7.2/antlr/CharFormatter.java \ antlr-2.7.2/antlr/CharQueue.java \ antlr-2.7.2/antlr/CharScanner.java \ antlr-2.7.2/antlr/CharStreamException.java \ antlr-2.7.2/antlr/CharStreamIOException.java \ antlr-2.7.2/antlr/CommonAST.java \ antlr-2.7.2/antlr/CommonToken.java \ antlr-2.7.2/antlr/DefaultFileLineFormatter.java \ antlr-2.7.2/antlr/FileLineFormatter.java \ antlr-2.7.2/antlr/InputBuffer.java \ antlr-2.7.2/antlr/LLkParser.java \ antlr-2.7.2/antlr/LexerSharedInputState.java \ antlr-2.7.2/antlr/MismatchedCharException.java \ antlr-2.7.2/antlr/MismatchedTokenException.java \ antlr-2.7.2/antlr/NoViableAltException.java \ antlr-2.7.2/antlr/NoViableAltForCharException.java \ antlr-2.7.2/antlr/Parser.java \ antlr-2.7.2/antlr/ParserSharedInputState.java \ antlr-2.7.2/antlr/RecognitionException.java \ antlr-2.7.2/antlr/SemanticException.java \ antlr-2.7.2/antlr/StringUtils.java \ antlr-2.7.2/antlr/Token.java \ antlr-2.7.2/antlr/TokenBuffer.java \ antlr-2.7.2/antlr/TokenQueue.java \ antlr-2.7.2/antlr/TokenStream.java \ antlr-2.7.2/antlr/TokenStreamException.java \ antlr-2.7.2/antlr/TokenStreamIOException.java \ antlr-2.7.2/antlr/TokenStreamRecognitionException.java \ antlr-2.7.2/antlr/TreeParser.java \ antlr-2.7.2/antlr/TreeParserSharedInputState.java \ antlr-2.7.2/antlr/collections/AST.java \ antlr-2.7.2/antlr/collections/ASTEnumeration.java \ antlr-2.7.2/antlr/collections/impl/ASTArray.java \ antlr-2.7.2/antlr/collections/impl/ASTEnumerator.java \ antlr-2.7.2/antlr/collections/impl/BitSet.java \ antlr-2.7.2/antlr/collections/impl/IntRange.java \ antlr-2.7.2/antlr/collections/impl/Vector.java \ antlr-2.7.2/antlr/collections/impl/VectorEnumerator.java AG -- Anthony Green Red Hat, Inc.