pkgsrc-ng/lang/ocaml/patches/patch-tools_ocamlmklib
2016-11-18 22:39:22 +01:00

44 lines
2.0 KiB
Plaintext

$NetBSD: patch-tools_ocamlmklib,v 1.6 2016/05/05 08:12:01 jaapb Exp $
Add ELF mode support to ocamlmklib
--- tools/ocamlmklib.ml.orig 2016-04-01 12:53:41.000000000 +0000
+++ tools/ocamlmklib.ml
@@ -28,6 +28,7 @@ and c_objs = ref [] (* .o, .a, .
and caml_libs = ref [] (* -cclib to pass to ocamlc, ocamlopt *)
and caml_opts = ref [] (* -ccopt to pass to ocamlc, ocamlopt *)
and dynlink = ref supports_shared_libraries
+and elfmode = ref false (* do not add C link lib path to run-time path *)
and failsafe = ref false (* whether to fall back on static build only *)
and c_libs = ref [] (* libs to pass to mksharedlib and ocamlc -cclib *)
and c_Lopts = ref [] (* options to pass to mksharedlib and ocamlc -cclib *)
@@ -104,8 +105,9 @@ let parse_arguments argv =
c_libs := s :: !c_libs
else if starts_with s "-L" then
(c_Lopts := s :: !c_Lopts;
- let l = chop_prefix s "-L" in
- if not (Filename.is_relative l) then rpath := l :: !rpath)
+ if not !elfmode then
+ (let l = chop_prefix s "-L" in
+ if not (Filename.is_relative l) then rpath := l :: !rpath))
else if s = "-ocamlcflags" then
ocamlc_opts := next_arg () :: !ocamlc_opts
else if s = "-ocamlc" then
@@ -120,6 +122,8 @@ let parse_arguments argv =
output_c := next_arg()
else if s = "-dllpath" || s = "-R" || s = "-rpath" then
rpath := next_arg() :: !rpath
+ else if s = "-elfmode" then
+ elfmode := true
else if starts_with s "-R" then
rpath := chop_prefix s "-R" :: !rpath
else if s = "-Wl,-rpath" then
@@ -165,6 +169,7 @@ Usage: ocamlmklib [options] <.cmo|.cma|.
\n -custom Disable dynamic loading\
\n -g Build with debug information\
\n -dllpath <dir> Add <dir> to the run-time search path for DLLs\
+\n -elfmode Do not add link-time search path to run-time path\
\n -F<dir> Specify a framework directory (MacOSX)\
\n -framework <name> Use framework <name> (MacOSX)\
\n -help Print this help message and exit\