1# c2hal user-guide 2 3## 1. Build 4 5``` 6croot 7make c2hal -j64 8``` 9 10## 2. Run 11 12``` 13c2hal [-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@1.0. 19This 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 25Examples: 26 27``` 28# Build the test.h header: 29c2hal -r android.hardware:hardware/interfaces -p android.hardware.baz@1.0 system/tools/hidl/c2hal/test/test.h 30 31# Build the simple.h header: 32c2hal -r android.hardware:hardware/interfaces -p android.hardware.simple@1.0 system/tools/hidl/c2hal/test/simple.h 33 34# Build a particular libhardware header: 35c2hal -r android.hardware:hardware/interfaces -p android.hardware.nfc@1.0 hardware/libhardware/include/hardware/nfc.h 36 37# Build all headers from libhardware: 38python3 system/tools/hidl/c2hal/test/build_all.py ~/android/master/hardware/libhardware/include/hardware/ 39 40# Build various OpenGl versions: 41python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/EGL/ 42python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/ETC1/ 43python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/GLES/ 44python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/GLES2/ 45python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/GLES3/ 46python3 system/tools/hidl/c2hal/test/build_all.py -g ~/android/master/frameworks/native/opengl/include/KHR/ 47``` 48 49