- Build Nodejs from its source
- Build Informix Nodejs driver
FYI: make sure bit architecture matches for all binary components
If you are using 64bit nodejs make sure you are using 64bit Informix Client-SDK as well.
- Informix Client SDK 410 xC2 or above
- git
- node.js
- python (2.7.x (3.x is not supported yet))
- node-gyp
- nan
The node.lib is needed for compiling C/C++ native addons, One of the ways to get this library is to build node.js from its source, then there will never be any compatibility issue.
FYI: The node.lib can also be obtained from node-gyp too, it is up to you to choose one of the approach.
The node.js v10 is being build by using VS 2017
# Say you have extracted NodeJS sourct at **C:\work\node-v10.15.1**
cd C:\work\node-v10.15.1
SET NODE_SRC=C:\work\node-v10.15.1
vcbuild.bat nosign release x64
# or if build without OpenSSL assembler modules
vcbuild.bat nosign openssl-no-asm release x64
FYI:
vcbuild.bat nosign release x64 : Build in release mode in 64-bit computers
vcbuild.bat nosign debug x64 : Build in debug mode for 64-bit computers
vcbuild.bat nosign release : Build in release mode in 32-bit computers
vcbuild.bat clean : Clean Project
# if no build errors then
# check whether "node.lib" has built
dir node.lib /s /b
The build has dependency on
- nan
- node-gyp
- node.lib
cd C:\work
git clone https://github.com/OpenInformix/IfxNode.git
cd C:\work\IfxNode
# install build dependency modules
npm install nan
npm install node-gyp
Open VS 2017 x64 command window
# Let us say
# Informix Client SDK installed location is C:\Informix
# The nodejs source (with build) is at C:\work\node-v10.15.1
# The informix driver source code is at C:\work\IfxNode
# Switch "node.js" and "node-gyp" to picket from the newly build location
# (if you are using debug build then use Debug)
# SET PATH=C:\work\node-v10.15.1\Debug;C:\work\node-v10.15.1\deps\npm\bin\node-gyp-bin;%PATH%
SET PATH=C:\work\node-v10.15.1\Release;C:\work\node-v10.15.1\deps\npm\bin\node-gyp-bin;%PATH%
SET CSDK_HOME=c:\Informix
SET NODE_SRC=C:\work\node-v10.15.1
#### Fire the driver build ####
cd C:\work\IfxNode
node-gyp configure
node-gyp build --release
# or for debug build then
node-gyp build --debug
# If no build error then the driver (ifx_njs_bind.node) binaries will be at
C:\work\IfxNode\build\Debug
# or
C:\work\IfxNode\build\Release
# you may use the Visual Studio 2017 Solution to build from source
# FYI: you still need CSDK_HOME and NODE_SRC environment to be set
C:\work\IfxNode\IfxNodeJsVS2017.sln
| **Command** | **Description**
|:--------------|:---------------------------------------------------------------
| `help` | Shows the help dialog
| `build` | Invokes `make`/`msbuild.exe` and builds the native addon
| `clean` | Removes the `build` directory if it exists
| `configure` | Generates project build files for the current platform
| `rebuild` | Runs `clean`, `configure` and `build` all in a row
| `install` | Installs node header files for the given version
| `list` | Lists the currently installed node header versions
| `remove` | Removes the node header files for the given version
md C:\work\t1
cd C:\work\t1
npm install bindings
# FYI: Copy the entire IfxNode dir under C:\work\t1\node_modules\ and then rename it to ifxnjs
xcopy C:\work\IfxNode C:\work\t1\node_modules\ifxnjs /s /I
copy C:\work\IfxNode\examples\SampleApp1.js
#edit the connection information of the application, then run
node SampleApp1.js
This task is needed if you plan to use the binary for the next NPM release.
del C:\work\IfxNode\build\binding.sln
del C:\work\IfxNode\build\config.gypi
del C:\work\IfxNode\build\ifx_njs_bind.vcxproj
del C:\work\IfxNode\build\ifx_njs_bind.vcxproj.filters
del C:\work\IfxNode\build\Release\ifx_njs_bind.exp
del C:\work\IfxNode\build\Release\ifx_njs_bind.lib
del C:\work\IfxNode\build\Release\ifx_njs_bind.map
del C:\work\IfxNode\build\Release\ifx_njs_bind.pdb
del /S /F /Q C:\work\IfxNode\build\Release\obj
rd /S /Q C:\work\IfxNode\build\Release\obj
# Create a ZIP and copy to prebuilt folder
# you may use 7zip to create a zip of C:\work\IfxNode\build
# Then copy it to C:\work\IfxNode\prebuilt\Win64
del C:\work\IfxNode\prebuilt\Win64\build.zip
copy C:\work\IfxNode\build.zip C:\work\IfxNode\prebuilt\Win64\build.zip
### Update the Hash value in the readme
# Get the hash key of the build zip
certutil -hashfile C:\work\IfxNode\prebuilt\Win64\build.zip MD5
update "prebuilt\README.md" with the hash value.