]> git.kaiwu.me - njs.git/commitdiff
CI: using meson and pkg-config for QuickJS-NG.
authorDmitry Volyntsev <xeioex@nginx.com>
Wed, 19 Nov 2025 01:54:45 +0000 (17:54 -0800)
committerDmitry Volyntsev <xeioexception@gmail.com>
Thu, 20 Nov 2025 17:03:04 +0000 (09:03 -0800)
.github/workflows/check-pr.yml

index b64adbacb4e484b4f34703f9f2998b44c73a4bd0..03b0c3dbf73b22dfc84a28c4b06ed78d39c58f57 100644 (file)
@@ -29,7 +29,7 @@ jobs:
           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: |
@@ -56,8 +56,10 @@ jobs:
           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: |
@@ -103,8 +105,8 @@ jobs:
         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)
 
@@ -214,7 +216,7 @@ jobs:
       - 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
@@ -242,7 +244,7 @@ jobs:
       - 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)