From 647341320ad5c91704b05de3dbbf6222d6ed063c Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 27 Sep 2009 17:02:49 +0000 Subject: [PATCH 1/1] Make dynamic linking smarter, so this stuff works before running 'make install' --- openssl/mlton/libssl-h.sml | 5 ++++- openssl/smlnj/libssl-h.sml | 5 ++++- pcre/mlton/libpcre-h.sml | 5 ++++- pcre/smlnj/libpcre-h.sml | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/openssl/mlton/libssl-h.sml b/openssl/mlton/libssl-h.sml index 7bf5f0b..891158b 100644 --- a/openssl/mlton/libssl-h.sml +++ b/openssl/mlton/libssl-h.sml @@ -1,7 +1,10 @@ structure LibsslH = struct local + val global = "/usr/local/lib/openssl_sml.so" + val locl = "openssl/openssl_sml.so" + val lh = DynLinkage.open_lib - { name = "/usr/local/lib/openssl_sml.so", global = true, lazy = true } + { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in fun libh s = let diff --git a/openssl/smlnj/libssl-h.sml b/openssl/smlnj/libssl-h.sml index 7bf5f0b..891158b 100644 --- a/openssl/smlnj/libssl-h.sml +++ b/openssl/smlnj/libssl-h.sml @@ -1,7 +1,10 @@ structure LibsslH = struct local + val global = "/usr/local/lib/openssl_sml.so" + val locl = "openssl/openssl_sml.so" + val lh = DynLinkage.open_lib - { name = "/usr/local/lib/openssl_sml.so", global = true, lazy = true } + { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in fun libh s = let diff --git a/pcre/mlton/libpcre-h.sml b/pcre/mlton/libpcre-h.sml index 356df39..3412cf6 100644 --- a/pcre/mlton/libpcre-h.sml +++ b/pcre/mlton/libpcre-h.sml @@ -1,7 +1,10 @@ structure LibpcreH = struct local + val global = "/usr/local/lib/pcre_sml.so" + val locl = "openssl/pcre_sml.so" + val lh = DynLinkage.open_lib - { name = "/usr/local/lib/pcre_sml.so", global = true, lazy = true } + { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in fun libh s = let diff --git a/pcre/smlnj/libpcre-h.sml b/pcre/smlnj/libpcre-h.sml index 356df39..3412cf6 100644 --- a/pcre/smlnj/libpcre-h.sml +++ b/pcre/smlnj/libpcre-h.sml @@ -1,7 +1,10 @@ structure LibpcreH = struct local + val global = "/usr/local/lib/pcre_sml.so" + val locl = "openssl/pcre_sml.so" + val lh = DynLinkage.open_lib - { name = "/usr/local/lib/pcre_sml.so", global = true, lazy = true } + { name = if Posix.FileSys.access (global, []) then global else locl, global = true, lazy = true } handle DynLinkage.DynLinkError s => raise Fail s in fun libh s = let -- 2.20.1