Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/34187 Noticed that a recent PR broke Android/iOS CI but didn't break mobile build with host toolchain. Turns out one mobile related flag was not set on PYTORCH_BUILD_MOBILE code path: ``` "set(INTERN_DISABLE_MOBILE_INTERP ON)" ``` First, move the INTERN_DISABLE_MOBILE_INTERP macro below, to stay with other "mobile + pytorch" options - it's not relevant to "mobile + caffe2" so doesn't need to be set as common "mobile" option; Second, rename PYTORCH_BUILD_MOBILE env-variable to BUILD_PYTORCH_MOBILE_WITH_HOST_TOOLCHAIN - it's a bit verbose but becomes more clear what it does - there is another env-variable "BUILD_PYTORCH_MOBILE" used in scripts/build_android.sh, build_ios.sh, which toggles between "mobile + pytorch" v.s. "mobile + caffe2"; Third, combine BUILD_PYTORCH_MOBILE_WITH_HOST_TOOLCHAIN with ANDROID/IOS to avoid missing common mobile options again in future. Test Plan: Imported from OSS Differential Revision: D20251864 Pulled By: ljk53 fbshipit-source-id: dc90cc87ffd4d0bf8a78ae960c4ce33a8bb9e912 |
||
|---|---|---|
| .. | ||
| appveyor | ||
| fbcode-dev-setup | ||
| model_zoo | ||
| onnx | ||
| add_apache_header.sh | ||
| apache_header.txt | ||
| apache_python.txt | ||
| build_android.sh | ||
| build_host_protoc.sh | ||
| build_ios.sh | ||
| build_local.sh | ||
| build_mobile.sh | ||
| build_pytorch_android.sh | ||
| build_raspbian.sh | ||
| build_tegra_x1.sh | ||
| build_tizen.sh | ||
| build_windows.bat | ||
| diagnose_protobuf.py | ||
| get_clang_format.py | ||
| get_python_cmake_flags.py | ||
| proto.ps1 | ||
| read_conda_versions.sh | ||
| README.md | ||
| remove_apache_header.sh | ||
| run_mobilelab.py | ||
| temp.sh | ||
| xcode_build.rb | ||
This directory contains the useful tools.
build_android.sh
This script is to build PyTorch/Caffe2 library for Android. Take the following steps to start the build:
- set ANDROID_NDK to the location of ndk
export ANDROID_NDK=YOUR_NDK_PATH
- run build_android.sh
#in your PyTorch root directory
bash scripts/build_android.sh
If succeeded, the libraries and headers would be generated to build_android/install directory. You can then copy these files from build_android/install to your Android project for further usage.
You can also override the cmake flags via command line, e.g., following command will also compile the executable binary files:
bash scripts/build_android.sh -DBUILD_BINARY=ON
build_ios.sh
This script is to build PyTorch/Caffe2 library for iOS, and can only be performed on macOS. Take the following steps to start the build:
- Install Xcode from App Store, and configure "Command Line Tools" properly on Xcode.
- Install the dependencies:
brew install cmake automake libtool
- run build_ios.sh
#in your PyTorch root directory
bash scripts/build_ios.sh
If succeeded, the libraries and headers would be generated to build_ios/install directory. You can then copy these files to your Xcode project for further usage.