xref: /aosp_15_r20/frameworks/wilhelm/tools/hashgen/README.txt (revision bebae9c0e76121f8312ccb50385c080b3a0b023c)
1*bebae9c0SAndroid Build Coastguard WorkerThis re-generates the file IID_to_MPH.c using gperf.
2*bebae9c0SAndroid Build Coastguard WorkerYou need to do this after modifying either OpenSLES_IID.c or MPH.c.
3*bebae9c0SAndroid Build Coastguard Worker
4*bebae9c0SAndroid Build Coastguard WorkerPrerequisites:
5*bebae9c0SAndroid Build Coastguard Worker * GNU make
6*bebae9c0SAndroid Build Coastguard Worker * GNU gperf perfect hash generator
7*bebae9c0SAndroid Build Coastguard Worker   $ gperf --version
8*bebae9c0SAndroid Build Coastguard Worker   GNU gperf 3.0.4
9*bebae9c0SAndroid Build Coastguard Worker * GNU sed
10*bebae9c0SAndroid Build Coastguard Worker   $ sed --version
11*bebae9c0SAndroid Build Coastguard Worker   GNU sed version 4.2.2
12*bebae9c0SAndroid Build Coastguard Worker
13*bebae9c0SAndroid Build Coastguard WorkerUsage:
14*bebae9c0SAndroid Build Coastguard WorkerType 'make'.
15*bebae9c0SAndroid Build Coastguard WorkerDiff the old file in ../../src/autogen vs. the newly generated IID_to_MPH.c here.
16*bebae9c0SAndroid Build Coastguard WorkerIf the differences look OK, then copy the new IID_to_MPH.c back to
17*bebae9c0SAndroid Build Coastguard Worker  its stable location in ../../src/autogen using 'make install'.
18*bebae9c0SAndroid Build Coastguard WorkerBuild and test the usage of the new IID on host by "make run_test"
19*bebae9c0SAndroid Build Coastguard Worker*and* on the target by tests/sandbox/engine.c.  The host test
20*bebae9c0SAndroid Build Coastguard Workerchecks all GUIDs, and the target test checks a subset of GUIDs.
21*bebae9c0SAndroid Build Coastguard WorkerThen do 'make clean' or 'make distclean' here.
22*bebae9c0SAndroid Build Coastguard Worker
23*bebae9c0SAndroid Build Coastguard Workerhashgen is known to work on Linux with GNU gperf 3.0.4 and GNU sed
24*bebae9c0SAndroid Build Coastguard Workerversion 4.2.2.  There are reports of problems on Mac OS X.
25