diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-09 20:12:50 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-09 20:12:50 +0000 |
commit | 2535ea0b836bc3f1fd48d420f3611d1f97ad461d (patch) | |
tree | 340588a4c4c54cd8a56954c754bb2c821d54502d /llvm/tools/llvm-ar/llvm-ar.cpp | |
parent | e57064428566724b7786f5e22553a06cc5f5887f (diff) | |
download | bcm5719-llvm-2535ea0b836bc3f1fd48d420f3611d1f97ad461d.tar.gz bcm5719-llvm-2535ea0b836bc3f1fd48d420f3611d1f97ad461d.zip |
Create BSD archives by default on OS X.
They should probably be created on anything that is not windows or linux, but I will
test on freebsd before changing that.
With this it is possible to bootstrap with llvm-ar instead of ar+ranlib on OS X.
llvm-svn: 241849
Diffstat (limited to 'llvm/tools/llvm-ar/llvm-ar.cpp')
-rw-r--r-- | llvm/tools/llvm-ar/llvm-ar.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp index 6fbfc153808..66daba30a4a 100644 --- a/llvm/tools/llvm-ar/llvm-ar.cpp +++ b/llvm/tools/llvm-ar/llvm-ar.cpp @@ -13,6 +13,7 @@ //===----------------------------------------------------------------------===// #include "llvm/ADT/StringSwitch.h" +#include "llvm/ADT/Triple.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "llvm/LibDriver/LibDriver.h" @@ -552,9 +553,14 @@ performWriteOperation(ArchiveOperation Operation, object::Archive *OldArchive, std::vector<NewArchiveIterator> *NewMembersP) { object::Archive::Kind Kind; switch (FormatOpt) { - case Default: - // FIXME: change as the support for other formats improve. - Kind = object::Archive::K_GNU; + case Default: { + Triple T(sys::getProcessTriple()); + if (T.isOSDarwin()) + Kind = object::Archive::K_BSD; + else + Kind = object::Archive::K_GNU; + break; + } case GNU: Kind = object::Archive::K_GNU; break; |