-
Notifications
You must be signed in to change notification settings - Fork 17
3. Builds
Run these commands to build code into a dynamic module for all supported NGINX and Linux versions:
./buildall.shShared libraries with a .so extension are produced for each Linux distro, in your local ./build folder:
alpine.ngx_curity_http_phantom_token_module_1.27.4.so
debian.bookworm.ngx_curity_http_phantom_token_module_1.27.4.so
ubuntu.24.04.ngx_curity_http_phantom_token_module_1.27.4.so
If required, build for a single platform like this:
export NGINX_VERSION='1.27.4'
export LINUX_DISTRO='alpine'
./build.shWhen the ./configure script is called, the main NGINX system's ./configure script is invoked.
This can accept custom parameters from this nginx page including these:
| Option | Description |
|---|---|
| --with-cc-opt | Settings to add to the CFLAGS variable used by the linker |
| --with-ld-opt | Settings to add to LDFLAGS variable used by the linker |
The NGINX configure script uses automake to produce the build file at ./nginx-1.27.4/objs/Makefile.
Some CFLAGS settings, such as -std=c99, are dictated by the nginx system.
A multi-stage Docker build is used, to output built .so files to an nginx-module-builder image.
To troubleshoot failures, remote to the most recent Docker image in docker image list.
Build commands can then be run manually if required, to understand the failure cause:
docker run -it a77962ad4c52
cd /tmp
make