]> git.pld-linux.org Git - packages/llvm.git/commitdiff
- builds without gcc source
authorElan Ruusamäe <glen@pld-linux.org>
Wed, 14 Jan 2009 23:56:57 +0000 (23:56 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    llvm.spec -> 1.8

llvm.spec

index c9dcee29e2ad7b1619692b022ab8d276a8991cfa..d6e68a07f55b9bcd792e5a5f9f5dc92dc2633233 100644 (file)
--- a/llvm.spec
+++ b/llvm.spec
@@ -1,3 +1,11 @@
+# TODO
+# - gcc/c++ packages: http://cvs.fedoraproject.org/viewvc/rpms/llvm/devel/llvm.spec?revision=HEAD&view=markup
+#
+# Conditional build:
+%bcond_with            ocaml   # build without OCaml bindings
+%bcond_with            gcc             # build without gcc
+#
+%define                lgcc_version    4.2
 Summary:       The Low Level Virtual Machine (An Optimizing Compiler Infrastructure)
 Summary(pl.UTF-8):     Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego)
 Name:          llvm
@@ -7,9 +15,14 @@ License:      University of Illinois/NCSA Open Source License
 Group:         Development/Languages
 Source0:       http://llvm.org/releases/%{version}/%{name}-%{version}.tar.gz
 # Source0-md5: 17254d72863b7fa005f3fb327aea3439
+Source1:       http://llvm.org/releases/%{version}/%{name}-gcc-%{lgcc_version}-%{version}.source.tar.gz
+# Source1-md5: 18aa4f8226ddab58af2f12cff135470d
 Patch0:                %{name}-dirs.patch
 URL:           http://llvm.org/
+BuildRequires: bash
 BuildRequires: gcc >= 5:3.4
+BuildRequires: libltdl-devel
+%{?with_ocaml:BuildRequires:  ocaml}
 # gcc4 might be installed, but not current __cc
 %if "%(echo %{cc_version} | cut -d. -f1,2)" < "3.4"
 BuildRequires: __cc >= 3.4
@@ -39,16 +52,106 @@ rodziny C. Infrastruktura kompilatora zawiera lustrzane zestawy
 narzędzi programistycznych oraz biblioteki z odpowiadającą narzędziom
 funkcjonalnością.
 
+%package doc
+Summary:       Documentation for LLVM
+Group:         Documentation
+Requires:      %{name} = %{version}-%{release}
+
+%description doc
+Documentation for the LLVM compiler infrastructure.
+
+%package devel
+Summary:       Libraries and header files for LLVM
+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.
+
+%package gcc
+Summary:       C compiler for LLVM
+License:       GPL+
+Group:         Development/Languages
+Requires:      %{name} = %{version}-%{release}
+
+%description gcc
+C compiler for LLVM.
+
+%package gcc-c++
+Summary:       C++ compiler for LLVM
+License:       GPL+
+Group:         Development/Languages
+Requires:      %{name}-gcc = %{version}-%{release}
+
+%description gcc-c++
+C++ compiler for LLVM.
+
+%package ocaml
+Summary:       OCaml binding for LLVM
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+%requires_eq   ocaml-runtime
+
+%description    ocaml
+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}
+
+%description ocaml-devel
+The %{name}-ocaml-devel package contains libraries and signature files
+for developing applications that use %{name}-ocaml.
+
 %prep
-%setup -q
+%setup -q %{?with_gcc:-a1}
 %patch0 -p0
 
 %build
-%configure \
+# bash specific 'test a < b'
+bash %configure \
+       --libdir=%{_libdir}/%{name} \
+       --datadir=%{_datadir}/%{name}-%{version} \
+       --enable-bindings=%{!?with_ocaml:no}%{?with_ocaml:ocaml} \
+       --disable-static \
+       --enable-assertions \
+       --enable-debug-runtime \
+       --enable-jit \
        --enable-optimized \
-       --enable-assertions
+       --enable-shared \
+       --with-pic
+
+%{__make} OPTIMIZE_OPTION="%{rpmcflags}"
+
+%if %{with gcc}
+# Build llvm-gcc.
 
