[Libguestfs] [PATCH] macosx: Darwin-specific autoconf macros

Margaret Lewicka
Thu, 12 Feb 2015 17:49:55 -0000

* Replace LD_LIBRARY_PATH with DYLD_LIBRARY_PATH for Darwin
* Remove the -lcrypt flag for Darwin (unsupported)
---
 configure.ac   | 13 +++++++++++++
 run.in         | 10 +++++-----
 v2v/link.sh.in |  2 +-
 3 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/configure.ac b/configure.ac
index d68190a..295de11 100644
--- a/configure.ac
+++ b/configure.ac
@@ -582,6 +582,19 @@ fi
 AC_MSG_RESULT([$DISTRO])
 AC_SUBST([DISTRO])

+AC_MSG_CHECKING([whether we're building on Mac OS X])
+if test "x$(uname)" = "xDarwin"; then
+  AC_MSG_RESULT([yes])
+  LCRYPT_FLAG+  SHARED_LIBS_PATH="DYLD_LIBRARY_PATH"
+else
+  AC_MSG_RESULT([no])
+  LCRYPT_FLAG="-lcrypt"
+  SHARED_LIBS_PATH="LD_LIBRARY_PATH"
+fi
+AC_SUBST([LCRYPT_FLAG])
+AC_SUBST([SHARED_LIBS_PATH])
+
 dnl Add extra packages to the appliance.
 AC_ARG_WITH([extra-packages],
     [AS_HELP_STRING([--with-extra-packages="pkg1 pkg2 ..."],
diff --git a/run.in b/run.in
index a8c2904..4612e0e 100755
--- a/run.in
+++ b/run.in
@@ -77,13 +77,13 @@ fi
 PATH="$b/align:$b/builder:$b/cat:$b/customize:$b/df:$b/diff:$b/edit:$b/erlang:$b/fish:$b/format:$b/fuse:$b/inspector:$b/make-fs:$b/p2v:$b/rescue:$b/resize:$b/sparsify:$b/sysprep:$b/test-tool:$b/tools:$b/v2v:$PATH"
 export PATH

-# Set LD_LIBRARY_PATH to contain library.
-if [ -z "$LD_LIBRARY_PATH" ]; then
-    LD_LIBRARY_PATH="$b/src/.libs:$b/java/.libs:$b/gobject/.libs"
+# Set @SHARED_LIBS_PATH@ to contain library.
+if [ -z "$@SHARED_LIBS_PATH@" ]; then
+    @SHARED_LIBS_PATH@="$b/src/.libs:$b/java/.libs:$b/gobject/.libs"
 else
-
LD_LIBRARY_PATH="$b/src/.libs:$b/java/.libs:$b/gobject/.libs:$LD_LIBRARY_PATH"
+
@SHARED_LIBS_PATH@="$b/src/.libs:$b/java/.libs:$b/gobject/.libs:$@SHARED_LIBS_PATH@"
 fi
-export LD_LIBRARY_PATH
+export @SHARED_LIBS_PATH@

 # Make virt-builder use the local website copy to avoid hitting
 # the network all the time.
diff --git a/v2v/link.sh.in b/v2v/link.sh.in
index 79dc847..3971d03 100644
--- a/v2v/link.sh.in
+++ b/v2v/link.sh.in
@@ -19,4 +19,4 @@
 # Hack automake to link binary properly.  There is no other way to add
 # the -cclib parameter to the end of the command line.

-exec "$@" -linkpkg -cclib '-lutils @LIBTINFO_LIBS@ -lcrypt
@LIBVIRT_LIBS@ @LIBXML2_LIBS@ @LIBINTL@ -lgnu'
+exec "$@" -linkpkg -cclib '-lutils @LIBTINFO_LIBS@ @LCRYPT_FLAG@
@LIBVIRT_LIBS@ @LIBXML2_LIBS@ @LIBINTL@ -lgnu'
--
1.9.3