1# LIBAVC 2## Getting Started Document 3 4# LibAVC build steps 5 6Supports: 7- aarch32/aarch64 on Linux. 8- aarch32/aarch64 on Android. 9- x86_32/x86_64 on Linux. 10 11## Native Builds 12Use the following commands for building on the target machine 13 14``` 15$ cd external/libavc 16$ mkdir build 17$ cd build 18$ cmake .. 19$ make 20``` 21 22## Cross-compiler based builds 23 24### Building for x86_32 on a x86_64 Linux machine 25``` 26$ cd external/libavc 27$ mkdir build 28$ cd build 29$ CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" cmake .. 30$ make 31``` 32 33### Building for aarch32/aarch64 34Update 'CMAKE_C_COMPILER', 'CMAKE_CXX_COMPILER', 'CMAKE_C_COMPILER_AR', and 35'CMAKE_CXX_COMPILER_AR' in CMAKE_TOOLCHAIN_FILE passed below 36 37``` 38$ cd external/libavc 39$ mkdir build 40$ cd build 41``` 42 43#### For aarch64 44``` 45$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake 46$ make 47``` 48 49#### For aarch32 50``` 51$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake 52$ make 53``` 54 55### Building for android 56NOTE: This assumes that you are building on a machine that has 57 [Android NDK](https://developer.android.com/ndk/downloads). 58 59``` 60$ cd external/libavc 61$ mkdir build 62$ cd build 63``` 64 65#### Armv7 (32-bit) 66 67 cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/android_toolchain.cmake\ 68 -DAVC_ANDROID_NDK_PATH=/opt/android-ndk-r26d/\ 69 -DANDROID_ABI=armeabi-v7a\ 70 -DANDROID_PLATFORM=android-23 ../ 71 make 72 73#### Armv8 (64-bit) 74 75 cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/android_toolchain.cmake\ 76 -DAVC_ANDROID_NDK_PATH=/opt/android-ndk-r26d/\ 77 -DANDROID_ABI=arm64-v8a\ 78 -DANDROID_PLATFORM=android-23 ../ 79 make