# Developer Note and Instruction on Alien::LibJQ ## What This Module is This module makes perl binding for jq and its static library. JQ is a light-weight command-line JSON processor, refer to its [project page](https://stedolan.github.io/jq/) for more information. ## How to Install Install as usual: ```shell perl Makefile.PL make make test make install ``` 1. If you are on a windows box you should use 'nmake' rather than 'make'. 2. If you are using strawberry perl on windows you should use 'gmake'. ## How This Module Performs the Build 1. Download and extract jq package. 2. Copy required script/cmake/source files into extracted jq package directory. 3. Build jq executable and jq/oniguruma static libraries using cmake. 4. Install both jq and oniguruma artifacts. ## Cmake Advantage 1. Enhanced compile and link toolchain. 2. Fix a jq code portability issue (calling POSIX setenv) on windows mingw. ## Windows Build Note 1. Only strawberry perl is tested. 2. Alien::cmake3 is required to build using cmake. 3. It is possible to build this package using autoconf approach on windows: 1. strawberry is required to provide a working gcc toolchain from mingw. 2. git windows package is required to offer bash executable on windows, installation path must NOT contain space (thus C:\Program Files not recommended). 3. run configure using sh/bash executable. 4. replace all MAKE variable value in generated Makefile by 'gmake' (from strawberry).