diff --git a/.github/workflows/_build.yml b/.github/workflows/_build.yml index 6e158da7..e150d785 100644 --- a/.github/workflows/_build.yml +++ b/.github/workflows/_build.yml @@ -1,6 +1,10 @@ name: Build ofLibs on: + # push: + # branches: ["osx10-15-intel"] + # workflow_dispatch: + workflow_call: inputs: lib: { required: true, type: string } @@ -10,6 +14,20 @@ on: brew: { required: false, type: string } meson: { required: false, type: boolean } + workflow_dispatch: + inputs: + # chosen-os: + # required: true + # type: choice + # options: + # - macOS + lib: { required: true, type: string } + version: { required: true, type: string } + multistrap: { required: false, type: boolean } + linux_apt: { required: false, type: string } + brew: { required: false, type: string } + meson: { required: false, type: boolean } + permissions: contents: write @@ -20,17 +38,18 @@ jobs: matrix: include: # - { platform: linux64, os: ubuntu-latest, toolchain: llvm } - - { platform: linux64, os: ubuntu-22.04, toolchain: llvm } - - { platform: macos, os: macos-26, toolchain: apple-llvm } - - { platform: vs, os: windows-latest, toolchain: vs-stable } - - { - platform: rpi-aarch64, - os: ubuntu-22.04-arm, - prefix: aarch64-linux-gnu, - toolchain: aarch64-linux-gnu-gcc-12, - } - - - { platform: emscripten, os: ubuntu-latest, toolchain: emscripten } + # - { platform: linux64, os: ubuntu-22.04, toolchain: llvm } + - { platform: macos, os: macos-latest, toolchain: apple-llvm } + # - { platform: macos, os: macos-13, toolchain: apple-llvm } + # - { platform: vs, os: windows-latest, toolchain: vs-stable } + # - { + # platform: rpi-aarch64, + # os: ubuntu-22.04-arm, + # prefix: aarch64-linux-gnu, + # toolchain: aarch64-linux-gnu-gcc-12, + # } + + # - { platform: emscripten, os: ubuntu-latest, toolchain: emscripten } # - { # platform: rpi-armv6l, @@ -55,7 +74,9 @@ jobs: # # shell: msys2 -c 'source $GITHUB_ENV; export $(cut -d= -f1 $GITHUB_ENV); {0}' # } - runs-on: ${{ matrix.os }} + # runs-on: ${{ matrix.os }} + # runs-on: [ ${{ matrix.os }}, self-hosted, ${{ inputs.chosen-os }}"] + runs-on: self-hosted defaults: run: @@ -76,11 +97,11 @@ jobs: # key: ${{ inputs.lib }}-${{ runner.os }}-${{ matrix.platform }}-ccache # # - - name: Windows Setup MSVC - if: matrix.platform == 'vs' - uses: TheMrMilchmann/setup-msvc-dev@v4 - with: - arch: x64 + # - name: Windows Setup MSVC + # if: matrix.platform == 'vs' + # uses: TheMrMilchmann/setup-msvc-dev@v4 + # with: + # arch: x64 # - name: Install Meson if: inputs.meson @@ -93,12 +114,12 @@ jobs: # packages: ${{ inputs.linux_apt }} # version: 1.0 - - name: Linux Apt Packages - if: runner.os == 'Linux' && inputs.linux_apt != '' - # if: matrix.platform == 'linux64' && inputs.linux_apt != '' - run: | - sudo apt-get update -qq - sudo apt-get install -y ${{ inputs.linux_apt }} + # - name: Linux Apt Packages + # if: runner.os == 'Linux' && inputs.linux_apt != '' + # # if: matrix.platform == 'linux64' && inputs.linux_apt != '' + # run: | + # sudo apt-get update -qq + # sudo apt-get install -y ${{ inputs.linux_apt }} - name: macOS Brew Packages if: runner.os == 'macOS' && inputs.brew != '' @@ -116,12 +137,12 @@ jobs: # whereis cmake # cmake --version - - name: Emscripten Install - if: matrix.platform == 'emscripten' - uses: mymindstorm/setup-emsdk@v14 - with: - version: 4.0.21 - actions-cache-folder: "emsdk-cache" + # - name: Emscripten Install + # if: matrix.platform == 'emscripten' + # uses: mymindstorm/setup-emsdk@v14 + # with: + # version: 4.0.21 + # actions-cache-folder: "emsdk-cache" # - name: Verify emsdk # if: matrix.platform == 'emscripten' @@ -132,10 +153,10 @@ jobs: # emsdk activate latest # emcc -v - - name: MSYS2 Apt Cross Compile - if: matrix.platform == 'msys2' && runner.os == 'Linux' - run: | - sudo apt install gcc-${{ matrix.prefix }} g++-${{ matrix.prefix }} binutils-${{ matrix.prefix }} + # - name: MSYS2 Apt Cross Compile + # if: matrix.platform == 'msys2' && runner.os == 'Linux' + # run: | + # sudo apt install gcc-${{ matrix.prefix }} g++-${{ matrix.prefix }} binutils-${{ matrix.prefix }} # - name: MSYS2 Windows # if: matrix.platform == 'msys2' && runner.os == 'Windows' @@ -153,10 +174,10 @@ jobs: # export PATH=$PATH:/c/hostedtoolcache/windows/chalet-org/chalet/latest/windows-x64 # chalet --version - - name: RPI - Compiler - if: matrix.platform == 'msys2' && runner.os == 'Linux' - run: | - sudo apt install gcc g++ binutils + # - name: RPI - Compiler + # if: matrix.platform == 'msys2' && runner.os == 'Linux' + # run: | + # sudo apt install gcc g++ binutils # - name: RPI - Apt Cache Cross Compile (No Multistrap) # if: matrix.platform == 'rpi-aarch64' || matrix.platform == 'rpi-armv6l' @@ -222,17 +243,17 @@ jobs: run: | otool -l **/*.a | grep minos - - name: RPI Verify Library Compatibility - if: matrix.platform == 'rpi-aarch64' - run: | - aarch64-linux-gnu-readelf -d **/*.a 2>/dev/null | grep -E "GLIBC|CXXABI" || true - # Should show versions like GLIBC_2.36, NOT 2.38+ + # - name: RPI Verify Library Compatibility + # if: matrix.platform == 'rpi-aarch64' + # run: | + # aarch64-linux-gnu-readelf -d **/*.a 2>/dev/null | grep -E "GLIBC|CXXABI" || true + # # Should show versions like GLIBC_2.36, NOT 2.38+ - - name: Rename and Publish Release - env: - # GITHUB_TOKEN: ${{ github.TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - mv dist/${{ inputs.lib }}.zip ofLibs_${{ inputs.lib }}_${{ matrix.platform }}.zip - ls -alF *.zip - gh release upload ${{ inputs.version }} *.zip --clobber + # - name: Rename and Publish Release + # env: + # # GITHUB_TOKEN: ${{ github.TOKEN }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # run: | + # mv dist/${{ inputs.lib }}.zip ofLibs_${{ inputs.lib }}_${{ matrix.platform }}.zip + # ls -alF *.zip + # gh release upload ${{ inputs.version }} *.zip --clobber diff --git a/.github/workflows/assimp.yml b/.github/workflows/assimp.yml index f8852c4a..32685ec8 100644 --- a/.github/workflows/assimp.yml +++ b/.github/workflows/assimp.yml @@ -5,6 +5,7 @@ on: paths: - .github/workflows/assimp.yml - assimp/** + workflow_dispatch: jobs: ci: diff --git a/.github/workflows/pffft.yml b/.github/workflows/pffft.yml new file mode 100644 index 00000000..a6f734c7 --- /dev/null +++ b/.github/workflows/pffft.yml @@ -0,0 +1,17 @@ +name: pffft + +on: + push: + paths: + - .github/workflows/pffft.yml + - pffft/** + +jobs: + ci: + permissions: + contents: write + + uses: ./.github/workflows/_build.yml + # with: { lib: pffft, version: v1.0 } + with: { lib: pffft, version: add } + secrets: inherit diff --git a/.github/workflows/pixman.yml b/.github/workflows/pixman.yml index 4f592e3b..800175d7 100644 --- a/.github/workflows/pixman.yml +++ b/.github/workflows/pixman.yml @@ -12,5 +12,5 @@ jobs: contents: write uses: ./.github/workflows/_build.yml - with: { lib: pixman, version: v1.0, meson: true } + with: { lib: pixman, version: add, meson: true } secrets: inherit diff --git a/.github/workflows/pugixml.yml b/.github/workflows/pugixml.yml index 39996140..9bfdacec 100644 --- a/.github/workflows/pugixml.yml +++ b/.github/workflows/pugixml.yml @@ -6,7 +6,8 @@ on: paths: - pugixml/** - .github/workflows/pugixml.yml - + workflow_dispatch: + jobs: ci: permissions: diff --git a/.gitignore b/.gitignore index 762c4441..89b9ab6a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,10 @@ dist/** **/build/** **/chalet_external/** **/dist/** + +openssl-curl/Build-OpenSSL-cURL/curl/*/** +openssl-curl/Build-OpenSSL-cURL/openssl/*/** +openssl-curl/curl/** +openssl-curl/*.zip +mango/*/** +mango2/*/** \ No newline at end of file diff --git a/2/FreeImage/chalet.yaml b/2/FreeImage/chalet.yaml index 0bda179d..7471468e 100644 --- a/2/FreeImage/chalet.yaml +++ b/2/FreeImage/chalet.yaml @@ -80,7 +80,7 @@ targets: - CMAKE_EXECUTABLE_SUFFIX=.js defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=arm64;x86_64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 libpng: kind: cmakeProject @@ -115,7 +115,7 @@ targets: # - ZLIB_ROOT=${externalBuild:zlib}/install # - ZLIB_ROOT=${externalBuild:zlib} defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=arm64;x86_64 defines[:web]: # - ZLIB_LIBRARY=${cwd}/${externalBuild:zlib-ng}/ext.zlib-ng/install/lib @@ -187,7 +187,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # - CMAKE_C_VISIBILITY_PRESET=hidden # - CMAKE_CXX_VISIBILITY_PRESET=hidden # - CMAKE_VISIBILITY_INLINES_HIDDEN=ON @@ -298,7 +298,7 @@ targets: # - LIBTIFF_LIBRARY=${cwd}/${externalBuild:libtiff}/ext.libtiff/install/lib/tiff.lib defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[toolchain:msvc]: diff --git a/2/FreeImageRe/chalet.yaml b/2/FreeImageRe/chalet.yaml index aaa8b9c7..dd7f5bd1 100644 --- a/2/FreeImageRe/chalet.yaml +++ b/2/FreeImageRe/chalet.yaml @@ -56,7 +56,7 @@ targets: - ZLIB_INCLUDE_DIRS=${cwd}/${externalBuild:zlib-ng}/ext.zlib-ng/install/include defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/2/OpenImageIO/chalet.yaml b/2/OpenImageIO/chalet.yaml index 530fd6dd..e63d338a 100644 --- a/2/OpenImageIO/chalet.yaml +++ b/2/OpenImageIO/chalet.yaml @@ -33,7 +33,7 @@ targets: - OIIO_BUILD_TESTS=OFF defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/2/WiiC/chalet.yaml b/2/WiiC/chalet.yaml index 80edb748..ef92991f 100644 --- a/2/WiiC/chalet.yaml +++ b/2/WiiC/chalet.yaml @@ -25,7 +25,7 @@ targets: # - CMAKE_INSTALL_FULL_LIBDIR=lib defines[platform:macos]: # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # test: # kind: script # file: test.sh diff --git a/2/eigen/chalet.yaml b/2/eigen/chalet.yaml index a73531db..65f32c6b 100644 --- a/2/eigen/chalet.yaml +++ b/2/eigen/chalet.yaml @@ -25,7 +25,7 @@ targets: defines[platform:macos]: # - APPLE_FRAMEWORK=ON - CPU_BASELINE=NATIVE - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/2/lcms2/chalet.yaml b/2/lcms2/chalet.yaml index 8d2b0fab..e1b09ba7 100644 --- a/2/lcms2/chalet.yaml +++ b/2/lcms2/chalet.yaml @@ -22,8 +22,8 @@ targets: # - prefix=${cwd}/${externalBuild:${name}}/install defines[platform:macos]: - - c_args=-mmacos-version-min=11.6 - - cpp_args=-mmacos-version-min=11.6 + - c_args=-mmacos-version-min=10.15 + - cpp_args=-mmacos-version-min=10.15 defines[toolchain:msvc]: - b_vscrt=static_from_buildtype diff --git a/2/libjpeg/chalet.yaml b/2/libjpeg/chalet.yaml index 80a332d2..d68d2f2e 100644 --- a/2/libjpeg/chalet.yaml +++ b/2/libjpeg/chalet.yaml @@ -25,7 +25,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: libjpeg: diff --git a/2/libpng/chalet.yaml b/2/libpng/chalet.yaml index 7cd2cab4..4086aa2b 100644 --- a/2/libpng/chalet.yaml +++ b/2/libpng/chalet.yaml @@ -42,7 +42,7 @@ targets: - CMAKE_EXECUTABLE_SUFFIX=.js defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=arm64;x86_64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 libpng: kind: cmakeProject @@ -77,7 +77,7 @@ targets: # - ZLIB_ROOT=${externalBuild:zlib}/install # - ZLIB_ROOT=${externalBuild:zlib} defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=arm64;x86_64 defines[:web]: # - ZLIB_LIBRARY=${cwd}/${externalBuild:zlib-ng}/ext.zlib-ng/install/lib diff --git a/2/libtiff/chalet.yaml b/2/libtiff/chalet.yaml index 3e991a78..91bd1ded 100644 --- a/2/libtiff/chalet.yaml +++ b/2/libtiff/chalet.yaml @@ -32,7 +32,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 defines[toolchain:msvc]: - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded @@ -93,7 +93,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_C_VISIBILITY_PRESET=hidden - CMAKE_CXX_VISIBILITY_PRESET=hidden - CMAKE_VISIBILITY_INLINES_HIDDEN=ON diff --git a/2/libuvc/chalet.yaml b/2/libuvc/chalet.yaml index b87bb964..d280f2b4 100644 --- a/2/libuvc/chalet.yaml +++ b/2/libuvc/chalet.yaml @@ -41,7 +41,7 @@ targets: # # - CMAKE_INSTALL_FULL_LIBDIR=lib # defines[platform:macos]: # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - # - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + # - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 libuvc: kind: cmakeProject location: ${external:${name}} @@ -85,7 +85,7 @@ targets: - LibUSB_FOUND=TRUE defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: libuvc: diff --git a/2/libxml2/chalet.yaml b/2/libxml2/chalet.yaml index 1ffc9f56..b388d275 100644 --- a/2/libxml2/chalet.yaml +++ b/2/libxml2/chalet.yaml @@ -44,7 +44,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 libxml2_install: kind: script diff --git a/2/lzma/chalet.yaml b/2/lzma/chalet.yaml index 455129a2..88228d7c 100644 --- a/2/lzma/chalet.yaml +++ b/2/lzma/chalet.yaml @@ -25,7 +25,7 @@ targets: - XZ_NLS=OFF #disable translations and avoid libintl defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/2/stag/chalet.yaml b/2/stag/chalet.yaml index bdb17b5c..9c403282 100644 --- a/2/stag/chalet.yaml +++ b/2/stag/chalet.yaml @@ -99,7 +99,7 @@ targets: defines[platform:macos]: - APPLE_FRAMEWORK=ON - CPU_BASELINE=NATIVE - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 stag: kind: cmakeProject @@ -123,7 +123,7 @@ targets: # - CMAKE_INSTALL_FULL_LIBDIR=lib defines[platform:macos]: # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: stag: diff --git a/2/webview/chalet.yaml b/2/webview/chalet.yaml index f53a3954..da24ff8c 100644 --- a/2/webview/chalet.yaml +++ b/2/webview/chalet.yaml @@ -36,7 +36,7 @@ targets: # - CMAKE_INSTALL_FULL_LIBDIR=lib defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: chalet: diff --git a/2/wiiuse/chalet.yaml b/2/wiiuse/chalet.yaml index a5a37354..e10fa59d 100644 --- a/2/wiiuse/chalet.yaml +++ b/2/wiiuse/chalet.yaml @@ -25,7 +25,7 @@ targets: # - CMAKE_INSTALL_FULL_LIBDIR=lib defines[platform:macos]: # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # test: # kind: script # file: test.sh diff --git a/2/zlib/chalet.yaml b/2/zlib/chalet.yaml index 22a635d7..59ba4891 100644 --- a/2/zlib/chalet.yaml +++ b/2/zlib/chalet.yaml @@ -29,7 +29,7 @@ targets: - CMAKE_EXECUTABLE_SUFFIX=.js defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: zlib: diff --git a/assimp/chalet.yaml b/assimp/chalet.yaml index a6f76fcd..afb0e8b0 100644 --- a/assimp/chalet.yaml +++ b/assimp/chalet.yaml @@ -60,8 +60,8 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 - - DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 + - DEPLOYMENT_TARGET=10.15 # defines[toolchain:{aarch64-linux-gnu-gcc,arm-linux-gnueabihf-gcc}]: # defines[toolchain:arm-linux-gnueabihf-gcc]: diff --git a/blend2d/chalet.yaml b/blend2d/chalet.yaml index 3a738aea..daea84f7 100644 --- a/blend2d/chalet.yaml +++ b/blend2d/chalet.yaml @@ -29,7 +29,7 @@ targets: - BLEND2D_STATIC=ON - ASMJIT_DIR=${cwd}/${external:asmjit} defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/brotli/chalet.yaml b/brotli/chalet.yaml index 8ec9f492..6a8075b1 100644 --- a/brotli/chalet.yaml +++ b/brotli/chalet.yaml @@ -27,7 +27,7 @@ targets: # - BROTLI_BUNDLED_MODE=ON defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: brotli: diff --git a/cairo/chalet.yaml b/cairo/chalet.yaml index 16bc312d..04e4a718 100644 --- a/cairo/chalet.yaml +++ b/cairo/chalet.yaml @@ -55,8 +55,8 @@ targets: - pixman:vmx=disabled defines[platform:macos]: - - c_args=-mmacos-version-min=11.6 - - cpp_args=-mmacos-version-min=11.6 + - c_args=-mmacos-version-min=10.15 + - cpp_args=-mmacos-version-min=10.15 distribution: cairo: diff --git a/compile.sh b/compile.sh new file mode 100755 index 00000000..5bee6904 --- /dev/null +++ b/compile.sh @@ -0,0 +1,156 @@ +#!/bin/bash +cd "$(dirname "$0")" +set -eu + +# Utility to compile libraries locally (osx 10.15) + +COLOR='\033[0;32m' +COLOR2='\033[0;34m' +COLOR3='\033[0;95m' +NC='\033[0m' # No Color + +section() { + # printf "⚑️ ${COLOR}%s${NC}\n" "$*" + printf "${COLOR}%s${NC}\n" "$*" +} + +sectionOK() { + printf "πŸ’Ύ ${COLOR}%s${NC}\n" "$*" +} + +executa2() { + printf "βœ… ${COLOR2}%s${NC}\n" "$*" +} + +executa() { + printf "βœ… ${COLOR2}%s${NC}\n" "$*" + "$@" +} + +alert() { + printf "⚠️ ${COLOR2}%s${NC}\n" "$*" +} + +# Parse `-y` and `--yes` script args +YES_ARG=false +argi=0 +while (( argi <= $# )); do + case "${!argi}" in + -y|--yes) YES_ARG=true ;; + esac + ((argi++)) +done + +# Helper to prompt before continue (default to yes) +confirmYes() { + # Auto‑accept when invoked with `-y` or `--yes` + if $YES_ARG; then + [[ true ]] + else + # Userprompt + local prompt="$1" + read -r -p "$prompt [n/Y] " reply + [[ -z "$reply" || "$reply" =~ ^[Yy] ]] + fi +} + +# The libraries +LIBRARIES=( + "assimp" + "blend2d" + "brotli" + "cairo" + "cpp-httplib" + "fmt" + "freetype" + "glew" + "glfw" + "glm" + "json" + "kissfft" + "libusb" + #"mango" + #"mango2" + "opencv" + # "opencv-dnn" + "openssl-curl" + "pixman" + "poco" + "pugixml" + "rtAudio" + "tess2" + "uriparser" + "utfcpp" + # "videoInput" + "yaml-cpp" + "zlib-ng" + "zstd" +) + +# To enable a single lib +# LIBRARIES=( "openssl-curl" ) + +# tmp: to enable problematic libs on osx 10.15 +if false; then + LIBRARIES=( + "mango" + #error "MANGO requires C++20 or later." + "mango2" + #error "MANGO requires C++20 or later." + "opencv-dnn" + # ERROR: There was a problem resolving the included paths for the 'opencv-dnn' target. Check that they exist and glob patterns can be resolved. + # ERROR: chalet.yaml: Distribution target 'opencv-dnn' has an unsupported variable in: ${externalBuild:opencv-dnn}/install/include + # ERROR: chalet.yaml: External dependency 'opencv-dnn' does not exist. + "videoInput" + # FAILED: [code=1] CMakeFiles/videoInput.dir/videoInput.cpp.o + # /usr/bin/clang++ -I/ofLibs/videoInput/videoInput/. -O3 -DNDEBUG -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.15 -fPIC -MD -MT CMakeFiles/videoInput.dir/videoInput.cpp.o -MF CMakeFiles/videoInput.dir/videoInput.cpp.o.d -o CMakeFiles/videoInput.dir/videoInput.cpp.o -c /ofLibs/videoInput/videoInput/videoInput.cpp + # In file included from /ofLibs/videoInput/videoInput/videoInput.cpp:11: + # /ofLibs/videoInput/videoInput/./videoInput.h:56:10: fatal error: 'windows.h' file not found + # #include + ) +fi + +LIBRARIES_COUNT=${#LIBRARIES[@]} + +# HelloWorld +section "Welcome to the ofLibs compilation script" +echo " - There are $LIBRARIES_COUNT libraries." + +# Execute +if confirmYes " - Continue with compilation ?"; then + SUCCESS=0 + FAILURES=0 + + if [[ ${#LIBRARIES[@]} -gt 0 ]]; then + for LIBRARY_FOLDER in "${LIBRARIES[@]}"; do + section "Compiling ${LIBRARY_FOLDER}..." + cd ./${LIBRARY_FOLDER} + + skipped=0 + # Chalet project ? + if [[ -f "./chalet.yaml" ]]; then + chalet bundle + # Bash script ? + elif [[ -f "./$LIBRARY_FOLDER.sh" ]]; then + ./${LIBRARY_FOLDER}.sh + else + alert "Skipping compilation of ${LIBRARY_FOLDER}. It's not a chalet project neither a bash script." + skipped=1 + fi + + # Count failures + if [[ $? -eq 0 && skipped -eq 0 ]]; then + ((SUCCESS++)) + else + ((FAILURES++)) + fi + cd ../ + done + fi + + echo " " + sectionOK "Successfully compiled $SUCCESS/$LIBRARIES_COUNT libraries !" + [[ $FAILURES -gt 0 ]] && alert "${FAILURES} libraries failed to build!" +else + echo "Bye bye." +fi \ No newline at end of file diff --git a/cpp-httplib/chalet.yaml b/cpp-httplib/chalet.yaml index 4f8449bc..d9891453 100644 --- a/cpp-httplib/chalet.yaml +++ b/cpp-httplib/chalet.yaml @@ -22,7 +22,7 @@ targets: - CMAKE_INSTALL_INCLUDEDIR=include - CMAKE_INSTALL_LIBDIR=lib defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/fmt/chalet.yaml b/fmt/chalet.yaml index 03ffd928..5edf3981 100644 --- a/fmt/chalet.yaml +++ b/fmt/chalet.yaml @@ -22,7 +22,7 @@ targets: - CMAKE_INSTALL_INCLUDEDIR=include - CMAKE_INSTALL_LIBDIR=lib defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/freetype/chalet.yaml b/freetype/chalet.yaml index 0644720f..dcf5de6d 100644 --- a/freetype/chalet.yaml +++ b/freetype/chalet.yaml @@ -82,7 +82,7 @@ targets: # - ZLIB_INCLUDE_DIRS=${external:zlib} # - ZLIB_INCLUDE_DIR=${external:zlib} defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/glew/chalet.yaml b/glew/chalet.yaml index 89cefa64..35420172 100644 --- a/glew/chalet.yaml +++ b/glew/chalet.yaml @@ -23,7 +23,7 @@ targets: # - CMAKE_ARCHIVE_OUTPUT_DIRECTORY=lib defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 # FIXME: remove - only a test to see if it works as a parameter # defines[toolchain:aarch64-linux-gnu-gcc]: diff --git a/glfw/chalet.yaml b/glfw/chalet.yaml index 38de9846..b895c9d9 100644 --- a/glfw/chalet.yaml +++ b/glfw/chalet.yaml @@ -33,7 +33,7 @@ targets: - GLFW_BUILD_WAYLAND=ON defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[:web]: diff --git a/glm/chalet.yaml b/glm/chalet.yaml index 93644537..a504bb8e 100644 --- a/glm/chalet.yaml +++ b/glm/chalet.yaml @@ -37,7 +37,7 @@ targets: - GLM_ENABLE_SIMD_AVX2=OFF - CMAKE_CXX_FLAGS="-msimd128" defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[architecture:arm]: diff --git a/json/chalet.yaml b/json/chalet.yaml index 01766b26..f11a1bd7 100644 --- a/json/chalet.yaml +++ b/json/chalet.yaml @@ -21,7 +21,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: json: diff --git a/kissfft/chalet.yaml b/kissfft/chalet.yaml index dde94cb7..928c707d 100644 --- a/kissfft/chalet.yaml +++ b/kissfft/chalet.yaml @@ -27,7 +27,7 @@ targets: - KISSFFT_TOOLS=OFF - KISSFFT_TEST=OFF defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: diff --git a/libusb/chalet.yaml b/libusb/chalet.yaml index 9cc1fd54..6afa4200 100644 --- a/libusb/chalet.yaml +++ b/libusb/chalet.yaml @@ -25,7 +25,7 @@ targets: # - CMAKE_INSTALL_FULL_LIBDIR=lib defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: libusb: diff --git a/mango/chalet.yaml b/mango/chalet.yaml index a4967ad3..d7e45f51 100644 --- a/mango/chalet.yaml +++ b/mango/chalet.yaml @@ -87,7 +87,7 @@ targets: - CMAKE_EXECUTABLE_SUFFIX=.js defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=arm64;x86_64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # fmt: # kind: chaletProject @@ -110,7 +110,7 @@ targets: # - CMAKE_INSTALL_LIBDIR=lib # - CMAKE_INSTALL_LIBDIR=lib defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 zstd: @@ -132,7 +132,7 @@ targets: # - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[toolchain:msvc]: @@ -154,7 +154,7 @@ targets: - LZ4_BUILD_CLI=OFF defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 bzip2: @@ -178,7 +178,7 @@ targets: - CMAKE_INSTALL_LIBDIR=lib - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 deflate: @@ -202,7 +202,7 @@ targets: - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 lcms2: @@ -218,7 +218,7 @@ targets: - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded - BUILD_TESTS=OFF defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[toolchain:msvc]: @@ -238,8 +238,8 @@ targets: # # - prefix=${cwd}/${externalBuild:${name}}/install # defines[platform:macos]: - # - c_args=-mmacos-version-min=11.6 - # - cpp_args=-mmacos-version-min=11.6 + # - c_args=-mmacos-version-min=10.15 + # - cpp_args=-mmacos-version-min=10.15 # defines[toolchain:msvc]: # - b_vscrt=static_from_buildtype @@ -258,13 +258,14 @@ targets: - BUILD_SHARED_LIBS=OFF - BUILD_STATIC_LIBS=ON + - ENABLE_SSE4=ON # - BUILD_OPENGL=OFF - - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded - - LIBRARY_DISABLE=ON - - PKG_CONFIG_PATH=${cwd}/${externalBuild:lcms2}/install/lib/pkgconfig + - CMAKE_LIBRARY_PATH=${cwd}/${externalBuild:lcms2}/install/lib + - CMAKE_INCLUDE_PATH=${cwd}/${externalBuild:lcms2}/install/include + - CMAKE_PREFIX_PATH=${cwd}/${externalBuild:fmt}/install;${cwd}/${externalBuild:zlib-ng}/install;${cwd}/${externalBuild:lcms2}/install;${cwd}/${externalBuild:deflate}/install;${cwd}/${externalBuild:zstd}/install;${cwd}/${externalBuild:lz4}/install;${cwd}/${externalBuild:bzip2}/install # - LCMS2_ROOT=${cwd}/${externalBuild:lcms2}/install/opt/homebrew/ # - LCMS2_INCLUDE_DIRS=${cwd}/${externalBuild:lcms2}/install/include @@ -295,9 +296,6 @@ targets: # - BZIP2_LIBRARIES=${cwd}/${externalBuild:bzip2}/install/lib/${ar:bzip2} #${cwd}/{fmt};${cwd}/{zlib-ng-archive} - - CMAKE_LIBRARY_PATH=${cwd}/${externalBuild:lcms2}/install/lib - - CMAKE_INCLUDE_PATH=${cwd}/${externalBuild:lcms2}/install/include - - CMAKE_PREFIX_PATH=${cwd}/${externalBuild:fmt}/install;${cwd}/${externalBuild:zlib-ng}/install;${cwd}/${externalBuild:lcms2}/install;${cwd}/${externalBuild:deflate}/install;${cwd}/${externalBuild:zstd}/install;${cwd}/${externalBuild:lz4}/install;${cwd}/${externalBuild:bzip2}/install # ${cwd}/${external:zlib-ng-archive} # ${cwd}/${externalBuild:zlib-ng}/ext.zlib-ng/install; @@ -326,7 +324,7 @@ targets: defines[platform:macos]: # - CMAKE_PREFIX_PATH=${cwd}/${externalBuild:lcms2}/install/opt/homebrew;${cwd}/${externalBuild:deflate}/install;${cwd}/${externalBuild:fmt}/ext.fmt/install;${cwd}/${externalBuild:zlib-ng}/ext.zlib-ng/install;${cwd}/${externalBuild:zstd}/install;${cwd}/${externalBuild:lz4}/install;${cwd}/${externalBuild:bzip2}/install - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[toolchain:msvc]: # temporary, only to have a verbose output. diff --git a/mango2/chalet.yaml b/mango2/chalet.yaml index 45954421..f4fd5662 100644 --- a/mango2/chalet.yaml +++ b/mango2/chalet.yaml @@ -84,7 +84,7 @@ targets: - CMAKE_EXECUTABLE_SUFFIX=.js defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=arm64;x86_64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # fmt: # kind: chaletProject @@ -107,7 +107,7 @@ targets: # - CMAKE_INSTALL_LIBDIR=lib # - CMAKE_INSTALL_LIBDIR=lib defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 zstd: @@ -129,7 +129,7 @@ targets: # - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[toolchain:msvc]: @@ -151,7 +151,7 @@ targets: - LZ4_BUILD_CLI=OFF defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 bzip2: @@ -175,7 +175,7 @@ targets: - CMAKE_INSTALL_LIBDIR=lib - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 deflate: @@ -199,7 +199,7 @@ targets: - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 lcms2: @@ -216,8 +216,8 @@ targets: # - prefix=${cwd}/${externalBuild:${name}}/install defines[platform:macos]: - - c_args=-mmacos-version-min=11.6 - - cpp_args=-mmacos-version-min=11.6 + - c_args=-mmacos-version-min=10.15 + - cpp_args=-mmacos-version-min=10.15 defines[toolchain:msvc]: - b_vscrt=static_from_buildtype @@ -299,7 +299,7 @@ targets: defines[platform:macos]: # - CMAKE_PREFIX_PATH=${cwd}/${externalBuild:lcms2}/install/opt/homebrew;${cwd}/${externalBuild:deflate}/install;${cwd}/${externalBuild:fmt}/ext.fmt/install;${cwd}/${externalBuild:zlib-ng}/ext.zlib-ng/install;${cwd}/${externalBuild:zstd}/install;${cwd}/${externalBuild:lz4}/install;${cwd}/${externalBuild:bzip2}/install - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 defines[toolchain:msvc]: # temporary, only to have a verbose output. diff --git a/opencv-dnn/chalet.yaml b/opencv-dnn/chalet.yaml index ede7a0b1..ee11ee79 100644 --- a/opencv-dnn/chalet.yaml +++ b/opencv-dnn/chalet.yaml @@ -118,7 +118,7 @@ targets: defines[platform:macos]: - APPLE_FRAMEWORK=ON - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # Fixme: build separate archs then lipo them together # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - CMAKE_OSX_ARCHITECTURES=arm64 diff --git a/opencv/chalet.yaml b/opencv/chalet.yaml index 88e49073..a619389a 100644 --- a/opencv/chalet.yaml +++ b/opencv/chalet.yaml @@ -118,7 +118,7 @@ targets: defines[platform:macos]: - APPLE_FRAMEWORK=ON - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 # Fixme: build separate archs then lipo them together # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - CMAKE_OSX_ARCHITECTURES=arm64 diff --git a/openssl-curl/Build-OpenSSL-cURL/build.sh b/openssl-curl/Build-OpenSSL-cURL/build.sh index 0b20ef52..3d7a1d19 100755 --- a/openssl-curl/Build-OpenSSL-cURL/build.sh +++ b/openssl-curl/Build-OpenSSL-cURL/build.sh @@ -403,9 +403,39 @@ echo # create universal Mac binaries and run test echo -e "${bold}Archiving Mac binaries for curl and openssl...${dim}" echo " See $ARCHIVE/bin" -lipo -create -output $ARCHIVE/bin/curl /tmp/curl-x86_64 /tmp/curl-arm64 + +echo -e "${bold}Building Mac libraries${dim}" +if [[ -n "$MACOS_X86_64_VERSION" && "$MACOS_X86_64_VERSION" != "-1" ]]; then + buildMac "x86_64" +fi +if [[ -n "$MACOS_ARM64_VERSION" && "$MACOS_ARM64_VERSION" != "-1" ]]; then + buildMac "arm64" +fi +if [[ "$MACOS_ARM64_VERSION" == "-1" || "$MACOS_X86_64_VERSION" == "-1" ]]; then + # Note: either 1 or the other, otherwise arm get overwritten by intel + if [[ "$MACOS_ARM64_VERSION" != "-1" ]]; then + cp "/tmp/curl-arm64" Mac/lib/libcrypto.a + fi + if [[ "$MACOS_X86_64_VERSION" != "-1" ]]; then + cp "/tmp/curl-x86_64" Mac/lib/libcrypto.a + fi + # lipo -create -output $ARCHIVE/bin/curl /tmp/curl-x86_64 +else + lipo -create -output $ARCHIVE/bin/curl /tmp/curl-x86_64 /tmp/curl-arm64 +fi mv /tmp/curl-* $ARCHIVE/bin -lipo -create -output $ARCHIVE/bin/openssl /tmp/openssl-x86_64 /tmp/openssl-arm64 + +if [[ "$MACOS_ARM64_VERSION" == "-1" || "$MACOS_X86_64_VERSION" == "-1" ]]; then + # Note: either 1 or the other, otherwise arm get overwritten by intel + if [[ "$MACOS_ARM64_VERSION" != "-1" ]]; then + cp "$ARCHIVE/bin/openssl" /tmp/openssl-arm64 + fi + if [[ "$MACOS_X86_64_VERSION" != "-1" ]]; then + cp "$ARCHIVE/bin/openssl" /tmp/openssl-x86_64 + fi +else + lipo -create -output $ARCHIVE/bin/openssl /tmp/openssl-x86_64 /tmp/openssl-arm64 +fi mv /tmp/openssl-* $ARCHIVE/bin echo echo -e "${bold}Testing Universal Mac binaries for ${BUILD_MACHINE}...${dim}" diff --git a/openssl-curl/Build-OpenSSL-cURL/curl/libcurl-build.sh b/openssl-curl/Build-OpenSSL-cURL/curl/libcurl-build.sh index ed97b154..5ce6ef62 100755 --- a/openssl-curl/Build-OpenSSL-cURL/curl/libcurl-build.sh +++ b/openssl-curl/Build-OpenSSL-cURL/curl/libcurl-build.sh @@ -561,16 +561,31 @@ if [ ${FORCE_SSLV3} == 'yes' ]; then fi echo -e "${bold}Building Mac libraries${dim}" -buildMac "x86_64" -buildMac "arm64" +if [[ -n "$MACOS_X86_64_VERSION" && "$MACOS_X86_64_VERSION" != "-1" ]]; then + buildMac "x86_64" +fi +if [[ -n "$MACOS_ARM64_VERSION" && "$MACOS_ARM64_VERSION" != "-1" ]]; then + buildMac "arm64" +fi echo -e " ${dim}Copying headers" cp /tmp/${CURL_VERSION}-x86_64/include/curl/* include/curl/ -lipo \ - "/tmp/${CURL_VERSION}-x86_64/lib/libcurl.a" \ - "/tmp/${CURL_VERSION}-arm64/lib/libcurl.a" \ - -create -output lib/libcurl.a +if [[ "$MACOS_ARM64_VERSION" == "-1" || "$MACOS_X86_64_VERSION" == "-1" ]]; then + # Note: either 1 or the other, otherwise arm get overwritten by intel + if [[ "$MACOS_ARM64_VERSION" != "-1" ]]; then + cp "/tmp/${CURL_VERSION}-arm64/lib/libcurl.a" lib/libcurl.a + fi + if [[ "$MACOS_X86_64_VERSION" != "-1" ]]; then + cp "/tmp/${CURL_VERSION}-x86_64/lib/libcurl.a" lib/libcurl.a + fi +else + lipo \ + "/tmp/${CURL_VERSION}-x86_64/lib/libcurl.a" \ + "/tmp/${CURL_VERSION}-arm64/lib/libcurl.a" \ + -create -output lib/libcurl.a +fi + # if [ $catalyst == "1" ]; then # echo -e "${bold}Building Catalyst libraries${dim}" diff --git a/openssl-curl/Build-OpenSSL-cURL/openssl/openssl-build-phase1.sh b/openssl-curl/Build-OpenSSL-cURL/openssl/openssl-build-phase1.sh index b11d907f..7074bcb6 100755 --- a/openssl-curl/Build-OpenSSL-cURL/openssl/openssl-build-phase1.sh +++ b/openssl-curl/Build-OpenSSL-cURL/openssl/openssl-build-phase1.sh @@ -488,21 +488,47 @@ fi ## Mac echo -e "${bold}Building Mac libraries${dim}" -buildMac "x86_64" -buildMac "arm64" +if [[ -n "$MACOS_X86_64_VERSION" && "$MACOS_X86_64_VERSION" != "-1" ]]; then + buildMac "x86_64" +fi +if [[ -n "$MACOS_ARM64_VERSION" && "$MACOS_ARM64_VERSION" != "-1" ]]; then + buildMac "arm64" +fi echo -e " ${dim}Copying headers and libraries" cp /tmp/${OPENSSL_VERSION}-x86_64/include/openssl/* Mac/include/openssl/ -lipo \ - "/tmp/${OPENSSL_VERSION}-x86_64/lib/libcrypto.a" \ - "/tmp/${OPENSSL_VERSION}-arm64/lib/libcrypto.a" \ - -create -output Mac/lib/libcrypto.a +if [[ "$MACOS_ARM64_VERSION" == "-1" || "$MACOS_X86_64_VERSION" == "-1" ]]; then + # Note: either 1 or the other, otherwise arm get overwritten by intel + if [[ "$MACOS_ARM64_VERSION" != "-1" ]]; then + cp "/tmp/${OPENSSL_VERSION}-arm64/lib/libcrypto.a" Mac/lib/libcrypto.a + fi + if [[ "$MACOS_X86_64_VERSION" != "-1" ]]; then + cp "/tmp/${OPENSSL_VERSION}-x86_64/lib/libcrypto.a" Mac/lib/libcrypto.a + fi +else + lipo \ + "/tmp/${OPENSSL_VERSION}-x86_64/lib/libcrypto.a" \ + "/tmp/${OPENSSL_VERSION}-arm64/lib/libcrypto.a" \ + -create -output Mac/lib/libcrypto.a +fi + +if [[ "$MACOS_ARM64_VERSION" == "-1" || "$MACOS_X86_64_VERSION" == "-1" ]]; then + # Note: either 1 or the other, otherwise arm get overwritten by intel + if [[ "$MACOS_ARM64_VERSION" != "-1" ]]; then + cp "/tmp/${OPENSSL_VERSION}-arm64/lib/libssl.a" Mac/lib/libssl.a + fi + if [[ "$MACOS_X86_64_VERSION" != "-1" ]]; then + cp "/tmp/${OPENSSL_VERSION}-x86_64/lib/libssl.a" Mac/lib/libssl.a + fi +else + lipo \ + "/tmp/${OPENSSL_VERSION}-x86_64/lib/libssl.a" \ + "/tmp/${OPENSSL_VERSION}-arm64/lib/libssl.a" \ + -create -output Mac/lib/libssl.a +fi + -lipo \ - "/tmp/${OPENSSL_VERSION}-x86_64/lib/libssl.a" \ - "/tmp/${OPENSSL_VERSION}-arm64/lib/libssl.a" \ - -create -output Mac/lib/libssl.a ## Catalyst # if [ $catalyst == "1" ]; then diff --git a/openssl-curl/openssl-curl.sh b/openssl-curl/openssl-curl.sh index 666742f6..658563a1 100755 --- a/openssl-curl/openssl-curl.sh +++ b/openssl-curl/openssl-curl.sh @@ -4,25 +4,40 @@ set -e if [[ "$PWD" == "/Users/d/src/ofLibs/openssl-curl" ]]; then echo "Local developtment" PLATFORM=macos +else +# todo +PLATFORM=macos +fi + +if [[ -z "${PLATFORM}" ]]; then + echo "Error: This script requires a PLATFORM to run correctly ! Aborting." + exit 0; fi + cd "$(dirname "$0")" cd Build-OpenSSL-cURL # ./build.sh -o 3.0.15 -c 8.14.1 -d -i 11.0 -a 11.0 -./build.sh -o 3.5.2 -c 8.15.0 -d -i 11.6 -a 11.6 +# ./build.sh -o 3.5.2 -c 8.15.0 -d -i 10.15 -a 11.0 +./build.sh -o 3.5.2 -c 8.15.0 -d -i 10.15 -a -1 # mkdir dist +echo "[Packaging]" +echo "Gathering curl files..." cd .. mkdir -p curl cd curl cp -r ../Build-OpenSSL-cURL/curl/include . cp -r ../Build-OpenSSL-cURL/curl/lib . cp ../Build-OpenSSL-cURL/curl/curl*/COPYING . +echo "Copying libraries to lib/${PLATFORM}..." mkdir -p lib/${PLATFORM} mv lib/*.a lib/${PLATFORM} +echo "Compressing Release : ofLibs_curl_${PLATFORM}.zip" zip -r ../ofLibs_curl_${PLATFORM}.zip lib include cd .. +echo "Gathering openssl files..." mkdir -p openssl cd openssl cp -r ../Build-OpenSSL-cURL/openssl/Mac/include . @@ -34,8 +49,10 @@ cp -r ../Build-OpenSSL-cURL/openssl/Mac/lib . # cp ../Build-OpenSSL-cURL/openssl/openssl*/LICENSE.* . # exit 1 +echo "Copying libraries to lib/${PLATFORM}..." mkdir -p lib/${PLATFORM} mv lib/*.a lib/${PLATFORM} +echo "Compressing Release : ofLibs_openssl_${PLATFORM}.zip" zip -r ../ofLibs_openssl_${PLATFORM}.zip lib include cd .. diff --git a/pixman/chalet.yaml b/pixman/chalet.yaml index fd626dbc..5870641a 100644 --- a/pixman/chalet.yaml +++ b/pixman/chalet.yaml @@ -22,8 +22,8 @@ targets: - mmx=disabled - sse2=disabled defines[platform:macos]: - - c_args=-mmacos-version-min=11.6 - - cpp_args=-mmacos-version-min=11.6 + - c_args=-mmacos-version-min=10.15 + - cpp_args=-mmacos-version-min=10.15 # FIXME: Remove when this is closed https://github.com/chalet-org/chalet/issues/425 # defines[toolchain:{aarch64-linux-gnu-gcc,arm-linux-gnueabihf-gcc}]: diff --git a/pixman/pixman.sh b/pixman/pixman.sh index 597530a2..3c620e6d 100755 --- a/pixman/pixman.sh +++ b/pixman/pixman.sh @@ -3,12 +3,12 @@ cd "$(dirname "$0")" # pwd # # export -# export MACOSX_DEPLOYMENT_TARGET=11.6 +# export MACOSX_DEPLOYMENT_TARGET=10.15 unset MACOSX_DEPLOYMENT_TARGET -export MIN_SUPPORTED_MACOSX_DEPLOYMENT_TARGET=11.6 -export LDFLAGS='-mmacosx-version-min=11.6' -export CFLAGS='-stdlib=libc++ -mmacosx-version-min=11.6' -export CXXFLAGS='-stdlib=libc++ -mmacosx-version-min=11.6' +export MIN_SUPPORTED_MACOSX_DEPLOYMENT_TARGET=10.15 +export LDFLAGS='-mmacosx-version-min=10.15' +export CFLAGS='-stdlib=libc++ -mmacosx-version-min=10.15' +export CXXFLAGS='-stdlib=libc++ -mmacosx-version-min=10.15' git clone https://gitlab.freedesktop.org/pixman/pixman.git --depth 1 cd pixman diff --git a/poco/chalet.yaml b/poco/chalet.yaml index 60eaaf83..8067d906 100644 --- a/poco/chalet.yaml +++ b/poco/chalet.yaml @@ -57,7 +57,7 @@ targets: # - CMAKE_INSTALL_FULL_LIBDIR=lib # defines[platform:macos]: # - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - # - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + # - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: poco: diff --git a/pugixml/chalet.yaml b/pugixml/chalet.yaml index 70e8e149..573fc5f8 100644 --- a/pugixml/chalet.yaml +++ b/pugixml/chalet.yaml @@ -27,7 +27,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: pugixml: diff --git a/readme.md b/readme.md index 76ef5db0..69d71df8 100644 --- a/readme.md +++ b/readme.md @@ -32,7 +32,10 @@ You are welcome to jump in and help building and testing more libraries.
| opencv | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ofxOpenCv | | pixman | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ofxCairo | - +## Building +The github workflow actions automatically build the libraries individually when changes are made. You can grab them from the releases. +You can build the all libraries locally by running `./compile.sh`. +Or proceed manually by `cd libFolder` and or `./lib.sh`. ## ofCore ![title](https://github.com/dimitre/ofLibs/actions/workflows/freetype.yml/badge.svg) diff --git a/rtAudio/chalet.yaml b/rtAudio/chalet.yaml index 4a7938da..ec80d3b0 100644 --- a/rtAudio/chalet.yaml +++ b/rtAudio/chalet.yaml @@ -25,7 +25,7 @@ targets: - CMAKE_INSTALL_LIBDIR=lib defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 defines[:web]: - RTAUDIO_API_ALSA=OFF - RTAUDIO_API_PULSE=OFF diff --git a/tess2/chalet.yaml b/tess2/chalet.yaml index 6c4dec88..6300136b 100644 --- a/tess2/chalet.yaml +++ b/tess2/chalet.yaml @@ -29,7 +29,7 @@ targets: - BUILD_SHARED_LIBS=OFF defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: tess2: diff --git a/uriparser/chalet.yaml b/uriparser/chalet.yaml index 72c82dca..06464bac 100644 --- a/uriparser/chalet.yaml +++ b/uriparser/chalet.yaml @@ -45,7 +45,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: uriparser: diff --git a/utfcpp/chalet.yaml b/utfcpp/chalet.yaml index e891cfe6..a9e5dcb5 100644 --- a/utfcpp/chalet.yaml +++ b/utfcpp/chalet.yaml @@ -22,7 +22,7 @@ targets: defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: utfcpp: diff --git a/yaml-cpp/chalet.yaml b/yaml-cpp/chalet.yaml index 8260899d..1c619855 100644 --- a/yaml-cpp/chalet.yaml +++ b/yaml-cpp/chalet.yaml @@ -29,7 +29,7 @@ targets: # defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: yaml-cpp: diff --git a/zlib-ng/chalet.yaml b/zlib-ng/chalet.yaml index f784a57b..33b394bd 100644 --- a/zlib-ng/chalet.yaml +++ b/zlib-ng/chalet.yaml @@ -30,7 +30,7 @@ targets: - CMAKE_EXECUTABLE_SUFFIX=.js defines[platform:macos]: - CMAKE_OSX_ARCHITECTURES=arm64;x86_64 - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 distribution: zlib-ng: diff --git a/zstd/chalet.yaml b/zstd/chalet.yaml index 0551354f..71dc4359 100644 --- a/zstd/chalet.yaml +++ b/zstd/chalet.yaml @@ -30,7 +30,7 @@ targets: - CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded defines[platform:macos]: - - CMAKE_OSX_DEPLOYMENT_TARGET=11.6 + - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 - CMAKE_OSX_ARCHITECTURES=x86_64;arm64 distribution: