summaryrefslogtreecommitdiff
path: root/lang/ocaml
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2021-01-12 11:19:17 +0000
committerjperkin <jperkin@pkgsrc.org>2021-01-12 11:19:17 +0000
commit248c210b25a05a4b2d6546cce2c87c34e0db89d1 (patch)
tree22cf599b4f3dd7bd71ec000f38dcb5224515ba03 /lang/ocaml
parent9439d4044f3571c3e3cc2a98fcc8550d49232dca (diff)
downloadpkgsrc-248c210b25a05a4b2d6546cce2c87c34e0db89d1.tar.gz
ocaml: Fix ocamlmklib wrapper script for ld options.
Tested by wiz for relro.
Diffstat (limited to 'lang/ocaml')
-rw-r--r--lang/ocaml/files/wrapper.sh19
1 files changed, 13 insertions, 6 deletions
diff --git a/lang/ocaml/files/wrapper.sh b/lang/ocaml/files/wrapper.sh
index 32a2a4c5225..50f78d8cc53 100644
--- a/lang/ocaml/files/wrapper.sh
+++ b/lang/ocaml/files/wrapper.sh
@@ -1,6 +1,6 @@
#!@SH@
#
-# $NetBSD: wrapper.sh,v 1.4 2021/01/10 11:13:33 jperkin Exp $
+# $NetBSD: wrapper.sh,v 1.5 2021/01/12 11:19:17 jperkin Exp $
CFLAGS='@CFLAGS@'
LDFLAGS='@LDFLAGS@'
@@ -10,13 +10,20 @@ for flag in ${CFLAGS}; do
cflags="${cflags} -ccopt ${flag}"
done
for flag in ${LDFLAGS}; do
- ldflags="${ldflags} -ccopt ${flag}"
+ cldflags="${cldflags} -ccopt ${flag}"
+ ldflags="${ldflags} -ldopt ${flag}"
done
-if echo "$@" | grep ' -c ' >/dev/null; then
- MLFLAGS="${cflags}"
-else
+case "${WRAPPEE} $@" in
+ocamlmklib*)
MLFLAGS="${cflags} ${ldflags}"
-fi
+ ;;
+*" -c "*)
+ MLFLAGS="${cflags}"
+ ;;
+*)
+ MLFLAGS="${cflags} ${cldflags}"
+ ;;
+esac
exec "@OCAML_PREFIX@/bin/${WRAPPEE}" ${MLFLAGS} "$@"