| 72 | |
| 73 | |
| 74 | def MakeRelativePathsInFlagsAbsolute(flags, working_directory): |
| 75 | if not working_directory: |
| 76 | return list( flags ) |
| 77 | new_flags = [] |
| 78 | make_next_absolute = False |
| 79 | path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] |
| 80 | for flag in flags: |
| 81 | new_flag = flag |
| 82 | |
| 83 | if make_next_absolute: |
| 84 | make_next_absolute = False |
| 85 | if not flag.startswith( '/' ): |
| 86 | new_flag = os.path.join( working_directory, flag ) |
| 87 | |
| 88 | for path_flag in path_flags: |
| 89 | if flag == path_flag: |
| 90 | make_next_absolute = True |
| 91 | break |
| 92 | |
| 93 | if flag.startswith( path_flag ): |
| 94 | path = flag[ len( path_flag ): ] |
| 95 | new_flag = path_flag + os.path.join( working_directory, path ) |
| 96 | break |
| 97 | |
| 98 | if new_flag: |
| 99 | new_flags.append( new_flag ) |
| 100 | return new_flags |
| 101 | |
| 102 | def IsHeaderFile(filename): |
| 103 | extension = os.path.splitext(filename)[1] |