On Thu, Dec 4, 2008 at 8:26 PM, John Rose <span dir="ltr">&lt;<a href="mailto:John.Rose@sun.com">John.Rose@sun.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div><div class="Ih2E3d"><div>On Dec 4, 2008, at 12:35 AM, Ben Evans wrote:</div><br><blockquote type="cite">Apologies if this is not the right place to ask (or if there are basic docs somewhere which I have failed to find on my own).<br>
<br>I&#39;ve been following the build instructions at:<br><br><a href="http://wikis.sun.com/display/mlvm/Building" target="_blank">http://wikis.sun.com/display/mlvm/Building</a><br> <br>and trying to build with b33 of OpenJDK7, from the bsd port, to then build via:<br>
<br><a href="http://landonf.bikemonkey.org/code/java/SoyLatte_Meets_OpenJDK.20080819.html" target="_blank">http://landonf.bikemonkey.org/code/java/SoyLatte_Meets_OpenJDK.20080819.html</a><br> <br>(I have successfully built a vanilla OpenJDK7 and aside from some known problems with the test suite, seem to have it self-hosting).</blockquote>
<div><br></div></div><div>I currently develop mlvm on Solaris over VMWare on my MacBook (OSX 10.4 though). &nbsp;I&#39;m excited to see you working on OSX builds. &nbsp;The bad news is, you are the pioneer.</div><div><br></div><div>
I&#39;ve given you full write permissions on the mlvm wiki, in case you want to share your experiences more fully.</div><div class="Ih2E3d"></div></div></div></blockquote><div class="Ih2E3d"><br>Thanks - once I&#39;ve got something working I&#39;ll add full details of the builds. <br>
<blockquote type="cite">Unfortunately, the patches for invokedynamic do not seem to apply against my bsd src tree.</blockquote></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div><div>The patches in the mlvm repositories are based against whatever recent JDK version somebody (me, in practice) has refreshed them against.</div></div></div></blockquote><div><br>OK, so I have 2 separate source trees, one which is b38, which does not have bsd-specific source in it, and one which is b33 with bsd ported code.<br>
&nbsp;<br>So, essentially I&#39;m trying to apply the patches from b38 to a b33 tree. Is this a wise thing to do, or should I be asking if anyone else on the bsd-port-dev group has got a more up to date code tree building on OS X?<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=""><div><div></div><div>In the mlvm/hotspot repo, the patches are refreshed to b38 but in practice they should work against neighboring builds, including b40. &nbsp;The patches in mlvm/jdk are refreshed to b34, which is close enough to b38. &nbsp;See:</div>
<div><div>&nbsp;&nbsp;<a href="http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/tip/series" target="_blank">http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/tip/series</a></div><div><div>&nbsp;&nbsp;<a href="http://hg.openjdk.java.net/mlvm/mlvm/jdk/file/tip/series" target="_blank">http://hg.openjdk.java.net/mlvm/mlvm/jdk/file/tip/series</a></div>
<div><br></div></div></div><div>Your $guards variable probably says b40 (based on the reading of .hgtags by&nbsp;make/current-release.sh). &nbsp;Change it to mention all the builds the patches expect, both b34 and b38. &nbsp;This amounts to a manual override that says &quot;yes, I know this base is not exactly what the patches want, and I&#39;ll take responsibility for the consequences&quot;. &nbsp;You might have patch mismatches to fix and/or build problems.</div>
</div></div></blockquote><div><br>I&#39;ve set <br><br>guards=&#39;buildable testable jdk7-b33 jdk7-b34 jdk7-b38 jdk7-b40&#39; <br><br>to be on the safe side. (Previously it was just buildable testable jdk7-b33).</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><br><div>Try this command to see which guards are enabled:</div><div>&nbsp;&nbsp;sh patches/make/each-patch-repo.sh hg qguard</div><div><div>&nbsp;&nbsp;head patches/*/guards &nbsp;# quick &amp; dirty form</div></div></div></blockquote>
<div><br>CatBasket:jdk7-b33 boxcat$ sh patches/make/each-patch-repo.sh hg qguard<br>+ (cd sources/hotspot; hg qguard)<br>abort: no patches applied<br>+ (cd sources/jdk; hg qguard)<br>abort: no patches applied<br>+ (cd sources/langtools; hg qguard)<br>
abort: no patches applied<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=""><div><div></div><div>Try this command to see which patches are (therefore) enabled:</div>
<div><div>&nbsp;&nbsp;sh patches/make/each-patch-repo.sh hg qseries</div></div></div></div></blockquote><div><br>CatBasket:jdk7-b33 boxcat$ sh patches/make/each-patch-repo.sh hg qseries<br>+ (cd sources/hotspot; hg qseries)<br>anonk.patch<br>
meth.patch<br>indy.patch<br>annot.patch<br>callcc.patch<br>+ (cd sources/jdk; hg qseries)<br>anonk.patch<br>meth.patch<br>indy.patch<br>callcc.patch<br>+ (cd sources/langtools; hg qseries)<br>quid.patch<br>meth.patch<br><br>
I&#39;m still a complete novice with Mercurial, but I&#39;ll go and read the docs and see what I can figure out from the above. <br><br>Further pointers would be very welcome.<br><br>Thanks,<br><br>Ben <br></div></div><br>