| 171 | print("template<>\nstruct fex_gen_config<{}> {{}};".format(Decl.Name)) |
| 172 | |
| 173 | def FindClangArguments(OriginalArguments): |
| 174 | AddedArguments = ["clang"] |
| 175 | AddedArguments.extend(OriginalArguments) |
| 176 | AddedArguments.extend(["-v", "-x", "c++", "-S", "-"]) |
| 177 | Proc = subprocess.Popen(AddedArguments, stderr = subprocess.PIPE, stdin = subprocess.DEVNULL) |
| 178 | NewIncludes = [] |
| 179 | BeginSearch = False |
| 180 | while True: |
| 181 | Line = Proc.stderr.readline().strip() |
| 182 | |
| 183 | if not Line: |
| 184 | Proc.terminate() |
| 185 | break |
| 186 | |
| 187 | if (Line == b"End of search list."): |
| 188 | BeginSearch = False |
| 189 | Proc.terminate() |
| 190 | break |
| 191 | |
| 192 | if (BeginSearch == True): |
| 193 | NewIncludes.append("-I" + Line.decode('ascii')) |
| 194 | |
| 195 | if (Line == b"#include <...> search starts here:"): |
| 196 | BeginSearch = True |
| 197 | |
| 198 | # Add back original arguments |
| 199 | NewIncludes.extend(OriginalArguments) |
| 200 | return NewIncludes |
| 201 | |
| 202 | def SetNamespace(Arch): |
| 203 | Arch.CurrentNamespace = "" |