summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/ocaml/files/ocaml-4.14.0-clang.patch')
-rw-r--r--dev-lang/ocaml/files/ocaml-4.14.0-clang.patch132
1 files changed, 132 insertions, 0 deletions
diff --git a/dev-lang/ocaml/files/ocaml-4.14.0-clang.patch b/dev-lang/ocaml/files/ocaml-4.14.0-clang.patch
new file mode 100644
index 000000000000..cd3c042f2639
--- /dev/null
+++ b/dev-lang/ocaml/files/ocaml-4.14.0-clang.patch
@@ -0,0 +1,132 @@
+commit 28b553622bd0f168411d86ddcfba1adab0d87b92
+Author: Yawar Amin <yawar.amin@gmail.com>
+Date: Mon Nov 15 22:40:43 2021 -0500
+
+ Fix ranlib error
+
+ - Always pass ranlib one file argument at a time to avoid error 'Exactly
+ one archive should be specified'
+ - Call ranlib without cd'ing into the library's directory
+ - Use Makefile functionality to simplify recipes
+
+diff --git a/Makefile b/Makefile
+index c2522c775..2e4e44faa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -549,6 +549,8 @@ else
+ endif
+ $(MAKE) -C tools installopt
+
++LIBRARIES = $(addsuffix .$(A), ocamlcommon ocamlbytecomp ocamloptcomp)
++
+ .PHONY: installoptopt
+ installoptopt:
+ $(INSTALL_PROG) ocamlc.opt$(EXE) "$(INSTALL_BINDIR)"
+@@ -585,8 +587,11 @@ endif
+ ifeq "$(INSTALL_OCAMLNAT)" "true"
+ $(INSTALL_PROG) ocamlnat$(EXE) "$(INSTALL_BINDIR)"
+ endif
+- cd "$(INSTALL_COMPLIBDIR)" && \
+- $(RANLIB) ocamlcommon.$(A) ocamlbytecomp.$(A) ocamloptcomp.$(A)
++# Some versions of ranlib do not support multiple archives
++ for library in $(LIBRARIES); \
++ do \
++ $(RANLIB) "$(INSTALL_COMPLIBDIR)/$$library"; \
++ done
+
+ # Installation of the *.ml sources of compiler-libs
+ .PHONY: install-compiler-sources
+diff --git a/otherlibs/Makefile.otherlibs.common b/otherlibs/Makefile.otherlibs.common
+index 95ff4d58f..6a4451e47 100644
+--- a/otherlibs/Makefile.otherlibs.common
++++ b/otherlibs/Makefile.otherlibs.common
+@@ -95,7 +95,7 @@ install::
+ fi
+ ifneq "$(STUBSLIB)" ""
+ $(INSTALL_DATA) $(STUBSLIB) "$(INSTALL_LIBDIR)/"
+- cd "$(INSTALL_LIBDIR)"; $(RANLIB) lib$(CLIBNAME).$(A)
++ $(RANLIB) "$(INSTALL_LIBDIR)/lib$(CLIBNAME).$(A)"
+ endif
+
+ $(INSTALL_DATA) \
+@@ -104,7 +104,7 @@ endif
+ ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true"
+ $(INSTALL_DATA) \
+ $(CMIFILES:.cmi=.mli) \
+- $(CMIFILES:.cmi=.cmti) \
++ $(CMIFILES:.cmi=.cmti) \
+ "$(INSTALL_LIBDIR)/"
+ endif
+ if test -n "$(HEADERS)"; then \
+@@ -115,7 +115,7 @@ installopt:
+ $(INSTALL_DATA) \
+ $(CAMLOBJS_NAT) $(LIBNAME).cmxa $(LIBNAME).$(A) \
+ "$(INSTALL_LIBDIR)/"
+- cd "$(INSTALL_LIBDIR)"; $(RANLIB) $(LIBNAME).a
++ $(RANLIB) "$(INSTALL_LIBDIR)/$(LIBNAME).$(A)"
+ if test -f $(LIBNAME).cmxs; then \
+ $(INSTALL_PROG) $(LIBNAME).cmxs "$(INSTALL_LIBDIR)"; \
+ fi
+diff --git a/otherlibs/dynlink/Makefile b/otherlibs/dynlink/Makefile
+index 6b02dc197..dccc45103 100644
+--- a/otherlibs/dynlink/Makefile
++++ b/otherlibs/dynlink/Makefile
+@@ -249,12 +249,12 @@ ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true"
+ endif
+
+ installopt:
+- if $(NATDYNLINK); then \
+- $(INSTALL_DATA) \
+- $(NATOBJS) dynlink.cmxa dynlink.$(A) \
+- "$(INSTALL_LIBDIR)" && \
+- cd "$(INSTALL_LIBDIR)" && $(RANLIB) dynlink.$(A); \
+- fi
++ifeq "$(NATDYNLINK)" "true"
++ $(INSTALL_DATA) \
++ $(NATOBJS) dynlink.cmxa dynlink.$(A) \
++ "$(INSTALL_LIBDIR)"
++ $(RANLIB) "$(INSTALL_LIBDIR)/dynlink.$(A)"
++endif
+
+ partialclean:
+ rm -f $(extract_crc) *.cm[ioaxt] *.cmti *.cmxa \
+diff --git a/otherlibs/systhreads/Makefile b/otherlibs/systhreads/Makefile
+index 8fc1bdb92..379c530fa 100644
+--- a/otherlibs/systhreads/Makefile
++++ b/otherlibs/systhreads/Makefile
+@@ -121,7 +121,7 @@ install:
+ $(INSTALL_PROG) dllthreads$(EXT_DLL) "$(INSTALL_STUBLIBDIR)"; \
+ fi
+ $(INSTALL_DATA) libthreads.$(A) "$(INSTALL_LIBDIR)"
+- cd "$(INSTALL_LIBDIR)"; $(RANLIB) libthreads.$(A)
++ $(RANLIB) "$(INSTALL_LIBDIR)/libthreads.$(A)"
+ mkdir -p "$(INSTALL_THREADSLIBDIR)"
+ $(INSTALL_DATA) \
+ $(CMIFILES) threads.cma \
+@@ -136,11 +136,11 @@ endif
+
+ installopt:
+ $(INSTALL_DATA) libthreadsnat.$(A) "$(INSTALL_LIBDIR)"
+- cd "$(INSTALL_LIBDIR)"; $(RANLIB) libthreadsnat.$(A)
++ $(RANLIB) "$(INSTALL_LIBDIR)/libthreadsnat.$(A)"
+ $(INSTALL_DATA) \
+ $(THREADS_NCOBJS) threads.cmxa threads.$(A) \
+ "$(INSTALL_THREADSLIBDIR)"
+- cd "$(INSTALL_THREADSLIBDIR)" && $(RANLIB) threads.$(A)
++ $(RANLIB) "$(INSTALL_THREADSLIBDIR)/threads.$(A)"
+
+ %.cmi: %.mli
+ $(CAMLC) -c $(COMPFLAGS) $<
+diff --git a/stdlib/Makefile b/stdlib/Makefile
+index df34bc2d4..32c5dab56 100644
+--- a/stdlib/Makefile
++++ b/stdlib/Makefile
+@@ -105,7 +105,7 @@ installopt-default::
+ $(INSTALL_DATA) \
+ stdlib.cmxa stdlib.$(A) std_exit.$(O) *.cmx \
+ "$(INSTALL_LIBDIR)"
+- cd "$(INSTALL_LIBDIR)"; $(RANLIB) stdlib.$(A)
++ $(RANLIB) "$(INSTALL_LIBDIR)/stdlib.$(A)"
+
+ ifeq "$(UNIX_OR_WIN32)" "unix"
+ HEADERPROGRAM = header