mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-18 10:24:45 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241849 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -8,7 +8,7 @@ RUN: echo -n bar. > 0123456789abcde
|
|||||||
RUN: echo -n zed. > 0123456789abcdef
|
RUN: echo -n zed. > 0123456789abcdef
|
||||||
|
|
||||||
RUN: rm -f test.a
|
RUN: rm -f test.a
|
||||||
RUN: llvm-ar rc test.a 0123456789abcde 0123456789abcdef
|
RUN: llvm-ar --format=gnu rc test.a 0123456789abcde 0123456789abcdef
|
||||||
RUN: cat test.a | FileCheck -strict-whitespace %s
|
RUN: cat test.a | FileCheck -strict-whitespace %s
|
||||||
|
|
||||||
CHECK: !<arch>
|
CHECK: !<arch>
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "llvm/ADT/StringSwitch.h"
|
#include "llvm/ADT/StringSwitch.h"
|
||||||
|
#include "llvm/ADT/Triple.h"
|
||||||
#include "llvm/IR/LLVMContext.h"
|
#include "llvm/IR/LLVMContext.h"
|
||||||
#include "llvm/IR/Module.h"
|
#include "llvm/IR/Module.h"
|
||||||
#include "llvm/LibDriver/LibDriver.h"
|
#include "llvm/LibDriver/LibDriver.h"
|
||||||
@@ -552,9 +553,14 @@ performWriteOperation(ArchiveOperation Operation, object::Archive *OldArchive,
|
|||||||
std::vector<NewArchiveIterator> *NewMembersP) {
|
std::vector<NewArchiveIterator> *NewMembersP) {
|
||||||
object::Archive::Kind Kind;
|
object::Archive::Kind Kind;
|
||||||
switch (FormatOpt) {
|
switch (FormatOpt) {
|
||||||
case Default:
|
case Default: {
|
||||||
// FIXME: change as the support for other formats improve.
|
Triple T(sys::getProcessTriple());
|
||||||
|
if (T.isOSDarwin())
|
||||||
|
Kind = object::Archive::K_BSD;
|
||||||
|
else
|
||||||
Kind = object::Archive::K_GNU;
|
Kind = object::Archive::K_GNU;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case GNU:
|
case GNU:
|
||||||
Kind = object::Archive::K_GNU;
|
Kind = object::Archive::K_GNU;
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user