Skip to content

Commit

Permalink
build: remove the fat option and add x86/x86_64 options for android (#…
Browse files Browse the repository at this point in the history
…1144)

* build: remove the fat option and add the x86, x86_64 option

* build: add --android_fat_apk_cpu option

* build: arm64 as the default option
  • Loading branch information
homuler committed Feb 3, 2024
1 parent fe4ac44 commit 9e2d601
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 7 deletions.
11 changes: 7 additions & 4 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,13 @@ build:android_arm64 --config=android
build:android_arm64 --cpu=arm64-v8a
build:android_arm64 --fat_apk_cpu=arm64-v8a

build:android_fat --config=android
# specify dummy cpu to avoid an error: "Illegal ambiguous match on configurable attribute "linkopts" in @XNNPACK//:xnnpack_for_tflite:"
build:android_fat --cpu=arm64-v8a
build:android_fat --fat_apk_cpu=armeabi-v7a,arm64-v8a
build:android_x86 --config=android
build:android_x86 --cpu=x86
build:android_x86 --fat_apk_cpu=x86

build:android_x86_64 --config=android
build:android_x86_64 --cpu=x86_64
build:android_x86_64 --fat_apk_cpu=x86_64

build:ios --apple_platform_type=ios
build:ios --copt=-fno-aligned-allocation
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
packageName: package
bazelBuildArgs: ${{ inputs.bazelBuildArgs || '--experimental_scale_timeouts=10.0 --http_timeout_scaling=10.0' }}
linuxBuildArgs: ${{ inputs.linuxBuildArgs || '--desktop gpu --opencv cmake' }}
androidBuildArgs: ${{ inputs.androidBuildArgs || '--android fat --android_ndk_api_level 21' }}
androidBuildArgs: ${{ inputs.androidBuildArgs || '--android arm64 --android_ndk_api_level 21' }}
macosBuildArgs: ${{ inputs.macosBuildArgs || '--desktop cpu --opencv cmake --macos_universal' }}
iosBuildArgs: ${{ inputs.iosBuildArgs || '--ios arm64' }}
windowsBuildArgs: ${{ inputs.windowsBuildArgs || '--desktop cpu --opencv cmake' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
default: '--desktop gpu --opencv cmake'
androidBuildArgs:
type: string
default: '--android fat --android_ndk_api_level 21'
default: '--android arm64 --android_ndk_api_level 21'
macosBuildArgs:
type: string
default: '--desktop cpu --opencv cmake --macos_universal'
Expand Down
7 changes: 6 additions & 1 deletion build.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,10 @@ def _build_android_commands(self):

commands = self._build_common_commands()
commands.append(f'--config=android_{self.command_args.android}')

if self.command_args.android_fat_apk_cpu is not None:
commands.append(f'--fat_apk_cpu={",".join(self.command_args.android_fat_apk_cpu)}')

commands.append('//mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android')
return commands

Expand Down Expand Up @@ -424,7 +428,8 @@ def __init__(self):

build_command_parser = subparsers.add_parser('build', help='Build and install native libraries')
build_command_parser.add_argument('--desktop', choices=['cpu', 'gpu'])
build_command_parser.add_argument('--android', choices=['armv7', 'arm64', 'fat'])
build_command_parser.add_argument('--android', choices=['armv7', 'arm64', 'x86', 'x86_64'])
build_command_parser.add_argument('--android_fat_apk_cpu', nargs='+')
build_command_parser.add_argument('--android_ndk_api_level', type=int, choices=range(16, 31))
build_command_parser.add_argument('--ios', choices=['arm64'])
build_command_parser.add_argument('--resources', action=argparse.BooleanOptionalAction, default=True)
Expand Down

0 comments on commit 9e2d601

Please sign in to comment.