From 1f25a1209d46c76c7802e49a254e5b5e6a1836cb Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Fri, 14 Sep 2012 21:56:20 +0000 Subject: Add an option to build with Eclipse Java Compiler. It also adds com.sun.tools.javac implementation in tools.zip. Turned off by default. --- java/classpath/Makefile | 24 +++++++++++++++++++++++- java/classpath/distinfo | 2 ++ java/classpath/files/ecj.sh.in | 2 ++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 java/classpath/files/ecj.sh.in (limited to 'java/classpath') diff --git a/java/classpath/Makefile b/java/classpath/Makefile index 8b6b559d6fdc..2c71d805b006 100644 --- a/java/classpath/Makefile +++ b/java/classpath/Makefile @@ -12,6 +12,7 @@ CATEGORIES= java devel MASTER_SITES= ${MASTER_SITE_GNU} \ ${MASTER_SITE_SAVANNAH} MASTER_SITE_SUBDIR= ${PORTNAME} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= java@FreeBSD.org COMMENT= A GNU project to create a free Java class library @@ -55,14 +56,27 @@ INFO= cp-hacking cp-tools cp-vmintegration CONFLICTS= sablevm-classpath-* -OPTIONS_DEFINE= CAIRO GCONF GTK2 QT4 +OPTIONS_DEFINE= CAIRO ECJ GCONF GTK2 QT4 OPTIONS_DEFAULT=GTK2 CAIRO_DESC= Use Gtk+ Cairo based Graphics2D +ECJ_DESC= Build with Eclipse Java Compiler GTK2_DESC= Enable Gtk+ AWT peer QT4_DESC= Enable Qt AWT peer .include +.if ${PORT_OPTIONS:MECJ} +ECJ_VERSION= 4.2 +ECJ_DROPDATE= 201206081400 +ECJ_JAR= ecj-${ECJ_VERSION}.jar +ECJ_SUBDIR= R-${ECJ_VERSION}-${ECJ_DROPDATE} +MASTER_SITES+= http://download.eclipse.org/eclipse/downloads/drops4/${ECJ_SUBDIR}/:ecj +DISTFILES+= ${ECJ_JAR}:ecj +CONFIGURE_ARGS+= --with-ecj-jar="${DISTDIR}/${ECJ_JAR}" +CONFIGURE_ENV+= PATH="${WRKDIR}:${PATH}" +MAKE_ENV+= PATH="${WRKDIR}:${PATH}" +.endif + .if ${PORT_OPTIONS:MGCONF} USE_GNOME+= gconf2 CONFIGURE_ARGS+= --enable-default-preferences-peer=gconf @@ -104,4 +118,12 @@ EXAMPLESDIR= ${DATADIR}/examples CONFIGURE_ARGS+= --disable-examples .endif +.if ${PORT_OPTIONS:MECJ} +post-patch: + @${SED} -e 's|%%ECJ_JAR%%|${DISTDIR}/${ECJ_JAR}|' \ + -e 's|%%JAVA_CMD%%|${JAVA_HOME}/bin/java|' < \ + ${FILESDIR}/ecj.sh.in > ${WRKDIR}/ecj + @${CHMOD} 755 ${WRKDIR}/ecj +.endif + .include diff --git a/java/classpath/distinfo b/java/classpath/distinfo index d96ba42ded10..504dea3a7f50 100644 --- a/java/classpath/distinfo +++ b/java/classpath/distinfo @@ -1,2 +1,4 @@ SHA256 (classpath-0.99.tar.gz) = f929297f8ae9b613a1a167e231566861893260651d913ad9b6c11933895fecc8 SIZE (classpath-0.99.tar.gz) = 11078232 +SHA256 (ecj-4.2.jar) = 9694970ac1f8a4a2774b7f64f6be535dc46e25dbecb71d36007b8af2bdce1001 +SIZE (ecj-4.2.jar) = 1796149 diff --git a/java/classpath/files/ecj.sh.in b/java/classpath/files/ecj.sh.in new file mode 100644 index 000000000000..572a09693f25 --- /dev/null +++ b/java/classpath/files/ecj.sh.in @@ -0,0 +1,2 @@ +#!/bin/sh +"%%JAVA_CMD%%" -classpath "%%ECJ_JAR%%" org.eclipse.jdt.internal.compiler.batch.Main "${@:--help}" -- cgit v1.2.3