> However, i don't think you can change the emscripten SDK dir by using  
--em-config (can you?).

It does seem to work when using both --em-config and --cache both for emcc 
and emar. This is what I'm doing to use a "local" workspace emscripten 
install for cmake (all emscripten tools will also be called with their full 
path, not relying on the global PATH):

https://github.com/floooh/fips/blob/055b454fa0f55468d3342d6ffbba6e798267ce59/cmake-toolchains/emscripten.toolchain.cmake#L162-L180

I'm doing this for a long time now, but IFIR just calling the emscripten 
tools with a full path wasn't enough to separate different SDKs from each 
other.

It definitely works to keep this 'workspace' emscripten separate from a 
globally installed emscripten SDK (which is used when simply calling "emcc" 
from the command line). I haven't tested for a while to have separate 
workspaces with separate emscripten SDK versions though.

Cheers!
-Floh.

On Wednesday, 17 October 2018 14:41:05 UTC+2, Sam Clegg wrote:
>
> On Wed, Oct 10, 2018 at 1:56 PM Floh <flo...@gmail.com <javascript:>> 
> wrote: 
> > 
> > Does this fix change the behaviour of the the "--em-config" and 
> "--cache" cmdline args of emcc and emar to point to a local emscripten SDK 
> install? 
> > 
> > For me it's important that I don't have that "one and only" central 
> emscripten SDK, but separate versions per "workspace", and I'm using the 
> "--em-config" and "--cache" to isolate those different SDKs (I'm not 
> setting any environment variables like EM_CONFIG or EMSCRIPTEN_ROOT either 
> btw). 
> > 
> > As long as the cmdline args continue working, I guess I'm fine with the 
> change. 
> > 
>
> I don't think this change will effect those command line flags. 
>
> However, i don't think you can change the emscripten SDK dir by using 
> --em-config (can you?).   If you run emcc or emar the emscripten SDK 
> you get is based on where those commands are found (i.e. `which 
> emcc`).    This change is ephasising that fact.  The em-config can 
> control other things such as the LLVM location and the binaryen 
> location, but my understanding is that its argv0 that is used to find 
> emscripten.  If you want t to switch your emscripten directory you 
> would need to update your PATH or use a fully qualified path to emcc. 
>
>
> > Cheers! 
> > -Floh. 
> > 
> > On Wednesday, 10 October 2018 02:41:26 UTC+2, Sam Clegg wrote: 
> >> 
> >> TLDR: There is a field in called EMSCRIPTEN_ROOT in the config file 
> >> which in theory can be used by external tools to find the "active" 
> >> emscripten.   I'm proposing to remove it. 
> >> 
> >> --- 
> >> 
> >> Maintaining this field has a cost and it can get out of sync with the 
> >> emscripten you are actually using.    Imagine you run `emcc` and if 
> >> parses the config file and finds EMSCRIPTEN_ROOT pointing to different 
> >> version of emscripten. 
> >> 
> >> The two current users of EMSCRIPTEN_ROOT that I know of are the scons 
> support: 
> >> 
> https://github.com/kripken/emscripten/blob/incoming/tools/scons/site_scons/site_tools/emscripten/emscripten.py
>  
> >> And ammo.js: https://github.com/kripken/ammo.js/blob/master/make.py#L17 
> >> 
> >> In both of these cases a better solution would be either: 
> >> 1) looks for `emcc` in the $PATH 
> >> 2) check for EMSCRIPTEN_ROOT in the environment. 
> >> 
> >> Parsing the config file is also a rather brittle solution, and 
> >> prevents us from iterating on the config file format and how its 
> >> parses.  It also uses python's `eval` which is nasty. 
> >> 
> >> Any objections to following this path? 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "emscripten-discuss" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to emscripten-discuss+unsubscr...@googlegroups.com <javascript:>. 
>
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to emscripten-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to