forked from OSchip/llvm-project
77d82202d1
These behave slightly idiosyncratically in the best of cases, and have additional hacks layered on top of that for compatibility with badly behaved build systems (via ld64). For -lXYZ: + If XYZ is actually XY.o then search all library paths for XY.o + Otherwise search all library paths, first for libXYZ.dylib, then libXYZ.a + By default the library paths are /usr/lib and /usr/local/lib in that order. For -syslibroot: + -syslibroot options apply to absolute paths in the search order. + All -syslibroot prefixes that exist are added to the search path *instead* of the original. + If no -syslibroot prefixed path exists, the original is kept. + Hacks^WExceptions: + If only 1 -syslibroot is given and doesn't contain /usr/lib or /usr/local/lib, that path is dropped entirely. (rdar://problem/6438270). + If the last -syslibroot is "/", all of them are ignored entirely. (rdar://problem/5829579). At least, that's my best interpretation of what ld64 does in buildSearchPaths. llvm-svn: 212706 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CoreDriver.cpp | ||
CoreOptions.td | ||
DarwinLdDriver.cpp | ||
DarwinLdOptions.td | ||
Driver.cpp | ||
GnuLdDriver.cpp | ||
GnuLdInputGraph.cpp | ||
GnuLdOptions.td | ||
Makefile | ||
TODO.rst | ||
UniversalDriver.cpp | ||
UniversalDriverOptions.td | ||
WinLinkDriver.cpp | ||
WinLinkInputGraph.cpp | ||
WinLinkModuleDef.cpp | ||
WinLinkOptions.td |