bsd.java.mk 2.0

Herve Quiroz herve.quiroz at esil.univ-mrs.fr
Wed May 21 06:03:08 PDT 2003


Greg,

On Tue, 20 May 2003, Greg Lewis wrote:

> > First there are two variable called NO_BUILD_DEPENDS and NO_RUN_DEPENDS. I
> > propose we only use one: USE_JAVA= [run | build | both]
>
> I'm not sure we need "both" since if you need a JDK to build a port then
> presumably that port contains some Java code that needs to run.  As an
> alternative suggestion I would propose:
>
> USE_JAVA = [ jre | jdk ]
>
> Where "jre" indicates that we just need a RUN_DEPENDS which can be satisfied
> by a JRE (or JDK).  The "jdk" value would indicate a BUILD_DEPENDS on a
> JDK with a RUN_DEPENDS on a JRE (or JDK).
>
> This may need extending to cope with ports that need a JDK at run time
> (any examples?).

devel/jakarta-ant ?

> We're obviously breaking backward compatibility here, but I think thats
> pretty much unavoidable to get the features we want.

I agree... What is the policy regarding such major changes in ports ? I
mean it will make a lot of ports deprecated and broken. So we should
provide bsd.java.mk 2.0 together with all Java ports patches IMHO.

> USE_JAVA_VERSION = 1.1 - 1.3
>
> which is something I'd like the next version to be able to cope with.
>
> There also doesn't seem to be a way to prefer one version over the other,
> which is another thing I'd like to see.  For example, a port may build
> and work with 1.2, but may provide more functionality if built and run
> with 1.3.  In that case, how do I specify 1.2+ but with a preference for
> using 1.3 if its available?
>
> > Each of which may be empty or undefined if the choice is not important.
> > USE_JAVA_VENDOR may contain a list of vendors.
>
> Space separated?  Are they in order of preference?  If so maybe we can
> do the same with USE_JAVA_VERSION and USE_JAVA_OS to satisfy my
>
> preference example above, e.g.
>
> USE_JAVA_VERSION = 1.3 1.2

I think we've got something here: use space separated preferences (in the
right order) for all JDK/JRE properties. So no more "+" (e.g. "1.3+") but
instead an explicit list of versions...

> I would also suggest that USE_JAVA_{VENDOR,VERSION,OS,PORT} become simply
> JAVA_{VENDOR,VERSION,OS,PORT} as that is more in line with the other
> language makefiles (e.g. bsd.python.mk).

You're right.

Looks like we're progressing with bsd.java.mk... Any feedback from other
Java porters ?

Regards,

Herve


More information about the freebsd-java mailing list