Sterownik gcc
można skonfigurować tak, aby korzystał z określonego łącznika, konkretnych opcji i innych szczegółów (np. Przesłonięcie nagłówków systemu) przy użyciu plików .specs
.Czy istnieje odpowiednik plików .spec dla Clang/LLVM i gdzie mogę znaleźć odniesienie?
Aktualna instrukcja (od tego pisania) dla wersji GCC (4.9.0) describes the Spec Files here.
Czy istnieje podobny mechanizm dla Clang/LLVM. Wygląda na to, że Clang ma także the notion of a driver, ale nie byłem w stanie wymyślić żadnej dokumentacji dotyczącej tego, czy Spec Clader lub podobny mechanizm istnieje dla Clanga i jak z nich korzystać.
Interesuje mnie to dla C i C++, ale prawdopodobnie wskazówka do któregokolwiek z nich pozwoli mi zacząć.
Celem jest zastąpienie nagłówków systemu i bibliotek, jak również linkera, jak wspomniano wcześniej.
Aby przesłonić ścieżkę wyszukiwania linkera, sprawdź stronę man dla 'ld', aby zidentyfikować potrzebne flagi (na przykład' -syslibroot') i powiedz klangowi, aby przekazał je do łącznika przez '-Wl'. Na przykład ta komenda pozwoliła mi użyć niestandardowego wersję 'libstdC++': 'dzyń ++ -std = C++ 11 -stdlib = libstdC++ -nostdinC++ -isystem/ścieżka/do/alt-stdlib/include/C++ -isystem/path/to/alt-stdlib/include/C++/x86_64-apple-darwin14.4.0 -L/path/to/alt-stdlib/lib -lstdC++ -Wl, -syslibroot,/usr/lib -Wl, - syslibroot,/path/to/alt-stdlib/lib test.cpp' –