From 8486412ad4462bb77ef07ac6478a6cd020fe3a53 Mon Sep 17 00:00:00 2001 From: ljlvink Date: Sun, 8 Mar 2026 22:00:47 +0800 Subject: [PATCH 1/5] feat: ohos sdk test --- .github/workflows/build.yml | 11 +++++++++++ config/targets.toml | 6 ++++-- setup-ohos-sdk | 1 + 3 files changed, 16 insertions(+), 2 deletions(-) create mode 160000 setup-ohos-sdk diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c327e3..04a0709 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,6 +61,17 @@ jobs: xcrun --sdk iphoneos --show-sdk-path xcrun --sdk iphonesimulator --show-sdk-path + - name: Setup OpenHarmony SDK + if: runner.os == 'ohos' + uses: openharmony-rs/setup-ohos-sdk@v0.2 + with: + version: '6.0' + components: 'native' + + - name: Set OHOS_SDK env + if: runner.os == 'ohos' + run: echo "OHOS_SDK=$OHOS_BASE_SDK_HOME" >> "$GITHUB_ENV" + - name: Build FFmpeg run: python3 scripts/build-ffmpeg.py ${{ matrix.target }} - name: Upload artifact diff --git a/config/targets.toml b/config/targets.toml index 46d1333..2e16392 100644 --- a/config/targets.toml +++ b/config/targets.toml @@ -44,9 +44,9 @@ extra_ldflags = "-mios-simulator-version-min=9.0" [[targets]] name = "aarch64-unknown-linux-ohos" os = "ubuntu-latest" -enabled = false +enabled = true note = "Requires OpenHarmony SDK; set OHOS_SDK if not at the default path." -env = { OHOS_SDK = "/ohos_sdk/command-line-tools/sdk/default/openharmony", CPU_MARCH = "armv8-a", CC = "${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", LD = "${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", STRIP = "${OHOS_SDK}/native/llvm/bin/llvm-strip" } +env = { CPU_MARCH = "armv8-a", CC = "${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", LD = "${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", STRIP = "${OHOS_SDK}/native/llvm/bin/llvm-strip" } configure = [ "--arch=aarch64", "--target-os=linux", @@ -58,6 +58,8 @@ configure = [ "--disable-asm", "--disable-x86asm", "--disable-stripping", + "--disable-libvorbis", + "--disable-decoder=libvorbis", "--cc=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", "--ld=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", "--strip=${OHOS_SDK}/native/llvm/bin/llvm-strip", diff --git a/setup-ohos-sdk b/setup-ohos-sdk new file mode 160000 index 0000000..9689782 --- /dev/null +++ b/setup-ohos-sdk @@ -0,0 +1 @@ +Subproject commit 968978264e8f3ce871cca51a8e3352f5a7993e26 From 1eda64aa583b4334c3061616636c533bc5f291a6 Mon Sep 17 00:00:00 2001 From: ljlvink Date: Sun, 8 Mar 2026 22:01:58 +0800 Subject: [PATCH 2/5] refactor: remove useless repo --- setup-ohos-sdk | 1 - 1 file changed, 1 deletion(-) delete mode 160000 setup-ohos-sdk diff --git a/setup-ohos-sdk b/setup-ohos-sdk deleted file mode 160000 index 9689782..0000000 --- a/setup-ohos-sdk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 968978264e8f3ce871cca51a8e3352f5a7993e26 From ce852c6f4f08c0d58beef168817c58f2a988dc5c Mon Sep 17 00:00:00 2001 From: ljlvink Date: Sun, 8 Mar 2026 22:04:56 +0800 Subject: [PATCH 3/5] fix --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 04a0709..911fb39 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,14 +62,14 @@ jobs: xcrun --sdk iphonesimulator --show-sdk-path - name: Setup OpenHarmony SDK - if: runner.os == 'ohos' + if: contains(matrix.target, 'ohos') uses: openharmony-rs/setup-ohos-sdk@v0.2 with: version: '6.0' components: 'native' - name: Set OHOS_SDK env - if: runner.os == 'ohos' + if: contains(matrix.target, 'ohos') run: echo "OHOS_SDK=$OHOS_BASE_SDK_HOME" >> "$GITHUB_ENV" - name: Build FFmpeg From 3df02cecce8de091e0cbcaf8acbea732ac13ea0d Mon Sep 17 00:00:00 2001 From: ljlvink Date: Sun, 8 Mar 2026 22:12:03 +0800 Subject: [PATCH 4/5] fix --- config/targets.toml | 13 +++++++------ setup-ohos-sdk | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) create mode 160000 setup-ohos-sdk diff --git a/config/targets.toml b/config/targets.toml index 2e16392..106654f 100644 --- a/config/targets.toml +++ b/config/targets.toml @@ -46,7 +46,7 @@ name = "aarch64-unknown-linux-ohos" os = "ubuntu-latest" enabled = true note = "Requires OpenHarmony SDK; set OHOS_SDK if not at the default path." -env = { CPU_MARCH = "armv8-a", CC = "${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", LD = "${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", STRIP = "${OHOS_SDK}/native/llvm/bin/llvm-strip" } +env = { CPU_MARCH = "armv8-a" } configure = [ "--arch=aarch64", "--target-os=linux", @@ -60,13 +60,14 @@ configure = [ "--disable-stripping", "--disable-libvorbis", "--disable-decoder=libvorbis", - "--cc=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", - "--ld=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", + "--cc=${OHOS_SDK}/native/llvm/bin/clang", + "--ld=${OHOS_SDK}/native/llvm/bin/clang", + "--ar=${OHOS_SDK}/native/llvm/bin/llvm-ar", "--strip=${OHOS_SDK}/native/llvm/bin/llvm-strip", - "--sysroot=${OHOS_SDK}/native/sysroot", - "--cross-prefix=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-", + "--extra-cflags=--target=aarch64-linux-ohos --sysroot=${OHOS_SDK}/native/sysroot -D__MUSL__ -march=${CPU_MARCH} -Os -fPIC", + "--extra-ldflags=--target=aarch64-linux-ohos --sysroot=${OHOS_SDK}/native/sysroot -fuse-ld=lld", ] -extra_cflags = "-march=${CPU_MARCH} -Os -fpic" +extra_cflags = "" extra_ldflags = "" [[targets]] diff --git a/setup-ohos-sdk b/setup-ohos-sdk new file mode 160000 index 0000000..9689782 --- /dev/null +++ b/setup-ohos-sdk @@ -0,0 +1 @@ +Subproject commit 968978264e8f3ce871cca51a8e3352f5a7993e26 From b7688c8df329d0350a132919e4b1fbeb773c8524 Mon Sep 17 00:00:00 2001 From: ljlvink Date: Sun, 8 Mar 2026 22:17:37 +0800 Subject: [PATCH 5/5] fix: remove repo --- setup-ohos-sdk | 1 - 1 file changed, 1 deletion(-) delete mode 160000 setup-ohos-sdk diff --git a/setup-ohos-sdk b/setup-ohos-sdk deleted file mode 160000 index 9689782..0000000 --- a/setup-ohos-sdk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 968978264e8f3ce871cca51a8e3352f5a7993e26