On Mon, 2015-04-27 at 21:43 -0400, Kurt Miller wrote:
> On Mon, 2015-04-27 at 20:39 -0400, Bryan C. Everly wrote:
> > Kurt,
> >
> >
> > Looks like you can't run 'bash ./configure' without ALSA (which
> > doesn't exist on OpenBSD) and you can't turn it off with
> > --without-alsa (there is an explicit check for this that tells you it
> > is required).
> >
> >
> > Am I missing something obvious?
>
> Hi Bryan,
>
> Nope. I just hit the same thing trying to catch up to you. OpenBSD
> doesn't have alsa, instead it has its own sound subsystem called
> sndio. An OpenBSD developer wrote sndio support for the jdk, but
> he never signed the OCA so I wasn't able to commit his work here.
> Instead I have it as a patch in the ports tree in OpenBSD:
>
> http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/devel/jdk/1.7/files/PLATFORM_API_BSDOS_PCM.c?rev=1.1&content-type=text/x-cvsweb-markup&hideattic=1
>
> This doesn't help us with the configure issue though since it wasn't
> required for OpenJDK 7.
>
> We're going to need to disable the hard requirement for alsa in a way
> that is OpenBSD only. We're likely to hit someplace in the
> bsd-port/jdk8/jdk/ portion of the build where it fails to build sound
> support due to alsa missing. Then we'll need to figure out how to
> disable it for OpenBSD only again there.
>
> Regards,
> -Kurt
Here's where I am at. I can finish configure but I still have an hack
in generated-configure.sh for freetype. This is my configure script:
cd ~/jdk/jdk8
env -i
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
\
CPPFLAGS=-I/usr/local/include \
LDFLAGS=-L/usr/local/lib \
sh configure \
--with-boot-jdk=/home/truk/jdk/j2sdk-image \
--disable-ccache \
--disable-freetype-bundling \
--disable-zip-debug-info \
--with-cups=/usr/local \
--with-freetype=/usr/X11R6 \
--with-freetype-include=/usr/X11R6/include/freetype2 \
--with-giflib=system \
--with-jobs=16 \
--with-zlib=system \
2>&1 | tee -a ~/jdk/build-jdk8.log
Attached is the diff I'm running with that has a hack for freetype
in it. It needs more work to match correctly with versioned shared
libs that OpenBSD has.
-Kurt
diff -r 37f198f10b62 common/autoconf/generated-configure.sh
--- a/common/autoconf/generated-configure.sh Sat Mar 14 10:28:41 2015 -0700
+++ b/common/autoconf/generated-configure.sh Mon Apr 27 22:23:02 2015 -0400
@@ -6910,6 +6910,12 @@
VAR_OS_API=posix
VAR_OS_ENV=macosx
;;
+ openbsd*)
+ VAR_OS=bsd
+ VAR_OS_API=posix
+ VAR_OS_ENV=bsd
+ VAR_OS_VENDOR=openbsd
+ ;;
*bsd*)
VAR_OS=bsd
VAR_OS_API=posix
@@ -30422,6 +30428,14 @@
$as_echo "pulse" >&6; }
fi
+ if test "x$VAR_OS_VENDOR" = xopenbsd; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on OpenBSD?" >&5
+$as_echo_n "checking what is not needed on OpenBSD?... " >&6; }
+ ALSA_NOT_NEEDED=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa" >&5
+$as_echo "alsa" >&6; }
+ fi
+
if test "x$OPENJDK" = "xfalse"; then
FREETYPE_NOT_NEEDED=yes
fi
@@ -31650,9 +31664,10 @@
FREETYPE_LIB_NAME="${LIBRARY_PREFIX}freetype${SHARED_LIBRARY_SUFFIX}"
if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&5
-$as_echo "$as_me: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&6;}
- FOUND_FREETYPE=no
+# { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&5
+# $as_echo "$as_me: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&6;}
+# FOUND_FREETYPE=no
+ true
else
if test "x$OPENJDK_TARGET_OS" = xwindows; then
# On Windows, we will need both .lib and .dll file.