On Mon, 2014-05-05 at 12:42 -0400, Jung-uk Kim wrote: > On 2014-05-05 02:37:38 -0400, ?? wrote: > > Hi, > > > > Thus wrote k...@intricatesoftware.com > > (k...@intricatesoftware.com): > > > >> . OpenBSD nm(1) doesn't have -U or -j, so provide an OpenBSD > >> specific > > > > neither have NetBSD's nor FreeBSD's. Generalization would be > > appreciated. > > FYI, this is what I did in FreeBSD port for jdk8. > > /head/java/openjdk8/files/patch-bsd?revision=352721&view=markup#l155 > > Jung-uk Kim
Thanks. OpenBSD doesn't have --defined-only. I believe the following change will work for *BSD: diff -r 0d6f95e05945 make/bsd/makefiles/build_vm_def.sh --- a/make/bsd/makefiles/build_vm_def.sh Mon Apr 28 12:29:31 2014 -0400 +++ b/make/bsd/makefiles/build_vm_def.sh Mon May 05 12:50:51 2014 -0400 @@ -7,7 +7,10 @@ NM=nm fi -if [ `uname` == "OpenBSD" ] ; then +OS_NAME=`uname -s` +BSD_OS=${OS_NAME##${OS_NAME%BSD}} + +if [ "$BSD_OS" == "BSD" ] ; then $NM $* \ | awk '{ if ($2 != "U") if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";" So the whole chunk looks like this: OS_NAME=`uname -s` BSD_OS=${OS_NAME##${OS_NAME%BSD}} if [ "$BSD_OS" == "BSD" ] ; then $NM $* \ | awk '{ if ($2 != "U") if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";" if ($2 != "U") if ($3 ~ /^UseSharedSpaces$/) print "\t" $3 ";" if ($2 != "U") if ($3 ~ /^_ZN9Arguments17SharedArchivePathE$/) print "\t" $3 ";" }' \ | sort -u else $NM -Uj $* | awk ' { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 } ' fi