diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e5911b0c..eed88475 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,10 +3,10 @@ name: build-workflow on: push: paths-ignore: - - 'doc/**' - - '**.md' - - 'LICENSE' - - 'NOTICE' + - "doc/**" + - "**.md" + - "LICENSE" + - "NOTICE" jobs: build-windows: @@ -161,7 +161,7 @@ jobs: if: matrix.name == 'ubuntu-20.04_x86_64' || matrix.name == 'ubuntu-22.04_x86_64' run: | source VERSION - # clang-12 と CUDA を入れる + # clang-15 と CUDA を入れる sudo apt-get update sudo apt-get install -y software-properties-common # CUDA 10 なので ubuntu1804 で正しい @@ -169,8 +169,12 @@ jobs: sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" - sudo apt-get update - DEBIAN_FRONTEND=noninteractive sudo apt-get -y install cuda=$CUDA_VERSION clang-12 + DEBIAN_FRONTEND=noninteractive sudo apt-get -y install cuda=$CUDA_VERSION + + wget https://apt.llvm.org/llvm.sh + chmod a+x llvm.sh + sudo ./llvm.sh 15 + # Intel Media SDK のために libva-dev, libdrm-dev を入れる DEBIAN_FRONTEND=noninteractive sudo apt-get -y install libva-dev libdrm-dev - name: Install deps for Jetson series @@ -258,5 +262,4 @@ jobs: - name: Release uses: softprops/action-gh-release@v1 with: - files: - ${{ steps.env.outputs.package_paths }} + files: ${{ steps.env.outputs.package_paths }} diff --git a/CHANGES.md b/CHANGES.md index f8d56edb..36fb3fef 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,12 +11,23 @@ ## develop +## 2023.15.0 (2023-10-31) + +- [UPDATE] WebRTC を m119.6045.2.1 に上げる + - @voluntas @torikizi @melpon @enm10k +- [UPDATE] WebRTC を m119 に上げたことで必要になった関連するライブラリもバージョンを上げる + - Ubuntu で使用する clang のバージョンを 15 にアップデート + - すべてのプラットフォームで set_target_properties の CXX_STANDARD と C_STANDARD を 20 にアップデート + - ANDROID_NDK_VERSION を r26b にアップデート + - CMAKE_VERSION を 3.27.7 にアップデート + - @melpon @enm10k @torikizi + ## 2023.14.0 (2023-10-02) - [UPDATE] Boost を 1.83.0 に上げる - @voluntas - [UPDATE] WebRTC を m117.5938.2.0 に上げる - - @melpon @miosakuma + - @melpon @miosakuma @voluntas - [FIX] `MacAudioOutputHelper` でコメントアウトしていた処理をコメントインする - 当初 libwebrtc のサンプルにはない処理で、消していた処理を復活させる - アプリの起動中に `MacAudioOutputHelper` を作成、削除を繰り返しても問題ないようにする diff --git a/CMakeLists.txt b/CMakeLists.txt index 9dd7dab9..1f368571 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,11 +80,7 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) # libsora.a を作る add_library(sora STATIC) -if (WIN32) - set_target_properties(sora PROPERTIES CXX_STANDARD 20 C_STANDARD 20) -else() - set_target_properties(sora PROPERTIES CXX_STANDARD 17 C_STANDARD 17) -endif() +set_target_properties(sora PROPERTIES CXX_STANDARD 20 C_STANDARD 20) string(SUBSTRING "${SORA_CPP_SDK_COMMIT}" 0 8 SORA_CPP_SDK_COMMIT_SHORT) string(SUBSTRING "${WEBRTC_COMMIT}" 0 8 WEBRTC_COMMIT_SHORT) diff --git a/README.md b/README.md index dccfaee3..8334a115 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,6 @@ https://github.com/shiguredo/sora-cpp-sdk-samples **詳細は Discord やメールなどでお気軽にお問い合わせください** -- Raspberry Pi OS 対応 - Windows arm64 対応 - AMD 系 HWA 対応 diff --git a/VERSION b/VERSION index 2eb678e8..b782a89c 100644 --- a/VERSION +++ b/VERSION @@ -1,12 +1,12 @@ -SORA_CPP_SDK_VERSION=2023.14.0 -WEBRTC_BUILD_VERSION=m117.5938.2.0 +SORA_CPP_SDK_VERSION=2023.15.0 +WEBRTC_BUILD_VERSION=m119.6045.2.1 BOOST_VERSION=1.83.0 -CMAKE_VERSION=3.26.4 +CMAKE_VERSION=3.27.7 BAZEL_VERSION=5.3.2 LYRA_VERSION=1.3.0 LYRA_COMPATIBLE_VERSION=1.3.0 CUDA_VERSION=10.2.89-1 -ANDROID_NDK_VERSION=r25b +ANDROID_NDK_VERSION=r26b ANDROID_NATIVE_API_LEVEL=29 ANDROID_SDK_CMDLINE_TOOLS_VERSION=8092744 VPL_VERSION=v2023.3.1 diff --git a/run.py b/run.py index 06b5c294..1b23e4cb 100644 --- a/run.py +++ b/run.py @@ -408,10 +408,10 @@ def build_install_webrtc(version, source_dir, build_dir, install_dir, platform, # インクルードディレクトリを増やしたくないので、 # __config_site を libc++ のディレクトリにコピーしておく - libcxx_dir = os.path.join(source_dir, 'webrtc', 'src', 'buildtools', 'third_party', 'libc++') - if not os.path.exists(os.path.join(libcxx_dir, 'trunk', 'include', '__config_site')): + libcxx_dir = os.path.join(source_dir, 'webrtc', 'src', 'third_party', 'libc++') + if not os.path.exists(os.path.join(libcxx_dir, 'src', 'include', '__config_site')): shutil.copyfile(os.path.join(libcxx_dir, '__config_site'), - os.path.join(libcxx_dir, 'trunk', 'include', '__config_site')) + os.path.join(libcxx_dir, 'src', 'include', '__config_site')) class WebrtcInfo(NamedTuple): @@ -434,7 +434,7 @@ def get_webrtc_info(webrtcbuild: bool, source_dir: str, build_dir: str, install_ webrtc_library_dir=os.path.join(webrtc_build_dir, 'obj') if platform.system() == 'Windows' else webrtc_build_dir, clang_dir=os.path.join( webrtc_source_dir, 'src', 'third_party', 'llvm-build', 'Release+Asserts'), - libcxx_dir=os.path.join(webrtc_source_dir, 'src', 'buildtools', 'third_party', 'libc++', 'trunk'),) + libcxx_dir=os.path.join(webrtc_source_dir, 'src', 'third_party', 'libc++', 'src'),) else: return WebrtcInfo( version_file=os.path.join(webrtc_install_dir, 'VERSIONS'), @@ -1138,8 +1138,8 @@ def install_deps(platform: Platform, source_dir, build_dir, install_dir, debug, # LLVM tools_url = webrtc_version['WEBRTC_SRC_TOOLS_URL'] tools_commit = webrtc_version['WEBRTC_SRC_TOOLS_COMMIT'] - libcxx_url = webrtc_version['WEBRTC_SRC_BUILDTOOLS_THIRD_PARTY_LIBCXX_TRUNK_URL'] - libcxx_commit = webrtc_version['WEBRTC_SRC_BUILDTOOLS_THIRD_PARTY_LIBCXX_TRUNK_COMMIT'] + libcxx_url = webrtc_version['WEBRTC_SRC_THIRD_PARTY_LIBCXX_SRC_URL'] + libcxx_commit = webrtc_version['WEBRTC_SRC_THIRD_PARTY_LIBCXX_SRC_COMMIT'] buildtools_url = webrtc_version['WEBRTC_SRC_BUILDTOOLS_URL'] buildtools_commit = webrtc_version['WEBRTC_SRC_BUILDTOOLS_COMMIT'] install_llvm_args = { @@ -1353,8 +1353,8 @@ def install_deps(platform: Platform, source_dir, build_dir, install_dir, debug, install_vpl_args['cmake_args'].append(f"-DCMAKE_CXX_FLAGS={' '.join(cxxflags)}") if platform.target.os == 'ubuntu': cmake_args = [] - cmake_args.append("-DCMAKE_C_COMPILER=clang-12") - cmake_args.append("-DCMAKE_CXX_COMPILER=clang++-12") + cmake_args.append("-DCMAKE_C_COMPILER=clang-15") + cmake_args.append("-DCMAKE_CXX_COMPILER=clang++-15") path = cmake_path(os.path.join(webrtc_info.libcxx_dir, 'include')) cmake_args.append(f"-DCMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES={path}") flags = [ @@ -1503,8 +1503,8 @@ def main(): cmake_args.append(f'-DCMAKE_SYSTEM_VERSION={WINDOWS_SDK_VERSION}') if platform.target.os == 'ubuntu': if platform.target.package_name in ('ubuntu-20.04_x86_64', 'ubuntu-22.04_x86_64'): - cmake_args.append("-DCMAKE_C_COMPILER=clang-12") - cmake_args.append("-DCMAKE_CXX_COMPILER=clang++-12") + cmake_args.append("-DCMAKE_C_COMPILER=clang-15") + cmake_args.append("-DCMAKE_CXX_COMPILER=clang++-15") else: cmake_args.append( f"-DCMAKE_C_COMPILER={cmake_path(os.path.join(webrtc_info.clang_dir, 'bin', 'clang'))}") @@ -1663,8 +1663,8 @@ def main(): cmake_args.append(f'-DCMAKE_SYSROOT={sysroot}') if platform.target.os == 'ubuntu': if platform.target.package_name in ('ubuntu-20.04_x86_64', 'ubuntu-22.04_x86_64'): - cmake_args.append("-DCMAKE_C_COMPILER=clang-12") - cmake_args.append("-DCMAKE_CXX_COMPILER=clang++-12") + cmake_args.append("-DCMAKE_C_COMPILER=clang-15") + cmake_args.append("-DCMAKE_CXX_COMPILER=clang++-15") else: cmake_args.append( f"-DCMAKE_C_COMPILER={cmake_path(os.path.join(webrtc_info.clang_dir, 'bin', 'clang'))}") diff --git a/test/android/app/build.gradle b/test/android/app/build.gradle index 8cc9f25f..bb98a002 100644 --- a/test/android/app/build.gradle +++ b/test/android/app/build.gradle @@ -62,7 +62,7 @@ android { externalNativeBuild { cmake { path file('src/main/cpp/CMakeLists.txt') - version '3.26.4' + version '3.27.7' } } buildFeatures { diff --git a/third_party/lyra/toolchain/android/BUILD.tpl b/third_party/lyra/toolchain/android/BUILD.tpl index e425b7ee..a459ad79 100644 --- a/third_party/lyra/toolchain/android/BUILD.tpl +++ b/third_party/lyra/toolchain/android/BUILD.tpl @@ -18,10 +18,10 @@ cc_toolchain_config( abi_version = "local", abi_libc_version = "local", cxx_builtin_include_directories = [ - '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/%{clang_version}/include', + '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/%{clang_version}/include', '%sysroot%/usr/include', '%sysroot%/usr/local/include', - "%{webrtc_include_dir}/buildtools/third_party/libc++abi/trunk/include", + "%{webrtc_include_dir}/third_party/libc++abi/src/include", "%{llvm_dir}/libcxx/include", ], tool_paths = { @@ -87,7 +87,7 @@ cc_toolchain_config( # conly_flags = [], cxx_flags = [ "-isystem%{llvm_dir}/libcxx/include", - "-isystem%{webrtc_include_dir}/buildtools/third_party/libc++abi/trunk/include", + "-isystem%{webrtc_include_dir}/third_party/libc++abi/src/include", "-std=c++17", "-nostdinc++", "-D_LIBCPP_ABI_NAMESPACE=Cr", diff --git a/third_party/lyra/toolchain/linux_x86_64/BUILD.tpl b/third_party/lyra/toolchain/linux_x86_64/BUILD.tpl index 669727ac..56a5aa87 100644 --- a/third_party/lyra/toolchain/linux_x86_64/BUILD.tpl +++ b/third_party/lyra/toolchain/linux_x86_64/BUILD.tpl @@ -24,7 +24,7 @@ cc_toolchain_config( "/usr/include/x86_64-linux-gnu", "/usr/include", "%{llvm_dir}/libcxx/include", - "%{webrtc_include_dir}/buildtools/third_party/libc++abi/trunk/include", + "%{webrtc_include_dir}/third_party/libc++abi/src/include", ], tool_paths = { "ar": "%{llvm_dir}/clang/bin/llvm-ar", @@ -84,7 +84,7 @@ cc_toolchain_config( # conly_flags = [], cxx_flags = [ "-isystem%{llvm_dir}/libcxx/include", - "-isystem%{webrtc_include_dir}/buildtools/third_party/libc++abi/trunk/include", + "-isystem%{webrtc_include_dir}/third_party/libc++abi/src/include", "-std=c++17", "-nostdinc++", "-D_LIBCPP_ABI_NAMESPACE=Cr", @@ -145,7 +145,7 @@ cc_toolchain_config( "/usr/include/aarch64-linux-gnu", "/usr/include", "%{llvm_dir}/libcxx/include", - "%{webrtc_include_dir}/buildtools/third_party/libc++abi/trunk/include", + "%{webrtc_include_dir}/third_party/libc++abi/src/include", ], tool_paths = { "ar": "%{llvm_dir}/clang/bin/llvm-ar", @@ -207,7 +207,7 @@ cc_toolchain_config( # conly_flags = [], cxx_flags = [ "-isystem%{llvm_dir}/libcxx/include", - "-isystem%{webrtc_include_dir}/buildtools/third_party/libc++abi/trunk/include", + "-isystem%{webrtc_include_dir}/third_party/libc++abi/src/include", "-std=c++17", "-nostdinc++", "-D_LIBCPP_ABI_NAMESPACE=Cr",