diff options
author | hq <hq@FreeBSD.org> | 2004-11-15 04:17:08 +0000 |
---|---|---|
committer | hq <hq@FreeBSD.org> | 2004-11-15 04:17:08 +0000 |
commit | d44782731647b9b6b933483a8c01f17d618171bb (patch) | |
tree | 038c373dbb966e36a2a03be7d066c93c6bee74e4 /devel/antlr/Makefile | |
parent | 8094cabce4cd401c87b18e4feb6b08ed20f7d492 (diff) | |
download | FreeBSD-ports-d44782731647b9b6b933483a8c01f17d618171bb.zip FreeBSD-ports-d44782731647b9b6b933483a8c01f17d618171bb.tar.gz |
- Update to 2.7.4
- Update to bsd.java.mk 2.0
- Use HAS_CONFIGURE and CONFIGURE_ENV
- Cleanup unnecessary *_DEPENDS
- Honor hier(7): install examples in ${EXAMPLESDIR}
- Honor Porter's handbook: install JAR in ${JAVAJARDIR}
- Cleanup unnecessary port variables
- No longer use DIST_SUBDIR
- Use javavmwrapper in shell script (rather than hardcoding the use of a
particular JVM)
- New option WITH_BUILD_JAVA_LIB which force the build of the Java lib
- Switch maintainer to ports@
PR: 73509
Submitted by: me
Approved by: maintainer
Diffstat (limited to 'devel/antlr/Makefile')
-rw-r--r-- | devel/antlr/Makefile | 90 |
1 files changed, 59 insertions, 31 deletions
diff --git a/devel/antlr/Makefile b/devel/antlr/Makefile index e14fb37..bf3805e 100644 --- a/devel/antlr/Makefile +++ b/devel/antlr/Makefile @@ -6,54 +6,82 @@ # PORTNAME= antlr -PORTVERSION= 2.7.2 -PORTREVISION= 1 +PORTVERSION= 2.7.4 CATEGORIES= devel java MASTER_SITES= http://www.antlr.org/download/ -DISTNAME= ${PORTNAME}-${PORTVERSION} -DIST_SUBDIR= ${PORTNAME} -EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} -MAINTAINER= mainland@apeiron.net -COMMENT= ANTLR: ANother Tool for Language Recognition +MAINTAINER= ports@FreeBSD.org +COMMENT= ANother Tool for Language Recognition + +RUN_DEPENDS= java:${PORTSDIR}/java/javavmwrapper CONFLICTS= pccts* USE_GMAKE= yes -USE_JAVA= 1.2+ -NEED_JAVAC= YES +USE_JAVA= yes +JAVA_VERSION= 1.2+ -ALL_TARGET= ${PORTNAME} +HAS_CONFIGURE= yes +CONFIGURE_ENV= JAVAC="${JAVAC}" JAR="${JAR}" JAVA="${JAVA}" CLASSPATH="${PORT_CLASSPATH}" -.include <bsd.port.pre.mk> +PORT_CLASSPATH= ${WRKSRC}/antlrall.jar:. + +EXAMPLES= cpp java +.if !defined(NOPORTDOCS) +PORTDOCS= ANTLRException.gif closure.gif cpp-runtime.html \ + csharp-runtime.html err.html glossary.html hidden.stream.gif \ + index.html inheritance.html j-guru-blue.jpg jguru-logo.gif \ + lexer.html lexer.to.parser.tokens.gif logo.gif metalang.html \ + optional.gif options.html posclosure.gif runtime.html sor.html \ + stream.perspectives.gif stream.selector.gif \ + stream.splitter.gif streams.html subrule.gif trees.html \ + vocab.html +.endif +PLIST_FILES= bin/antlr %%JAVAJARDIR%%/antlr.jar -BUILD_DEPENDS= ${JAVAC}:${PORTSDIR}/${JAVA_PORT} \ - ${JAVA}:${PORTSDIR}/${JAVA_PORT} -RUN_DEPENDS= ${JAVA}:${PORTSDIR}/${JAVA_PORT} +.include <bsd.port.pre.mk> post-extract: (cd ${WRKSRC} && ${CP} antlr.jar antlrall.jar) + ${CHMOD} -R +w ${WRKSRC} post-configure: - (cd ${WRKSRC} && \ - JAVAC=${JAVAC} JAR=${JAR} JAVA=${JAVA} \ - ./configure --prefix=${PREFIX}) - -do-build: - (cd ${WRKSRC} && PATH="${PATH}:${JAVA_HOME}/bin" ${JAVA} -classpath "." antlr.build.Tool build) - (cd ${WRKSRC} && PATH="${PATH}:${JAVA_HOME}/bin" ${JAVA} -classpath "." antlr.build.Tool jar) - (cd ${WRKSRC} && ${GMAKE}) - @${RM} -f ${WRKDIR}/antlr.sh - @${SED} "s|%%JAVA_CLASSES%%|${PREFIX}/java/classes|" ${FILESDIR}/antlr.sh \ - | ${SED} "s|%%JAVA%%|${JAVA}|" >${WRKDIR}/antlr.sh + @${SED} "s|%%JAVAJARDIR%%|${JAVAJARDIR}| ; s|%%LOCALBASE%%|${LOCALBASE}|" ${FILESDIR}/antlr.sh >${WRKDIR}/antlr.sh + +.if defined(WITH_BUILT_JAVA_LIB) +pre-build: + (cd ${WRKSRC} && ${JAVA} -classpath "${PORT_CLASSPATH}" antlr.build.Tool build) + (cd ${WRKSRC} && ${JAVA} -classpath "${PORT_CLASSPATH}" antlr.build.Tool jar) +.endif do-install: - @${MKDIR} ${PREFIX}/bin - @${MKDIR} ${PREFIX}/share/antlr - @${MKDIR} ${PREFIX}/java/classes + @${ECHO_MSG} -n ">> Installing JAR as ${JAVAJARDIR}/${PORTNAME}.jar..." + @${MKDIR} ${JAVAJARDIR} + @${INSTALL_DATA} ${WRKSRC}/antlr.jar ${JAVAJARDIR}/ + @${ECHO_MSG} " [ DONE ]" + @${ECHO_MSG} -n ">> Installing antlr script as ${PREFIX}/bin/${PORTNAME}..." @${INSTALL_SCRIPT} ${WRKDIR}/antlr.sh ${PREFIX}/bin/antlr - @${INSTALL_SCRIPT} ${WRKSRC}/antlr.jar ${PREFIX}/java/classes - (cd ${WRKSRC}/lib/cpp && ${GMAKE} install) - (cd ${WRKSRC} && (${TAR} cf - doc examples/cpp examples/java | ${TAR} xf - -C ${PREFIX}/share/antlr)) + @${ECHO_MSG} " [ DONE ]" + @${ECHO_MSG} ">> Installing native files..." + @(cd ${WRKSRC}/lib/cpp && ${GMAKE} install) + @${ECHO_MSG} " [ DONE ]" +.if !defined(NOPORTDOCS) + @${ECHO_MSG} -n ">> Installing documentation in ${DOCSDIR}..." + @${MKDIR} ${DOCSDIR} + @cd ${WRKSRC}/doc && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}/ + @${ECHO_MSG} " [ DONE ]" +.endif + @${ECHO_MSG} -n ">> Installing examples in ${EXAMPLESDIR}..." + @${MKDIR} ${EXAMPLESDIR} + @cd ${WRKSRC}/examples && ${FIND} ${EXAMPLES} \ + | ${CPIO} -pdmu -R ${SHAREOWN}:${SHAREGRP} ${EXAMPLESDIR} > /dev/null 2>&1 + @${ECHO_MSG} " [ DONE ]" + +post-install: + @${FIND} -s ${EXAMPLES:S,^,${WRKSRC}/examples/,} -not -type d | \ + ${SED} -ne 's,^${WRKSRC}/examples,${EXAMPLESDIR:S,${PREFIX}/,,},p' >> ${TMPPLIST} + @${FIND} -s -d ${EXAMPLES:S,^,${WRKSRC}/examples/,} -type d | \ + ${SED} -ne 's,^${WRKSRC}/examples,@dirrm ${EXAMPLESDIR:S,${PREFIX}/,,},p' >> ${TMPPLIST} + @${ECHO} "@dirrm ${EXAMPLESDIR:S,${PREFIX}/,,}" >> ${TMPPLIST} .include <bsd.port.post.mk> |