Hello notahack!
We'll try to answer your questions one by one.
isn't there a way that you do not have to have all the dlls in the same directory as the executable for v8 to run?
Currently ClearScript attempts to load auxiliary V8 DLLs from the following directories:
Could you create a x86 only clearscript.dll with reference to clearscriptv8-32.dll?
Not without a lot of refactoring. Currently ClearScriptV8-xx.dll depends on ClearScript.dll, not the other way around. This is despite the fact that the latter loads the former. It's similar to a service provider architecture or extension mechanism.
That said, why would you want to do that? If you're trying to minimize DLL count in a 32-bit ClearScript/V8 application, you can simply exclude the 64-bit DLLs.
Would clearscriptv8-32.dll find v8-ia32.dll if it was in the same directory or at least if you have the path in the environment variable path?
Yes, that's how it works today.
I got everything to compile using vs10 except for the clearscriptv8-XX.dll because of the atomic stuff you got in there. Is there any way possible to rewrite that part so I can compile it in vs10 express?
Yes, it would be possible. ClearScriptV8 uses only a handful of the C++11 features that VS2012 implements. Things like atomics and mutexes could be replaced with native Win32 facilities. Our goal however is to use standard C++ features wherever possible in order to gradually enhance ClearScript's portability.
I did get vs12 installed without any hassle this time but am a little concerned as a commercial developer if I can distribute or not with stuff compiled in vs12. Seems a little absurd with a project with such a liberal license being hampered.
Hampered how? As far as we can tell, VS2010 and VS2012 can both be used for commercial development, and both provide redistributable C++ libraries. Why are you more concerned about using VS2012 than VS2010?
Cheers!
We'll try to answer your questions one by one.
isn't there a way that you do not have to have all the dlls in the same directory as the executable for v8 to run?
Currently ClearScript attempts to load auxiliary V8 DLLs from the following directories:
- The directory from which ClearScript.dll was loaded.
- AppDomain.CurrentDomain.BaseDirectory.
- The directories specified by AppDomain.CurrentDomain.RelativeSearchPath.
-
The directories specified by the PATH environment variable (v8-ia32.dll and v8-x64.dll only).
Could you create a x86 only clearscript.dll with reference to clearscriptv8-32.dll?
Not without a lot of refactoring. Currently ClearScriptV8-xx.dll depends on ClearScript.dll, not the other way around. This is despite the fact that the latter loads the former. It's similar to a service provider architecture or extension mechanism.
That said, why would you want to do that? If you're trying to minimize DLL count in a 32-bit ClearScript/V8 application, you can simply exclude the 64-bit DLLs.
Would clearscriptv8-32.dll find v8-ia32.dll if it was in the same directory or at least if you have the path in the environment variable path?
Yes, that's how it works today.
I got everything to compile using vs10 except for the clearscriptv8-XX.dll because of the atomic stuff you got in there. Is there any way possible to rewrite that part so I can compile it in vs10 express?
Yes, it would be possible. ClearScriptV8 uses only a handful of the C++11 features that VS2012 implements. Things like atomics and mutexes could be replaced with native Win32 facilities. Our goal however is to use standard C++ features wherever possible in order to gradually enhance ClearScript's portability.
I did get vs12 installed without any hassle this time but am a little concerned as a commercial developer if I can distribute or not with stuff compiled in vs12. Seems a little absurd with a project with such a liberal license being hampered.
Hampered how? As far as we can tell, VS2010 and VS2012 can both be used for commercial development, and both provide redistributable C++ libraries. Why are you more concerned about using VS2012 than VS2010?
Cheers!