xref: /aosp_15_r20/external/libavc/README.md (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
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