From 7a826bbe0a6b3350dcf7f7b88b8bde37721313c8 Mon Sep 17 00:00:00 2001 From: Marino von Wattenwyl Date: Mon, 12 Feb 2024 15:44:01 +0100 Subject: [PATCH 01/12] [CI] Unified build workflow names --- .github/workflows/build-arm64-macos.yml | 2 +- .github/workflows/build-x86_64-linux.yml | 2 +- .github/workflows/build-x86_64-macos.yml | 2 +- .github/workflows/build-x86_64-windows.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-arm64-macos.yml b/.github/workflows/build-arm64-macos.yml index 57a26e16..a27a94c5 100644 --- a/.github/workflows/build-arm64-macos.yml +++ b/.github/workflows/build-arm64-macos.yml @@ -1,4 +1,4 @@ -name: Build macOS-arm64 +name: Build macOS arm64 on: workflow_dispatch: diff --git a/.github/workflows/build-x86_64-linux.yml b/.github/workflows/build-x86_64-linux.yml index 869bf5c1..085a28df 100644 --- a/.github/workflows/build-x86_64-linux.yml +++ b/.github/workflows/build-x86_64-linux.yml @@ -1,4 +1,4 @@ -name: Build linux-x86 +name: Build Linux x86-64 on: workflow_dispatch: diff --git a/.github/workflows/build-x86_64-macos.yml b/.github/workflows/build-x86_64-macos.yml index 9c10ddcc..479db709 100644 --- a/.github/workflows/build-x86_64-macos.yml +++ b/.github/workflows/build-x86_64-macos.yml @@ -1,4 +1,4 @@ -name: Build macOS-x86 +name: Build macOS x86-64 on: workflow_dispatch: diff --git a/.github/workflows/build-x86_64-windows.yml b/.github/workflows/build-x86_64-windows.yml index a23e4c33..07d8e1c3 100644 --- a/.github/workflows/build-x86_64-windows.yml +++ b/.github/workflows/build-x86_64-windows.yml @@ -1,4 +1,4 @@ -name: Build Windows +name: Build Windows x86-64 on: workflow_dispatch: From b40d2722a2754686c2859f63e517c3b5650a6414 Mon Sep 17 00:00:00 2001 From: Marcus Hudritsch Date: Sat, 2 Mar 2024 17:24:14 +0100 Subject: [PATCH 02/12] Update SLPathtracer.cpp --- modules/sl/source/ray/SLPathtracer.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/sl/source/ray/SLPathtracer.cpp b/modules/sl/source/ray/SLPathtracer.cpp index d305941a..8d0bd468 100644 --- a/modules/sl/source/ray/SLPathtracer.cpp +++ b/modules/sl/source/ray/SLPathtracer.cpp @@ -194,7 +194,7 @@ SLCol4f SLPathtracer::trace(SLRay* ray, SLbool em) SLCol4f finalColor(ray->backgroundColor); // Participating Media init - SLfloat absorbtion = 1.0f; // used to calculate absorbtion along the ray + SLfloat absorption = 1.0f; // used to calculate absorption along the ray SLfloat scaleBy = 1.0f; // used to scale surface reflectance at the end of random walk // Intersect scene @@ -226,13 +226,13 @@ SLCol4f SLPathtracer::trace(SLRay* ray, SLbool em) if (maxEmission > 0) { if (ray->depth == 1) - return mat->emissive() * absorbtion; + return mat->emissive() * absorption; else - return mat->emissive() * absorbtion * em; + return mat->emissive() * absorption * em; } - // add absorbtion to base color from Participating Media - objectColor = objectColor * absorbtion; + // add absorption to base color from Participating Media + objectColor = objectColor * absorption; // diffuse reflection if (ray->hitMatIsDiffuse()) From 2d7784b9132474cc1dee0266f4a0c80fde7443bd Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 18 Mar 2024 12:32:36 +0100 Subject: [PATCH 03/12] Update to openssl 3.2.1 --- .github/workflows/build-dep-openssl.yml | 4 +- .../android/app/build.gradle | 8 ++-- .../build_openssl_for_andV8.sh | 46 ++++++++----------- .../build_openssl_for_linux.sh | 31 +++++-------- .../build_openssl_for_mac64_and_iosV8.sh | 4 +- .../build_openssl_for_win64.bat | 33 ++++++++----- 6 files changed, 59 insertions(+), 67 deletions(-) diff --git a/.github/workflows/build-dep-openssl.yml b/.github/workflows/build-dep-openssl.yml index 4fd624b1..999093f0 100644 --- a/.github/workflows/build-dep-openssl.yml +++ b/.github/workflows/build-dep-openssl.yml @@ -64,10 +64,10 @@ jobs: uses: actions/upload-artifact@v3 with: name: prebuilt-openssl-mac64 - path: ${{ github.workspace }}/externals/prebuilt/mac64_openssl_1.1.1g + path: ${{ github.workspace }}/externals/prebuilt/mac64_openssl_3.2.1 - name: Archive prebuilt openssl ios uses: actions/upload-artifact@v3 with: name: prebuilt-openssl-ios - path: ${{ github.workspace }}/externals/prebuilt/iosV8_openssl_1.1.1g + path: ${{ github.workspace }}/externals/prebuilt/iosV8_openssl_3.2.1 diff --git a/apps/app_demo_slproject/android/app/build.gradle b/apps/app_demo_slproject/android/app/build.gradle index a3faacfa..b5bda59e 100644 --- a/apps/app_demo_slproject/android/app/build.gradle +++ b/apps/app_demo_slproject/android/app/build.gradle @@ -3,10 +3,10 @@ apply plugin: 'com.android.application' android { signingConfigs { release { - keyAlias 'cpvrlab' - keyPassword '?' // Change to your key password - storeFile file('../cpvrlab-release-key') - storePassword '?' // Change to your store password + keyAlias 'slproject-release-key' + keyPassword '' // Change to your key password + storeFile file('../slproject-release-key') + storePassword '' // Change to your store password } } compileSdkVersion 29 diff --git a/externals/prebuild_scripts/build_openssl_for_andV8.sh b/externals/prebuild_scripts/build_openssl_for_andV8.sh index a0f201d2..afded68e 100755 --- a/externals/prebuild_scripts/build_openssl_for_andV8.sh +++ b/externals/prebuild_scripts/build_openssl_for_andV8.sh @@ -7,18 +7,22 @@ # the variable TOOLCHAIN (search below). E.g. on macos it is # $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin -openssl_VERSION="OpenSSL_1_1_1h" +ANDROID_NDK_VERSION="r20b" + +openssl_VERSION="3.2.1" if [ -n "$1" ] then openssl_VERSION="$1" fi - -if [ "$ANDROID_NDK_HOME" == "" ] +WORK_PATH=$(cd "$(dirname "$0")";pwd) +if [ ! -d android-ndk-r20b ] then - echo "android ndk home not defined" - echo "export ANDROID_NDK_HOME=/path/Android/ndk-bundle/" - exit + wget https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip + unzip android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip fi +export ANDROID_NDK_HOME="android-ndk-r20b" +export ANDROID_NDK_PATH=${WORK_PATH}/${ANDROID_NDK_HOME} +export ANDROID_NDK_ROOT=${ANDROID_NDK_PATH} ARCH=andV8 ZIPFILE=${ARCH}_openssl @@ -26,29 +30,15 @@ ZIPFILE=${ARCH}_openssl clear echo "Building openssl Version: $openssl_VERSION" -if [ ! -d "openssl/.git" ]; then - git clone https://github.com/openssl/openssl.git -fi - -# Get all assimp tags and check if the requested exists -cd openssl -git tag > openssl_tags.txt - -if grep -Fx "$openssl_VERSION" openssl_tags.txt > /dev/null; then - git checkout $openssl_VERSION - git pull origin $openssl_VERSION -else - echo "No valid openssl tag passed as 1st parameter !!!!!" - exit +if [ ! -d "openssl-${openssl_VERSION}" ]; then + wget https://www.openssl.org/source/openssl-${openssl_VERSION}.tar.gz + tar -zxf openssl-${openssl_VERSION}.tar.gz fi -ls - +cd openssl-${openssl_VERSION} -export CC=clang -export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin +export PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin:$PATH export API=21 -export PATH=$TOOLCHAIN:$PATH architecture=android-arm64 export PREFIX=$(pwd)/../$ZIPFILE @@ -70,10 +60,10 @@ make install cd .. -if [ -d "../prebuilt/${ARCH}_openssl" ] +if [ -d "../prebuilt/${ARCH}_openssl-${openssl_VERSION}" ] then - rm -rf ../prebuilt/${ARCH}_openssl + rm -rf ../prebuilt/${ARCH}_openssl-${openssl_VERSION} fi -mv ${ZIPFILE} ../prebuilt/${ARCH}_openssl/ +mv ${ZIPFILE} ../prebuilt/${ARCH}_openssl-${openssl_VERSION}/ diff --git a/externals/prebuild_scripts/build_openssl_for_linux.sh b/externals/prebuild_scripts/build_openssl_for_linux.sh index 6e29d17e..45a88318 100755 --- a/externals/prebuild_scripts/build_openssl_for_linux.sh +++ b/externals/prebuild_scripts/build_openssl_for_linux.sh @@ -5,37 +5,26 @@ # #################################################### -VERSION="1.1.1h" -openssl_VERSION="OpenSSL_1_1_1h" +VERSION="3.2.1" #if [ -n "$1" ] #then -# openssl_VERSION="$1" +# VERSION="$1" #fi ARCH=linux ZIPFILE=${ARCH}_openssl_${VERSION} clear -echo "Building openssl Version: $openssl_VERSION" +echo "Building openssl Version: $VERSION" -if [ ! -d "openssl/.git" ]; then - git clone https://github.com/openssl/openssl.git +if [ ! -d "openssl-${VERSION}" ]; then + wget https://www.openssl.org/source/openssl-${VERSION}.tar.gz + tar -zxf openssl-${VERSION}.tar.gz fi -# Get all assimp tags and check if the requested exists -cd openssl -git tag > openssl_tags.txt +cd "openssl-${VERSION}" -if grep -Fx "$openssl_VERSION" openssl_tags.txt > /dev/null; then - git checkout $openssl_VERSION - git pull origin $openssl_VERSION -else - echo "No valid openssl tag passed as 1st parameter !!!!!" - exit -fi - - -export CC=clang +#export CC=clang export PREFIX=$(pwd)/../$ZIPFILE if [ ! -d "$PREFIX" ] @@ -43,7 +32,9 @@ then mkdir $PREFIX fi -./config --prefix=$PREFIX --openssldir=$PREFIX +#./config --prefix=$PREFIX --openssldir=$PREFIX + +./Configure ${x86_64} --prefix=$PREFIX --openssldir=$PREFIX if [ $? -ne 0 ] then diff --git a/externals/prebuild_scripts/build_openssl_for_mac64_and_iosV8.sh b/externals/prebuild_scripts/build_openssl_for_mac64_and_iosV8.sh index 8a790fc9..81399ee1 100755 --- a/externals/prebuild_scripts/build_openssl_for_mac64_and_iosV8.sh +++ b/externals/prebuild_scripts/build_openssl_for_mac64_and_iosV8.sh @@ -10,7 +10,8 @@ echo "============================================================" git clone https://github.com/jasonacox/Build-OpenSSL-cURL.git -OPENSSL_VER=1.1.1g +#OPENSSL_VER=1.1.1g +OPENSSL_VER=3.2.1 OUTDIR_MAC=mac64_openssl_"$OPENSSL_VER" OUTDIR_IOS=iosV8_openssl_"$OPENSSL_VER" BUILDDIR=Build-OpenSSL-cURL @@ -35,3 +36,4 @@ cp -R ../prebuild_scripts/$BUILDDIR/openssl/iOS/include $OUTDIR_IOS/include cp -R ../prebuild_scripts/$BUILDDIR/openssl/iOS/lib $OUTDIR_IOS/release cp ../prebuild_scripts/$BUILDDIR/LICENSE $OUTDIR_MAC/ cp ../prebuild_scripts/$BUILDDIR/LICENSE $OUTDIR_IOS/ + diff --git a/externals/prebuild_scripts/build_openssl_for_win64.bat b/externals/prebuild_scripts/build_openssl_for_win64.bat index c8fc1fda..19e7c3fb 100644 --- a/externals/prebuild_scripts/build_openssl_for_win64.bat +++ b/externals/prebuild_scripts/build_openssl_for_win64.bat @@ -5,10 +5,12 @@ @echo off -set OPENSSL_VERSION="OpenSSL_1_1_1h" +::set OPENSSL_VERSION="OpenSSL_3_2_1" +set VERSION="3.2.1" if "%1" == "" ( - set OPENSSL_VERSION="%1" + set VERSION="%1" + ::set OPENSSL_VERSION="%1" ) :: To enable downloading prebuilds copy @@ -17,21 +19,28 @@ set MAX_NUM_CPU_CORES=6 set SLPROJECT_ROOT=%2 set PREFIX=%cd%\..\prebuilt\win64_openssl -echo Building OpenSSL Version: %OPENSSL_VERSION% +::echo Building OpenSSL Version: %OPENSSL_VERSION% +echo Building OpenSSL Version: %VERSION% echo Installation directory: %PREFIX% echo Using %MAX_NUM_CPU_CORES% cpu cores for build. ::-----------------------------------------------------------------:: -if not exist openssl ( - git clone https://github.com/openssl/openssl.git -) else ( - echo openssl already exists -) -cd openssl -git checkout %OPENSSL_VERSION% -git pull origin %OPENSSL_VERSION% +::if not exist openssl ( +:: git clone https://github.com/openssl/openssl.git +::) else ( +:: echo openssl already exists +::) +::cd openssl +::git checkout %OPENSSL_VERSION% +::git pull origin %OPENSSL_VERSION% +:: +::perl Configure VC-WIN64A --prefix=%PREFIX% --openssldir=%PREFIX% + +if [ ! -d "openssl-${VERSION}" ]; then + curl https://www.openssl.org/source/openssl-${VERSION}.tar.gz + tar -zxf openssl-${VERSION}.tar.gz +fi -perl Configure VC-WIN64A --prefix=%PREFIX% --openssldir=%PREFIX% nmake clean nmake From 59427def26f94d35ea895ef56a824ae9860abb80 Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 18 Mar 2024 12:43:45 +0100 Subject: [PATCH 04/12] fix error while updating to 3.2.1 --- .github/workflows/build-dep-openssl.yml | 3 +- .../build_openssl_for_win64.bat | 36 ++++++++----------- 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build-dep-openssl.yml b/.github/workflows/build-dep-openssl.yml index 999093f0..4da53b60 100644 --- a/.github/workflows/build-dep-openssl.yml +++ b/.github/workflows/build-dep-openssl.yml @@ -51,7 +51,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: prebuilt-openssl-linux - path: ${{ github.workspace }}/externals/prebuilt/linux_openssl_1.1.1h + path: ${{ github.workspace }}/externals/prebuilt/linux_openssl_3.2.1 build-macos: runs-on: macos-13 steps: @@ -71,3 +71,4 @@ jobs: with: name: prebuilt-openssl-ios path: ${{ github.workspace }}/externals/prebuilt/iosV8_openssl_3.2.1 + diff --git a/externals/prebuild_scripts/build_openssl_for_win64.bat b/externals/prebuild_scripts/build_openssl_for_win64.bat index 19e7c3fb..b2cce868 100644 --- a/externals/prebuild_scripts/build_openssl_for_win64.bat +++ b/externals/prebuild_scripts/build_openssl_for_win64.bat @@ -5,12 +5,11 @@ @echo off -::set OPENSSL_VERSION="OpenSSL_3_2_1" -set VERSION="3.2.1" +set OPENSSL_VERSION="openssl-3.2.1" +::set VERSION="3.2.1" if "%1" == "" ( - set VERSION="%1" - ::set OPENSSL_VERSION="%1" + set OPENSSL_VERSION="%1" ) :: To enable downloading prebuilds copy @@ -19,28 +18,21 @@ set MAX_NUM_CPU_CORES=6 set SLPROJECT_ROOT=%2 set PREFIX=%cd%\..\prebuilt\win64_openssl -::echo Building OpenSSL Version: %OPENSSL_VERSION% -echo Building OpenSSL Version: %VERSION% +echo Building OpenSSL Version: %OPENSSL_VERSION% echo Installation directory: %PREFIX% echo Using %MAX_NUM_CPU_CORES% cpu cores for build. -::-----------------------------------------------------------------:: -::if not exist openssl ( -:: git clone https://github.com/openssl/openssl.git -::) else ( -:: echo openssl already exists -::) -::cd openssl -::git checkout %OPENSSL_VERSION% -::git pull origin %OPENSSL_VERSION% -:: -::perl Configure VC-WIN64A --prefix=%PREFIX% --openssldir=%PREFIX% - -if [ ! -d "openssl-${VERSION}" ]; then - curl https://www.openssl.org/source/openssl-${VERSION}.tar.gz - tar -zxf openssl-${VERSION}.tar.gz -fi +-----------------------------------------------------------------:: +if not exist openssl ( + git clone https://github.com/openssl/openssl.git +) else ( + echo openssl already exists +) +cd openssl +git checkout %OPENSSL_VERSION% +git pull origin %OPENSSL_VERSION% +perl Configure VC-WIN64A --prefix=%PREFIX% --openssldir=%PREFIX% nmake clean nmake From 16c04101d306e0b1534a10bc083ac02e6853c92f Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 13 May 2024 16:13:14 +0200 Subject: [PATCH 05/12] test build openssl for android --- .../workflows/build-dep-openssl-android.yml | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/build-dep-openssl-android.yml diff --git a/.github/workflows/build-dep-openssl-android.yml b/.github/workflows/build-dep-openssl-android.yml new file mode 100644 index 00000000..a24688a9 --- /dev/null +++ b/.github/workflows/build-dep-openssl-android.yml @@ -0,0 +1,71 @@ +#This is a basic workflow to help you get started with Actions + +name: Compile arm64-v8a + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: [ master ] + +env: + ANDROID_ABI: arm64-v8a + OPENSSL_VERSION: 3.2.1 + ANDROID_NDK_VERSION: r26d + WORK_PATH: /home/runner/work/openssl_for_android/openssl_for_android + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + Compile_OpenSSL_for_Android_arm64-v8a: + name: Compile arm64-v8a + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $env.WORK_PATH, so your job can access it + - uses: actions/checkout@main + + - name: Install aria2 + run: | + sudo apt -yqq update + sudo apt install -yqq aria2 + + - name: Download Android NDK + id: download_ndk + run: | + aria2c https://dl.google.com/android/repository/android-ndk-${{env.ANDROID_NDK_VERSION}}-linux.zip + unzip android-ndk-${{env.ANDROID_NDK_VERSION}}-linux-x86_64.zip + echo "::set-output name=status::success" + + - name: Download OpenSSL + id: download_openssl + run: | + aria2c https://www.openssl.org/source/openssl-${{env.OPENSSL_VERSION}}.tar.gz + tar -zxvf openssl-${{env.OPENSSL_VERSION}}.tar.gz + echo "::set-output name=status::success" + + - name: Compile + id: compile + if: steps.download_ndk.outputs.status == 'success' && steps.download_openssl.outputs.status == 'success' && !cancelled() + run: | + mkdir build + bash ./openssl_build_${{env.ANDROID_ABI}}.sh + echo "::set-output name=status::success" + + - name: Generate release tag + id: tag + run: | + tar -zcvf OpenSSL_${{env.OPENSSL_VERSION}}_${{env.ANDROID_ABI}}.tar.gz openssl_${{env.OPENSSL_VERSION}}_${{env.ANDROID_ABI}} + echo "::set-output name=release_tag::${{env.OPENSSL_VERSION}}" + echo "::set-output name=status::success" + + - name: Upload firmware to release + if: steps.tag.outputs.status == 'success' && !cancelled() + uses: softprops/action-gh-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ steps.tag.outputs.release_tag }} + files: ${{env.WORK_PATH}}/OpenSSL_${{env.OPENSSL_VERSION}}_${{env.ANDROID_ABI}}.tar.gz% From 98af69db3ac1878b5d959ef9dc6541f5803bb17f Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 13 May 2024 17:10:22 +0200 Subject: [PATCH 06/12] add android build for assimp --- .github/workflows/build-dep-assimp.yml | 10 +++++++++ .../build_assimp_for_andV8.sh | 21 ++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-dep-assimp.yml b/.github/workflows/build-dep-assimp.yml index b0d4f388..9321744f 100644 --- a/.github/workflows/build-dep-assimp.yml +++ b/.github/workflows/build-dep-assimp.yml @@ -21,3 +21,13 @@ jobs: path: ${{ github.workspace }}/externals/prebuilt/linux_assimp_v5.4.0 + - name: Run andv8 build script + working-directory: ${{ github.workspace }}/externals/prebuild_scripts/ + run: ./build_assimp_for_andV8.sh v5.4.0 + + - name: Archive prebuilt assimp + uses: actions/upload-artifact@v3 + with: + name: prebuilt-assimp-android + path: ${{ github.workspace }}/externals/prebuilt/andV8_assimp_v5.4.0 + diff --git a/externals/prebuild_scripts/build_assimp_for_andV8.sh b/externals/prebuild_scripts/build_assimp_for_andV8.sh index 7b36e80d..7e0f24af 100755 --- a/externals/prebuild_scripts/build_assimp_for_andV8.sh +++ b/externals/prebuild_scripts/build_assimp_for_andV8.sh @@ -10,7 +10,12 @@ ZIPFILE="$ARCH"_assimp_"$assimp_VERSION" ZIPFOLDER=$ZIPFILE BUILD_D="$ARCH"_debug_"$assimp_VERSION" BUILD_R="$ARCH"_release_"$assimp_VERSION" -NDK_VERSION="26.2.11394342" +#ANDROID_NDK_VERSION="26.2.11394342" +ANDROID_NDK_VERSION="r26d" +WORK_PATH=$(cd "$(dirname "$0")";pwd) +export ANDROID_NDK_HOME="android-ndk-$ANDROID_NDK_VERSION" +export ANDROID_NDK_PATH=${WORK_PATH}/${ANDROID_NDK_HOME} +export ANDROID_NDK_ROOT=${ANDROID_NDK_PATH} clear echo "Building assimp Version: $assimp_VERSION" @@ -20,6 +25,14 @@ if [ "$#" -lt 1 ]; then exit fi + +if [ ! -d $ANDROID_NDK_HOME ] +then + wget https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux.zip + unzip android-ndk-${ANDROID_NDK_VERSION}-linux.zip +fi + + # Cloning assimp if [ ! -d "assimp/.git" ]; then git clone https://github.com/assimp/assimp @@ -37,6 +50,8 @@ else exit fi +export PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin:$PATH + # Make build folder for debug version rm -rf $BUILD_D mkdir $BUILD_D @@ -45,7 +60,7 @@ cd $BUILD_D # Run cmake to configure and generate the make files cmake \ - -DCMAKE_TOOLCHAIN_FILE=~/Android/Sdk/ndk/$NDK_VERSION/build/cmake/android.toolchain.cmake \ + -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake \ -DANDROID_ABI=arm64-v8a \ -DANDROID_PLATFORM=android-N \ -DCMAKE_INSTALL_PREFIX=install \ @@ -68,7 +83,7 @@ cd $BUILD_R # Run cmake to configure and generate the make files cmake \ - -DCMAKE_TOOLCHAIN_FILE=~/Android/Sdk/ndk/$NDK_VERSION/build/cmake/android.toolchain.cmake \ + -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake \ -DANDROID_ABI=arm64-v8a \ -DANDROID_PLATFORM=android-N \ -DCMAKE_INSTALL_PREFIX=install \ From 686335beb64f9c54e9461e53a768497834456bcc Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 13 May 2024 17:50:37 +0200 Subject: [PATCH 07/12] add build openssl for android --- .../workflows/build-dep-openssl-android.yml | 71 ------------------- .github/workflows/build-dep-openssl.yml | 12 +++- 2 files changed, 11 insertions(+), 72 deletions(-) delete mode 100644 .github/workflows/build-dep-openssl-android.yml diff --git a/.github/workflows/build-dep-openssl-android.yml b/.github/workflows/build-dep-openssl-android.yml deleted file mode 100644 index a24688a9..00000000 --- a/.github/workflows/build-dep-openssl-android.yml +++ /dev/null @@ -1,71 +0,0 @@ -#This is a basic workflow to help you get started with Actions - -name: Compile arm64-v8a - -# Controls when the action will run. -on: - # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: [ master ] - -env: - ANDROID_ABI: arm64-v8a - OPENSSL_VERSION: 3.2.1 - ANDROID_NDK_VERSION: r26d - WORK_PATH: /home/runner/work/openssl_for_android/openssl_for_android - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - Compile_OpenSSL_for_Android_arm64-v8a: - name: Compile arm64-v8a - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $env.WORK_PATH, so your job can access it - - uses: actions/checkout@main - - - name: Install aria2 - run: | - sudo apt -yqq update - sudo apt install -yqq aria2 - - - name: Download Android NDK - id: download_ndk - run: | - aria2c https://dl.google.com/android/repository/android-ndk-${{env.ANDROID_NDK_VERSION}}-linux.zip - unzip android-ndk-${{env.ANDROID_NDK_VERSION}}-linux-x86_64.zip - echo "::set-output name=status::success" - - - name: Download OpenSSL - id: download_openssl - run: | - aria2c https://www.openssl.org/source/openssl-${{env.OPENSSL_VERSION}}.tar.gz - tar -zxvf openssl-${{env.OPENSSL_VERSION}}.tar.gz - echo "::set-output name=status::success" - - - name: Compile - id: compile - if: steps.download_ndk.outputs.status == 'success' && steps.download_openssl.outputs.status == 'success' && !cancelled() - run: | - mkdir build - bash ./openssl_build_${{env.ANDROID_ABI}}.sh - echo "::set-output name=status::success" - - - name: Generate release tag - id: tag - run: | - tar -zcvf OpenSSL_${{env.OPENSSL_VERSION}}_${{env.ANDROID_ABI}}.tar.gz openssl_${{env.OPENSSL_VERSION}}_${{env.ANDROID_ABI}} - echo "::set-output name=release_tag::${{env.OPENSSL_VERSION}}" - echo "::set-output name=status::success" - - - name: Upload firmware to release - if: steps.tag.outputs.status == 'success' && !cancelled() - uses: softprops/action-gh-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.tag.outputs.release_tag }} - files: ${{env.WORK_PATH}}/OpenSSL_${{env.OPENSSL_VERSION}}_${{env.ANDROID_ABI}}.tar.gz% diff --git a/.github/workflows/build-dep-openssl.yml b/.github/workflows/build-dep-openssl.yml index 03a99350..36e95a43 100644 --- a/.github/workflows/build-dep-openssl.yml +++ b/.github/workflows/build-dep-openssl.yml @@ -35,7 +35,7 @@ jobs: name: prebuilt-openssl-windows path: ${{ github.workspace }}/externals/prebuilt/win64_openssl - build-linux: + build-linux-and-android: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 @@ -49,6 +49,16 @@ jobs: with: name: prebuilt-openssl-linux path: ${{ github.workspace }}/externals/prebuilt/linux_openssl_3.2.1 + + - name: Run android build script + working-directory: ${{ github.workspace }}/externals/prebuild_scripts/ + run: ./build_openssl_for_andV8.sh + + - name: Archive prebuilt andv8 + uses: actions/upload-artifact@v3 + with: + name: prebuilt-openssl-andv8 + path: ${{ github.workspace }}/externals/prebuilt/andv8_openssl_3.2.1 build-macos: runs-on: macos-13 steps: From 6cb239c5e34f156bc1bad07e1530aee83b97e4fc Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 13 May 2024 18:36:36 +0200 Subject: [PATCH 08/12] make openssl for android separately to avoid segfault --- .github/workflows/build-dep-openssl.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-dep-openssl.yml b/.github/workflows/build-dep-openssl.yml index 36e95a43..37e13c23 100644 --- a/.github/workflows/build-dep-openssl.yml +++ b/.github/workflows/build-dep-openssl.yml @@ -35,7 +35,7 @@ jobs: name: prebuilt-openssl-windows path: ${{ github.workspace }}/externals/prebuilt/win64_openssl - build-linux-and-android: + build-linux: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 @@ -50,15 +50,18 @@ jobs: name: prebuilt-openssl-linux path: ${{ github.workspace }}/externals/prebuilt/linux_openssl_3.2.1 + build-android: + runs-on: ubuntu-22.04 + steps: - name: Run android build script working-directory: ${{ github.workspace }}/externals/prebuild_scripts/ run: ./build_openssl_for_andV8.sh - - name: Archive prebuilt andv8 + - name: Archive prebuilt andV8 uses: actions/upload-artifact@v3 with: - name: prebuilt-openssl-andv8 - path: ${{ github.workspace }}/externals/prebuilt/andv8_openssl_3.2.1 + name: prebuilt-openssl-andV8 + path: ${{ github.workspace }}/externals/prebuilt/andV8_openssl_3.2.1 build-macos: runs-on: macos-13 steps: From e5465e1ca82333cac973cee3dd1635c615bcdbf8 Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 13 May 2024 18:46:15 +0200 Subject: [PATCH 09/12] fix last change --- .github/workflows/build-dep-openssl.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-dep-openssl.yml b/.github/workflows/build-dep-openssl.yml index 37e13c23..f05ec0e2 100644 --- a/.github/workflows/build-dep-openssl.yml +++ b/.github/workflows/build-dep-openssl.yml @@ -53,6 +53,8 @@ jobs: build-android: runs-on: ubuntu-22.04 steps: + - uses: actions/checkout@v3 + - name: Run android build script working-directory: ${{ github.workspace }}/externals/prebuild_scripts/ run: ./build_openssl_for_andV8.sh @@ -61,7 +63,8 @@ jobs: uses: actions/upload-artifact@v3 with: name: prebuilt-openssl-andV8 - path: ${{ github.workspace }}/externals/prebuilt/andV8_openssl_3.2.1 + path: ${{ github.workspace }}/externals/prebuilt/andv8_openssl_3.2.1 + build-macos: runs-on: macos-13 steps: From d00d90e5a1d8affe15cb45694fe13f01396702cc Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 13 May 2024 18:58:29 +0200 Subject: [PATCH 10/12] fix output dir name for archive in build openssl for android --- .github/workflows/build-dep-openssl.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-dep-openssl.yml b/.github/workflows/build-dep-openssl.yml index f05ec0e2..ebae8839 100644 --- a/.github/workflows/build-dep-openssl.yml +++ b/.github/workflows/build-dep-openssl.yml @@ -63,7 +63,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: prebuilt-openssl-andV8 - path: ${{ github.workspace }}/externals/prebuilt/andv8_openssl_3.2.1 + path: ${{ github.workspace }}/externals/prebuilt/andV8_openssl_3.2.1 build-macos: runs-on: macos-13 From 6921796a5d53bf94cee341ce0eb9a30ea9d2e022 Mon Sep 17 00:00:00 2001 From: luc Date: Mon, 13 May 2024 19:05:50 +0200 Subject: [PATCH 11/12] small fix --- modules/sl/source/node/SLLight.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/sl/source/node/SLLight.cpp b/modules/sl/source/node/SLLight.cpp index c412f0cd..9a5b777a 100644 --- a/modules/sl/source/node/SLLight.cpp +++ b/modules/sl/source/node/SLLight.cpp @@ -48,6 +48,12 @@ SLLight::SLLight(SLfloat ambiPower, // 1 // attenuation = ------------------ // kc + kl*d + kq*d*d + + // init values to avoid used of uninitialized values + _kc=1.0f; + _kl=0.0f; + _kq=0.0f; + kc(1.0f); kl(0.0f); kq(0.0f); From 052c00595cc522cacb4067ee7484f4f44012c568 Mon Sep 17 00:00:00 2001 From: Marcus Hudritsch Date: Mon, 20 May 2024 20:31:47 +0200 Subject: [PATCH 12/12] Create collect_dependencies_for_opencv_macArm64.sh --- ...ollect_dependencies_for_opencv_macArm64.sh | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100755 externals/prebuild_scripts/collect_dependencies_for_opencv_macArm64.sh diff --git a/externals/prebuild_scripts/collect_dependencies_for_opencv_macArm64.sh b/externals/prebuild_scripts/collect_dependencies_for_opencv_macArm64.sh new file mode 100755 index 00000000..5afd8c13 --- /dev/null +++ b/externals/prebuild_scripts/collect_dependencies_for_opencv_macArm64.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +# ########################################################## +# Collect OpenCV Dependencies for MacArm64 +# ########################################################## + +CV_VERSION="4.7.0" +ARCH="macArm64" +CONFIG="release" +DEST_DIR="3rdParty" +ZIPFOLDER=build/"$ARCH"_opencv_"$CV_VERSION" +OPENCV_LIB_DIR="$ZIPFOLDER"/"$CONFIG" + +echo "=================================================================" +echo "Collect OpenCV Dependencies for: $CV_VERSION for architecture: $ARCH" +echo "=================================================================" + +cd opencv + +if [ ! -d "build" ]; then + echo "No build inside OpenCV folder" + exit +fi + +cd $ZIPFOLDER + +if [ ! -d $CONFIG ]; then + echo "No $CONFIG folder" + exit +fi + +cd $CONFIG + +mkdir -p $DEST_DIR + +indent () { + string="$1" + num_spaces="$2" + printf "%${num_spaces}s%s\n" '' "$string" +} + +# Function to copy dependencies +copy_dependencies() { + lib=$1 + depth=$2 + deps=$(otool -L $lib | grep /opt/homebrew/opt | awk '{print $1}') + for dep in $deps; do + #cp -R $dep $DEST_DIR + dep=${dep%:} # remove trailing : + if [ $1 != $dep ]; then + echo $dep + copy_dependencies $dep $((depth+1)) + fi + done +} + +#copy_dependencies libopencv_videoio.4.7.0.dylib +#copy_dependencies /opt/homebrew/opt/ffmpeg/lib/libavcodec.60.dylib 0 + +# Copy OpenCV libraries and their dependencies +for lib in libopencv_*.$CV_VERSION.dylib; do + # cp -R $lib $DEST_DIR + echo "-------------------------------------------" + echo $lib + copy_dependencies $lib 0 +done + + + +