Index: mk/java-vm.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/java-vm.mk,v
retrieving revision 1.107
diff -p -u -r1.107 java-vm.mk
--- mk/java-vm.mk	13 Jul 2016 14:16:17 -0000	1.107
+++ mk/java-vm.mk	12 Dec 2016 15:37:20 -0000
@@ -139,6 +139,8 @@ _ONLY_FOR_PLATFORMS.sun-jdk6= \
 	SunOS-5.11-x86_64
 _ONLY_FOR_PLATFORMS.openjdk7= \
 	DragonFly-*-* \
+	Linux-*-i[3-6]86 \
+	Linux-*-x86_64 \
 	NetBSD-[5-9]*-i386 \
 	NetBSD-[5-9]*-x86_64 \
 	NetBSD-[7-9]*-sparc64 \
@@ -147,6 +149,8 @@ _ONLY_FOR_PLATFORMS.openjdk7= \
 	SunOS-*-x86_64
 _ONLY_FOR_PLATFORMS.openjdk8= \
 	DragonFly-*-* \
+	Linux-*-i[3-6]86 \
+	Linux-*-x86_64 \
 	NetBSD-[5-9]*-i386 \
 	NetBSD-[5-9]*-x86_64 \
 	NetBSD-[7-9]*-sparc64 \
Index: lang/openjdk7/builtin.mk
===================================================================
RCS file: lang/openjdk7/builtin.mk
diff -N lang/openjdk7/builtin.mk
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lang/openjdk7/builtin.mk	12 Dec 2016 15:37:20 -0000
@@ -0,0 +1,73 @@
+BUILTIN_PKG:=	openjdk7
+
+BUILTIN_FIND_FILES_VAR:=	OJDK7
+BUILTIN_FIND_FILES.OJDK7=	\
+	/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/bin/javac
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.openjdk7)
+.  if empty(OJDK7:M__nonexistent__)
+IS_BUILTIN.openjdk7=	yes
+.  else
+IS_BUILTIN.openjdk7=	no
+.  endif
+.endif
+MAKEVARS+=	IS_BUILTIN.openjdk7
+
+###
+### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to
+### a package name to represent the built-in package.
+###
+.if !defined(BUILTIN_PKG.openjdk7) && \
+    !empty(IS_BUILTIN.openjdk7:M[yY][eE][sS])
+BUILTIN_VERSION.openjdk7=	1.7.79
+BUILTIN_PKG.openjdk7=	openjdk7-$(BUILTIN_VERSION.openjdk7) # 1.7.0_79
+.endif
+MAKEVARS+=	BUILTIN_PKG.openjdk7
+
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
+.if !defined(USE_BUILTIN.openjdk7)
+.  if ${PREFER.openjdk7} == "pkgsrc"
+USE_BUILTIN.openjdk7=	no
+.  else
+USE_BUILTIN.openjdk7=	${IS_BUILTIN.openjdk7}
+.    if defined(BUILTIN_PKG.openjdk7) && \
+	!empty(IS_BUILTIN.openjdk7:M[yY][eE][sS])
+USE_BUILTIN.openjdk7=	yes
+.      for _dep_ in ${BUILDLINK_API_DEPENDS.openjdk7}
+.        if !empty(USE_BUILTIN.openjdk7:M[yY][eE][sS])
+USE_BUILTIN.openjdk7!=							\
+	if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.openjdk7:Q}; then	\
+		${ECHO} "yes";						\
+	else								\
+		${ECHO} "no";						\
+	fi
+.        endif
+.      endfor
+.    endif
+.  endif
+.endif
+MAKEVARS+=	USE_BUILTIN.openjdk7
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.openjdk7?=	no
+.if !empty(CHECK_BUILTIN.openjdk7:M[nN][oO])
+#
+# Here we place code that depends on whether USE_BUILTIN.openjdk7 is
+# set to "yes" or "no".
+#
+.  if !empty(USE_BUILTIN.openjdk7:M[yY][eE][sS])
+PKG_JAVA_HOME=	/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0
+.  endif
+.endif  # CHECK_BUILTIN.openjdk7
Index: lang/openjdk8/builtin.mk
===================================================================
RCS file: lang/openjdk8/builtin.mk
diff -N lang/openjdk8/builtin.mk
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lang/openjdk8/builtin.mk	12 Dec 2016 15:37:20 -0000
@@ -0,0 +1,73 @@
+BUILTIN_PKG:=	openjdk8
+
+BUILTIN_FIND_FILES_VAR:=	OJDK8
+BUILTIN_FIND_FILES.OJDK8=	\
+	/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/bin/javac
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.openjdk8)
+.  if empty(OJDK8:M__nonexistent__)
+IS_BUILTIN.openjdk8=	yes
+.  else
+IS_BUILTIN.openjdk8=	no
+.  endif
+.endif
+MAKEVARS+=	IS_BUILTIN.openjdk8
+
+###
+### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to
+### a package name to represent the built-in package.
+###
+.if !defined(BUILTIN_PKG.openjdk8) && \
+    !empty(IS_BUILTIN.openjdk8:M[yY][eE][sS])
+BUILTIN_VERSION.openjdk8=	1.8.0
+BUILTIN_PKG.openjdk8=	openjdk8-$(BUILTIN_VERSION.openjdk8) # 1.8.0_79
+.endif
+MAKEVARS+=	BUILTIN_PKG.openjdk8
+
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
+.if !defined(USE_BUILTIN.openjdk8)
+.  if ${PREFER.openjdk8} == "pkgsrc"
+USE_BUILTIN.openjdk8=	no
+.  else
+USE_BUILTIN.openjdk8=	${IS_BUILTIN.openjdk8}
+.    if defined(BUILTIN_PKG.openjdk8) && \
+	!empty(IS_BUILTIN.openjdk8:M[yY][eE][sS])
+USE_BUILTIN.openjdk8=	yes
+.      for _dep_ in ${BUILDLINK_API_DEPENDS.openjdk8}
+.        if !empty(USE_BUILTIN.openjdk8:M[yY][eE][sS])
+USE_BUILTIN.openjdk8!=							\
+	if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.openjdk8:Q}; then	\
+		${ECHO} "yes";						\
+	else								\
+		${ECHO} "no";						\
+	fi
+.        endif
+.      endfor
+.    endif
+.  endif
+.endif
+MAKEVARS+=	USE_BUILTIN.openjdk8
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.openjdk8?=	no
+.if !empty(CHECK_BUILTIN.openjdk8:M[nN][oO])
+#
+# Here we place code that depends on whether USE_BUILTIN.openjdk8 is
+# set to "yes" or "no".
+#
+.  if !empty(USE_BUILTIN.openjdk8:M[yY][eE][sS])
+PKG_JAVA_HOME=	/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0
+.  endif
+.endif  # CHECK_BUILTIN.openjdk8
