2024-10-17 15:04 UTC+0200 Aleksander Czajczynski (hb fki.pl)

* .github/workflows/windows-ci.yml
    * update windows MSYS2 integration runner set of
      requested packages. PGSQL, Firebird and MariaDB libs
      are no longer available in the 32-bit environment

    + add clang x86_64 compiler for testing under this CI

  * include/harbour.hbx
  * include/hbapi.h
  * src/common/hbver.c
  * src/harbour.def
  * src/rtl/version.c
    ! fixed Windows 11 detection, by vendor likings it has
      NT Kernel Version stamped with 10.0, so now Build Number
      is more significant as a recognition factor.

    + new C helper functions hb_winisbuild(), hb_iswin11()

    + added PRG function hb_osIsWin11()

    * also try to detect new Windows Server versions

  * config/win/clang.mk
  * utils/hbmk2/hbmk2.prg
  * ChangeLog.txt
    ! recursion happening in the Makefiles rendered recently
      introduced compatibility option unreliable. Changed to
      use separate variable: HB_USER_FIXES=--mingw-script
      You don't need it, the problem shouldn't exist, but
      anyway...
This commit is contained in:
Aleksander Czajczynski
2024-10-17 15:04:53 +02:00
parent 60a10666f4
commit c88029eee9
9 changed files with 176 additions and 15 deletions

View File

@@ -14,12 +14,15 @@ jobs:
compiler:
- bcc
- mingw64
- clang
cpu:
- x86
- x86_64
exclude:
- compiler: bcc
cpu: x86_64
- compiler: clang
cpu: x86
strictness:
- "normal"
- "strict"
@@ -37,6 +40,9 @@ jobs:
(x86_64) echo MINGWxx="MINGW64"
echo "msys_cpu=${{matrix.cpu}}" ;;
esac
case ${{matrix.compiler}} in
(clang) echo MINGWxx="CLANG64" ;;
esac
} >> $GITHUB_ENV
- name: Install packages
@@ -44,6 +50,7 @@ jobs:
with:
msystem: ${{ env.MINGWxx }}
location: d:/
update: true
install: >
mingw-w64-${{ env.msys_cpu }}-ccache
mingw-w64-${{ env.msys_cpu }}-gcc
@@ -52,17 +59,22 @@ jobs:
mingw-w64-${{ env.msys_cpu }}-bzip2
mingw-w64-${{ env.msys_cpu }}-cairo
mingw-w64-${{ env.msys_cpu }}-curl
mingw-w64-${{ env.msys_cpu }}-firebird2-git
mingw-w64-${{ env.msys_cpu }}-libgd
mingw-w64-${{ env.msys_cpu }}-ghostscript
mingw-w64-${{ env.msys_cpu }}-libmariadbclient
mingw-w64-${{ env.msys_cpu }}-openssl
mingw-w64-${{ env.msys_cpu }}-postgresql
mingw-w64-${{ env.msys_cpu }}-qt5-base
# Dependencies for disabled contribs:
# mingw-w64-${{ env.msys_cpu }}-freeimage
- name: 'Add packages available on 64-bit hosts only'
if: matrix.cpu != 'x86'
shell: msys2 {0}
run: |
pacman -S --noconfirm mingw-w64-${{ env.msys_cpu }}-postgresql
pacman -S --noconfirm mingw-w64-${{ env.msys_cpu }}-libmariadbclient
pacman -S --noconfirm mingw-w64-${{ env.msys_cpu }}-firebird
- name: Checkout code
uses: actions/checkout@v3
with:
@@ -87,6 +99,17 @@ jobs:
set -ex
HB_USER_CFLAGS=""
HB_USER_LDFLAGS=""
case ${{matrix.compiler}} in
(clang)
pacman -S --noconfirm mingw-w64-${{ env.msys_cpu }}-clang
PATH="$PATH:/mingw64/bin/"
tee ./.bashrc <<EOMCLPTH
export PATH="\$PATH:/mingw64/bin/" # add ccache location
EOMCLPTH
;;
esac
case ${{matrix.strictness}} in
normal) ;;
strict) case ${{matrix.compiler}} in
@@ -95,7 +118,7 @@ jobs:
(*) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror -Wno-error=deprecated-declarations" ;;
esac ;;
esac
tee ./.bashrc <<EOENV
tee -a ./.bashrc <<EOENV
# These contribs do not build on any platform
export HB_BUILD_CONTRIBS="no hbfimage" # incompatible with freeimage 3.18+