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