mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-29 16:12:44 +00:00
Add ability to search only for native shared object, and expose the
functionality to the rest of gccld. llvm-svn: 10113
This commit is contained in:
parent
855932e76a
commit
f045db38cd
@ -39,8 +39,9 @@ namespace llvm {
|
||||
/// named by the value of the environment variable LLVM_LIB_SEARCH_PATH. Returns
|
||||
/// an empty string if no matching file can be found.
|
||||
///
|
||||
static std::string FindLib(const std::string &Filename,
|
||||
const std::vector<std::string> &Paths) {
|
||||
std::string FindLib(const std::string &Filename,
|
||||
const std::vector<std::string> &Paths,
|
||||
bool SharedObjectOnly) {
|
||||
// Determine if the pathname can be found as it stands.
|
||||
if (FileOpenable(Filename))
|
||||
return Filename;
|
||||
@ -53,13 +54,13 @@ static std::string FindLib(const std::string &Filename,
|
||||
for (unsigned Index = 0; Index != Paths.size(); ++Index) {
|
||||
std::string Directory = Paths[Index] + "/";
|
||||
|
||||
if (FileOpenable(Directory + LibName + ".bc"))
|
||||
if (!SharedObjectOnly && FileOpenable(Directory + LibName + ".bc"))
|
||||
return Directory + LibName + ".bc";
|
||||
|
||||
if (FileOpenable(Directory + LibName + ".so"))
|
||||
return Directory + LibName + ".so";
|
||||
|
||||
if (FileOpenable(Directory + LibName + ".a"))
|
||||
if (!SharedObjectOnly && FileOpenable(Directory + LibName + ".a"))
|
||||
return Directory + LibName + ".a";
|
||||
}
|
||||
|
||||
@ -99,9 +100,6 @@ void GetAllDefinedSymbols(Module *M, std::set<std::string> &DefinedSymbols) {
|
||||
/// UndefinedSymbols - A set of C++ strings containing the name of all
|
||||
/// undefined symbols.
|
||||
///
|
||||
/// Return value:
|
||||
/// None.
|
||||
///
|
||||
void
|
||||
GetAllUndefinedSymbols(Module *M, std::set<std::string> &UndefinedSymbols) {
|
||||
std::set<std::string> DefinedSymbols;
|
||||
|
@ -58,6 +58,10 @@ GenerateNative (const std::string & OutputFilename,
|
||||
std::auto_ptr<Module>
|
||||
LoadObject (const std::string & FN, std::string &OutErrorMessage);
|
||||
|
||||
std::string FindLib(const std::string &Filename,
|
||||
const std::vector<std::string> &Paths,
|
||||
bool SharedObjectOnly = false);
|
||||
|
||||
bool
|
||||
LinkLibraries (const char * progname,
|
||||
Module * HeadModule,
|
||||
|
Loading…
x
Reference in New Issue
Block a user