This adds the following options to the `configure` program
--shared-v8 Link to a shared V8 DLL instead of static linking
--shared-v8-includes=SHARED_V8_INCLUDES
Directory containing V8 header files
--shared-v8-libpath=SHARED_V8_LIBPATH
A directory to search for the shared V8 DLL
--shared-cares Link to a shared C-Ares DLL instead of static linking
--shared-cares-includes=SHARED_CARES_INCLUDES
Directory containing C-Ares header files
--shared-cares-libpath=SHARED_CARES_LIBPATH
A directory to search for the shared C-Ares DLL
--shared-libev Link to a shared libev DLL instead of static linking
--shared-libev-includes=SHARED_LIBEV_INCLUDES
Directory containing libev header files
--shared-libev-libpath=SHARED_LIBEV_LIBPATH
A directory to search for the shared libev DLL
and removes --system.
Also on other platforms use -pthread for compiling commands not just
linking because I noticed in the gcc(1) man page
-pthread
Adds support for multithreading with the pthreads library. This
option sets flags for both the preprocessor and linker.
Removing the errno check in deps/coupling because it was a hack
(e165859c2e) added to fix stdio problems.
Without adding -threads, errno is not thread local, and coupling was not
correctly checking the errno. It appears -mt does nothing to gcc/solaris.
Instead of installing the files in /usr/lib/node/libraries and loading them
from the file system, the files are built-in to the node executable.
However, they are only compiled on demand.
The reasoning is:
1. Allow for more complex internal javascript. In particular,
process.stdout and process.stdin can be js implemented streams.
2. Ease system installs. Loading from disk each time is unnecessary
overhead. Note that there is no "system" path for modules anymore. Only
$HOME/.node_libraries.