bsd.java.mk 2.0

Herve Quiroz herve.quiroz at esil.univ-mrs.fr
Mon May 19 06:31:39 PDT 2003


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


More information about the freebsd-java mailing list