From owner-freebsd-java Thu Nov 15 23:27:43 2001 Delivered-To: freebsd-java@freebsd.org Received: from smtp.bmi.net (smtp.bmi.net [204.57.191.31]) by hub.freebsd.org (Postfix) with ESMTP id 507CB37B416; Thu, 15 Nov 2001 23:27:37 -0800 (PST) Received: from johncoop.MSHOME (drumheller-router.bmi.net [206.63.201.3] (may be forged)) by smtp.bmi.net (Pro-8.9.3/Pro-8.9.3) with ESMTP id HAA07040; Fri, 16 Nov 2001 07:35:22 -0800 Date: Thu, 15 Nov 2001 13:02:02 -0800 From: John Merryweather Cooper To: freebsd-java@freebsd.org Cc: freebsd-ports@freebsd.org Subject: A Modest Proposal for Java(tm) dependency selection among ports Message-ID: <20011115130202.E33074@johncoop.MSHOME> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Balsa 1.2.3 Lines: 61 Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I have a problem and a proposed solution regarding Java(tm) ports. First, the problem: reflecting the range of JDK/JRE's that a given port will operate under while trying not to force the end user to install all three of the native JDK's (if not necessary). For example: NetRexx 2.02 (still waiting for a committer to take it under his/her wing) will run under either 1.1.8, 1.2.2, or 1.3.1, PROVIDED that the CLASSPATH or NETREXX_JAVA environment variables are properly setup for desired JDK. On the other hand, JGNAT-1.1p, while it theoretically works with JDK 1.1.8, in practice is very unhappy unless a Java2 JDK (1.2.2 or 1.3.1) is setup. Again, the CLASSPATH must be properly setup for the particular JDK. I'm sure other examples will come to mind. :) Now the proposed solution: bsd.port.mk (probably through a bsd.java.mk) would provide the following knobs: USE_JAVA=[yes|no] knob will succeed on any of JDK's 1.3.1, 1.2.2, or 1.1.8 IN THAT ORDER (latest version first) USE_JAVA2=[yes|no] knob will succeed on either JDK 1.3.1 or 1.2.2 IN THAT ORDER USE_JAVA11=[yes|no] knob will succeed on ONLY JDK 1.1.8 WANT_LINUX_JAVA=[yes|no] same as above except Linux version Java's are used and USE_JAVA11 will abort build. WANT_JRE_ONLY=[yes|no] same as above except a JRE will be used instead of a JDK, if available JAVA_VER reports Java(tm) detected or built by USE_JAVA* Ports that are not picky will use whatever JDK is installed, and ports that are will install a JDK/JRE as appropriate. Doubtless, there are some other ways to do this--and I'm no Makefile maven--but I think something along these lines needs to be done to reduce the chaos level in the java portion of the ports tree. YMMV. -- jmc || MacroHard -- \ || the perfection of form over | ----------------------------------|| substance, marketing over | Web: http://www.borgsdemons.com || performance, and greed over | || design . . . | =======================================================================/ Public Key: http://www.borgsdemons.com/Personal/pgpkey.asc | =======================================================================\ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message