# 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).