sudo apt-get install \
libssl-dev zlib1g-dev libpcre2-dev libxslt1-dev libgeoip-dev \
libgd-dev libxml2-dev libedit-dev libperl-dev libtest-harness-perl \
- libgd-perl libgeoip-dev expect
+ libgd-perl libgeoip-dev expect meson ninja-build
- name: Install x86 build dependencies
run: |
git clone https://github.com/quickjs-ng/quickjs quickjs-ng
cd quickjs-ng
git checkout v0.11.0
- CFLAGS="$CC_OPT -fPIC" LDFLAGS=$LD_OPT cmake -B build
- cmake --build build --target qjs -j $(nproc)
+ CFLAGS="$CC_OPT -fPIC" LDFLAGS=$LD_OPT meson setup build --prefix=$HOME/.local --libdir=lib
+ meson compile -C build
+ meson install -C build
+ echo "PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV
- name: Configure and make njs
run: |
run: |
./configure \
--with-quickjs \
- --cc-opt="$CC_OPT -Iquickjs-ng" \
- --ld-opt="$LD_OPT -Lquickjs-ng/build" \
+ --cc-opt="$CC_OPT" \
+ --ld-opt="$LD_OPT" \
|| cat build/autoconf.err
$MAKE_UTILITY -j$(nproc)
- name: Configure and build nginx and njs modules with quickjs-ng, asan, static modules
run: |
cd nginx-source
- $NGINX_CONFIGURE_CMD --with-cc-opt="$CC_OPT -I${{ github.workspace }}/quickjs-ng -fsanitize=address -DNJS_DEBUG_MEMORY -DNGX_DEBUG_PALLOC -DNGX_DEBUG_MALLOC" --with-ld-opt="$LD_OPT -L${{ github.workspace }}/quickjs-ng/build -fsanitize=address" --add-module=../nginx || cat objs/autoconf.err
+ $NGINX_CONFIGURE_CMD --with-cc-opt="$CC_OPT -fsanitize=address -DNJS_DEBUG_MEMORY -DNGX_DEBUG_PALLOC -DNGX_DEBUG_MALLOC" --with-ld-opt="$LD_OPT -fsanitize=address" --add-module=../nginx || cat objs/autoconf.err
$MAKE_UTILITY -j$(nproc)
- name: Test njs modules, quickjs-ng, static modules
- name: Configure and build nginx and njs modules with quickjs-ng, asan, dynamic modules
run: |
cd nginx-source
- $NGINX_CONFIGURE_CMD --with-debug --with-cc-opt="$CC_OPT -I${{ github.workspace }}/quickjs-ng -fsanitize=address -DNJS_DEBUG_MEMORY -DNGX_DEBUG_PALLOC -DNGX_DEBUG_MALLOC" --with-ld-opt="$LD_OPT -L${{ github.workspace }}/quickjs-ng/build -fsanitize=address" --add-dynamic-module=../nginx || cat objs/autoconf.err
+ $NGINX_CONFIGURE_CMD --with-debug --with-cc-opt="$CC_OPT -fsanitize=address -DNJS_DEBUG_MEMORY -DNGX_DEBUG_PALLOC -DNGX_DEBUG_MALLOC" --with-ld-opt="$LD_OPT -fsanitize=address" --add-dynamic-module=../nginx || cat objs/autoconf.err
$MAKE_UTILITY -j$(nproc) modules
$MAKE_UTILITY -j$(nproc)