We continue ferociously onward on master. One of the major goals for
this next release will be to have only a single build system based on
GYP.
I've just now removed SCONS and WAF from our master tree. There are
known shortcomings in the GYP build system that I hope we can resolve
over the next few weeks:
- GYP builds V8 twice which increases build time significantly
https://github.com/joyent/node/issues/1736
- We do not yet support DTrace probes
https://github.com/joyent/node/issues/2110
- On OSX it is not linking to SSL correctly and configure must be run
with --without-ssl https://github.com/joyent/node/issues/2111
- xcodebuild is not yet working on OSX
https://github.com/joyent/node/issues/2112
Patches are very welcome during this period of breaking in the new build system.
We'll be posting a roadmap for v0.8 in the next few days.
It's a meta-build system. It produces Makefiles, XCode project files,
or Visual Studio files. Builds are defined in a JSON file in which you
list the source files, preprocessor defines, flags. The system tries
to provide a good experience for all platforms. Chrome has developed
and is now using GYP for all of its production builds.
As part of Chrome's migration from SCONS to GYP was migrating V8 to
GYP as well. V8 has a complex build process due to the snapshot
feature - and this has been expressed in GYP now.
GYP allows us to plug into libraries in sane ways. In GYP each library
can export preprocessor symbols and link flags necessary to build it.
For the first time C libraries become pluggable - you can drop
OpenSSL, say, into the deps directory and include it's GYP file and
the build becomes whole.
Reading http://code.google.com/p/gyp/wiki/GypVsCMake is also useful
-L
Issuing:
make arch.buildmode
like
make ia32.release
does not build v8 twice. arch = [ia32, x64 (x86_64/amd64),arm]
buildmode=[debug,release].
gyp is known to be able to build cross-compiled binaries & objects for
all arch's.
>
> - We do not yet support DTrace probes
> https://github.com/joyent/node/issues/2110
>
> - On OSX it is not linking to SSL correctly and configure must be run
> with --without-ssl https://github.com/joyent/node/issues/2111
>
> - xcodebuild is not yet working on OSX
> https://github.com/joyent/node/issues/2112
>
> Patches are very welcome during this period of breaking in the new build system.
These link errors may have to do with your build environment. Are you
using 10.5, 10.6 or 10.7? ports, fink, homebrew?
-L
Wow!
I like this. It's fantastic.
--
Jorge.