[antlr-interest] antlr binaries for linux

Ric Klaren ric.klaren at gmail.com
Mon Apr 4 11:46:13 PDT 2005


Shalini Sharma wrote:
> how can i create antlr binaries for solaris and linux

The out of the box native binaries got lost in the new configuration 
stuff. But is easy enough to do by hand. You need to compile all the 
.java files except the ones refering to swing (some in the antlr.debug 
package)

Multiple recipes have been posted in the past. I'll attach one probably 
slightly modified from the original.

Cheers,

Ric
-------------- next part --------------
# Use this file to compile the antlr tool in a static executable using the
# GNU gcj compiler.
# Author:	Luca Di Gaspero (luca.digaspero at diegm.uniud.it)
#		http://www.diegm.uniud.it/digaspero/
# Usage:	make -f makefile.gcj
GCJ = gcj
COMPOPTS =
SOURCES=antlr/ANTLRError.java \
antlr/ANTLRException.java \
antlr/ANTLRGrammarParseBehavior.java \
antlr/ANTLRHashString.java \
antlr/ANTLRLexer.java \
antlr/ANTLRParser.java \
antlr/ANTLRStringBuffer.java \
antlr/ANTLRTokdefLexer.java \
antlr/ANTLRTokdefParser.java \
antlr/ANTLRTokdefParserTokenTypes.java \
antlr/ANTLRTokenTypes.java \
antlr/ASTFactory.java \
antlr/ASTIterator.java \
antlr/ASTNULLType.java \
antlr/ASTPair.java \
antlr/ASTVisitor.java \
antlr/ActionElement.java \
antlr/ActionTransInfo.java \
antlr/Alternative.java \
antlr/AlternativeBlock.java \
antlr/AlternativeElement.java \
antlr/BaseAST.java \
antlr/BlockContext.java \
antlr/BlockEndElement.java \
antlr/BlockWithImpliedExitPath.java \
antlr/ByteBuffer.java \
antlr/CSharpBlockFinishingInfo.java \
antlr/CSharpCharFormatter.java \
antlr/CSharpCodeGenerator.java \
antlr/CSharpNameSpace.java \
antlr/CharBuffer.java \
antlr/CharFormatter.java \
antlr/CharLiteralElement.java \
antlr/CharQueue.java \
antlr/CharRangeElement.java \
antlr/CharScanner.java \
antlr/CharStreamException.java \
antlr/CharStreamIOException.java \
antlr/CodeGenerator.java \
antlr/CommonAST.java \
antlr/CommonToken.java \
antlr/CppBlockFinishingInfo.java \
antlr/CppCharFormatter.java \
antlr/CppCodeGenerator.java \
antlr/DefaultFileLineFormatter.java \
antlr/DefaultToolErrorHandler.java \
antlr/DefineGrammarSymbols.java \
antlr/DiagnosticCodeGenerator.java \
antlr/DocBookCodeGenerator.java \
antlr/DumpASTVisitor.java \
antlr/ExceptionHandler.java \
antlr/ExceptionSpec.java \
antlr/FileCopyException.java \
antlr/FileLineFormatter.java \
antlr/Grammar.java \
antlr/GrammarAnalyzer.java \
antlr/GrammarAtom.java \
antlr/GrammarElement.java \
antlr/GrammarSymbol.java \
antlr/HTMLCodeGenerator.java \
antlr/ImportVocabTokenManager.java \
antlr/InputBuffer.java \
antlr/JavaBlockFinishingInfo.java \
antlr/JavaCharFormatter.java \
antlr/JavaCodeGenerator.java \
antlr/LLkAnalyzer.java \
antlr/LLkGrammarAnalyzer.java \
antlr/LLkParser.java \
antlr/LexerGrammar.java \
antlr/LexerSharedInputState.java \
antlr/Lookahead.java \
antlr/MakeGrammar.java \
antlr/MismatchedCharException.java \
antlr/MismatchedTokenException.java \
antlr/NameSpace.java \
antlr/NoViableAltException.java \
antlr/NoViableAltForCharException.java \
antlr/OneOrMoreBlock.java \
antlr/Parser.java \
antlr/ParserGrammar.java \
antlr/ParserSharedInputState.java \
antlr/PreservingFileWriter.java \
antlr/RecognitionException.java \
antlr/RuleBlock.java \
antlr/RuleEndElement.java \
antlr/RuleRefElement.java \
antlr/RuleSymbol.java \
antlr/SemanticException.java \
antlr/SimpleTokenManager.java \
antlr/StringLiteralElement.java \
antlr/StringLiteralSymbol.java \
antlr/StringUtils.java \
antlr/SynPredBlock.java \
antlr/Token.java \
antlr/TokenBuffer.java \
antlr/TokenManager.java \
antlr/TokenQueue.java \
antlr/TokenRangeElement.java \
antlr/TokenRefElement.java \
antlr/TokenStream.java \
antlr/TokenStreamBasicFilter.java \
antlr/TokenStreamException.java \
antlr/TokenStreamIOException.java \
antlr/TokenStreamRecognitionException.java \
antlr/TokenStreamRetryException.java \
antlr/TokenStreamSelector.java \
antlr/TokenSymbol.java \
antlr/TokenWithIndex.java \
antlr/Tool.java \
antlr/ToolErrorHandler.java \
antlr/TreeBlockContext.java \
antlr/TreeElement.java \
antlr/TreeParser.java \
antlr/TreeParserSharedInputState.java \
antlr/TreeSpecifierNode.java \
antlr/TreeWalkerGrammar.java \
antlr/WildcardElement.java \
antlr/ZeroOrMoreBlock.java \
antlr/actions/cpp/ActionLexer.java \
antlr/actions/cpp/ActionLexerTokenTypes.java \
antlr/actions/csharp/ActionLexer.java \
antlr/actions/csharp/ActionLexerTokenTypes.java \
antlr/actions/java/ActionLexer.java \
antlr/actions/java/ActionLexerTokenTypes.java \
antlr/actions/python/ActionLexerTokenTypes.java \
antlr/actions/python/ActionLexer.java \
antlr/actions/python/CodeLexer.java \
antlr/actions/python/CodeLexerTokenTypes.java \
antlr/collections/AST.java \
antlr/collections/ASTEnumeration.java \
antlr/collections/Enumerator.java \
antlr/collections/List.java \
antlr/collections/Stack.java \
antlr/collections/impl/ASTArray.java \
antlr/collections/impl/ASTEnumerator.java \
antlr/collections/impl/BitSet.java \
antlr/collections/impl/IndexedVector.java \
antlr/collections/impl/IntRange.java \
antlr/collections/impl/LLCell.java \
antlr/collections/impl/LLEnumeration.java \
antlr/collections/impl/LList.java \
antlr/collections/impl/Vector.java \
antlr/collections/impl/VectorEnumeration.java \
antlr/collections/impl/VectorEnumerator.java \
antlr/preprocessor/Grammar.java \
antlr/preprocessor/GrammarFile.java \
antlr/preprocessor/Hierarchy.java \
antlr/preprocessor/Option.java \
antlr/preprocessor/PreprocessorLexer.java \
antlr/preprocessor/Preprocessor.java \
antlr/preprocessor/Rule.java \
antlr/preprocessor/Tool.java \
antlr/preprocessor/PreprocessorTokenTypes.java \
antlr/Version.java \
antlr/PythonBlockFinishingInfo.java \
antlr/PythonCharFormatter.java \
antlr/PythonCodeGenerator.java

OBJFILES = $(SOURCES:%.java=%.o)

all: cantlr

cantlr: $(OBJFILES)
	$(GCJ) --main=antlr.Tool $(OBJFILES) -o $@

%.o: %.java
	$(GCJ) $(COMPOPTS) -c -o $@ $<

%.d:%.java
	$(GCJ) -MM -MG $< > $@

clean:
	rm -f $(OBJFILES)

-include $(SOURCES:.java=.d)


More information about the antlr-interest mailing list