mirror of
https://src.fedoraproject.org/rpms/llvm.git
synced 2024-11-24 17:34:47 +00:00
Merge branch 'master' into el6
This commit is contained in:
commit
4a13f67dc5
9 changed files with 594 additions and 517 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -1,2 +1,5 @@
|
|||
/llvm-2.8.tgz
|
||||
/clang-2.8.tgz
|
||||
/cfe-*.src.tar.gz
|
||||
/compiler-rt-*.src.tar.gz
|
||||
/lldb-*.src.tar.gz
|
||||
/llvm-*.src.tar.gz
|
||||
/clang-3.4.src.tar.gz
|
||||
|
|
22
0001-data-install-preserve-timestamps.patch
Normal file
22
0001-data-install-preserve-timestamps.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
Preserve timestamps when installing data files
|
||||
|
||||
---
|
||||
Makefile.rules | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.rules b/Makefile.rules
|
||||
index f0c542b..0ff92bb 100644
|
||||
--- a/Makefile.rules
|
||||
+++ b/Makefile.rules
|
||||
@@ -773,7 +773,7 @@ BCCompile.CXX = $(LLVMCXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) $(CPPFLAGS) \
|
||||
|
||||
ProgInstall = $(INSTALL) $(Install.StripFlag) -m 0755
|
||||
ScriptInstall = $(INSTALL) -m 0755
|
||||
-DataInstall = $(INSTALL) -m 0644
|
||||
+DataInstall = $(INSTALL) -p -m 0644
|
||||
|
||||
# When compiling under Mingw/Cygwin, the tblgen tool expects Windows
|
||||
# paths. In this case, the SYSPATH function (defined in
|
||||
--
|
||||
1.8.3.1
|
||||
|
12
0002-linker-flags-speedup-memory.patch
Normal file
12
0002-linker-flags-speedup-memory.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -up llvm-3.4/tools/llvm-shlib/Makefile.orig llvm-3.4/tools/llvm-shlib/Makefile
|
||||
--- llvm-3.4/tools/llvm-shlib/Makefile.orig 2013-11-01 00:35:00.000000000 +1000
|
||||
+++ llvm-3.4/tools/llvm-shlib/Makefile 2014-01-14 10:13:20.069858909 +1000
|
||||
@@ -75,7 +75,7 @@ endif
|
||||
|
||||
ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
|
||||
# Don't allow unresolved symbols.
|
||||
- LLVMLibsOptions += -Wl,--no-undefined
|
||||
+ LLVMLibsOptions += -Wl,--no-undefined -Wl,-Bsymbolic
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),SunOS)
|
|
@ -1,199 +0,0 @@
|
|||
Index: lib/Basic/IdentifierTable.cpp
|
||||
===================================================================
|
||||
--- lib/Basic/IdentifierTable.cpp (revision 117774)
|
||||
+++ lib/Basic/IdentifierTable.cpp (revision 117775)
|
||||
@@ -390,7 +390,7 @@
|
||||
unsigned Size = sizeof(MultiKeywordSelector) + nKeys*sizeof(IdentifierInfo *);
|
||||
MultiKeywordSelector *SI =
|
||||
(MultiKeywordSelector*)SelTabImpl.Allocator.Allocate(Size,
|
||||
- llvm::alignof<MultiKeywordSelector>());
|
||||
+ llvm::alignOf<MultiKeywordSelector>());
|
||||
new (SI) MultiKeywordSelector(nKeys, IIV);
|
||||
SelTabImpl.Table.InsertNode(SI, InsertPos);
|
||||
return Selector(SI);
|
||||
Index: lib/AST/ExprCXX.cpp
|
||||
===================================================================
|
||||
--- lib/AST/ExprCXX.cpp (revision 117774)
|
||||
+++ lib/AST/ExprCXX.cpp (revision 117775)
|
||||
@@ -233,7 +233,7 @@
|
||||
if (NumTemplateArgs != 0)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedLookupExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedLookupExpr>());
|
||||
UnresolvedLookupExpr *E = new (Mem) UnresolvedLookupExpr(EmptyShell());
|
||||
E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
|
||||
return E;
|
||||
@@ -261,7 +261,7 @@
|
||||
if (NumResults) {
|
||||
Results = static_cast<DeclAccessPair *>(
|
||||
C.Allocate(sizeof(DeclAccessPair) * NumResults,
|
||||
- llvm::alignof<DeclAccessPair>()));
|
||||
+ llvm::alignOf<DeclAccessPair>()));
|
||||
memcpy(Results, &*Begin.getIterator(),
|
||||
NumResults * sizeof(DeclAccessPair));
|
||||
}
|
||||
@@ -737,7 +737,7 @@
|
||||
if (TemplateArgs)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
|
||||
return new (Mem) CXXDependentScopeMemberExpr(C, Base, BaseType,
|
||||
IsArrow, OperatorLoc,
|
||||
Qualifier, QualifierRange,
|
||||
@@ -756,7 +756,7 @@
|
||||
|
||||
std::size_t size = sizeof(CXXDependentScopeMemberExpr) +
|
||||
ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
|
||||
CXXDependentScopeMemberExpr *E
|
||||
= new (Mem) CXXDependentScopeMemberExpr(C, 0, QualType(),
|
||||
0, SourceLocation(), 0,
|
||||
@@ -812,7 +812,7 @@
|
||||
if (TemplateArgs)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
|
||||
return new (Mem) UnresolvedMemberExpr(C,
|
||||
Dependent ? C.DependentTy : C.OverloadTy,
|
||||
Dependent, HasUnresolvedUsing, Base, BaseType,
|
||||
@@ -826,7 +826,7 @@
|
||||
if (NumTemplateArgs != 0)
|
||||
size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
|
||||
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
|
||||
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
|
||||
UnresolvedMemberExpr *E = new (Mem) UnresolvedMemberExpr(EmptyShell());
|
||||
E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
|
||||
return E;
|
||||
Index: lib/AST/DeclObjC.cpp
|
||||
===================================================================
|
||||
--- lib/AST/DeclObjC.cpp (revision 117774)
|
||||
+++ lib/AST/DeclObjC.cpp (revision 117775)
|
||||
@@ -711,7 +711,7 @@
|
||||
void ObjCClassDecl::setClassList(ASTContext &C, ObjCInterfaceDecl*const*List,
|
||||
const SourceLocation *Locs, unsigned Num) {
|
||||
ForwardDecls = (ObjCClassRef*) C.Allocate(sizeof(ObjCClassRef)*Num,
|
||||
- llvm::alignof<ObjCClassRef>());
|
||||
+ llvm::alignOf<ObjCClassRef>());
|
||||
for (unsigned i = 0; i < Num; ++i)
|
||||
new (&ForwardDecls[i]) ObjCClassRef(List[i], Locs[i]);
|
||||
|
||||
Index: lib/AST/Stmt.cpp
|
||||
===================================================================
|
||||
--- lib/AST/Stmt.cpp (revision 117774)
|
||||
+++ lib/AST/Stmt.cpp (revision 117775)
|
||||
@@ -416,7 +416,7 @@
|
||||
Stmt *atFinallyStmt) {
|
||||
unsigned Size = sizeof(ObjCAtTryStmt) +
|
||||
(1 + NumCatchStmts + (atFinallyStmt != 0)) * sizeof(Stmt *);
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
|
||||
return new (Mem) ObjCAtTryStmt(atTryLoc, atTryStmt, CatchStmts, NumCatchStmts,
|
||||
atFinallyStmt);
|
||||
}
|
||||
@@ -426,7 +426,7 @@
|
||||
bool HasFinally) {
|
||||
unsigned Size = sizeof(ObjCAtTryStmt) +
|
||||
(1 + NumCatchStmts + HasFinally) * sizeof(Stmt *);
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
|
||||
return new (Mem) ObjCAtTryStmt(EmptyShell(), NumCatchStmts, HasFinally);
|
||||
}
|
||||
|
||||
@@ -448,7 +448,7 @@
|
||||
std::size_t Size = sizeof(CXXTryStmt);
|
||||
Size += ((numHandlers + 1) * sizeof(Stmt));
|
||||
|
||||
- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
|
||||
+ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
|
||||
return new (Mem) CXXTryStmt(tryLoc, tryBlock, handlers, numHandlers);
|
||||
}
|
||||
|
||||
@@ -457,7 +457,7 @@
|
||||
std::size_t Size = sizeof(CXXTryStmt);
|
||||
Size += ((numHandlers + 1) * sizeof(Stmt));
|
||||
|
||||
- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
|
||||
+ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
|
||||
return new (Mem) CXXTryStmt(Empty, numHandlers);
|
||||
}
|
||||
|
||||
Index: lib/AST/Expr.cpp
|
||||
===================================================================
|
||||
--- lib/AST/Expr.cpp (revision 117774)
|
||||
+++ lib/AST/Expr.cpp (revision 117775)
|
||||
@@ -257,7 +257,7 @@
|
||||
if (TemplateArgs)
|
||||
Size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
|
||||
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
|
||||
return new (Mem) DeclRefExpr(Qualifier, QualifierRange, D, NameInfo,
|
||||
TemplateArgs, T);
|
||||
}
|
||||
@@ -271,7 +271,7 @@
|
||||
if (NumTemplateArgs)
|
||||
Size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
|
||||
|
||||
- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
|
||||
+ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
|
||||
return new (Mem) DeclRefExpr(EmptyShell());
|
||||
}
|
||||
|
||||
@@ -432,7 +432,7 @@
|
||||
// any concatenated string tokens.
|
||||
void *Mem = C.Allocate(sizeof(StringLiteral)+
|
||||
sizeof(SourceLocation)*(NumStrs-1),
|
||||
- llvm::alignof<StringLiteral>());
|
||||
+ llvm::alignOf<StringLiteral>());
|
||||
StringLiteral *SL = new (Mem) StringLiteral(Ty);
|
||||
|
||||
// OPTIMIZE: could allocate this appended to the StringLiteral.
|
||||
@@ -452,7 +452,7 @@
|
||||
StringLiteral *StringLiteral::CreateEmpty(ASTContext &C, unsigned NumStrs) {
|
||||
void *Mem = C.Allocate(sizeof(StringLiteral)+
|
||||
sizeof(SourceLocation)*(NumStrs-1),
|
||||
- llvm::alignof<StringLiteral>());
|
||||
+ llvm::alignOf<StringLiteral>());
|
||||
StringLiteral *SL = new (Mem) StringLiteral(QualType());
|
||||
SL->StrData = 0;
|
||||
SL->ByteLength = 0;
|
||||
@@ -714,7 +714,7 @@
|
||||
if (targs)
|
||||
Size += ExplicitTemplateArgumentList::sizeFor(*targs);
|
||||
|
||||
- void *Mem = C.Allocate(Size, llvm::alignof<MemberExpr>());
|
||||
+ void *Mem = C.Allocate(Size, llvm::alignOf<MemberExpr>());
|
||||
MemberExpr *E = new (Mem) MemberExpr(base, isarrow, memberdecl, nameinfo, ty);
|
||||
|
||||
if (hasQualOrFound) {
|
||||
Index: lib/AST/DeclCXX.cpp
|
||||
===================================================================
|
||||
--- lib/AST/DeclCXX.cpp (revision 117774)
|
||||
+++ lib/AST/DeclCXX.cpp (revision 117775)
|
||||
@@ -1057,7 +1057,7 @@
|
||||
unsigned NumIndices) {
|
||||
void *Mem = Context.Allocate(sizeof(CXXBaseOrMemberInitializer) +
|
||||
sizeof(VarDecl *) * NumIndices,
|
||||
- llvm::alignof<CXXBaseOrMemberInitializer>());
|
||||
+ llvm::alignOf<CXXBaseOrMemberInitializer>());
|
||||
return new (Mem) CXXBaseOrMemberInitializer(Context, Member, MemberLoc,
|
||||
L, Init, R, Indices, NumIndices);
|
||||
}
|
||||
Index: lib/Lex/TokenLexer.cpp
|
||||
===================================================================
|
||||
--- lib/Lex/TokenLexer.cpp (revision 117774)
|
||||
+++ lib/Lex/TokenLexer.cpp (revision 117775)
|
||||
@@ -287,7 +287,7 @@
|
||||
llvm::BumpPtrAllocator &Alloc = PP.getPreprocessorAllocator();
|
||||
Token *Res =
|
||||
static_cast<Token *>(Alloc.Allocate(sizeof(Token)*ResultToks.size(),
|
||||
- llvm::alignof<Token>()));
|
||||
+ llvm::alignOf<Token>()));
|
||||
if (NumTokens)
|
||||
memcpy(Res, &ResultToks[0], NumTokens*sizeof(Token));
|
||||
Tokens = Res;
|
|
@ -1,11 +0,0 @@
|
|||
--- llvm-2.6/Makefile.rules.timestamp 2009-08-19 18:04:44.000000000 -0400
|
||||
+++ llvm-2.6/Makefile.rules 2009-09-09 02:10:38.287389725 -0400
|
||||
@@ -672,7 +672,7 @@
|
||||
|
||||
ProgInstall = $(INSTALL) $(Install.StripFlag) -m 0755
|
||||
ScriptInstall = $(INSTALL) -m 0755
|
||||
-DataInstall = $(INSTALL) -m 0644
|
||||
+DataInstall = $(INSTALL) -p -m 0644
|
||||
|
||||
# When compiling under Mingw/Cygwin, the tblgen tool expects Windows
|
||||
# paths. In this case, the SYSPATH function (defined in
|
|
@ -1,59 +0,0 @@
|
|||
Index: include/llvm/ADT/StringMap.h
|
||||
===================================================================
|
||||
--- include/llvm/ADT/StringMap.h (revision 117773)
|
||||
+++ include/llvm/ADT/StringMap.h (revision 117774)
|
||||
@@ -167,7 +167,7 @@
|
||||
|
||||
unsigned AllocSize = static_cast<unsigned>(sizeof(StringMapEntry))+
|
||||
KeyLength+1;
|
||||
- unsigned Alignment = alignof<StringMapEntry>();
|
||||
+ unsigned Alignment = alignOf<StringMapEntry>();
|
||||
|
||||
StringMapEntry *NewItem =
|
||||
static_cast<StringMapEntry*>(Allocator.Allocate(AllocSize,Alignment));
|
||||
Index: include/llvm/Support/AlignOf.h
|
||||
===================================================================
|
||||
--- include/llvm/Support/AlignOf.h (revision 117773)
|
||||
+++ include/llvm/Support/AlignOf.h (revision 117774)
|
||||
@@ -49,12 +49,12 @@
|
||||
|
||||
};
|
||||
|
||||
-/// alignof - A templated function that returns the mininum alignment of
|
||||
+/// alignOf - A templated function that returns the mininum alignment of
|
||||
/// of a type. This provides no extra functionality beyond the AlignOf
|
||||
/// class besides some cosmetic cleanliness. Example usage:
|
||||
-/// alignof<int>() returns the alignment of an int.
|
||||
+/// alignOf<int>() returns the alignment of an int.
|
||||
template <typename T>
|
||||
-static inline unsigned alignof() { return AlignOf<T>::Alignment; }
|
||||
+static inline unsigned alignOf() { return AlignOf<T>::Alignment; }
|
||||
|
||||
} // end namespace llvm
|
||||
#endif
|
||||
Index: include/llvm/Support/Allocator.h
|
||||
===================================================================
|
||||
--- include/llvm/Support/Allocator.h (revision 117773)
|
||||
+++ include/llvm/Support/Allocator.h (revision 117774)
|
||||
@@ -201,7 +201,7 @@
|
||||
char *End = Slab == Allocator.CurSlab ? Allocator.CurPtr :
|
||||
(char *)Slab + Slab->Size;
|
||||
for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) {
|
||||
- Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
|
||||
+ Ptr = Allocator.AlignPtr(Ptr, alignOf<T>());
|
||||
if (Ptr + sizeof(T) <= End)
|
||||
reinterpret_cast<T*>(Ptr)->~T();
|
||||
}
|
||||
Index: include/llvm/CodeGen/SlotIndexes.h
|
||||
===================================================================
|
||||
--- include/llvm/CodeGen/SlotIndexes.h (revision 117773)
|
||||
+++ include/llvm/CodeGen/SlotIndexes.h (revision 117774)
|
||||
@@ -393,7 +393,7 @@
|
||||
IndexListEntry *entry =
|
||||
static_cast<IndexListEntry*>(
|
||||
ileAllocator.Allocate(sizeof(IndexListEntry),
|
||||
- alignof<IndexListEntry>()));
|
||||
+ alignOf<IndexListEntry>()));
|
||||
|
||||
new (entry) IndexListEntry(mi, index);
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
diff -up llvm-2.8/lib/Target/X86/X86Subtarget.cpp.jx llvm-2.8/lib/Target/X86/X86Subtarget.cpp
|
||||
--- llvm-2.8/lib/Target/X86/X86Subtarget.cpp.jx 2010-08-21 13:21:11.000000000 -0400
|
||||
+++ llvm-2.8/lib/Target/X86/X86Subtarget.cpp 2011-04-26 16:02:52.238855091 -0400
|
||||
@@ -262,7 +262,7 @@ void X86Subtarget::AutoDetectSubtargetFe
|
||||
|
||||
HasCLMUL = IsIntel && ((ECX >> 1) & 0x1);
|
||||
HasFMA3 = IsIntel && ((ECX >> 12) & 0x1);
|
||||
- HasAVX = ((ECX >> 28) & 0x1);
|
||||
+ HasAVX = 0;
|
||||
HasAES = IsIntel && ((ECX >> 25) & 0x1);
|
||||
|
||||
if (IsIntel || IsAMD) {
|
||||
diff -up llvm-2.8/lib/Target/X86/X86Subtarget.h.jx llvm-2.8/lib/Target/X86/X86Subtarget.h
|
||||
--- llvm-2.8/lib/Target/X86/X86Subtarget.h.jx 2010-09-02 19:03:46.000000000 -0400
|
||||
+++ llvm-2.8/lib/Target/X86/X86Subtarget.h 2011-04-26 16:01:23.336855019 -0400
|
||||
@@ -150,7 +150,7 @@ public:
|
||||
bool hasSSE4A() const { return HasSSE4A; }
|
||||
bool has3DNow() const { return X863DNowLevel >= ThreeDNow; }
|
||||
bool has3DNowA() const { return X863DNowLevel >= ThreeDNowA; }
|
||||
- bool hasAVX() const { return HasAVX; }
|
||||
+ bool hasAVX() const { return false; }
|
||||
bool hasAES() const { return HasAES; }
|
||||
bool hasCLMUL() const { return HasCLMUL; }
|
||||
bool hasFMA3() const { return HasFMA3; }
|
||||
diff -up llvm-2.8/lib/Target/X86/X86.td.jx llvm-2.8/lib/Target/X86/X86.td
|
||||
--- llvm-2.8/lib/Target/X86/X86.td.jx 2010-08-11 20:55:32.000000000 -0400
|
||||
+++ llvm-2.8/lib/Target/X86/X86.td 2011-04-26 16:02:21.127854790 -0400
|
||||
@@ -116,7 +116,8 @@ def : Proc<"westmere", [FeatureS
|
||||
FeatureFastUAMem, FeatureAES]>;
|
||||
// Sandy Bridge does not have FMA
|
||||
// FIXME: Wikipedia says it does... it should have AES as well.
|
||||
-def : Proc<"sandybridge", [FeatureSSE42, FeatureAVX, Feature64Bit]>;
|
||||
+// FEDORA: AVX is broken in 2.8
|
||||
+def : Proc<"sandybridge", [FeatureSSE42, Feature64Bit]>;
|
||||
|
||||
def : Proc<"k6", [FeatureMMX]>;
|
||||
def : Proc<"k6-2", [FeatureMMX, Feature3DNow]>;
|
||||
diff -up llvm-2.8/tools/clang/lib/Basic/Targets.cpp.jx llvm-2.8/tools/clang/lib/Basic/Targets.cpp
|
||||
--- llvm-2.8/tools/clang/lib/Basic/Targets.cpp.jx 2010-08-31 12:44:54.000000000 -0400
|
||||
+++ llvm-2.8/tools/clang/lib/Basic/Targets.cpp 2011-04-26 16:03:40.768855658 -0400
|
||||
@@ -1048,8 +1048,6 @@ bool X86TargetInfo::setFeatureEnabled(ll
|
||||
Features["3dnow"] = Features["3dnowa"] = true;
|
||||
else if (Name == "aes")
|
||||
Features["aes"] = true;
|
||||
- else if (Name == "avx")
|
||||
- Features["avx"] = true;
|
||||
} else {
|
||||
if (Name == "mmx")
|
||||
Features["mmx"] = Features["sse"] = Features["sse2"] = Features["sse3"] =
|
||||
@@ -1101,7 +1099,6 @@ void X86TargetInfo::HandleTargetFeatures
|
||||
// FIXME: Not sure yet how to treat AVX in regard to SSE levels.
|
||||
// For now let it be enabled together with other SSE levels.
|
||||
if (Features[i].substr(1) == "avx") {
|
||||
- HasAVX = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1146,9 +1143,6 @@ void X86TargetInfo::getTargetDefines(con
|
||||
if (HasAES)
|
||||
Builder.defineMacro("__AES__");
|
||||
|
||||
- if (HasAVX)
|
||||
- Builder.defineMacro("__AVX__");
|
||||
-
|
||||
// Target properties.
|
||||
Builder.defineMacro("__LITTLE_ENDIAN__");
|
||||
|
728
llvm.spec
728
llvm.spec
|
@ -1,61 +1,87 @@
|
|||
# Build options:
|
||||
#
|
||||
# --with doxygen
|
||||
# The doxygen docs are HUGE, so they are not built by default.
|
||||
# Components skipped by default:
|
||||
%bcond_with doxygen
|
||||
|
||||
%ifarch s390 s390x sparc64
|
||||
# No ocaml on these arches
|
||||
%bcond_with ocaml
|
||||
%else
|
||||
# Components built by default:
|
||||
%bcond_without clang
|
||||
%bcond_without crt
|
||||
|
||||
# Components enabled if supported by target arch:
|
||||
%ifnarch s390 s390x sparc64
|
||||
%bcond_without ocaml
|
||||
%else
|
||||
%bcond_with ocaml
|
||||
%endif
|
||||
%ifarch %ix86 x86_64
|
||||
%bcond_without gold
|
||||
%else
|
||||
%bcond_with gold
|
||||
%endif
|
||||
# ppc64 fails to build lldb upstream
|
||||
%ifnarch ppc ppc64
|
||||
%bcond_without lldb
|
||||
%else
|
||||
%bcond_with lldb
|
||||
%endif
|
||||
|
||||
|
||||
# Documentation install path
|
||||
%if 0%{?fedora} < 20
|
||||
%global llvmdocdir() %{_docdir}/%1-%{version}
|
||||
%else
|
||||
%global llvmdocdir() %{_docdir}/%1
|
||||
%endif
|
||||
|
||||
#global prerel rc3
|
||||
%global downloadurl http://llvm.org/%{?prerel:pre-}releases/%{version}%{?prerel:/%{prerel}}
|
||||
|
||||
Name: llvm
|
||||
Version: 2.8
|
||||
Release: 14%{?dist}
|
||||
Version: 3.4
|
||||
Release: 3%{?dist}
|
||||
Summary: The Low Level Virtual Machine
|
||||
|
||||
Group: Development/Languages
|
||||
License: NCSA
|
||||
URL: http://llvm.org/
|
||||
Source0: http://llvm.org/releases/%{version}/llvm-%{version}.tgz
|
||||
Source1: http://llvm.org/releases/%{version}/clang-%{version}.tgz
|
||||
|
||||
# source archives
|
||||
Source0: %{downloadurl}/llvm-%{version}%{?prerel}.src.tar.gz
|
||||
Source1: %{downloadurl}/clang-%{version}%{?prerel}.src.tar.gz
|
||||
Source2: %{downloadurl}/compiler-rt-%{version}%{?prerel}.src.tar.gz
|
||||
%if %{with lldb}
|
||||
Source3: %{downloadurl}/lldb-%{version}%{?prerel}.src.tar.gz
|
||||
%endif
|
||||
|
||||
# multilib fixes
|
||||
Source2: llvm-Config-config.h
|
||||
Source3: llvm-Config-llvm-config.h
|
||||
|
||||
# Data files should be installed with timestamps preserved
|
||||
Patch0: llvm-2.6-timestamp.patch
|
||||
# rename alignof -> alignOf for C++0x support
|
||||
# http://llvm.org/bugs/show_bug.cgi?id=8423
|
||||
Patch1: llvm-2.8-alignOf.patch
|
||||
Patch2: clang-2.8-alignOf.patch
|
||||
# Disable broken AVX code generation
|
||||
# http://llvm.org/bugs/show_bug.cgi?id=9508
|
||||
Patch3: llvm-2.8-disable-avx.patch
|
||||
Source10: llvm-Config-config.h
|
||||
Source11: llvm-Config-llvm-config.h
|
||||
|
||||
# patches
|
||||
Patch1: 0001-data-install-preserve-timestamps.patch
|
||||
Patch2: 0002-linker-flags-speedup-memory.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: flex
|
||||
BuildRequires: gcc-c++ >= 3.4
|
||||
BuildRequires: groff
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: libtool-ltdl-devel
|
||||
%if %{with gold}
|
||||
BuildRequires: binutils-devel
|
||||
%endif
|
||||
%if %{with ocaml}
|
||||
BuildRequires: ocaml-ocamldoc
|
||||
%endif
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: zip
|
||||
# for DejaGNU test suite
|
||||
BuildRequires: dejagnu tcl-devel python
|
||||
# for doxygen documentation
|
||||
%if 0%{?_with_doxygen}
|
||||
%if %{with doxygen}
|
||||
BuildRequires: doxygen graphviz
|
||||
%endif
|
||||
Requires: llvm-libs = %{version}-%{release}
|
||||
|
||||
# LLVM is not supported on PPC64
|
||||
# http://llvm.org/bugs/show_bug.cgi?id=3729
|
||||
ExcludeArch: ppc64
|
||||
# pod2man moved to perl-podlators in F19
|
||||
BuildRequires: %{_bindir}/pod2man
|
||||
Requires: llvm-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description
|
||||
LLVM is a compiler infrastructure designed for compile-time,
|
||||
|
@ -68,11 +94,10 @@ functionality.
|
|||
%package devel
|
||||
Summary: Libraries and header files for LLVM
|
||||
Group: Development/Languages
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: libffi-devel
|
||||
Requires: libstdc++-devel >= 3.4
|
||||
Provides: llvm-static = %{version}-%{release}
|
||||
|
||||
Requires: ncurses-devel
|
||||
Requires(posttrans): /usr/sbin/alternatives
|
||||
Requires(postun): /usr/sbin/alternatives
|
||||
|
||||
|
@ -86,8 +111,7 @@ Summary: Documentation for LLVM
|
|||
Group: Documentation
|
||||
BuildArch: noarch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
# might seem redundant, but needed to kill off the old arch-ed -doc
|
||||
# subpackage
|
||||
# might seem redundant, but needed to kill off the old arch-ed -doc subpackage
|
||||
Obsoletes: %{name}-doc < %{version}-%{release}
|
||||
|
||||
%description doc
|
||||
|
@ -102,13 +126,26 @@ Group: System Environment/Libraries
|
|||
Shared libraries for the LLVM compiler infrastructure.
|
||||
|
||||
|
||||
%package static
|
||||
Summary: LLVM static libraries
|
||||
Group: Development/Languages
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
Static libraries for the LLVM compiler infrastructure. Not recommended
|
||||
for general consumption.
|
||||
|
||||
|
||||
%if %{with clang}
|
||||
%package -n clang
|
||||
Summary: A C language family front-end for LLVM
|
||||
License: NCSA
|
||||
Group: Development/Languages
|
||||
Requires: llvm = %{version}-%{release}
|
||||
# clang requires gcc; clang++ gcc-c++
|
||||
Requires: gcc-c++
|
||||
Requires: llvm%{?_isa} = %{version}-%{release}
|
||||
# clang requires gcc, clang++ requires libstdc++-devel
|
||||
Requires: libstdc++-devel
|
||||
# remove clang-doc pacakge
|
||||
Obsoletes: clang-doc < %{version}-%{release}
|
||||
|
||||
%description -n clang
|
||||
clang: noun
|
||||
|
@ -124,7 +161,7 @@ as libraries and designed to be loosely-coupled and extensible.
|
|||
%package -n clang-devel
|
||||
Summary: Header files for clang
|
||||
Group: Development/Languages
|
||||
Requires: clang = %{version}-%{release}
|
||||
Requires: clang%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n clang-devel
|
||||
This package contains header files for the Clang compiler.
|
||||
|
@ -134,6 +171,7 @@ This package contains header files for the Clang compiler.
|
|||
Summary: A source code analysis framework
|
||||
License: NCSA
|
||||
Group: Development/Languages
|
||||
BuildArch: noarch
|
||||
Requires: clang = %{version}-%{release}
|
||||
# not picked up automatically since files are currently not instaled
|
||||
# in standard Python hierarchies yet
|
||||
|
@ -145,18 +183,34 @@ framework and a standalone tool that finds bugs in C and Objective-C
|
|||
programs. The standalone tool is invoked from the command-line, and is
|
||||
intended to run in tandem with a build of a project or code base.
|
||||
|
||||
%endif
|
||||
|
||||
%package -n clang-doc
|
||||
Summary: Documentation for Clang
|
||||
Group: Documentation
|
||||
BuildArch: noarch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%if %{with lldb}
|
||||
%package -n lldb
|
||||
Summary: Next generation high-performance debugger
|
||||
License: NCSA
|
||||
Group: Development/Languages
|
||||
Requires: llvm%{?_isa} = %{version}-%{release}
|
||||
BuildRequires: swig
|
||||
BuildRequires: libedit-devel
|
||||
BuildRequires: python-devel
|
||||
|
||||
%description -n clang-doc
|
||||
Documentation for the Clang compiler front-end.
|
||||
%description -n lldb
|
||||
LLDB is a next generation, high-performance debugger. It is built as a set
|
||||
of reusable components which highly leverage existing libraries in the
|
||||
larger LLVM Project, such as the Clang expression parser and LLVM
|
||||
disassembler.
|
||||
|
||||
%package -n lldb-devel
|
||||
Summary: Header files for LLDB
|
||||
Group: Development/Languages
|
||||
Requires: lldb%{?_isa} = %{version}-%{release}
|
||||
|
||||
%if 0%{?_with_doxygen}
|
||||
%description -n lldb-devel
|
||||
This package contains header files for the LLDB debugger.
|
||||
%endif
|
||||
|
||||
%if %{with doxygen}
|
||||
%package apidoc
|
||||
Summary: API documentation for LLVM
|
||||
Group: Development/Languages
|
||||
|
@ -168,23 +222,24 @@ Requires: %{name}-doc = %{version}-%{release}
|
|||
API documentation for the LLVM compiler infrastructure.
|
||||
|
||||
|
||||
%if %{with clang}
|
||||
%package -n clang-apidoc
|
||||
Summary: API documentation for Clang
|
||||
Group: Development/Languages
|
||||
BuildArch: noarch
|
||||
Requires: clang-doc = %{version}-%{release}
|
||||
|
||||
|
||||
%description -n clang-apidoc
|
||||
API documentation for the Clang compiler.
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ocaml}
|
||||
%package ocaml
|
||||
Summary: OCaml binding for LLVM
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: ocaml-runtime
|
||||
|
||||
%description ocaml
|
||||
|
@ -194,8 +249,8 @@ OCaml binding for LLVM.
|
|||
%package ocaml-devel
|
||||
Summary: Development files for %{name}-ocaml
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-ocaml = %{version}-%{release}
|
||||
Requires: %{name}-static%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-ocaml%{?_isa} = %{version}-%{release}
|
||||
Requires: ocaml
|
||||
|
||||
%description ocaml-devel
|
||||
|
@ -215,76 +270,104 @@ HTML documentation for LLVM's OCaml binding.
|
|||
|
||||
|
||||
%prep
|
||||
%setup -q -n llvm-%{version} -a1 %{?_with_gcc:-a2}
|
||||
%setup -q %{?with_clang:-a1} %{?with_crt:-a2} %{?with_lldb:-a3}
|
||||
rm -rf tools/clang tools/lldb projects/compiler-rt
|
||||
%if %{with clang}
|
||||
mv clang-%{version} tools/clang
|
||||
%endif
|
||||
%if %{with crt}
|
||||
mv compiler-rt-%{version} projects/compiler-rt
|
||||
%endif
|
||||
%if %{with lldb}
|
||||
mv lldb-%{version} tools/lldb
|
||||
%endif
|
||||
|
||||
# llvm patches
|
||||
%patch0 -p1 -b .timestamp
|
||||
%patch1 -p0 -b .alignOf
|
||||
%patch3 -p1 -b .avx
|
||||
|
||||
# clang patches
|
||||
pushd tools/clang
|
||||
%patch2 -p0 -b .alignOf
|
||||
popd
|
||||
|
||||
# Also disable AVX tests
|
||||
rm test/CodeGen/X86/avx*.ll
|
||||
|
||||
# Encoding fix
|
||||
#(cd tools/clang/docs && \
|
||||
# iconv -f ISO88591 -t UTF8 BlockImplementation.txt \
|
||||
# -o BlockImplementation.txt)
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
# fix library paths
|
||||
sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' ./configure
|
||||
sed -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}/%{name}|g' Makefile.config.in
|
||||
sed -i 's|/lib\>|/%{_lib}/%{name}|g' tools/llvm-config/llvm-config.cpp
|
||||
|
||||
%build
|
||||
# Disabling assertions now, rec. by pure and needed for OpenGTL
|
||||
# TESTFIX no PIC on ix86: http://llvm.org/bugs/show_bug.cgi?id=3801
|
||||
# clang is lovely and all, but fedora builds with gcc
|
||||
export CC=gcc
|
||||
export CXX=c++
|
||||
%configure \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_libdir}/%{name} \
|
||||
--datadir=%{_libdir}/%{name} \
|
||||
%if 0%{?_with_doxygen}
|
||||
--enable-doxygen \
|
||||
%endif
|
||||
--disable-polly \
|
||||
--disable-libcpp \
|
||||
--enable-cxx11 \
|
||||
--enable-clang-arcmt \
|
||||
--enable-clang-static-analyzer \
|
||||
--enable-clang-rewriter \
|
||||
--enable-optimized \
|
||||
--disable-profiling \
|
||||
--disable-assertions \
|
||||
--disable-werror \
|
||||
--disable-expensive-checks \
|
||||
--enable-debug-runtime \
|
||||
--enable-keep-symbols \
|
||||
--enable-jit \
|
||||
--enable-libffi \
|
||||
--enable-shared \
|
||||
--with-c-include-dirs=%{_includedir}:$(find %{_prefix}/lib/gcc/*/* \
|
||||
-maxdepth 0 -type d)/include \
|
||||
%if %{__isa_bits} == 64
|
||||
--with-cxx-include-32bit-dir=32 \
|
||||
--enable-docs \
|
||||
%if %{with doxygen}
|
||||
--enable-doxygen \
|
||||
%else
|
||||
--disable-doxygen \
|
||||
%endif
|
||||
--with-cxx-include-root=$(find %{_includedir}/c++/* -maxdepth 0 -type d) \
|
||||
--with-cxx-include-arch=%{_target_cpu}-%{_vendor}-%{_os} \
|
||||
--enable-threads \
|
||||
--enable-pthreads \
|
||||
--enable-zlib \
|
||||
--enable-pic \
|
||||
--enable-shared \
|
||||
--disable-embed-stdcxx \
|
||||
--enable-timestamps \
|
||||
--enable-backtraces \
|
||||
--enable-targets=x86,powerpc,arm,aarch64,cpp,nvptx,systemz \
|
||||
--enable-experimental-targets=R600 \
|
||||
%if %{with ocaml}
|
||||
--enable-bindings=ocaml \
|
||||
%else
|
||||
--enable-bindings=none \
|
||||
%endif
|
||||
--enable-libffi \
|
||||
--enable-ltdl-install \
|
||||
\
|
||||
%ifarch armv7hl armv7l
|
||||
--with-cpu=cortex-a8 \
|
||||
--with-tune=cortex-a8 \
|
||||
--with-arch=armv7-a \
|
||||
--with-float=hard \
|
||||
--with-fpu=vfpv3-d16 \
|
||||
--with-abi=aapcs-linux \
|
||||
%endif
|
||||
\
|
||||
%if %{with gold}
|
||||
--with-binutils-include=%{_includedir} \
|
||||
%endif
|
||||
--with-c-include-dirs=%{_includedir}:$(echo %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) \
|
||||
--with-optimize-option=-O3
|
||||
|
||||
# FIXME file this
|
||||
# configure does not properly specify libdir
|
||||
sed -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}/%{name}|g' Makefile.config
|
||||
|
||||
make %{_smp_mflags} REQUIRES_RTTI=1 \
|
||||
make %{_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1 \
|
||||
%ifarch ppc
|
||||
OPTIMIZE_OPTION="%{optflags} -fno-var-tracking-assignments"
|
||||
OPTIMIZE_OPTION="%{optflags} -UPPC"
|
||||
%else
|
||||
OPTIMIZE_OPTION="%{optflags}"
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
make install DESTDIR=%{buildroot} \
|
||||
PROJ_docsdir=/moredocs
|
||||
make install DESTDIR=%{buildroot} PROJ_docsdir=/moredocs
|
||||
|
||||
# multilib fixes
|
||||
mv %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
||||
|
||||
pushd %{buildroot}%{_includedir}/llvm/Config
|
||||
mv config.h config-%{__isa_bits}.h
|
||||
cp -p %{SOURCE2} config.h
|
||||
cp -p %{SOURCE10} config.h
|
||||
mv llvm-config.h llvm-config-%{__isa_bits}.h
|
||||
cp -p %{SOURCE3} llvm-config.h
|
||||
cp -p %{SOURCE11} llvm-config.h
|
||||
popd
|
||||
|
||||
# Create ld.so.conf.d entry
|
||||
|
@ -293,88 +376,145 @@ cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf << EOF
|
|||
%{_libdir}/llvm
|
||||
EOF
|
||||
|
||||
%if %{with clang}
|
||||
# Static analyzer not installed by default:
|
||||
# http://clang-analyzer.llvm.org/installation#OtherPlatforms
|
||||
mkdir -p %{buildroot}%{_libdir}/clang-analyzer
|
||||
# create launchers
|
||||
|
||||
# scan-view
|
||||
mkdir -p %{buildroot}%{_libexecdir}/clang-analyzer/
|
||||
cp -pr tools/clang/tools/scan-view %{buildroot}%{_libexecdir}/clang-analyzer/
|
||||
|
||||
# scan-build
|
||||
mkdir -p %{buildroot}%{_libexecdir}/clang-analyzer/scan-build
|
||||
for file in c++-analyzer ccc-analyzer scan-build scanview.css sorttable.js; do
|
||||
cp -p tools/clang/tools/scan-build/$file %{buildroot}%{_libexecdir}/clang-analyzer/scan-build/
|
||||
done
|
||||
|
||||
# scan-build manual page
|
||||
mkdir -p %{buildroot}%{_mandir}/man1
|
||||
cp -p tools/clang/tools/scan-build/scan-build.1 %{buildroot}%{_mandir}/man1/
|
||||
|
||||
# scan-build requires clang in search path
|
||||
ln -s ../../../bin/clang %{buildroot}%{_libexecdir}/clang-analyzer/scan-build/clang
|
||||
|
||||
# launchers in /bin
|
||||
for f in scan-{build,view}; do
|
||||
ln -s %{_libdir}/clang-analyzer/$f/$f %{buildroot}%{_bindir}/$f
|
||||
ln -s %{_libexecdir}/clang-analyzer/$f/$f %{buildroot}%{_bindir}/$f
|
||||
done
|
||||
|
||||
(cd tools/clang/tools && cp -pr scan-{build,view} \
|
||||
%{buildroot}%{_libdir}/clang-analyzer/)
|
||||
|
||||
|
||||
# Move documentation back to build directory
|
||||
#
|
||||
mv %{buildroot}/moredocs .
|
||||
rm -f moredocs/*.tar.gz
|
||||
rm -f moredocs/ocamldoc/html/*.tar.gz
|
||||
|
||||
# and separate the apidoc
|
||||
%if 0%{?_with_doxygen}
|
||||
mv moredocs/html/doxygen apidoc
|
||||
mv tools/clang/docs/doxygen/html clang-apidoc
|
||||
%endif
|
||||
|
||||
# And prepare Clang documentation
|
||||
#
|
||||
mkdir clang-docs
|
||||
for f in LICENSE.TXT NOTES.txt README.txt TODO.txt; do
|
||||
ln tools/clang/$f clang-docs/
|
||||
done
|
||||
rm -rf tools/clang/docs/{doxygen*,Makefile*,*.graffle,tools}
|
||||
|
||||
|
||||
#find %%{buildroot} -name .dir -print0 | xargs -0r rm -f
|
||||
file %{buildroot}/%{_bindir}/* | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
|
||||
file %{buildroot}/%{_libdir}/llvm/*.so | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
|
||||
#chrpath -d %%{buildroot}/%%{_libexecdir}/clang-cc
|
||||
|
||||
# Get rid of erroneously installed example files.
|
||||
rm %{buildroot}%{_libdir}/%{name}/*LLVMHello.*
|
||||
|
||||
# FIXME file this bug
|
||||
sed -i 's,ABS_RUN_DIR/lib",ABS_RUN_DIR/%{_lib}/%{name}",' \
|
||||
%{buildroot}%{_bindir}/llvm-config-%{__isa_bits}
|
||||
# remove executable bit from static libraries
|
||||
find %{buildroot}%{_libdir} -name "*.a" -type f -print0 | xargs -0 chmod -x
|
||||
|
||||
chmod -x %{buildroot}%{_libdir}/%{name}/*.a
|
||||
# Install man page for LLDB
|
||||
%if %{with lldb}
|
||||
mkdir -p %{buildroot}%{_mandir}/man1
|
||||
cp tools/lldb/docs/lldb.1 %{buildroot}%{_mandir}/man1/
|
||||
%endif
|
||||
|
||||
# remove documentation makefiles:
|
||||
# they require the build directory to work
|
||||
find examples -name 'Makefile' | xargs -0r rm -f
|
||||
# Install documentation documentation
|
||||
find %{buildroot}/moredocs/ -name "*.tar.gz" -print0 | xargs -0 rm -rf
|
||||
mkdir -p %{buildroot}%{_docdir}
|
||||
|
||||
# llvm
|
||||
mkdir -p %{buildroot}%{llvmdocdir llvm}
|
||||
for f in CREDITS.TXT LICENSE.TXT README.txt; do
|
||||
cp $f %{buildroot}%{llvmdocdir llvm}
|
||||
done
|
||||
|
||||
# llvm-doc
|
||||
mkdir -p %{buildroot}%{llvmdocdir llvm-doc}
|
||||
cp -ar examples %{buildroot}%{llvmdocdir llvm-doc}/examples
|
||||
find %{buildroot}%{llvmdocdir llvm-doc} -name Makefile -o -name CMakeLists.txt -o -name LLVMBuild.txt -print0 | xargs -0 rm -f
|
||||
|
||||
# llvm-apidoc
|
||||
%if %{with doxygen}
|
||||
mv %{buildroot}/moredocs/html/doxygen %{buildroot}%{llvmdocdir llvm-apidoc}
|
||||
%endif
|
||||
|
||||
# llvm-ocaml-doc
|
||||
%if %{with ocaml}
|
||||
mv %{buildroot}/moredocs/ocamldoc/html %{buildroot}%{llvmdocdir llvm-ocaml-doc}
|
||||
%endif
|
||||
|
||||
# clang
|
||||
%if %{with clang}
|
||||
mkdir -p %{buildroot}%{llvmdocdir clang}
|
||||
for f in LICENSE.TXT NOTES.txt README.txt CODE_OWNERS.TXT; do
|
||||
cp tools/clang/$f %{buildroot}%{llvmdocdir clang}/
|
||||
done
|
||||
%endif
|
||||
|
||||
# clang-apidoc
|
||||
%if %{with clang}
|
||||
%if %{with doxygen}
|
||||
cp -ar tools/clang/docs/doxygen/html %{buildroot}%{llvmdocdir clang-apidoc}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# lldb
|
||||
%if %{with lldb}
|
||||
mkdir -p %{buildroot}%{llvmdocdir lldb}
|
||||
cp tools/lldb/LICENSE.TXT %{buildroot}%{llvmdocdir lldb}/
|
||||
%endif
|
||||
|
||||
# delete the rest of installed documentation (because it's bad)
|
||||
rm -rf %{buildroot}/moredocs
|
||||
|
||||
# install CMake modules
|
||||
mkdir -p %{buildroot}%{_datadir}/llvm/cmake/
|
||||
cp -p cmake/modules/*.cmake %{buildroot}%{_datadir}/llvm/cmake/
|
||||
|
||||
# remove RPATHs
|
||||
file %{buildroot}/%{_bindir}/* | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
|
||||
file %{buildroot}/%{_libdir}/llvm/*.so | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
|
||||
|
||||
%check
|
||||
# the Koji build server does not seem to have enough RAM
|
||||
# for the default 16 threads
|
||||
make check LIT_ARGS="-s -v -j8" \
|
||||
%ifarch s390 s390x
|
||||
|| :
|
||||
%else
|
||||
%{nil}
|
||||
%endif
|
||||
|
||||
make -C tools/clang/test \
|
||||
%ifarch s390 s390x
|
||||
|| :
|
||||
%else
|
||||
%{nil}
|
||||
# the || : is wrong, i know, but the git snaps fail to make check due to
|
||||
# broken makefiles in the doc dirs.
|
||||
|
||||
# LLVM test suite failing on ARM, PPC64 and s390(x)
|
||||
mkdir -p %{buildroot}%{llvmdocdir llvm-devel}
|
||||
make -k check LIT_ARGS="-v -j4" | tee %{buildroot}%{llvmdocdir llvm-devel}/testlog-%{_arch}.txt || :
|
||||
|
||||
%if %{with clang}
|
||||
# clang test suite failing on PPC and s390(x)
|
||||
# FIXME:
|
||||
# unexpected failures on all platforms with GCC 4.7.0.
|
||||
# capture logs
|
||||
mkdir -p %{buildroot}%{llvmdocdir clang-devel}
|
||||
make -C tools/clang/test TESTARGS="-v -j4" | tee %{buildroot}%{llvmdocdir clang-devel}/testlog-%{_arch}.txt || :
|
||||
%endif
|
||||
|
||||
|
||||
%post libs -p /sbin/ldconfig
|
||||
%post -n clang -p /sbin/ldconfig
|
||||
|
||||
|
||||
%postun libs -p /sbin/ldconfig
|
||||
|
||||
%if %{with clang}
|
||||
%post -n clang -p /sbin/ldconfig
|
||||
%postun -n clang -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%if %{with lldb}
|
||||
%post -n lldb -p /sbin/ldconfig
|
||||
%postun -n lldb -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
|
||||
%posttrans devel
|
||||
# link llvm-config to the platform-specific file;
|
||||
# use ISA bits as priority so that 64-bit is preferred
|
||||
# over 32-bit if both are installed
|
||||
#
|
||||
# XXX ew alternatives though. seems like it'd be better to install a
|
||||
# shell script that cases on $(arch) and calls out to the appropriate
|
||||
# llvm-config-%d.
|
||||
alternatives \
|
||||
--install \
|
||||
%{_bindir}/llvm-config \
|
||||
|
@ -392,65 +532,98 @@ exit 0
|
|||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc CREDITS.TXT LICENSE.TXT README.txt
|
||||
%doc %{llvmdocdir llvm}/
|
||||
%dir %{_datadir}/llvm
|
||||
%{_bindir}/bugpoint
|
||||
%{_bindir}/llc
|
||||
%{_bindir}/lli
|
||||
%{_bindir}/lli-child-target
|
||||
%exclude %{_bindir}/llvm-config-%{__isa_bits}
|
||||
%{_bindir}/llvm*
|
||||
%{_bindir}/macho-dump
|
||||
%{_bindir}/opt
|
||||
%if %{with clang}
|
||||
%exclude %{_mandir}/man1/clang.1.*
|
||||
%exclude %{_mandir}/man1/llvmg??.1.*
|
||||
%exclude %{_mandir}/man1/scan-build.1.*
|
||||
%endif
|
||||
%if %{with lldb}
|
||||
%exclude %{_mandir}/man1/lldb.1.*
|
||||
%endif
|
||||
%doc %{_mandir}/man1/*.1.*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%doc %{llvmdocdir llvm-devel}/
|
||||
%{_bindir}/llvm-config-%{__isa_bits}
|
||||
%{_includedir}/%{name}
|
||||
%{_includedir}/%{name}-c
|
||||
%{_libdir}/%{name}/*.a
|
||||
%{_datadir}/llvm/cmake
|
||||
|
||||
%files libs
|
||||
%defattr(-,root,root,-)
|
||||
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
|
||||
%dir %{_libdir}/%{name}
|
||||
%if %{with clang}
|
||||
%exclude %{_libdir}/%{name}/libclang.so
|
||||
%endif
|
||||
%if %{with lldb}
|
||||
%exclude %{_libdir}/%{name}/liblldb.so
|
||||
%endif
|
||||
%{_libdir}/%{name}/*.so
|
||||
|
||||
%files static
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/%{name}/*.a
|
||||
|
||||
%if %{with clang}
|
||||
%files -n clang
|
||||
%defattr(-,root,root,-)
|
||||
%doc clang-docs/*
|
||||
%doc %{llvmdocdir clang}/
|
||||
%{_bindir}/clang*
|
||||
%{_bindir}/c-index-test
|
||||
%{_bindir}/tblgen
|
||||
%{_libdir}/%{name}/libclang.so
|
||||
%{_prefix}/lib/clang
|
||||
%doc %{_mandir}/man1/clang.1.*
|
||||
|
||||
%files -n clang-devel
|
||||
%defattr(-,root,root,-)
|
||||
%doc %{llvmdocdir clang-devel}/
|
||||
%{_includedir}/clang
|
||||
%{_includedir}/clang-c
|
||||
|
||||
%files -n clang-analyzer
|
||||
%defattr(-,root,root,-)
|
||||
%{_mandir}/man1/scan-build.1.*
|
||||
%{_bindir}/scan-build
|
||||
%{_bindir}/scan-view
|
||||
%{_libdir}/clang-analyzer
|
||||
%{_libexecdir}/clang-analyzer
|
||||
%endif
|
||||
|
||||
%files -n clang-doc
|
||||
%if %{with lldb}
|
||||
%files -n lldb
|
||||
%defattr(-,root,root,-)
|
||||
%doc tools/clang/docs/*
|
||||
%doc %{llvmdocdir lldb}/
|
||||
%{_bindir}/lldb
|
||||
%{_bindir}/lldb-platform
|
||||
%{_libdir}/%{name}/liblldb.so
|
||||
%doc %{_mandir}/man1/lldb.1.*
|
||||
|
||||
%files -n lldb-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_includedir}/lldb
|
||||
%endif
|
||||
|
||||
%files doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc examples moredocs/html
|
||||
%doc %{llvmdocdir llvm-doc}/
|
||||
|
||||
%if %{with ocaml}
|
||||
%files ocaml
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/ocaml/*.cma
|
||||
%{_libdir}/ocaml/*.cmi
|
||||
%{_libdir}/ocaml/dll*.so
|
||||
%{_libdir}/ocaml/META.llvm*
|
||||
|
||||
%files ocaml-devel
|
||||
%defattr(-,root,root,-)
|
||||
|
@ -460,46 +633,247 @@ exit 0
|
|||
|
||||
%files ocaml-doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc moredocs/ocamldoc/html/*
|
||||
%doc %{llvmdocdir llvm-ocaml-doc}/
|
||||
%endif
|
||||
|
||||
%if 0%{?_with_doxygen}
|
||||
%if %{with doxygen}
|
||||
%files apidoc
|
||||
%defattr(-,root,root,-)
|
||||
%doc apidoc/*
|
||||
%doc %{llvmdocdir llvm-apidoc}/
|
||||
|
||||
%if %{with clang}
|
||||
%files -n clang-apidoc
|
||||
%defattr(-,root,root,-)
|
||||
%doc clang-apidoc/*
|
||||
%doc %{llvmdocdir clang-apidoc}/
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Nov 12 2011 Michel Salim <salimma@fedoraproject.org> - 2.8-14
|
||||
* Fri Jan 17 2014 Dave Airlie <airlied@redhat.com> 3.4-3
|
||||
- bump nvr for lldb on ppc disable
|
||||
|
||||
* Tue Jan 14 2014 Dave Airlie <airlied@redhat.com> 3.4-2
|
||||
- add ncurses-devel BR and Requires
|
||||
|
||||
* Tue Jan 14 2014 Dave Airlie <airlied@redhat.com> 3.4-1
|
||||
- update to llvm 3.4 release
|
||||
|
||||
* Fri Dec 20 2013 Jan Vcelak <jvcelak@fedoraproject.org> 3.3-4
|
||||
- remove RPATHs
|
||||
- run ldconfig when installing lldb (#1044431)
|
||||
- fix: scan-build manual page is installed into wrong location (#1038829)
|
||||
- fix: requirements for llvm-ocaml-devel packages (#975914)
|
||||
- add LLVM cmake modules into llvm-devel (#914713)
|
||||
|
||||
* Sat Nov 30 2013 Jan Vcelak <jvcelak@fedoraproject.org> 3.3-3
|
||||
- properly obsolete clang-doc subpackage (#1035268)
|
||||
- clang-analyzer: fix scan-build search for compiler (#982645)
|
||||
- clang-analyzer: switch package architecture to noarch
|
||||
|
||||
* Thu Nov 21 2013 Jan Vcelak <jvcelak@fedoraproject.org> 3.3-2
|
||||
- fix build failure, missing __clear_cache() declaration
|
||||
|
||||
* Tue Nov 12 2013 Jan Vcelak <jvcelak@fedoraproject.org> 3.3-1
|
||||
- upgrade to 3.3 release
|
||||
- add compiler-rt, enables address sanitizer (#949489)
|
||||
- add LLDB - debugger from LLVM project (#1009406)
|
||||
- clean up documentation
|
||||
|
||||
* Thu Oct 17 2013 Jakub Jelinek <jakub@redhat.com> - 3.3-0.10.rc3
|
||||
- Rebuild for gcc 4.8.2
|
||||
|
||||
* Sat Sep 14 2013 Petr Pisar <ppisar@redhat.com> - 3.3-0.9.rc3
|
||||
- Rebuild for OCaml 4.01.0.
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-0.8.rc3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 3.3-0.7.rc3
|
||||
- Perl 5.18 rebuild
|
||||
|
||||
* Mon Jun 10 2013 Adam Jackson <ajax@redhat.com> 3.3-0.6.rc3
|
||||
- llvm 3.3-rc3
|
||||
|
||||
* Tue Jun 04 2013 Adam Jackson <ajax@redhat.com> 3.3-0.5.rc2
|
||||
- Rebuild for gcc 4.8.1
|
||||
|
||||
* Tue May 28 2013 Adam Jackson <ajax@redhat.com> 3.3-0.4.rc2
|
||||
- llvm 3.3-rc2
|
||||
|
||||
* Sat May 18 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.3-0.3.20130507
|
||||
- Enable aarch64 target
|
||||
|
||||
* Tue May 07 2013 Adam Jackson <ajax@redhat.com> 3.3-0.1.20130507
|
||||
- Bump to LLVM 3.3svn
|
||||
- Enable s390 backend
|
||||
|
||||
* Mon May 06 2013 Adam Jackson <ajax@redhat.com> 3.2-6
|
||||
- Only build codegen backends for arches that actually exist in Fedora
|
||||
|
||||
* Wed May 01 2013 Adam Jackson <ajax@redhat.com> 3.2-5
|
||||
- Tweak ld flags for memory usage and performance
|
||||
|
||||
* Thu Apr 4 2013 Jens Petersen <petersen@redhat.com> - 3.2-4
|
||||
- fix bogus date for 2.9-0.2.rc1
|
||||
- drop insufficient llvm-3.2-clang-driver-secondary-arch-triplets.patch
|
||||
|
||||
* Sun Mar 31 2013 Dennis Gilmore <dennis@ausil.us> - 3.2-3
|
||||
- add a hack to clang defaulting arm to hardfloat
|
||||
|
||||
* Fri Mar 08 2013 Adam Jackson <ajax@redhat.com> 3.2-2
|
||||
- Update R600 patches
|
||||
- Move static libs to -static subpackage
|
||||
- Prep for F18 backport
|
||||
|
||||
* Wed Feb 13 2013 Jens Petersen <petersen@redhat.com> - 3.2-1
|
||||
- update to 3.2
|
||||
- update R600 patches to Tom Stellard's git tree
|
||||
- llvm-fix-ghc.patch is upstream
|
||||
- llvm-3.1-docs-pod-markup-fixes.patch no longer needed
|
||||
- add llvm-3.2-clang-driver-secondary-arch-triplets.patch (#803433)
|
||||
- build with gcc/g++ even if clang is installed
|
||||
- llvm-config.1 manpage is no longer
|
||||
|
||||
* Mon Feb 4 2013 Jens Petersen <petersen@redhat.com> - 3.1-16
|
||||
- bring back configuration for gcc arch include dir (Yury Zaytsev, #893817)
|
||||
which was dropped in 3.0-0.1.rc3
|
||||
- BR gcc and gcc-c++ with gcc_version
|
||||
|
||||
* Thu Jan 31 2013 Jens Petersen <petersen@redhat.com> - 3.1-15
|
||||
- move lvm-config manpage to devel subpackage (#855882)
|
||||
- pod2man moved to perl-podlators in F19
|
||||
|
||||
* Fri Jan 25 2013 Kalev Lember <kalevlember@gmail.com> - 3.1-14
|
||||
- Rebuilt for GCC 4.8.0
|
||||
|
||||
* Wed Jan 23 2013 Jens Petersen <petersen@redhat.com> - 3.1-13
|
||||
- fix some docs pod markup errors to build with new perl-Pod-Parser
|
||||
|
||||
* Mon Oct 29 2012 Richard W.M. Jones <rjones@redhat.com> - 3.1-12
|
||||
- Rebuild for OCaml 4.00.1.
|
||||
|
||||
* Mon Sep 24 2012 Michel Salim <salimma@fedoraproject.org> - 3.1-11
|
||||
- Actually build against GCC 4.7.2
|
||||
|
||||
* Mon Sep 24 2012 Michel Salim <salimma@fedoraproject.org> - 3.1-10
|
||||
- Rebuild for GCC 4.7.2
|
||||
|
||||
* Tue Aug 14 2012 Dan Horák <dan[at]danny.cz> - 3.1-9
|
||||
- Apply clang patches only when clang is being built
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 3.1-7
|
||||
- Rename patch as it actually fixes Haskell
|
||||
|
||||
* Thu Jul 12 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 3.1-6
|
||||
- Add patch to fix building OCAML on ARM
|
||||
|
||||
* Wed Jul 4 2012 Michel Salim <salimma@fedoraproject.org> - 3.1-5
|
||||
- Actually set runtime dependency on libstdc++ 4.7.1
|
||||
|
||||
* Mon Jul 2 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 3.1-4
|
||||
- Rebuild for new libstdc++ bump
|
||||
|
||||
* Sun Jun 10 2012 Richard W.M. Jones <rjones@redhat.com> - 3.1-3
|
||||
- Rebuild for OCaml 4.00.0.
|
||||
|
||||
* Fri Jun 8 2012 Michel Salim <salimma@fedoraproject.org> - 3.1-2
|
||||
- Rebuild for ocaml 4.00.0 beta
|
||||
|
||||
* Sun Jun 03 2012 Dave Airlie <airlied@redhat.com> 3.1-1
|
||||
- rebase to 3.1 + add r600 patches from Tom Stellar
|
||||
|
||||
* Fri May 25 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0-13
|
||||
- Add compiler build options for ARM hardfp
|
||||
|
||||
* Sun May 6 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0-12
|
||||
- Bump build
|
||||
|
||||
* Fri Mar 30 2012 Michel Alexandre Salim <michel@hermione.localdomain> - 3.0-11
|
||||
- Replace overly-broad dependency on gcc-c++ with gcc and libstdc++-devel
|
||||
- Pin clang's dependency on libstdc++-devel to the version used for building
|
||||
- Standardize on bcond for conditional build options
|
||||
- Remove /lib from search path, everything is now in /usr/lib*
|
||||
|
||||
* Mon Mar 26 2012 Kalev Lember <kalevlember@gmail.com> - 3.0-10
|
||||
- Build without -ftree-pre as a workaround for clang segfaulting
|
||||
on x86_64 (#791365)
|
||||
|
||||
* Sat Mar 17 2012 Karsten Hopp <karsten@redhat.com> 3.0-9
|
||||
- undefine PPC on ppc as a temporary workaround for
|
||||
http://llvm.org/bugs/show_bug.cgi?id=10969 and
|
||||
RHBZ#769803
|
||||
|
||||
* Sat Feb 25 2012 Michel Salim <salimma@fedoraproject.org> - 3.0-8
|
||||
- Apply upstream patch to properly link LLVMgold against LTO
|
||||
|
||||
* Fri Feb 24 2012 Michel Salim <salimma@fedoraproject.org> - 3.0-7
|
||||
- Build LLVMgold plugin on supported architectures
|
||||
|
||||
* Tue Feb 7 2012 Michel Salim <salimma@fedoraproject.org> - 3.0-6
|
||||
- Make subpackage dependencies arch-specific
|
||||
- Make LLVM test failures non-fatal on ARM architectures as well (# 770208)
|
||||
- Save LLVM test log on platforms where it fails
|
||||
|
||||
* Sun Feb 5 2012 Michel Salim <salimma@fedoraproject.org> - 3.0-5
|
||||
- Clang test suite yields unexpected failures with GCC 4.7.0. Make
|
||||
this non-fatal and save the results
|
||||
- Multilib fix for harcoded ld search path in ./configure script
|
||||
|
||||
* Sat Jan 07 2012 Richard W.M. Jones <rjones@redhat.com> - 3.0-4
|
||||
- Rebuild for OCaml 3.12.1.
|
||||
|
||||
* Wed Dec 14 2011 Adam Jackson <ajax@redhat.com> 3.0-3
|
||||
- Also ExcludeArch: ppc* in RHEL
|
||||
|
||||
* Tue Dec 13 2011 Adam Jackson <ajax@redhat.com> 3.0-2
|
||||
- ExcludeArch: s390* in RHEL since the native backend has disappeared in 3.0
|
||||
|
||||
* Sun Dec 11 2011 Michel Salim <salimma@fedoraproject.org> - 3.0-1
|
||||
- Update to final 3.0 release
|
||||
|
||||
* Mon Dec 05 2011 Adam Jackson <ajax@redhat.com> 3.0-0.2.rc3
|
||||
- RHEL customization: disable clang, --enable-targets=host
|
||||
|
||||
* Fri Nov 11 2011 Michel Salim <salimma@fedoraproject.org> - 3.0-0.1.rc3
|
||||
- Update to 3.0rc3
|
||||
|
||||
* Tue Oct 11 2011 Dan Horák <dan[at]danny.cz> - 2.9-5
|
||||
- don't fail the build on failing tests on ppc(64) and s390(x)
|
||||
|
||||
* Fri Sep 30 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-4
|
||||
- Apply upstream patch for Operator.h C++0x incompatibility (# 737365)
|
||||
|
||||
* Sat Aug 6 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-3
|
||||
- Disable LLVM test suite on ppc64 architecture (# 728604)
|
||||
- Disable clang test suite on ppc* architectures (-)
|
||||
|
||||
* Wed Aug 3 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-2
|
||||
- Add runtime dependency of -devel on libffi-devel
|
||||
|
||||
* Tue Oct 11 2011 Dan Horák <dan[at]danny.cz> - 2.8-13
|
||||
- don't fail the build on failing tests on s390(x)
|
||||
|
||||
* Tue Aug 2 2011 Michel Salim <salimma@fedoraproject.org> - 2.8-12
|
||||
* Mon Aug 1 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-1
|
||||
- Update to 2.9
|
||||
- Depend on libffi to allow the LLVM interpreter to call external functions
|
||||
- Build with RTTI enabled, needed by e.g. Rubinius (# 722714)
|
||||
- Fix multilib installation (# 699416)
|
||||
- Fix incorrect platform-specific include path on i686
|
||||
|
||||
* Tue Apr 26 2011 Adam Jackson <ajax@redhat.com> 2.8-11
|
||||
- llvm-2.8-disable-avx.patch: Disable AVX code generation. (#699896)
|
||||
* Tue May 31 2011 Karsten Hopp <karsten@redhat.com> 2.9-0.4.rc2
|
||||
- enable ppc64 build
|
||||
|
||||
* Thu Mar 17 2011 Michel Salim <salimma@fedoraproject.org> - 2.8-10
|
||||
- Don't include test logs; breaks multilib (# 666195)
|
||||
* Fri Mar 25 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-0.3.rc2
|
||||
- Update to 2.9rc2
|
||||
|
||||
* Thu Mar 17 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-0.2.rc1
|
||||
- Split shared libraries into separate subpackage
|
||||
|
||||
* Thu Mar 17 2011 Michel Salim <salimma@fedoraproject.org> - 2.8-9
|
||||
- clang++: fix platform-specific include dirs (# 680644)
|
||||
|
||||
* Thu Mar 17 2011 Michel Salim <salimma@fedoraproject.org> - 2.8-8
|
||||
- Don't include test logs; breaks multilib (# 666195)
|
||||
- clang++: also search for platform-specific include files (# 680644)
|
||||
|
||||
* Thu Mar 10 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-0.1.rc1
|
||||
- Update to 2.9rc1
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
|
|
6
sources
6
sources
|
@ -1,2 +1,4 @@
|
|||
220d361b4d17051ff4bb21c64abe05ba llvm-2.8.tgz
|
||||
10e14c901fc3728eecbd5b829e011b59 clang-2.8.tgz
|
||||
b378f1e2c424e03289effc75268d3d2c clang-3.4.src.tar.gz
|
||||
7ed60a0463f9fdfa20db7109d4624cee lldb-3.4.src.tar.gz
|
||||
7938353e3a3bda85733a165e7ac4bb84 compiler-rt-3.4.src.tar.gz
|
||||
46ed668a1ce38985120dbf6344cf6116 llvm-3.4.src.tar.gz
|
||||
|
|
Loading…
Reference in a new issue