From owner-freebsd-java@FreeBSD.ORG Mon May 19 06:31:39 2003 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 754C937B401 for ; Mon, 19 May 2003 06:31:39 -0700 (PDT) Received: from puget.esil.univ-mrs.fr (puget.esil.univ-mrs.fr [139.124.41.103]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2192443F93 for ; Mon, 19 May 2003 06:31:38 -0700 (PDT) (envelope-from herve.quiroz@esil.univ-mrs.fr) Received: from puget.esil.univ-mrs.fr (localhost.esil.univ-mrs.fr [127.0.0.1]) h4JDXCnx073685 for ; Mon, 19 May 2003 15:33:13 +0200 (CEST) (envelope-from herve.quiroz@esil.univ-mrs.fr) Received: from localhost (rv@localhost)h4JDXBVq073682 for ; Mon, 19 May 2003 15:33:12 +0200 (CEST) X-Authentication-Warning: puget.esil.univ-mrs.fr: rv owned process doing -bs Date: Mon, 19 May 2003 15:33:11 +0200 (CEST) From: Herve Quiroz X-X-Sender: rv@puget.esil.univ-mrs.fr To: freebsd-java@FreeBSD.ORG In-Reply-To: <20030515212719.GA18091@misty.eyesbeyond.com> Message-ID: <20030519151246.I68227@puget.esil.univ-mrs.fr> References: <20030514.125107.74756915.haro@kgt.co.jp> <200305150858.53470.ernst.dehaan@nl.wanadoo.com> <20030515212719.GA18091@misty.eyesbeyond.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: bsd.java.mk 2.0 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 May 2003 13:31:39 -0000 Hi, Here are my ideas for the next major version of bsd.java.mk... First there are two variable called NO_BUILD_DEPENDS and NO_RUN_DEPENDS. I propose we only use one: USE_JAVA= [run | build | both] USE_JAVA was previously used to specify the JDK version number the port depends on. But as it has been said, it does not allow enough flexibility nor it does not allow to specify a particular JDK to use. So what about having three other variables ? USE_JAVA_VENDOR= [sun | ibm | blackdown]... USE_JAVA_VERSION= [1.1[+] | 1.2[+] | 1.3[+] | 1.4[+]] USE_JAVA_OS= [linux | native] Each of which may be empty or undefined if the choice is not important. USE_JAVA_VENDOR may contain a list of vendors. Then if the porter wants a specific JDK, he may use the following: USE_JAVA_PORT Where he specifies the directory of the JDK to use (e.g. java/jdk13) [Optional: USE_JAVA_PORT could also contain several ports...] Internally, the bsd.java.mk file manages the dependencies by taking user preferences into account: USE_JAVA_PORT contains a list of JDK ports to use ordered by preference. USE_JAVA_1_{1|2|3|4}_PORTS contains a list of JDK ports to use when a particular version is required, again ordered by preference. Then bsd.java.mk build a list of the JDK specified by the port. Amongst these ports, it chooses preferably one that is part of the user choices. And amongst these resulting ports, it chooses preferably a port that is already installed. IMHO it should lessen considerably the complexity and maintenance of bsd.java.mk as the maintainer needs only to have a generic Makefile and store JDK ports with variables. What are your opinions ? Regards, Herve