1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-20 00:21:35 +00:00

- Fix missing build dependency on devel/jikes (Jikes is effectively used for

building the port but not added to BUILD_DEPENDS)
- Use ${VAR:U} to test YES/NO values a more simple way
- Refactor: Jikes now has its own sub-stages (error-handling and support)
  together in Stage 6
- New variable to be used by porters (and used internally by bsd.java.mk),
  HAVE_JIKES

Approved by:	glewis (mentor)
This commit is contained in:
Herve Quiroz 2004-09-02 13:18:59 +00:00
parent b85bad1c5c
commit 1a2867dbbf
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=117936

View File

@ -40,6 +40,7 @@ Java_Include_MAINTAINER= glewis@FreeBSD.org
# regarding run dependencies.
#
# USE_JIKES Whether the port should or should not use jikes(1) to build.
# See Stage 6 header for further detail.
#
# USE_ANT Should be defined when the port uses Apache Ant. Ant is thus
# considered to be the sub-make command. When no 'do-build'
@ -114,6 +115,9 @@ Java_Include_MAINTAINER= glewis@FreeBSD.org
# JAVALIBDIR The directory where JAR files installed by other ports
# are located.
#
# HAVE_JIKES Defined and set to "yes" whenever the port will effectively
# use Jikes. See stage 6 header for further detail.
#
#-------------------------------------------------------------------------------
# Porter's hints
#
@ -267,9 +271,9 @@ JAVA_RUN= jdk
. endif
# NEED_JAVAC --> JAVA_{BUILD|RUN}={jdk|jre}
. if defined(NEED_JAVAC)
. if (${NEED_JAVAC} == "YES") || (${NEED_JAVAC} == "yes")
. if (${NEED_JAVAC:U} == "YES")
JAVA_BUILD= jdk
. elif (${NEED_JAVAC} == "NO") || (${NEED_JAVAC} == "no")
. elif (${NEED_JAVAC:U} == "NO")
JAVA_BUILD= jre
. else
check-makevars::
@ -396,6 +400,34 @@ JAVA_PORT_OS_DESCRIPTION:= ${JAVA_PORT_OS:S/^/\${_JAVA_OS_/:S/$/}/}
# Stage 6: Add any dependencies if necessary
#
# Jikes support: If USE_JIKES is set to YES, then use Jikes. If USE_JIKES is
# set to NO, then don't use it. If it is set to a different value, then fail
# with an error message. Otherwise USE_JIKES is not set, in which case it is
# checked if Jikes is already installed. If it is, then it will be used,
# otherwise it will not be used.
#
# As a result, HAVE_JIKES is defined and set to "yes" when Jikes is used by the
# port according to the above policy.
. undef HAVE_JIKES
# First test if USE_JIKES has a valid value
. if defined(USE_JIKES) && !(${USE_JIKES:U} == "YES") && !(${USE_JIKES:U} == "NO")
check-makevars::
@${ECHO_CMD} "${PKGNAME}: Makefile error: \"${USE_JIKES}\" is not a valid value for USE_JIKES. It should be YES or NO, or it should be undefined.";
@${FALSE}
. endif
# Then test if jikes is needed or available: -> HAVE_JIKES=yes
. if (exists(${_JIKES_PATH}) && (!defined(USE_JIKES) || (${USE_JIKES:U} == "YES"))) \
|| (defined(USE_JIKES) && (${USE_JIKES:U} == "YES"))
HAVE_JIKES= yes
. endif
# Add jikes port to the dependencies if needed
. if !defined(NO_BUILD) && defined(HAVE_JIKES)
BUILD_DEPENDS+= ${DEPEND_JIKES}
. endif
# Ant Support: USE_ANT --> JAVA_BUILD=jdk
. if defined(USE_ANT)
JAVA_BUILD= jdk
@ -444,33 +476,18 @@ do-build:
#
# At this stage both JAVA_HOME and JAVA_PORT are definitely given a value.
#
# Define the location of the Java compiler. If USE_JIKES is set to YES, then
# use Jikes. If USE_JIKES is set to NO, then don't use it. If it is set to a
# different value, then fail with an error message. Otherwise USE_JIKES is not
# set, in which case it is checked if Jikes is already installed. If it is,
# then it will be used, otherwise it will not be used.
# Define the location of the Java compiler. If HAVE_JIKES is defined, then
# use Jikes.
# Only define JAVAC if a JDK is needed or USE_JIKES=yes
. undef JAVAC
# First test if jikes is needed (and if USE_JIKES has a correct value)
. if defined(USE_JIKES)
. if (${USE_JIKES} == "YES") || (${USE_JIKES} == "yes")
JAVAC?= ${_JIKES_PATH} -bootclasspath ${JAVA_CLASSES}
BUILD_DEPENDS+= ${DEPEND_JIKES}
. elif !((${USE_JIKES} == "NO") || (${USE_JIKES} == "no"))
check-makevars::
@${ECHO_CMD} "${PKGNAME}: Makefile error: \"${USE_JIKES}\" is not a valid value for USE_JIKES. It should be YES or NO, or it should be undefined.";
@${FALSE}
. endif
. endif
# Then test if a JAVAC has to be set (JAVA_BUILD==jdk)
. if defined(JAVA_BUILD)
. if (${JAVA_BUILD} == "jdk" || ${JAVA_BUILD} == "JDK") && !defined(JAVAC)
# Use jikes if available and not explicitly forbidden
. if exists(${_JIKES_PATH}) && !defined(USE_JIKES)
. if (${JAVA_BUILD:U} == "JDK") && !defined(JAVAC)
# Use jikes if available and not explicitly forbidden (see Stage 6)
. if defined(HAVE_JIKES)
JAVAC?= ${_JIKES_PATH} -bootclasspath ${JAVA_CLASSES}
BUILD_DEPENDS+= ${DEPEND_JIKES}
# Otherwise use 'javac'
. else
JAVAC?= ${JAVA_HOME}/bin/javac