1 # c2hal user-guide 2 3 ## 1. Build 4 5 ``` 6 croot 7 make c2hal -j64 8 ``` 9 10 ## 2. Run 11 12 ``` 13 c2hal [-g] [-o dir] -p package (-r interface-root)+ (header-filepath)+ 14 ``` 15 16 -o output path: If missing, the second half of a relevant interface-root will be used. 17 18 -p package: For example android.hardware.baz (a] 1.0. 19 This will be used as the package in .hal files and will also be used to construct the correct directory structure. 20 21 -g: Enabling this flag changes the behavior of c2hal to parse opengl files. 22 23 -r package:path root: For example 'android.hardware:hardware/interfaces'. 24 25 Examples: 26 27 ``` 28 # Build the test.h header: 29 c2hal -r android.hardware:hardware/interfaces -p android.hardware.baz (a] 1.0 system/tools/hidl/c2hal/test/test.h 30 31 # Build the simple.h header: 32 c2hal -r android.hardware:hardware/interfaces -p android.hardware.simple (a] 1.0 system/tools/hidl/c2hal/test/simple.h 33 34 # Build a particular libhardware header: 35 c2hal -r android.hardware:hardware/interfaces -p android.hardware.nfc (a] 1.0 hardware/libhardware/include/hardware/nfc.h 36 37 # Build all headers from libhardware: 38 python3 system/tools/hidl/c2hal/test/build_all.py ~/android/master/hardware/libhardware/include/hardware/ 39 40 # Build various OpenGl versions: 41 python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/EGL/ 42 python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/ETC1/ 43 python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/GLES/ 44 python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/GLES2/ 45 python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/GLES3/ 46 python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/KHR/ 47 ``` 48 49