Thanks for your answer!<br><br><div class="gmail_quote">On Wed, Aug 31, 2011 at 2:52 PM, Yoshiki Ohshima <span dir="ltr"><<a href="mailto:yoshiki@vpri.org">yoshiki@vpri.org</a>></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>
><br>
> hi! We've already made it compile with PP 0.5, but it's not displaying anything in the browser. Maybe it's the image or the browser version, or something related to PPAPI<br>
> changes. Which image and chrome version did you use? Actually, we tried your live demo but it isn'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'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'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's our idea too. We are in a place were the code doesn'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'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>
> On Mon, Aug 29, 2011 at 2:15 PM, Yoshiki Ohshima <<a href="mailto:yoshiki@vpri.org">yoshiki@vpri.org</a>> wrote:<br>
><br>
> At Mon, 29 Aug 2011 11:22:03 -0300,<br>
> Javier Pimás wrote:<br>
> ><br>
> > 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>
> > questions I can think of now:<br>
> ><br>
> > - do you download your git repo over the squeak-svn?<br>
> > - do you generate the code for unix and then modify by hand or you generate for a new platform?<br>
> > - Is there any image code?<br>
><br>
> Hi Javier!<br>
><br>
> Last time I touched it was early May, and so much has changed in the<br>
> Native Client SDK since then. It was SDK 0.2 and now it is 0.5. Good<br>
> news is that they claim that API is now stabilizing (which should be<br>
> somewhat different from 0.2), so now we can have a bit more stable<br>
> version of VM, presumably.<br>
><br>
> - My git repo was basically "on its own"; Into an empty git<br>
> repository, I copied files (one file by one file) from squeak-svn<br>
> and edit them as needed. (So, that was the discussion you quoted;<br>
> I still think many files can be reused with a bit more ifdefs in<br>
> the Unix code.)<br>
><br>
> - The annoying kind of generated files, such as config.h, were<br>
> indeed hand edited.<br>
><br>
> - There is no code for image side yet. A bridge to Pepper API is<br>
> called for, however.<br>
><br>
> > also, I'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's missing?<br>
><br>
> Around this part of the SDK is radically changed since then.<br>
> Common.mk in the examples/ directory looked like the following back<br>
> then. But it needs to be adopted the new regime.<br>
><br>
> -- Yoshiki<br>
><br>
> -----------------------------------<br>
> # Copyright (c) 2011, The Native Client Authors. All rights reserved.<br>
> # Use of this source code is governed by a BSD-style license that can be<br>
> # found in the LICENSE file.<br>
> #<br>
> # Common makefile for the examples. This has some basic variables, such as<br>
> # CC (the compiler) and some suffix rules such as .c.o.<br>
> #<br>
> # The main purpose of this makefile component is to demonstrate building a<br>
> # Native Client module (.nexe)<br>
><br>
> .SUFFIXES: .c .cc .cpp .o<br>
><br>
> .PHONY: check_variables<br>
><br>
> ifeq ($(origin OS), undefined)<br>
> ifeq ($(shell uname -s), Darwin)<br>
> OS=Darwin<br>
> else<br>
> OS=$(shell uname -o)<br>
> endif<br>
> endif<br>
><br>
> ifeq ($(OS), $(filter $(OS), Windows_NT Cygwin))<br>
> PLATFORM = win<br>
> TARGET = x86<br>
> endif<br>
> ifeq ($(OS), $(filter $(OS), Darwin MACOS))<br>
> PLATFORM = mac<br>
> TARGET = x86<br>
> endif<br>
><br>
> # Look for 'Linux' in the $(OS) string. $(OS) is assumed to be a Linux<br>
> # variant if the result of $(findstring) is not empty.<br>
> ifneq (, $(findstring Linux, $(OS)))<br>
> PLATFORM = linux<br>
> TARGET = x86<br>
> endif<br>
><br>
> PYTHON ?= /usr/bin/python<br>
> NACL_SDK_ROOT ?= .<br>
><br>
> NACL_TOOLCHAIN_DIR = toolchain/$(PLATFORM)_$(TARGET)<br>
><br>
> CC = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-gcc<br>
> CPP = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-g++<br>
> NACL_STRIP = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-strip<br>
> NACL_SEL_LDR32 = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl-sel_ldr<br>
> NACL_SEL_LDR64 = $(NACL_SDK_ROOT)/$(NACL_TOOLCHAIN_DIR)/bin/nacl64-sel_ldr<br>
><br>
> CFLAGS = -Wall -Wno-long-long -pthread -Werror<br>
> OPT_FLAGS = -O2<br>
> DEBUG_FLAGS = -g<br>
><br>
> # Make all the object files depend on the entire list of header files. This<br>
> # is a little brutal, but it gets the job dome simply without a make depend<br>
> # step.<br>
> %_x86_32_dbg.o: %.c $(HFILES)<br>
> $(CC) $(CFLAGS) -m32 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_32_dbg.o: %.cc $(HFILES)<br>
> $(CPP) $(CFLAGS) -m32 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_64_dbg.o: %.c $(HFILES)<br>
> $(CC) $(CFLAGS) -m64 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_64_dbg.o: %.cc $(HFILES)<br>
> $(CPP) $(CFLAGS) -m64 $(INCLUDES) $(DEBUG_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_32.o: %.c $(HFILES)<br>
> $(CC) $(CFLAGS) -m32 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_32.o: %.cc $(HFILES)<br>
> $(CPP) $(CFLAGS) -m32 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_32.o: %.cpp $(HFILES)<br>
> $(CPP) $(CFLAGS) -m32 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_64.o: %.c $(HFILES)<br>
> $(CC) $(CFLAGS) -m64 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_64.o: %.cc $(HFILES)<br>
> $(CPP) $(CFLAGS) -m64 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $<<br>
><br>
> %_x86_64.o: %.cpp $(HFILES)<br>
> $(CPP) $(CFLAGS) -m64 $(INCLUDES) $(OPT_FLAGS) -c -o $@ $<<br>
><br>
> # Generate list of .o files based on the list of .c and .cc files<br>
> OBJECTS_X86_32 = $(CFILES:%.c=%_x86_32.o) $(CCFILES:%.cc=%_x86_32.o)<br>
> OBJECTS_X86_64 = $(CFILES:%.c=%_x86_64.o) $(CCFILES:%.cc=%_x86_64.o)<br>
> OBJECTS_X86_32_DBG = $(CFILES:%.c=%_x86_32_dbg.o) $(CCFILES:%.cc=%_x86_32_dbg.o)<br>
> OBJECTS_X86_64_DBG = $(CFILES:%.c=%_x86_64_dbg.o) $(CCFILES:%.cc=%_x86_64_dbg.o)<br>
><br>
> # Make sure certain variables are defined. This rule is set as a dependency<br>
> # for all the .nexe builds in the examples.<br>
> check_variables:<br>
> ifeq ($(origin OS), undefined)<br>
> @echo "Error: OS is undefined" ; exit 42<br>
> endif<br>
> ifeq ($(origin PLATFORM), undefined)<br>
> @echo "Error: PLATFORM is undefined (OS = $(OS))" ; exit 42<br>
> endif<br>
> ifeq ($(origin TARGET), undefined)<br>
> @echo "Error: TARGET is undefined (OS = $(OS))" ; exit 42<br>
> endif<br>
> ifeq ($(origin NACL_SDK_ROOT), undefined)<br>
> @echo "Error: NACL_SDK_ROOT is undefined" ; exit 42<br>
> endif<br>
><br>
> --<br>
> Lic. Javier Pimás<br>
> Ciudad de Buenos Aires<br>
><br>
><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Lic. Javier Pimás<br>Ciudad de Buenos Aires<br>