boost build with emscripten
I see that there is now emscripten support in boost build but it doesn't seem to work for me. After installing emscripten on Windows, adding using emscripten ; in my site-config.jam, then running b2 from the emscripten command prompt, I get the output below. Any help greatly appreciated! Emil boost-build/src/build\property.jam:743: in class@property-map.find from module object(property-map)@26 error: Ambiguous key boost-build/src/build\type.jam:333: in generated-target-ps from module type boost-build/src/build\type.jam:270: in type.generated-target-suffix from module type boost-build/src/build\virtual-target.jam:509: in virtual-target.add-prefix-and-suffix from module virtual-target boost-build/src/build\virtual-target.jam:468: in _adjust-name from module object(file-target)@3764 boost-build/src/build\virtual-target.jam:253: in abstract-file-target.__init__ from module object(file-target)@3764 boost-build/src/build\virtual-target.jam:561: in class@file-target.__init__ from module object(file-target)@3764 boost-build/src/kernel\class.jam:90: in class.new from module class boost-build/src/build\generators.jam:558: in generated-targets from module object(C-compiling-generator)@138 boost-build/src/build\generators.jam:453: in construct-result from module object(C-compiling-generator)@138 boost-build/src/build\generators.jam:412: in run-really from module object(C-compiling-generator)@138 boost-build/src/build\generators.jam:386: in class@generator.run from module object(C-compiling-generator)@138 boost-build/src/build\generators.jam:994: in try-one-generator-really from module generators boost-build/src/build\generators.jam:1056: in try-one-generator from module generators boost-build/src/build\generators.jam:1294: in construct-really from module generators boost-build/src/build\generators.jam:1378: in generators.construct from module generators boost-build/src/build\targets.jam:1553: in construct from module object(typed-target)@3554 boost-build/src/build\targets.jam:1353: in class@basic-target.generate from module object(typed-target)@3554 boost-build/src/build\targets.jam:774: in generate-really from module object(main-target)@3735 boost-build/src/build\targets.jam:746: in class@main-target.generate from module object(main-target)@3735 boost-build/src/build\targets.jam:895: in targets.generate-from-reference from module targets boost-build/src/build\targets.jam:1266: in generate-dependencies from module object(typed-target)@2173 boost-build/src/build\targets.jam:1323: in class@basic-target.generate from module object(typed-target)@2173 boost-build/src/build\targets.jam:774: in generate-really from module object(main-target)@2988 boost-build/src/build\targets.jam:746: in class@main-target.generate from module object(main-target)@2988 boost-build/src\build-system.jam:714: in load from module build-system NT\..\..\munch\boost-build\src\kernel\modules.jam:295: in import from module modules NT\..\..\munch\boost-build\src\kernel\bootstrap.jam:139: in boost-build from module NT\..\..\munch\boost-build.jam:6: in module scope from module
On Wed, Jan 18, 2017 at 12:42 AM, Emil Dotchevski
I see that there is now emscripten support in boost build but it doesn't seem to work for me. After installing emscripten on Windows, adding
using emscripten ;
in my site-config.jam, then running b2 from the emscripten command prompt, I get the output below. Any help greatly appreciated!
* I've only used and tested the emscripten toolset on MacOS. * You might want to specify the path to emcc "using emscripten : : /path/to/emcc ;". As I haven't tested it any other way :-) * There is no support for building shared libs. As I haven't found a way to do those yet (pointer appreciated though). * What b2 command are you running. Ie is it something I can attempt to reproduce? -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
Is this the right syntax? With
using emscripten : : "C:\Program
Files\Emscripten\emscripten\1.35.0\emcc.bat"
I get
1> 'C:Program' is not recognized as an internal or external command,
1> operable program or batch file.
1> <snip>/boost-build/src/build\property.jam:743: in
class@property-map.find from module object(property-map)@26
1>EXEC : error : Ambiguous key
<more errors>
As for static/shared linking, I'm not at all an expert on emscripten but I
read that there is (experimental?) shared lib support, see
https://github.com/kripken/emscripten/wiki/Linking. That said, I am not
trying to use dynamic linking.
Emil
On Wed, Jan 18, 2017 at 7:12 AM, Rene Rivera
On Wed, Jan 18, 2017 at 12:42 AM, Emil Dotchevski < emildotchevski@gmail.com> wrote:
I see that there is now emscripten support in boost build but it doesn't seem to work for me. After installing emscripten on Windows, adding
using emscripten ;
in my site-config.jam, then running b2 from the emscripten command prompt, I get the output below. Any help greatly appreciated!
* I've only used and tested the emscripten toolset on MacOS. * You might want to specify the path to emcc "using emscripten : : /path/to/emcc ;". As I haven't tested it any other way :-) * There is no support for building shared libs. As I haven't found a way to do those yet (pointer appreciated though). * What b2 command are you running. Ie is it something I can attempt to reproduce?
-- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/ mailman/listinfo.cgi/boost
On 1/20/2017 1:59 AM, Emil Dotchevski wrote:
Is this the right syntax? With
using emscripten : : "C:\Program Files\Emscripten\emscripten\1.35.0\emcc.bat"
Try: using emscripten : : "C:/Program Files/Emscripten/emscripten/1.35.0/emcc.bat" ;
I get
1> 'C:Program' is not recognized as an internal or external command, 1> operable program or batch file. 1> <snip>/boost-build/src/build\property.jam:743: in class@property-map.find from module object(property-map)@26 1>EXEC : error : Ambiguous key <more errors>
As for static/shared linking, I'm not at all an expert on emscripten but I read that there is (experimental?) shared lib support, see https://github.com/kripken/emscripten/wiki/Linking. That said, I am not trying to use dynamic linking.
Emil
On Wed, Jan 18, 2017 at 7:12 AM, Rene Rivera
wrote: On Wed, Jan 18, 2017 at 12:42 AM, Emil Dotchevski < emildotchevski@gmail.com> wrote:
I see that there is now emscripten support in boost build but it doesn't seem to work for me. After installing emscripten on Windows, adding
using emscripten ;
in my site-config.jam, then running b2 from the emscripten command prompt, I get the output below. Any help greatly appreciated!
* I've only used and tested the emscripten toolset on MacOS. * You might want to specify the path to emcc "using emscripten : : /path/to/emcc ;". As I haven't tested it any other way :-) * There is no support for building shared libs. As I haven't found a way to do those yet (pointer appreciated though). * What b2 command are you running. Ie is it something I can attempt to reproduce?
-- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
On Fri, Jan 20, 2017 at 5:44 AM, Edward Diener
On 1/20/2017 1:59 AM, Emil Dotchevski wrote:
Is this the right syntax? With
using emscripten : : "C:\Program Files\Emscripten\emscripten\1.35.0\emcc.bat"
Try:
using emscripten : : "C:/Program Files/Emscripten/emscripten/1.35.0/emcc.bat" ;
Same result.
On Fri, Jan 20, 2017 at 12:23 PM, Emil Dotchevski
On Fri, Jan 20, 2017 at 5:44 AM, Edward Diener
wrote: On 1/20/2017 1:59 AM, Emil Dotchevski wrote:
Is this the right syntax? With
using emscripten : : "C:\Program Files\Emscripten\emscripten\1.35.0\emcc.bat"
Try:
using emscripten : : "C:/Program Files/Emscripten/emscripten/1. 35.0/emcc.bat" ;
Same result.
Smells like a bug in the command parsing.. :-( I'll see if I can duplicated it. -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
On Fri, Jan 20, 2017 at 12:31 PM, Rene Rivera
On Fri, Jan 20, 2017 at 12:23 PM, Emil Dotchevski < emildotchevski@gmail.com> wrote:
On Fri, Jan 20, 2017 at 5:44 AM, Edward Diener
wrote: On 1/20/2017 1:59 AM, Emil Dotchevski wrote:
Is this the right syntax? With
using emscripten : : "C:\Program Files\Emscripten\emscripten\1.35.0\emcc.bat"
Try:
using emscripten : : "C:/Program Files/Emscripten/emscripten/1. 35.0/emcc.bat" ;
Same result.
Smells like a bug in the command parsing.. :-( I'll see if I can duplicated it.
I think I fixed it, on develop branch. Try it now. Note that for the path you either have to escape the back slashes (use \\), or use the forward slash (/) separator. -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
On Fri, Jan 20, 2017 at 7:15 PM, Rene Rivera
I think I fixed it, on develop branch. Try it now. Note that for the path you either have to escape the back slashes (use \\), or use the forward slash (/) separator.
Thank you so much - it seems this did fix that problem but I still get errors, see below. The command line used is variant=debug toolset=emscripten <target>. Using toolset=msvc-14.0 works fine. Is there a valid simple test case I can try? Thanks, Emil C:/<snip>/boost-build/src/build\property.jam:743: in class@property-map.find from module object(property-map)@26 error: Ambiguous key C:/<snip>/boost-build/src/build\type.jam:333: in generated-target-ps from module type C:/<snip>/boost-build/src/build\type.jam:270: in type.generated-target-suffix from module type C:/<snip>/boost-build/src/build\virtual-target.jam:509: in virtual-target.add-prefix-and-suffix from module virtual-target C:/<snip>/boost-build/src/build\virtual-target.jam:468: in _adjust-name from module object(file-target)@3764 C:/<snip>/boost-build/src/build\virtual-target.jam:253: in abstract-file-target.__init__ from module object(file-target)@3764 C:/<snip>/boost-build/src/build\virtual-target.jam:561: in class@file-target.__init__ from module object(file-target)@3764 C:/<snip>/boost-build/src/kernel\class.jam:90: in class.new from module class C:/<snip>/boost-build/src/build\generators.jam:558: in generated-targets from module object(C-compiling-generator)@136 C:/<snip>/boost-build/src/build\generators.jam:453: in construct-result from module object(C-compiling-generator)@136 C:/<snip>/boost-build/src/build\generators.jam:412: in run-really from module object(C-compiling-generator)@136 C:/<snip>/boost-build/src/build\generators.jam:386: in class@generator.run from module object(C-compiling-generator)@136 C:/<snip>/boost-build/src/build\generators.jam:994: in try-one-generator-really from module generators C:/<snip>/boost-build/src/build\generators.jam:1056: in try-one-generator from module generators C:/<snip>/boost-build/src/build\generators.jam:1294: in construct-really from module generators C:/<snip>/boost-build/src/build\generators.jam:1378: in generators.construct from module generators C:/<snip>/boost-build/src/build\targets.jam:1553: in construct from module object(typed-target)@3554 C:/<snip>/boost-build/src/build\targets.jam:1353: in class@basic-target.generate from module object(typed-target)@3554 C:/<snip>/boost-build/src/build\targets.jam:774: in generate-really from module object(main-target)@3735 C:/<snip>/boost-build/src/build\targets.jam:746: in class@main-target.generate from module object(main-target)@3735 C:/<snip>/boost-build/src/build\targets.jam:895: in targets.generate-from-reference from module targets C:/<snip>/boost-build/src/build\targets.jam:1266: in generate-dependencies from module object(typed-target)@2173 C:/<snip>/boost-build/src/build\targets.jam:1323: in class@basic-target.generate from module object(typed-target)@2173 C:/<snip>/boost-build/src/build\targets.jam:774: in generate-really from module object(main-target)@2988 C:/<snip>/boost-build/src/build\targets.jam:746: in class@main-target.generate from module object(main-target)@2988 C:/<snip>/boost-build/src\build-system.jam:714: in load from module build-system C:\<snip>/NT\..\..\munch\boost-build\src\kernel\modules.jam:295: in import from module modules C:\<snip>/NT\..\..\munch\boost-build\src\kernel\bootstrap.jam:139: in boost-build from module C:\<snip>/NT\..\..\munch\boost-build.jam:6: in module scope from module
On Sat, Jan 21, 2017 at 6:08 PM, Emil Dotchevski
On Fri, Jan 20, 2017 at 7:15 PM, Rene Rivera
wrote: I think I fixed it, on develop branch. Try it now. Note that for the path you either have to escape the back slashes (use \\), or use the forward slash (/) separator.
Thank you so much - it seems this did fix that problem but I still get errors, see below. The command line used is variant=debug toolset=emscripten <target>. Using toolset=msvc-14.0 works fine.
Is there a valid simple test case I can try?
The simple hello example in bbv2 works fine for me < https://github.com/boostorg/build/tree/develop/example/hello>: === Coqui:hello grafik$ b2 toolset=emscripten -d+2 common.mkdir bin mkdir -p "bin" common.mkdir bin/emscripten-1.36.5 mkdir -p "bin/emscripten-1.36.5" common.mkdir bin/emscripten-1.36.5/debug mkdir -p "bin/emscripten-1.36.5/debug" emscripten.compile.c++ bin/emscripten-1.36.5/debug/hello.bc "/Developer/Tools/emscripten/emscripten/tag-1.36.5/emcc" -x c++ -O0 -fno-inline -Wall -g4 -s DEMANGLE_SUPPORT=1 -c -o "bin/emscripten-1.36.5/debug/hello.bc" "hello.cpp" emscripten.link bin/emscripten-1.36.5/debug/hello.js "/Developer/Tools/emscripten/emscripten/tag-1.36.5/emcc" -o "bin/emscripten-1.36.5/debug/hello.js" "bin/emscripten-1.36.5/debug/hello.bc" -O0 --llvm-lto 0 -g4 -s DEMANGLE_SUPPORT=1 warning: emitted code will contain very large numbers of local variables, which is bad for performance (build to JS with -O2 or above to avoid this - make sure to do so both on source files, and during 'linking') Coqui:hello grafik$ node ./bin/emscripten-1.36.5/debug/hello.js Hello! Coqui:hello grafik$ === Try that one. -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
participants (3)
-
Edward Diener
-
Emil Dotchevski
-
Rene Rivera