Thanks Gary and all. Quite nice to wake up (California time here) to numerous useful replies. <br><br>I am actually using the mercurial version of hotspot, so the zero patch is integrated. That&#39;s how, I assume, ./configure --enable-zero works. <br>
<br>Another question though, is there a similar way to build a debug version ? <br>I use the following to build IcedTea with fulldebug:<br><br>./configure; make icedtea-against-ecj SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=true DEBUG_NAME=fulldebug;<br>
<br>when I run &quot;make hotspot SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=true DEBUG_NAME=fulldebug;&quot; afterwards, the flags are ignored and the (-DPRODUCT) flag is used instead. Anyway of doing incremental build while keeping the debug flags on ?<br>
<br>I hope I am not asking for too much :)<br>thanks, <br>- nagy<br><br><br><br><div class="gmail_quote">On Fri, Aug 21, 2009 at 6:00 AM, Gary Benson <span dir="ltr">&lt;<a href="mailto:gbenson@redhat.com">gbenson@redhat.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">Nagy Mostafa wrote:<br>
&gt; I am having trouble compiling hotspot only in IcedTea6. I build<br>
&gt; IcedTea with Zero as follows:<br>
&gt;<br>
&gt; ./configure --enable-zero; make;<br>
&gt;<br>
<br>
&gt; Now, I want to modify the bytecode interpreter.  What is the<br>
&gt; simplest way to compile hotspot only without compiling all of<br>
&gt; IcedTea.  I tried &quot;make hotspot&quot;, but sometimes it doesn&#39;t detect<br>
&gt; my code changes and even worse the build breaks occasionally.<br>
<br>
</div>IcedTea has a two stage build when you configure it that way.  The<br>
first stage is a bootstrap: it builds OpenJDK using GCJ and ECJ.<br>
The bootstrapped OpenJDK lives in &quot;openjdk-ecj&quot;.  The second stage<br>
builds OpenJDK with the bootstrapped OpenJDK.  This final OpenJDK<br>
lives in &quot;openjdk&quot;.<br>
<br>
The &quot;make hotspot&quot; rule in IcedTea rebuilds the HotSpot in the<br>
bootstrap VM in &quot;openjdk-ecj&quot;.  So, to use &quot;make hotspot&quot; you<br>
need to do an initial build like this:<br>
<br>
  ./configure --enable-zero<br>
  make icedtea-against-ecj<br>
<br>
This will build the bootstrap VM only.  Now you can edit the code<br>
in &quot;openjdk-ecj&quot; and rebuild like this:<br>
<br>
  make hotspot<br>
<div class="im"><br>
&gt; Also, how can you do a &quot;make clean&quot; for hotspot only.<br>
<br>
</div>The easiest way is this:<br>
<br>
  rm -Rf openjdk-ecj/build/*/hotspot<br>
<br>
...and then do &quot;make hotspot&quot; again.<br>
<br>
Cheers,<br>
Gary<br>
<font color="#888888"><br>
--<br>
<a href="http://gbenson.net/" target="_blank">http://gbenson.net/</a><br>
</font></blockquote></div><br>