--- /dev/null
+--- lablgl-1.03/Makefile.common.orig 2008-11-23 19:47:25.000000000 +0000
++++ lablgl-1.03/Makefile.common 2008-11-23 19:57:44.000000000 +0000
+@@ -10,8 +10,8 @@
+ LINKER=$(CAMLC)
+ OPTLINK=$(CAMLOPT)
+ SRCDIR=$(TOPDIR)/src
+-VAR2DEF=ocamlrun $(SRCDIR)/var2def
+-VAR2SWITCH=ocamlrun $(SRCDIR)/var2switch
++VAR2DEF=ocamlrun $(SRCDIR)/var2def$(XE)
++VAR2SWITCH=ocamlrun $(SRCDIR)/var2switch$(XE)
+
+ # Default settings
+ CONFIG = $(TOPDIR)/Makefile.config
+@@ -32,7 +32,7 @@
+ # Windows specific
+ MKLIB=link /lib /nologo /debugtype:CV /out:
+ MKDLL=link /nologo /dll /out:
+-OCAMLDLL= "$(LIBDIR)/ocamlrun$(XA)"
++OCAMLDLL=
+
+ include $(CONFIG)
+
# Patches from native Fedora package:
Patch0: lablgl-tk8.5.patch
+Patch1000: mingw32-ocaml-lablgl-1.03-make-fixes.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
implementations (SGI, Digital Unix, Solaris...), with XFree86 GLX
extension, or with open-source Mesa.
+This is the MinGW Windows port of this package. Currently it does not
+support Togl (Tk integration) or GLUT.
+
%prep
%setup -q -n lablgl-%{version}
%patch0 -p1
+%patch1000 -p1
cat > Makefile.config <<__EOF__
CAMLC = %{_mingw32_target}-ocamlc
XB = .bat
XE = .exe
XS = .dll
-MKLIB = ar rcs
-MKDLL = i686-pc-mingw32-gcc -shared -o
+# NB: The next two lines have a space after them.
+MKLIB = i686-pc-mingw32-ar rcs
+MKDLL = i686-pc-mingw32-ocamlmklib -o
LIBDIR = %{_libdir}/%{_mingw32_target}-ocaml
DLLDIR = %{_libdir}/%{_mingw32_target}-ocaml/stublibs
INSTALLDIR = %{_libdir}/%{_mingw32_target}-ocaml/lablGL
%build
-make all opt
+make lib
+make libopt
%install
rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install
-# Remove static libraries but DON'T remove *.dll.a files.
-rm $RPM_BUILD_ROOT%{_mingw32_libdir}/libfoo.a
+mkdir -p $RPM_BUILD_ROOT%{_bindir}
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{_mingw32_target}-ocaml/lablGL
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{_mingw32_target}-ocaml/stublibs
+make INSTALLDIR=$RPM_BUILD_ROOT%{_libdir}/%{_mingw32_target}-ocaml/lablGL \
+ DLLDIR=$RPM_BUILD_ROOT%{_libdir}/%{_mingw32_target}-ocaml/stublibs \
+ BINDIR=$RPM_BUILD_ROOT%{_bindir} \
+ install
+
+# Make and install a META file.
+cat <<EOM >META
+version="%{version}"
+directory="+lablgl"
+archive(byte) = "lablgl.cma"
+archive(native) = "lablgl.cmxa"
+EOM
+cp META $RPM_BUILD_ROOT%{_libdir}/%{_mingw32_target}-ocaml/lablGL
+
+# Remove unnecessary *.ml files (ones which have a *.mli).
+pushd $RPM_BUILD_ROOT%{_libdir}/%{_mingw32_target}-ocaml/lablGL
+for f in *.ml; do \
+ b=`basename $f .ml`; \
+ if [ -f "$b.mli" ]; then \
+ rm $f; \
+ fi; \
+done
+popd
%clean
%files
%defattr(-,root,root)
-%{_mingw32_bindir}/foo.dll
-%{_mingw32_libdir}/foo.dll.a
-# etc.
+%{_libdir}/%{_mingw32_target}-ocaml/lablGL/
%changelog