diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ca93300..a20cfb0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -78,10 +78,10 @@ jobs: # os: win # platform: ubuntu-latest # container: ghcr.io/alanocallaghan/winbuild-builder:latest - # - arch: x86_64 - # os: win - # platform: ubuntu-latest - # container: ghcr.io/openslide/winbuild-builder:latest + - arch: x86_64 + os: win + platform: ubuntu-latest + container: ghcr.io/openslide/winbuild-builder:latest - arch: x86_64 os: linux platform: ubuntu-latest @@ -128,13 +128,6 @@ jobs: fi mv "openslide-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.pkgver }}.${EXT}" \ "artifacts/${{ needs.sdist.outputs.artifact }}" - - name: Debugging stuff - if: matrix.platform == 'macos-latest' - run: | - pushd "openslide-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.pkgver }}" - echo "otool -L lib/libopenslide.dylib" - otool -L lib/libopenslide.dylib - popd - name: Upload artifact uses: actions/upload-artifact@v3 with: @@ -148,9 +141,9 @@ jobs: # - image: windows-latest # os: win # arch: i686 - # - image: windows-latest - # os: win - # arch: x86_64 + - image: windows-latest + os: win + arch: x86_64 - image: ubuntu-latest os: linux arch: x86_64 @@ -222,12 +215,6 @@ jobs: with: name: ${{ needs.sdist.outputs.artifact }} - - name: Wrangle openslide windows build - shell: bash - run: | - wget --quiet https://github.com/openslide/openslide-winbuild/releases/download/v20231011/openslide-win64-20231011.zip - unzip -p openslide-win64-20231011.zip openslide-win64-20231011/bin/libopenslide-1.dll > openslide.dll - chmod 755 openslide.dll - uses: ruby/setup-ruby@v1 with: ruby-version: '3.2' @@ -256,6 +243,8 @@ jobs: mv libopenslide.dylib darwin-x86-64/ # windows + unzip -p openslide-win-x86_64-main.zip openslide-win-x86_64-main/bin/libopenslide-1.dll > openslide.dll + chmod 755 openslide.dll mv openslide.dll win32-x86-64/ unzip openslide-build-main.zip diff --git a/build.sh b/build.sh index 04107cf..2dd1829 100755 --- a/build.sh +++ b/build.sh @@ -106,7 +106,7 @@ wget="wget -q" get_artifacts() { case "$os" in win) - openslide_artifacts="libopenslide-0.dll openslide-quickhash1sum.exe openslide-show-properties.exe openslide-write-png.exe slidetool.exe" + openslide_artifacts="libopenslide-1.dll openslide-quickhash1sum.exe openslide-show-properties.exe openslide-write-png.exe slidetool.exe" ;; linux) openslide_artifacts="libopenslide.so libopenslide.so.1 libopenslide.so.1.0.0 openslide-quickhash1sum openslide-show-properties openslide-write-png" diff --git a/meson/cross-win-i686.ini b/meson/cross-win-i686.ini index 5c1bbcb..66af20f 100644 --- a/meson/cross-win-i686.ini +++ b/meson/cross-win-i686.ini @@ -1,9 +1,9 @@ [built-in options] prefix = '/' c_args = ['-O2', '-g', '-fexceptions', '-ftree-vectorize', '-fstack-protector-strong', '-U_FORTIFY_SOURCE', '-D_FORTIFY_SOURCE=3', '-msse2', '-mfpmath=sse', '-mstackrealign'] -c_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-fstack-protector-strong', '-Wl,--dynamicbase', '-Wl,--nxcompat'] +c_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-Wl,--dynamicbase', '-Wl,--nxcompat'] cpp_args = ['-O2', '-g', '-fexceptions', '-ftree-vectorize', '-fstack-protector-strong', '-U_FORTIFY_SOURCE', '-D_FORTIFY_SOURCE=3', '-msse2', '-mfpmath=sse', '-mstackrealign'] -cpp_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-fstack-protector-strong', '-Wl,--dynamicbase', '-Wl,--nxcompat'] +cpp_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-Wl,--dynamicbase', '-Wl,--nxcompat'] pkg_config_path = '' [properties] diff --git a/meson/cross-win-x86_64.ini b/meson/cross-win-x86_64.ini index 6618f56..0056d1a 100644 --- a/meson/cross-win-x86_64.ini +++ b/meson/cross-win-x86_64.ini @@ -1,9 +1,9 @@ [built-in options] prefix = '/' c_args = ['-O2', '-g', '-fexceptions', '-ftree-vectorize', '-fstack-protector-strong', '-U_FORTIFY_SOURCE', '-D_FORTIFY_SOURCE=3'] -c_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-fstack-protector-strong', '-Wl,--dynamicbase', '-Wl,--nxcompat'] +c_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-Wl,--dynamicbase', '-Wl,--nxcompat'] cpp_args = ['-O2', '-g', '-fexceptions', '-ftree-vectorize', '-fstack-protector-strong', '-U_FORTIFY_SOURCE', '-D_FORTIFY_SOURCE=3'] -cpp_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-fstack-protector-strong', '-Wl,--dynamicbase', '-Wl,--nxcompat'] +cpp_link_args = ['-static-libgcc', '-Wl,--enable-auto-image-base', '-Wl,--dynamicbase', '-Wl,--nxcompat'] pkg_config_path = '' [properties] diff --git a/meson/meson.build b/meson/meson.build index ea22242..ab863ea 100644 --- a/meson/meson.build +++ b/meson/meson.build @@ -13,14 +13,6 @@ add_global_arguments( language: ['c', 'cpp'] ) -subproject( - 'pcre2', - default_options : [ - 'grep=false', - 'test=false', - 'jit_sealloc=disabled',# arm64 darwin - ], -) subproject('zlib') subproject('libpng') subproject( @@ -31,11 +23,7 @@ subproject( 'tests=disabled', ], ) -subproject('libtiff', default_options: [ - # 'webp=disabled', # for arm64 darwin - # 'lzma=disabled', # arm64 darwin, fixed by removing xz from homebrew - # 'zstd=disabled', # not sure, probably arm64 darwin -]) +subproject('libtiff') subproject( 'libopenjp2', default_options : [ @@ -52,10 +40,11 @@ subproject( ], ) subproject( - 'libxml2', + 'pcre2', default_options : [ - 'iconv=disabled', - # 'lzma=disabled', # arm64 darwin, fixed by removing xz from homebrew + 'grep=false', + 'test=false', + 'jit_sealloc=disabled',# arm64 darwin ], ) if host_machine.system() != 'linux' @@ -93,6 +82,12 @@ subproject( 'tests=disabled', ], ) +subproject( + 'libxml2', + default_options : [ + 'iconv=disabled', + ], +) subproject('uthash') subproject( 'libdicom',