Name: llvm Version: 3.1 Release: 2mamba Summary: The Low Level Virtual Machine Group: Development/Languages Vendor: openmamba Distribution: openmamba Packager: Davide Madrisan URL: http://llvm.org/ Source0: http://llvm.org/releases/%{version}/llvm-%{version}.src.tar.gz Source1: http://llvm.org/releases/%{version}/clang-%{version}.src.tar.gz Patch0: %{name}-3.1-llvm-config.patch Patch1: llvm-3.1-openmamba-triplet.patch License: NCSA ## AUTOBUILDREQ-BEGIN BuildRequires: gcc-c++ BuildRequires: glibc-devel BuildRequires: libgcc BuildRequires: libstdc++6-devel BuildRequires: ocaml BuildRequires: perl-devel ## AUTOBUILDREQ-END BuildRequires: ocaml Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-root %description The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. %package -n lib%{name} Group: System/Libraries Summary: Shared libraries for %{name} %description -n lib%{name} This package contains shared libraries for %{name}. %package -n lib%{name}-devel Summary: Libraries and header files for LLVM Group: Development/Languages Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Provides: llvm-devel Obsoletes: llvm-devel Requires: libstdc++6-devel %description -n lib%{name}-devel The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. This package contains library and header files needed to develop new native programs that use the LLVM infrastructure. %package clang Summary: LLVM native C/C++/Objective-C compiler Group: Development/Languages Requires: gcc-c++ %description clang Clang is an "LLVM native" C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools. The Clang Static Analyzer is a tool automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Clang frontend as a library to parse C/C++ code. %package clang-devel Summary: Libraries and header files for LLVM clang Group: Development/Languages Requires: %{name}-clang = %{?epoch:%epoch:}%{version}-%{release} %description clang-devel Clang is an "LLVM native" C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools. The Clang Static Analyzer is a tool automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Clang frontend as a library to parse C/C++ code. This package contains header files for the Clang compiler. %package ocaml Summary: OCaml binding for LLVM Group: Development/Libraries Requires: %{name} = %{version}-%{release} #Requires: ocaml-runtime %description ocaml OCaml binding for LLVM. %package ocaml-devel Summary: Development files for %{name}-ocaml Group: Development/Libraries Requires: lib%{name}-devel = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name}-ocaml = %{?epoch:%epoch:}%{version}-%{release} Requires: ocaml %description ocaml-devel The %{name}-ocaml-devel package contains libraries and signature files for developing applications that use %{name}-ocaml. %prep %setup -q -a1 -n llvm-%{version}.src %patch0 -p1 %ifarch x86_64 sed -i "s|/lib/llvm|/%{_lib}/llvm|" tools/llvm-config/llvm-config.cpp %endif mv clang-%{version}.src tools/clang %patch1 -p1 %build %configure \ --libdir=%{_libdir}/%{name} \ --datadir=%{_libdir}/%{name} \ --disable-assertions \ --enable-debug-runtime \ --enable-jit \ --enable-shared \ --with-c-include-dirs=%{_includedir}:$(find %{_prefix}/lib/gcc/*/* -maxdepth 0 -type d)/include \ --with-cxx-include-root=$(find %{_includedir}/c++/* -maxdepth 0 -type d) \ --with-cxx-include-arch=%{_arch}-%{_vendor}-%{_os} # --enable-doxygen sed -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}/%{name}|g' Makefile.config %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall install -d %{buildroot}%{_sysconfdir}/ld.so.conf.d cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf << EOF %{_libdir}/llvm EOF # Static analyzer not installed by default: # http://clang-analyzer.llvm.org/installation#OtherPlatforms install -d %{buildroot}%{_libdir}/clang-analyzer # create launchers for f in scan-{build,view}; do ln -s %{_libdir}/clang-analyzer/$f/$f %{buildroot}%{_bindir}/$f done ( cd tools/clang/tools && cp -pr scan-{build,view} %{buildroot}%{_libdir}/clang-analyzer/ ) mv %{buildroot}%{_prefix}/docs/llvm ./llvm-extradocs rm -f ./llvm-extradocs/*.tar.gz rm -f ./llvm-extradocs/ocamldoc/html/*.tar.gz install -d clang-extradocs for f in LICENSE.TXT NOTES.txt README.txt; do cp tools/clang/$f clang-extradocs/ done #rm -rf tools/clang/docs/{doxygen*,Makefile*,*.graffle,tools} rm %{buildroot}%{_libdir}/%{name}/*LLVMHello.* find examples -name 'Makefile' | xargs -0r rm -f %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %{_bindir}/bugpoint %{_bindir}/llc %{_bindir}/lli %{_bindir}/llvm* %{_bindir}/macho-dump %{_bindir}/c-index-test %{_libdir}/ocaml/META.llvm %exclude %{_bindir}/llvm-config %{_bindir}/opt %{_mandir}/man1/* %exclude %{_mandir}/man1/clang.1.* #%exclude %{_mandir}/man1/llvmg??.1.* %doc CREDITS.TXT LICENSE.TXT #doc llvm-testlog.txt %files -n libllvm %defattr(-,root,root) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf %dir %{_libdir}/llvm %{_libdir}/llvm/*.so %files -n libllvm-devel %defattr(-,root,root) %{_bindir}/llvm-config %{_includedir}/%{name} %{_includedir}/%{name}-c %{_libdir}/%{name}/*.a %doc llvm-extradocs/html %doc README.txt %files clang %defattr(-,root,root) %{_bindir}/clang* #%{_bindir}/c-index-test %{_bindir}/scan-build %{_bindir}/scan-view #%{_bindir}/tblgen %{_prefix}/lib/clang %{_libdir}/clang-analyzer %{_mandir}/man1/clang.1.* %doc tools/clang/LICENSE.TXT %files clang-devel %defattr(-,root,root) %{_includedir}/clang %{_includedir}/clang-c %doc tools/clang/{NOTES.txt,README.txt} %doc tools/clang/docs %files ocaml %defattr(-,root,root) %{_libdir}/ocaml/*.cma %{_libdir}/ocaml/*.cmi %files ocaml-devel %defattr(-,root,root) %{_libdir}/ocaml/*.a %{_libdir}/ocaml/*.cmx* %{_libdir}/ocaml/*.mli %doc llvm-extradocs/ocamldoc/html %changelog * Tue Apr 29 2014 Silvan Calarco 3.1-2mamba - move libraries to libllvm and rename llvm-devel to libllvm-devel - also try to add a patch to fix bug #163 (http://bugs.openmamba.org/view.php?id=163) * Fri Jul 20 2012 Silvan Calarco 3.1-1mamba - update to 3.1 * Thu Feb 23 2012 Ercole 'ercolinux' Carpanetto 3.0.-1mamba - update to 3.0 * Sun Jul 10 2011 Silvan Calarco 2.9-1mamba - update to 2.9 * Sat Jan 01 2011 Davide Madrisan 2.8-1mamba - package created by autospec