Thanks for your answer!<br><br><div class="gmail_quote">On Wed, Aug 31, 2011 at 2:52 PM, Yoshiki Ohshima <span dir="ltr">&lt;<a href="mailto:yoshiki@vpri.org">yoshiki@vpri.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
At Wed, 31 Aug 2011 10:41:49 -0300,<br>
<div class="im">Javier Pimás wrote:<br>
&gt;<br>
&gt; hi! We&#39;ve already made it compile with PP 0.5, but it&#39;s not displaying anything in the browser. Maybe it&#39;s the image or the browser version, or something related to PPAPI<br>
&gt; changes. Which image and chrome version did you use? Actually, we tried your live demo but it isn&#39;t working in our browser either.<br>
<br>
</div>  I started with NaCl SDK 0.2.  That was for Chrome 11 or 12?  The<br>
vanilla 4.1 Squeak image did work and so did 3.0, IIRC.<br></blockquote><div><br></div><div>good because it means it can work with (almost) anything. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<br>
  One part that we would need to look at is how the JavaScript code in<br>
squeak.html drives display cycle. This part seems to be changed a lot<br>
(Many parts have changed on their side).<br>
<br></blockquote><div> </div><div>yes, a bit </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
  What I&#39;d do is to revive my test project<br>
(git://<a href="http://github.com/yoshikiohshima/NaClueakTest.git" target="_blank">github.com/yoshikiohshima/NaClueakTest.git</a>) first.  As you can<br>
see this is basically a hybrid of hello_world and pi_generator with<br>
the interpret() function that runs in infinite loop.  I&#39;d start again<br>
from the latest hello_world.c that works.  Then, convert some C++ code<br>
in pi_generator to C and merge it into hello_world in the way similar<br>
to the stuff in my code.<br></blockquote><div><br></div><div>excelent, that&#39;s our idea too. We are in a place were the code doesn&#39;t even get loaded to the browser so it must be the html part.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<br>
  I did NaClueakTest experiment on Windows, but I strongly urge to<br>
play with Native Client on Linux.  My Log() function can be replaced<br>
with fprintf to stderr and you can do more sensible debugging.<br>
<br>
  Hope this helps.  If you have more troubles, I&#39;d like to find some<br>
time to do it by myself.  It should not take too long.<br></blockquote><div><br></div><div>No problem, I think we are almost there.</div><div><br></div><div>Regards,</div><div>Javier.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<font color="#888888"><br>
-- Yoshiki<br>
</font><div><div></div><div class="h5"><br>
&gt; On Mon, Aug 29, 2011 at 2:15 PM, Yoshiki Ohshima &lt;<a href="mailto:yoshiki@vpri.org">yoshiki@vpri.org</a>&gt; wrote:<br>
&gt;<br>
&gt;     At Mon, 29 Aug 2011 11:22:03 -0300,<br>
&gt;     Javier Pimás wrote:<br>
&gt;     &gt;<br>
&gt;     &gt; Hi Yoshiki, we are starting to work on this, and maybe you can help us. I wanted to know what setup did you use for the tools, and what workflow you follow. Some<br>
&gt;     &gt; questions I can think of now:<br>
&gt;     &gt;<br>
&gt;     &gt; - do you download your git repo over the squeak-svn?<br>
&gt;     &gt; - do you generate the code for unix and then modify by hand or you generate for a new platform?<br>
&gt;     &gt; - Is there any image code?<br>
&gt;<br>
&gt;      Hi Javier!<br>
&gt;<br>
&gt;      Last time I touched it was early May, and so much has changed in the<br>
&gt;     Native Client SDK since then.  It was SDK 0.2 and now it is 0.5.  Good<br>
&gt;     news is that they claim that API is now stabilizing (which should be<br>
&gt;     somewhat different from 0.2), so now we can have a bit more stable<br>
&gt;     version of VM, presumably.<br>
&gt;<br>
&gt;      - My git repo was basically &quot;on its own&quot;; Into an empty git<br>
&gt;        repository, I copied files (one file by one file) from squeak-svn<br>
&gt;        and edit them as needed.  (So, that was the discussion you quoted;<br>
&gt;        I still think many files can be reused with a bit more ifdefs in<br>
&gt;        the Unix code.)<br>
&gt;<br>
&gt;      - The annoying kind of generated files, such as config.h, were<br>
&gt;        indeed hand edited.<br>
&gt;<br>
&gt;      - There is no code for image side yet.  A bridge to Pepper API is<br>
&gt;        called for, however.<br>
&gt;<br>
&gt;     &gt; also, I&#39;m seeing that you use a <a href="http://common.mk" target="_blank">common.mk</a> file for extra configuration for the makefile. Could you please pass it to me so that I get an example of what&#39;s missing?<br>


&gt;<br>
&gt;      Around this part of the SDK is radically changed since then.<br>
&gt;     Common.mk in the examples/ directory looked like the following back<br>
&gt;     then.  But it needs to be adopted the new regime.<br>
&gt;<br>
&gt;     -- Yoshiki<br>
&gt;<br>
&gt;     -----------------------------------<br>
&gt;     # Copyright (c) 2011, The Native Client Authors. All rights reserved.<br>
&gt;     # Use of this source code is governed by a BSD-style license that can be<br>
&gt;     # found in the LICENSE file.<br>
&gt;     #<br>
&gt;     # Common makefile for the examples.  This has some basic variables, such as<br>
&gt;     # CC (the compiler) and some suffix rules such as .c.o.<br>
&gt;     #<br>
&gt;     # The main purpose of this makefile component is to demonstrate building a<br>
&gt;     # Native Client module (.nexe)<br>
&gt;<br>
&gt;     .SUFFIXES: .c .cc .cpp .o<br>
&gt;<br>
&gt;     .PHONY: check_variables<br>
&gt;<br>
&gt;     ifeq ($(origin OS), undefined)<br>
&gt;      ifeq ($(shell uname -s), Darwin)<br>
&gt;        OS=Darwin<br>
&gt;      else<br>
&gt;        OS=$(shell uname -o)<br>
&gt;      endif<br>
&gt;     endif<br>
&gt;<br>
&gt;     ifeq ($(OS), $(filter $(OS), Windows_NT Cygwin))<br>
&gt;      PLATFORM = win<br>
&gt;      TARGET = x86<br>
&gt;     endif<br>
&gt;     ifeq ($(OS), $(filter $(OS), Darwin MACOS))<br>
&gt;      PLATFORM = mac<br>
&gt;      TARGET = x86<br>
&gt;     endif<br>
&gt;<br>
&gt;     # Look for &#39;Linux&#39; in the $(OS) string.  $(OS) is assumed to be a Linux<br>
&gt;     # variant if the result of $(findstring) is not empty.<br>
&gt;     ifneq (, $(findstring Linux, $(OS)))<br>
&gt;      PLATFORM = linux<br>
&gt;      TARGET = x86<br>
&gt;     endif<br>
&gt;<br>
&gt;     PYTHON ?= /usr/bin/python<br>
&gt;     NACL_SDK_ROOT ?= .<br>
&gt;<br>
&gt;     NACL_TOOLCHAIN_DIR = toolchain/$(PLATFORM)_$(TARGET)<br>
&gt;<br>
&gt;     CC = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-gcc<br>
&gt;     CPP = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-g++<br>
&gt;     NACL_STRIP = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-strip<br>
&gt;     NACL_SEL_LDR32 = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-sel_ldr<br>
&gt;     NACL_SEL_LDR64 = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl64-sel_ldr<br>
&gt;<br>
&gt;     CFLAGS = -Wall -Wno-long-long -pthread -Werror<br>
&gt;     OPT_FLAGS = -O2<br>
&gt;     DEBUG_FLAGS = -g<br>
&gt;<br>
&gt;     # Make all the object files depend on the entire list of header files.  This<br>
&gt;     # is a little brutal, but it gets the job dome simply without a make depend<br>
&gt;     # step.<br>
&gt;     %_x86_32_dbg.o: %.c $(HFILES)<br>
&gt;            $(CC) $(CFLAGS) -m32 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_32_dbg.o: %.cc $(HFILES)<br>
&gt;            $(CPP) $(CFLAGS) -m32 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_64_dbg.o: %.c $(HFILES)<br>
&gt;            $(CC) $(CFLAGS) -m64 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_64_dbg.o: %.cc $(HFILES)<br>
&gt;            $(CPP) $(CFLAGS) -m64 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_32.o: %.c $(HFILES)<br>
&gt;            $(CC) $(CFLAGS) -m32 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_32.o: %.cc $(HFILES)<br>
&gt;            $(CPP) $(CFLAGS) -m32 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_32.o: %.cpp $(HFILES)<br>
&gt;            $(CPP) $(CFLAGS) -m32 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_64.o: %.c $(HFILES)<br>
&gt;            $(CC) $(CFLAGS) -m64 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_64.o: %.cc $(HFILES)<br>
&gt;            $(CPP) $(CFLAGS) -m64 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     %_x86_64.o: %.cpp $(HFILES)<br>
&gt;            $(CPP) $(CFLAGS) -m64 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $&lt;<br>
&gt;<br>
&gt;     # Generate list of .o files based on the list of .c and .cc files<br>
&gt;     OBJECTS_X86_32 = $(CFILES:%.c=%_x86_32.o) $(CCFILES:%.cc=%_x86_32.o)<br>
&gt;     OBJECTS_X86_64 = $(CFILES:%.c=%_x86_64.o) $(CCFILES:%.cc=%_x86_64.o)<br>
&gt;     OBJECTS_X86_32_DBG = $(CFILES:%.c=%_x86_32_dbg.o) $(CCFILES:%.cc=%_x86_32_dbg.o)<br>
&gt;     OBJECTS_X86_64_DBG = $(CFILES:%.c=%_x86_64_dbg.o) $(CCFILES:%.cc=%_x86_64_dbg.o)<br>
&gt;<br>
&gt;     # Make sure certain variables are defined.  This rule is set as a dependency<br>
&gt;     # for all the .nexe builds in the examples.<br>
&gt;     check_variables:<br>
&gt;     ifeq ($(origin OS), undefined)<br>
&gt;            @echo &quot;Error: OS is undefined&quot; ; exit 42<br>
&gt;     endif<br>
&gt;     ifeq ($(origin PLATFORM), undefined)<br>
&gt;            @echo &quot;Error: PLATFORM is undefined (OS = $(OS))&quot; ; exit 42<br>
&gt;     endif<br>
&gt;     ifeq ($(origin TARGET), undefined)<br>
&gt;            @echo &quot;Error: TARGET is undefined (OS = $(OS))&quot; ; exit 42<br>
&gt;     endif<br>
&gt;     ifeq ($(origin NACL_SDK_ROOT), undefined)<br>
&gt;            @echo &quot;Error: NACL_SDK_ROOT is undefined&quot; ; exit 42<br>
&gt;     endif<br>
&gt;<br>
&gt; --<br>
&gt; Lic. Javier Pimás<br>
&gt; Ciudad de Buenos Aires<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Lic. Javier Pimás<br>Ciudad de Buenos Aires<br>