diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c327e3..911fb39 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: contains(matrix.target, 'ohos') + uses: openharmony-rs/setup-ohos-sdk@v0.2 + with: + version: '6.0' + components: 'native' + + - name: Set OHOS_SDK env + if: contains(matrix.target, '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..106654f 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" } configure = [ "--arch=aarch64", "--target-os=linux", @@ -58,13 +58,16 @@ configure = [ "--disable-asm", "--disable-x86asm", "--disable-stripping", - "--cc=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", - "--ld=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang", + "--disable-libvorbis", + "--disable-decoder=libvorbis", + "--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]]