gypjs v0.0.1
gyp.js
Node.js native addon build tool
gyp.js is a fork for node-gyp a cross-platform command-line tool written in Node.js for compiling
native addon modules for Node.js.
The goal of gyp.js is provide an easy-to-use build tool for C/C++ developers for various platforms.
Features:
- Easy to use, consistent interface
Same commands to build your module on every platform
Installation
You can install with npm:
$ npm install -g gypjsYou will also need to install:
- On Unix:
python(v2.7recommended,v3.x.xis not supported)make- A proper C/C++ compiler toolchain, like GCC
- On Windows:
- Python (
v2.7.3recommended,v3.x.xis not supported) - Windows XP/Vista/7:
- Microsoft Visual Studio C++ 2010 (Express version works well)
- For 64-bit builds of node and native modules you will also need the Windows 7 64-bit SDK
- If the install fails, try uninstalling any C++ 2010 x64&x86 Redistributable that you have installed first.
- If you get errors that the 64-bit compilers are not installed you may also need the compiler update for the Windows SDK 7.1
- Windows 7/8:
- Microsoft Visual Studio C++ 2012 for Windows Desktop (Express version works well)
- Python (
If you have multiple Python versions installed, you can identify which Python
version gyp.js uses by setting the '--python' variable:
$ gypjs --python /path/to/python2.7If gyp.js is called by way of npm and you have multiple versions of
Python installed, then you can set npm's 'python' config key to the appropriate
value:
$ npm config set python /path/to/executable/python2.7Note that OS X is just a flavour of Unix and so needs python, make, and C/C++.
An easy way to obtain these is to install XCode from Apple,
and then use it to install the command line tools (under Preferences -> Downloads).
Examples
Hello world!
Let's make a "Hello world!" executable console in C and build it.
Write a package.gyp file with this content:
{
'targets': [
{
'target_name': 'hello',
'type': 'executable',
'sources': [
'hello.c',
],
},
],
}Write a hello.c file with this content:
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}The next step is to generate the appropriate project build files for the current
platform. Use configure for that:
$ gypjs configureNote: The configure step looks for the package.gyp file in the current
directory to processs. See below for instructions on creating the package.gyp file.
Now you will have either a Makefile (on Unix platforms) or a vcxproj file
(on Windows) in the build/ directory. Next invoke the build command:
$ gypjs buildNow, you can find our executable file in build/Release/.