From: Brendan Shanks bshanks@codeweavers.com
Fixes undefined reference link error in msv1_0 on FreeBSD.
Reported by Gerald Pfeifer. --- configure.ac | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac index 7229e25dbed..567e11e7bf2 100644 --- a/configure.ac +++ b/configure.ac @@ -765,7 +765,19 @@ case $host_os in LDDLLFLAGS="-fPIC" ;; esac
- WINE_TRY_CFLAGS([-Wl,-z,defs],[UNIXLDFLAGS="$UNIXLDFLAGS -Wl,-z,defs"]) + dnl On FreeBSD, shared libraries using environ fail to link with -Wl,-z,defs + WINE_TRY_CFLAGS([-Wl,-z,defs], + [AC_CACHE_CHECK([whether -Wl,-z,defs can be used with environ], ac_cv_wl_z_defs_environ, + [ac_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $UNIXDLLFLAGS $UNIXLDFLAGS -Wl,-z,defs" + AC_LINK_IFELSE([AC_LANG_SOURCE([[extern char **environ; char **envp; void myfunc(void) { envp = environ; }]])], + [ac_cv_wl_z_defs_environ=yes],[ac_cv_wl_z_defs_environ=no]) + CFLAGS=$ac_save_cflags]) + if test $ac_cv_wl_z_defs_environ = yes + then + UNIXLDFLAGS="$UNIXLDFLAGS -Wl,-z,defs" + fi]) + WINE_TRY_CFLAGS([-Wl,--export-dynamic],[WINELOADER_LDFLAGS="-Wl,--export-dynamic"]) WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs"