#
# Conditional build:
-%bcond_without emacs # without emacs subpackage
-%bcond_without x # without X11 support
+%bcond_without emacs # emacs subpackage
+%bcond_without x # X11 support
+%bcond_without ocaml_opt # native, optimized compiler
+
+# ppc64, sparc64 and x32 variants not supported currently
+# alpha, hppa, ia64, mips removed since 4.00
+%ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
+%undefine with_ocaml_opt
+%endif
%define sver 4.02
Summary: The Objective Caml compiler and programming environment
Summary(pl.UTF-8): Kompilator OCamla (Objective Caml) oraz środowisko programistyczne
Name: ocaml
-Version: 4.02.1
-Release: 2
+Version: 4.02.3
+Release: 3
Epoch: 1
License: QPL v1.0 with linking exception (compiler), LGPL v2 with linking exception (library)
Group: Development/Languages
Source0: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{version}.tar.xz
-# Source0-md5: d74ac1b1179af362491e14349dd1958b
+# Source0-md5: 9115706e30dad644f8dec9dfb459a9ab
Source1: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman-html.tar.gz
# Source1-md5: 915a1949f7af7186e16354e9682dc1e5
Source2: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.ps.gz
# Source5-md5: 77fa1da7375dea1393cc0b6cd802d7e1
Patch1: %{name}-CFLAGS.patch
Patch2: %{name}-as_needed.patch
+Patch3: x32.patch
URL: http://caml.inria.fr/
%{?with_x:BuildRequires: xorg-lib-libX11-devel}
%if %{with emacs}
Summary(pl.UTF-8): Skompilowane części kompilatora OCamla
Group: Development/Languages
Requires: %{name} = %{epoch}:%{version}-%{release}
-Obsoletes: ocaml-devel
Provides: ocaml-devel
+Obsoletes: ocaml-devel
%description compiler-objects
This package contains *.cmi and *.cmo files being parts of OCaml
cp %{SOURCE2} docs/ocaml.ps.gz
%patch1 -p1
%patch2 -p1
+%patch3 -p1
-%build
+%build
cp -f /usr/share/automake/config.sub config/gnu
./configure \
- -cc "%{__cc}" \
+ -host %{_target_platform} \
+ -cc "%{__cc}" \
-bindir %{_bindir} \
-libdir %{_libdir}/%{name} \
-mandir %{_mandir}/man1 \
- -host %{_host} \
-with-pthread \
-x11lib %{_libdir}
-%{__make} -j1 world bootstrap opt.opt CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT"
-%{__make} -C tools objinfo CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT" -j1
+%{__make} -j1 world bootstrap %{?with_ocaml_opt:opt.opt} \
+ CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT"
+
+%{__make} -C tools objinfo \
+ CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT" -j1
%install
rm -rf $RPM_BUILD_ROOT
# compiled sources of compiler, needed by some programs
for f in {asm,byte}comp parsing typing utils ; do
install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
- cp $f/*.{cmi,cmo,cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
+ cp $f/*.{cmi,cmo} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
+ %{?with_ocaml_opt:cp $f/*.{cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f}
done
# this isn't installed by default, but is useful
%attr(755,root,root) %{_bindir}/ocaml
%attr(755,root,root) %{_bindir}/ocamlbuild*
%attr(755,root,root) %{_bindir}/ocamlc
-%attr(755,root,root) %{_bindir}/ocamlc.*
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlc.*}
%attr(755,root,root) %{_bindir}/ocamlcp
%attr(755,root,root) %{_bindir}/ocamldebug
%attr(755,root,root) %{_bindir}/ocamldep*
%attr(755,root,root) %{_bindir}/ocamlmklib
%attr(755,root,root) %{_bindir}/ocamlmktop
%attr(755,root,root) %{_bindir}/ocamlobjinfo
-%attr(755,root,root) %{_bindir}/ocamlopt
-%attr(755,root,root) %{_bindir}/ocamlopt.*
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt}
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.*}
%attr(755,root,root) %{_bindir}/ocamloptp
%attr(755,root,root) %{_bindir}/ocamlprof
%attr(755,root,root) %{_bindir}/ocamlyacc
%dir %{_libdir}/%{name}/vmthreads/*.cm*
%dir %{_libdir}/%{name}/vmthreads/*.a
%{_libdir}/%{name}/*.a
-%{_libdir}/%{name}/*.o
+%{?with_ocaml_opt:%{_libdir}/%{name}/*.o}
%{_libdir}/%{name}/*.cm*
%exclude %{_libdir}/%{name}/*graphics*
%{_libdir}/%{name}/Makefile.config
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/ocamlrun
%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/VERSION
%dir %{_libdir}/%{name}/site-lib
%dir %{_libdir}/%{name}/stublibs
%attr(755,root,root) %{_libdir}/%{name}/stublibs/dll*.so
%exclude %{_libdir}/%{name}/stublibs/dllgraphics.so
+%{?with_ocaml_opt:%attr(755,root,root) %{_libdir}/%{name}/libasmrun_shared.so}
%attr(755,root,root) %{_libdir}/%{name}/libcamlrun_shared.so
%{_mandir}/man1/ocamlrun.1*
%files x11graphics-devel
%defattr(644,root,root,755)
%{_libdir}/%{name}/graphics*.cm*
-%{_libdir}/%{name}/graphics.a
+%{?with_ocaml_opt:%{_libdir}/%{name}/graphics.a}
%{_libdir}/%{name}/libgraphics.a
%endif
%files ocamldoc-devel
%defattr(644,root,root,755)
%{_libdir}/%{name}/ocamldoc/*.cm*
-%{_libdir}/%{name}/ocamldoc/*.a
+%{?with_ocaml_opt:%{_libdir}/%{name}/ocamldoc/*.a}
%files examples
%defattr(644,root,root,755)