diff --git a/Mk/bsd.ocaml.mk b/Mk/bsd.ocaml.mk index 1dc29209e785..25402080e0e9 100644 --- a/Mk/bsd.ocaml.mk +++ b/Mk/bsd.ocaml.mk @@ -172,9 +172,11 @@ _USES_install+= 740:ocaml-ldconfig . if !target(ocaml-ldconfig) ocaml-ldconfig: . for LIB in ${OCAML_LDLIBS} - @${ECHO_CMD} "@postexec ${ECHO_CMD} "%D/${LIB}" >> %D/${OCAML_LDCONF}" \ + @${ECHO_CMD} "@postexec ${GREP} -q '^%D/${LIB}$$' %D/${OCAML_LDCONF}" \ + "|| ${ECHO_CMD} "%D/${LIB}" >> %D/${OCAML_LDCONF}" \ >> ${TMPPLIST} - @${ECHO_CMD} "@postunexec ${SED} -i \"\" -e '/${LIB:S#/#\/#g}/d' %D/${OCAML_LDCONF}" >> ${TMPPLIST} + @${ECHO_CMD} "@postunexec _p=\"\`${ECHO_CMD} '%D/${LIB}' | ${SED} 's,/,\\\\\\\\/,g'\`\";" \ + "${SED} -i \"\" -e \"/^\$${_p}\\$$/d\" %D/${OCAML_LDCONF}" >> ${TMPPLIST} . endfor . endif . endif