`Existing behavior:
- If hmap dest path is absolute: = Look for the file and return it as result. = If file not found, return None.
- If hmap dest path is relative: = Look for entry in headermap with the dest path as key, where the dest is a file that exists. = If key or file not found, return None.
New behavior:
- If hmap dest path is absolute: (unchanged) = look for the file and return it as result. = If not found, return None.
- If hmap dest path is relative: (changed) = Look for entry in headermap with the dest path as key, where the dest is a file that exists. = If key or file not found, fall back to looking for the file directly. = If file not found, return none.
`
generate header map using hmaptool like
https://github.com/llvm/llvm-project/blob/e32ff096858578f526b6d05ab97c8f083f2e1834/clang/test/Preprocessor/include-header-missing-in-framework-with-headermap.c#L2
?