X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=llvm.spec;h=c5d1e57bddb75074b1e25ac2eb1d9a927a02c88d;hb=fa8d0ee802de12733a8113dbada833c7d1b82208;hp=e1cf542a6088505c21f0f0201b2391aab0e67548;hpb=8c156e7d92e2730c0a6e3395b335a1ccf56fdbb2;p=packages%2Fllvm.git diff --git a/llvm.spec b/llvm.spec index e1cf542..c5d1e57 100644 --- a/llvm.spec +++ b/llvm.spec @@ -1,11 +1,8 @@ -# TODO -#warning: Installed (but unpackaged) file(s) found: -# /usr/share/man/man1/lit.1.gz # # Conditional build: %bcond_without ocaml # ocaml binding -%bcond_with apidocs # The doxygen docs are HUGE, so they are not built by default. -%bcond_with tests # run tests +%bcond_with apidocs # The doxygen docs are HUGE, so they are not built by default. +%bcond_with tests # run tests %ifarch s390 s390x sparc64 # No ocaml on these arches @@ -15,16 +12,17 @@ Summary: The Low Level Virtual Machine (An Optimizing Compiler Infrastructure) Summary(pl.UTF-8): Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego) Name: llvm -Version: 2.8 +Version: 2.9 Release: 3 License: University of Illinois/NCSA Open Source License Group: Development/Languages Source0: http://llvm.org/releases/%{version}/%{name}-%{version}.tgz -# Source0-md5: 220d361b4d17051ff4bb21c64abe05ba +# Source0-md5: 793138412d2af2c7c7f54615f8943771 Source1: http://llvm.org/releases/%{version}/clang-%{version}.tgz -# Source1-md5: 10e14c901fc3728eecbd5b829e011b59 +# Source1-md5: 634de18d04b7a4ded19ec4c17d23cfca # Data files should be installed with timestamps preserved Patch3: %{name}-2.6-timestamp.patch +Patch4: %{name}-pld.patch URL: http://llvm.org/ BuildRequires: bash BuildRequires: bison @@ -42,6 +40,7 @@ BuildRequires: groff BuildRequires: libltdl-devel BuildRequires: libstdc++-devel >= 5:3.4 BuildRequires: ocaml-ocamldoc +BuildRequires: perl-base >= 1:5.6 BuildRequires: perl-tools-pod BuildRequires: rpm-pythonprov # gcc4 might be installed, but not current __cc @@ -65,50 +64,59 @@ LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, and idle-time optimization of programs from arbitrary programming languages. LLVM is written in C++ and has been developed since 2000 at the University of Illinois and Apple. It -currently supports compilation of C and C++ programs, using front-ends -derived from GCC 4.0.1. A new front-end for the C family of languages -is in development. The compiler infrastructure includes mirror sets of -programming tools as well as libraries with equivalent functionality. +currently supports compilation of C and C++ programs using clang +frontend. %description -l pl.UTF-8 LLVM to infrastruktura kompilatora zaprojektowana do optymalizacji czasu kompilowania, linkowania, działania i bezczynności programów w dowolnych językach programowania. Jest napisana w C++, rozwijana od roku 2000 przez Uniwersytet w Illinois i Apple. Aktualnie obsługuje -kompilację programów w C i C++ przy użyciu frontendów wywodzących się -z GCC 4.0.1. W trakcie tworzenia jest nowy frontend do języków z -rodziny C. Infrastruktura kompilatora zawiera lustrzane zestawy -narzędzi programistycznych oraz biblioteki z odpowiadającą narzędziom -funkcjonalnością. +kompilację programów w C i C++ przy użyciu frontendu clang. %package devel -Summary: Libraries and header files for LLVM +Summary: Static libraries and header files for LLVM +Summary(pl.UTF-8): Biblioteki statyczne i pliki nagłówkowe dla LLVM-a Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: libstdc++-devel >= 6:3.4 %description devel -This package contains library and header files needed to develop new -native programs that use the LLVM infrastructure. +This package contains static libraries and header files needed to +develop new native programs that use the LLVM infrastructure. + +%description devel -l pl.UTF-8 +Ten pakiet zawiera biblioteki statyczne oraz pliki nagłówkowe +potrzebne do tworzenia nowych programów natywnych wykorzystujących +infrastrukturę LLVM. %package doc Summary: Documentation for LLVM +Summary(pl.UTF-8): Dokumentacja do LLVM-a Group: Documentation # does not require base %description doc Documentation for the LLVM compiler infrastructure. +%description doc -l pl.UTF-8 +Dokumentacja do infrastruktury kompilatorów LLVM. + %package apidocs Summary: API documentation for LLVM +Summary(pl.UTF-8): Dokumentacja API LLVM-a Group: Development/Languages Requires: %{name}-doc = %{version}-%{release} %description apidocs API documentation for the LLVM compiler infrastructure. +%description apidocs -l pl.UTF-8 +Dokumentacja API infrastruktury kompilatorów LLVM. + %package -n clang Summary: A C language family frontend for LLVM +Summary(pl.UTF-8): Frontend LLVM-a do języków z rodziny C License: NCSA Group: Development/Languages @@ -120,8 +128,19 @@ The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its tools are built as libraries and designed to be loosely-coupled and extendable. +%description -n clang -l pl.UTF-8 +clang (z angielskiego): 1. głośny, rezonujący, metaliczny dźwięk; 2. +piskliwy odgłos żurawia lub gęsi; 3. narzędzia frontendowe dla języków +z rodziny C. + +Celem projektu Clang jest utworzenie nowego frontendu dla kompilatora +LLVM do języków C, C++, Objective C i Objective C++. Narzędzia są +budowane jako biblioteki i zaprojektowane z myślą o swobodnym łączeniu +i rozszerzaniu. + %package -n clang-analyzer Summary: A source code analysis framework +Summary(pl.UTF-8): Szkielet do analizy kodu źródłowego License: NCSA Group: Development/Languages Requires: clang = %{version}-%{release} @@ -135,61 +154,96 @@ 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. +%description -n clang-analyzer -l pl.UTF-8 +Clang Static Analyzer składa się ze szkieletu do analizy kodu +źródłowego oraz samodzielnego narzędzia znajdującego błędy w +programach w C i C++. Narzędzie jest wywoływane z linii poleceń, z +myślą o uruchamianiu wraz z kompilacją projektu lub kodu. + %package -n clang-devel -Summary: Header files for clang +Summary: Header files for Clang +Summary(pl.UTF-8): Pliki nagłówkowe Clanga Group: Development/Languages Requires: clang = %{version}-%{release} %description -n clang-devel This package contains header files for the Clang compiler. +%description -n clang-devel -l pl.UTF-8 +Ten pakiet zawiera pliki nagłówkowe kompilatora Clang. + %package -n clang-doc Summary: Documentation for Clang +Summary(pl.UTF-8): Dokumentacja do Clanga Group: Documentation Requires: %{name} = %{version}-%{release} %description -n clang-doc Documentation for the Clang compiler front-end. +%description -n clang-doc -l pl.UTF-8 +Dokumentacja do frontendu kompilatora Clang. + %package -n clang-apidocs Summary: API documentation for Clang +Summary(pl.UTF-8): Dokumentacja API Clanga Group: Development/Languages Requires: clang-doc = %{version}-%{release} %description -n clang-apidocs API documentation for the Clang compiler. +%description -n clang-apidocs -l pl.UTF-8 +Dokumentacja API kompilatora Clang. + %package ocaml Summary: OCaml binding for LLVM -Group: Development/Libraries +Summary(pl.UTF-8): Wiązanie OCamla do LLVM-a +Group: Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml-runtime -%description ocaml +%description ocaml OCaml binding for LLVM. +%description ocaml -l pl.UTF-8 +Wiązanie OCamla do LLVM-a. + %package ocaml-devel -Summary: Development files for %{name}-ocaml +Summary: Development files for LLVM OCaml binding +Summary(pl.UTF-8): Pliki programistyczne wiązania OCamla do LLVM-a Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-ocaml = %{version}-%{release} %description ocaml-devel The llvm-ocaml-devel package contains libraries and signature files -for developing applications that use llvm-ocaml. +for developing applications that use llvm-ocaml binding. + +%description ocaml-devel -l pl.UTF-8 +Ten pakiet zawiera biblioteki i pliki sygnatur do tworzenia aplikacji +wykorzystujących wiązanie llvm-ocaml. + %package ocaml-doc Summary: Documentation for LLVM's OCaml binding +Summary(pl.UTF-8): Dokumentacja wiązania OCamla do LLVM-a Group: Documentation Requires: %{name}-ocaml = %{version}-%{release} %description ocaml-doc HTML documentation for LLVM's OCaml binding. +%description ocaml-doc -l pl.UTF-8 +Dokumentacja HTML wiązania OCamla do LLVM-a. + %prep %setup -q -a1 mv clang-*.* tools/clang %patch3 -p1 +%patch4 -p1 + +sed -i 's|triplet-plox-here|%{_host}|' tools/clang/lib/Driver/ToolChains.cpp # configure does not properly specify libdir sed -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}|g' Makefile.config.in @@ -225,6 +279,7 @@ bash ../%configure \ --with-pic %{__make} \ + REQUIRES_RTTI=1 \ OPTIMIZE_OPTION="%{rpmcflags} %{rpmcppflags}" %if %{with test} @@ -246,6 +301,9 @@ for f in scan-{build,view}; do ln -s %{_libdir}/clang-analyzer/$f/$f $RPM_BUILD_ROOT%{_bindir}/$f cp -pr tools/clang/tools/$f $RPM_BUILD_ROOT%{_libdir}/clang-analyzer done +%py_comp $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-view +%py_ocomp $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-view +%py_postclean %{_libdir}/clang-analyzer/scan-view # Move documentation back to build directory rm -rf moredocs @@ -288,42 +346,65 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc CREDITS.TXT LICENSE.TXT README.txt -%{?with_tests:%doc llvm-testlog.txt} +%doc CREDITS.TXT LICENSE.TXT README.txt %{?with_tests:llvm-testlog.txt} %attr(755,root,root) %{_bindir}/bugpoint %attr(755,root,root) %{_bindir}/llc %attr(755,root,root) %{_bindir}/lli -%attr(755,root,root) %{_bindir}/opt %attr(755,root,root) %{_bindir}/llvmc -%attr(755,root,root) %{_bindir}/llvm-* -%exclude %attr(755,root,root) %{_bindir}/llvm-config -%attr(755,root,root) %{_libdir}/libLLVM-*.*.so +%attr(755,root,root) %{_bindir}/llvm-ar +%attr(755,root,root) %{_bindir}/llvm-as +%attr(755,root,root) %{_bindir}/llvm-bcanalyzer +%attr(755,root,root) %{_bindir}/llvm-diff +%attr(755,root,root) %{_bindir}/llvm-dis +%attr(755,root,root) %{_bindir}/llvm-extract +%attr(755,root,root) %{_bindir}/llvm-ld +%attr(755,root,root) %{_bindir}/llvm-link +%attr(755,root,root) %{_bindir}/llvm-mc +%attr(755,root,root) %{_bindir}/llvm-nm +%attr(755,root,root) %{_bindir}/llvm-objdump +%attr(755,root,root) %{_bindir}/llvm-prof +%attr(755,root,root) %{_bindir}/llvm-ranlib +%attr(755,root,root) %{_bindir}/llvm-stub +%attr(755,root,root) %{_bindir}/macho-dump +%attr(755,root,root) %{_bindir}/opt +%attr(755,root,root) %{_libdir}/libLLVM-%{version}.so %{_mandir}/man1/bugpoint.1* +%{_mandir}/man1/lit.1* %{_mandir}/man1/llc.1* %{_mandir}/man1/lli.1* +%{_mandir}/man1/llvm-ar.1* +%{_mandir}/man1/llvm-as.1* +%{_mandir}/man1/llvm-bcanalyzer.1* +%{_mandir}/man1/llvm-diff.1* +%{_mandir}/man1/llvm-dis.1* +%{_mandir}/man1/llvm-extract.1* +%{_mandir}/man1/llvm-ld.1* +%{_mandir}/man1/llvm-link.1* +%{_mandir}/man1/llvm-nm.1* +%{_mandir}/man1/llvm-prof.1* +%{_mandir}/man1/llvm-ranlib.1* %{_mandir}/man1/llvmc.1* -%{_mandir}/man1/llvm-*.1* %{_mandir}/man1/llvmgcc.1* %{_mandir}/man1/llvmgxx.1* %{_mandir}/man1/opt.1* -#%{_mandir}/man1/stkrc.1* %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/llvm-config -%{_includedir}/llvm -%{_includedir}/llvm-c -%{_libdir}/lib*.a -# x86-64 only .a/.so? +%attr(755,root,root) %{_libdir}/profile_rt.so +%{_libdir}/libCompilerDriver.a +%{_libdir}/libLLVM*.a +%{_libdir}/libllvm*.a %ifarch %{x8664} -%attr(755,root,root) %{_libdir}/libBugpointPasses.so +%attr(755,root,root) %{_libdir}/BugpointPasses.so %attr(755,root,root) %{_libdir}/libEnhancedDisassembly.so %attr(755,root,root) %{_libdir}/libLTO.so +%{_libdir}/libEnhancedDisassembly.a +%{_libdir}/libLTO.a %endif -# -%exclude %attr(755,root,root) %{_libdir}/libLLVM-*.*.so -%exclude %attr(755,root,root) %{_libdir}/libclang.so -%attr(755,root,root) %{_libdir}/libprofile_rt.so +%{_includedir}/llvm +%{_includedir}/llvm-c +%{_mandir}/man1/llvm-config.1* %files doc %defattr(644,root,root,755) @@ -337,14 +418,13 @@ rm -rf $RPM_BUILD_ROOT %files -n clang %defattr(644,root,root,755) -%doc clang-docs/* -%{?with_tests:%doc clang-testlog.txt} -%attr(755,root,root) %{_bindir}/clang* +%doc clang-docs/{LICENSE.TXT,NOTES.txt,README.txt,TODO.txt} %{?with_tests:clang-testlog.txt} +%attr(755,root,root) %{_bindir}/clang +%attr(755,root,root) %{_bindir}/clang++ %attr(755,root,root) %{_bindir}/tblgen -%attr(755,root,root) %{_bindir}/c-index-test %attr(755,root,root) %{_libdir}/libclang.so %{_prefix}/lib/clang -%{_mandir}/man1/clang.1.* +%{_mandir}/man1/clang.1* %{_mandir}/man1/tblgen.1* %files -n clang-analyzer @@ -353,25 +433,26 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/scan-view %dir %{_libdir}/clang-analyzer -%dir %{_libdir}/clang-analyzer/scan-view -%attr(755,root,root) %{_libdir}/clang-analyzer/scan-view/scan-view -%{_libdir}/clang-analyzer/scan-view/Resources -%{_libdir}/clang-analyzer/scan-view/*.py - %dir %{_libdir}/clang-analyzer/scan-build %{_libdir}/clang-analyzer/scan-build/*.css %{_libdir}/clang-analyzer/scan-build/*.js %attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/scan-build %attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/*-analyzer +%dir %{_libdir}/clang-analyzer/scan-view +%attr(755,root,root) %{_libdir}/clang-analyzer/scan-view/scan-view +%{_libdir}/clang-analyzer/scan-view/Resources +%{_libdir}/clang-analyzer/scan-view/*.py[co] + %files -n clang-devel %defattr(644,root,root,755) +%{_libdir}/libclang*.a %{_includedir}/clang %{_includedir}/clang-c %files -n clang-doc %defattr(644,root,root,755) -%doc tools/clang/docs/* +%doc tools/clang/docs/*.{css,html,png,txt} %if %{with apidocs} %files -n clang-apidocs @@ -382,14 +463,16 @@ rm -rf $RPM_BUILD_ROOT %if %{with ocaml} %files ocaml %defattr(644,root,root,755) -%{_libdir}/ocaml/*.cma -%{_libdir}/ocaml/*.cmi +%{_libdir}/ocaml/llvm*.cma +%{_libdir}/ocaml/llvm*.cmi %files ocaml-devel %defattr(644,root,root,755) -%{_libdir}/ocaml/*.a -%{_libdir}/ocaml/*.cmx* -%{_libdir}/ocaml/*.mli +%{_libdir}/ocaml/libLLVM*.a +%{_libdir}/ocaml/libllvm*.a +%{_libdir}/ocaml/llvm*.a +%{_libdir}/ocaml/llvm*.cmx* +%{_libdir}/ocaml/llvm*.mli %files ocaml-doc %defattr(644,root,root,755)