-%{__make} tools-only
+export PATH=%{_builddir}/%{?buildsubdir}/Release/bin:$PATH
+
+install -d llvm-gcc%{lgcc_version}-%{version}.source/build
+cd llvm-gcc%{lgcc_version}-%{version}.source/build
+../configure \
+       --host=%{_host} \
+       --build=%{_build} \
+       --target=%{_target_platform} \
+       --prefix=%{_libdir}/llvm-gcc \
+       --libdir=%{_libdir}/llvm-gcc/%{_lib} \
+       --enable-threads \
+       --disable-nls \
+%ifarch %{x8664}
+       --disable-multilib \
+       --disable-shared \
+%endif
+       --enable-languages=c,c++ \
+       --enable-llvm=%{_builddir}/%{?buildsubdir} \
+       --program-prefix=llvm-
+
+%{__make} LLVM_VERSION_INFO=%{version}
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -56,7 +159,7 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-find $RPM_BUILD_ROOT -name .dir |xargs rm -f
+find $RPM_BUILD_ROOT -name .dir | xargs rm -fv
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -66,39 +169,56 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc CREDITS.TXT LICENSE.TXT README.txt docs
+%doc CREDITS.TXT LICENSE.TXT README.txt
 %attr(755,root,root) %{_bindir}/bugpoint
 %attr(755,root,root) %{_bindir}/gccas
 %attr(755,root,root) %{_bindir}/gccld
 %attr(755,root,root) %{_bindir}/llc
 %attr(755,root,root) %{_bindir}/lli
-%attr(755,root,root) %{_bindir}/llvm-*
-%attr(755,root,root) %{_bindir}/llvm2cpp
-%attr(755,root,root) %{_bindir}/llvmc
 %attr(755,root,root) %{_bindir}/opt
-%dir %{_sysconfdir}
-%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/c
-%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/c++
-%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/cpp
-%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/cxx
-%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/ll
-%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/st
-%{_libdir}/LLVM*.o
-%{_libdir}/libLLVM*.a
-# just example?
-%attr(755,root,root) %{_libdir}/LLVMHello.so*
-%{_libdir}/LLVMHello.la
-%{_libdir}/LLVMHello.a
-%{_includedir}/llvm
-%{_includedir}/llvm-c
+%attr(755,root,root) %{_bindir}/llvmc2
+%attr(755,root,root) %{_bindir}/llvm-*
+%exclude %attr(755,root,root) %{_bindir}/llvm-config
 %{_mandir}/man1/bugpoint.1*
 %{_mandir}/man1/llc.1*
 %{_mandir}/man1/lli.1*
 %{_mandir}/man1/llvm-*.1*
-%{_mandir}/man1/llvm2cpp.1*
-%{_mandir}/man1/llvmc.1*
 %{_mandir}/man1/llvmgcc.1*
 %{_mandir}/man1/llvmgxx.1*
 %{_mandir}/man1/opt.1*
 %{_mandir}/man1/stkrc.1*
 %{_mandir}/man1/tblgen.1*
+
+%files doc
+%defattr(644,root,root,755)
+%doc docs/*.{html,css} docs/img examples
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/llvm-config
+%{_includedir}/llvm
+%{_includedir}/llvm-c
+%{_libdir}/LLVM*.o
+%{_libdir}/libLLVM*.a
+# just example?
+%attr(755,root,root) %{_libdir}/LLVMHello.so*
+%{_libdir}/LLVMHello.la
+
+%if %{with gcc}
+%files gcc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/llvm2cpp
+%attr(755,root,root) %{_bindir}/llvmc
+%dir %{_sysconfdir}
+%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/c
+%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/cpp
+%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/ll
+%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/st
+%{_mandir}/man1/llvm2cpp.1*
+%{_mandir}/man1/llvmc.1*
+
+%files gcc-c++
+%defattr(644,root,root,755)
+%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/c++
+%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/cxx
+%endif
This page took 0.163502 seconds and 4 git commands to generate.