diff --git a/llvm-2.7-cxx_includes.patch b/llvm-2.7-cxx_includes.patch new file mode 100644 index 0000000..8b36882 --- /dev/null +++ b/llvm-2.7-cxx_includes.patch @@ -0,0 +1,36 @@ +--- llvm-2.7/tools/clang/lib/Frontend/InitHeaderSearch.cpp.cxx_includes 2010-03-06 20:38:10.000000000 +0100 ++++ llvm-2.7/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2010-06-05 13:43:03.150438148 +0200 +@@ -524,10 +524,32 @@ + AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.2", + "i686-redhat-linux","", "", triple); + ++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.2", ++ "x86_64-redhat-linux", "32", "", triple); ++ ++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.2", ++ "ppc64-redhat-linux", "64", "", triple); ++ + // Fedora 12 (February-2010+) + AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", + "i686-redhat-linux","", "", triple); +- ++ ++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", ++ "x86_64-redhat-linux", "32", "", triple); ++ ++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", ++ "ppc64-redhat-linux", "64", "", triple); ++ ++ // Fedora 13 ++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.4", ++ "i686-redhat-linux","", "", triple); ++ ++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.4", ++ "x86_64-redhat-linux", "32", "", triple); ++ ++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.4", ++ "ppc64-redhat-linux", "64", "", triple); ++ + // openSUSE 11.1 32 bit + AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", + "i586-suse-linux", "", "", triple); diff --git a/llvm.spec b/llvm.spec index 5154e5a..9a63ae3 100644 --- a/llvm.spec +++ b/llvm.spec @@ -5,7 +5,7 @@ Name: llvm Version: 2.7 -Release: 1%{?dist} +Release: 4%{?dist} Summary: The Low Level Virtual Machine Group: Development/Languages @@ -15,6 +15,8 @@ Source0: http://llvm.org/releases/%{version}/llvm-%{version}.tgz Source1: http://llvm.org/releases/%{version}/clang-%{version}.tgz # Data files should be installed with timestamps preserved Patch0: llvm-2.6-timestamp.patch +# http://llvm.org/bugs/show_bug.cgi?id=7307 +Patch1: llvm-2.7-cxx_includes.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -27,7 +29,8 @@ BuildRequires: libtool-ltdl-devel BuildRequires: ocaml-ocamldoc # for DejaGNU test suite BuildRequires: dejagnu tcl-devel python -%if %{?_with_doxygen:1}%{!?_with_doxygen:0} +# for doxygen documentation +%if 0%{?_with_doxygen} BuildRequires: doxygen graphviz %endif @@ -59,6 +62,7 @@ native programs that use the LLVM infrastructure. %package doc Summary: Documentation for LLVM Group: Documentation +BuildArch: noarch Requires: %{name} = %{version}-%{release} %description doc @@ -109,21 +113,34 @@ intended to run in tandem with a build of a project or code base. %package -n clang-doc Summary: Documentation for Clang Group: Documentation +BuildArch: noarch Requires: %{name} = %{version}-%{release} %description -n clang-doc Documentation for the Clang compiler front-end. -%if %{?_with_doxygen:1}%{!?_with_doxygen:0} +%if 0%{?_with_doxygen} %package apidoc Summary: API documentation for LLVM Group: Development/Languages -Requires: %{name}-docs = %{version}-%{release} +BuildArch: noarch +Requires: %{name}-doc = %{version}-%{release} %description apidoc API documentation for the LLVM compiler infrastructure. + + +%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 @@ -152,6 +169,7 @@ for developing applications that use %{name}-ocaml. %package ocaml-doc Summary: Documentation for LLVM's OCaml binding Group: Documentation +BuildArch: noarch Requires: %{name}-ocaml = %{version}-%{release} %description ocaml-doc @@ -164,6 +182,7 @@ HTML documentation for LLVM's OCaml binding. mv clang-%{version} tools/clang %patch0 -p1 -b .timestamp +%patch1 -p1 -b .cxx_includes # Encoding fix (cd tools/clang/docs && \ @@ -174,10 +193,13 @@ mv clang-%{version} tools/clang %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 -mkdir obj && cd obj -../configure \ +%configure \ --prefix=%{_prefix} \ --libdir=%{_libdir}/%{name} \ + --datadir=%{_libdir}/%{name} \ +%if 0%{?_with_doxygen} + --enable-doxygen \ +%endif --disable-assertions \ --enable-debug-runtime \ --enable-jit \ @@ -196,20 +218,15 @@ make %{_smp_mflags} \ %check -cd obj # no current unexpected failures. Use || true if they recur to force ignore -make check 2>&1 | tee ../llvm-testlog.txt -(cd tools/clang && make test 2>&1) | tee ../clang-testlog.txt +make check 2>&1 | tee llvm-testlog.txt +(cd tools/clang && make test 2>&1) | tee clang-testlog.txt %install rm -rf %{buildroot} -pushd obj -chmod -x examples/Makefile - make install DESTDIR=%{buildroot} \ PROJ_docsdir=/moredocs -popd # Create ld.so.conf.d entry mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d @@ -235,6 +252,12 @@ mv %{buildroot}/moredocs . rm moredocs/*.tar.gz rm 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 @@ -286,6 +309,7 @@ rm -rf %{buildroot} %dir %{_libdir}/llvm %{_libdir}/llvm/*.so %exclude %{_mandir}/man1/clang.1.* +%exclude %{_mandir}/man1/llvmg??.1.* %doc %{_mandir}/man1/*.1.* %files devel @@ -337,15 +361,29 @@ rm -rf %{buildroot} %defattr(-,root,root,-) %doc moredocs/ocamldoc/html/* -%if %{?_with_doxygen:1}%{!?_with_doxygen:0} +%if 0%{?_with_doxygen} %files apidoc %defattr(-,root,root,-) -%doc docs/doxygen +%doc apidoc/* + +%files -n clang-apidoc +%defattr(-,root,root,-) +%doc clang-apidoc/* %endif - %changelog +* Sat Jun 5 2010 Michel Salim - 2.7-4 +- Add F-12/x86_64 and F-13 C++ header paths + +* Wed May 26 2010 Michel Salim - 2.7-3 +- Revert to disabling apidoc by default + +* Mon May 24 2010 Michel Salim - 2.7-2 +- Exclude llm-gcc manpages +- Turn on apidoc generation +- Build with srcdir=objdir, otherwise clang doxygen build fails + * Sun May 2 2010 Michel Salim - 2.7-1 - Update to final 2.7 release