Browse Source

Bugfix: Detect whether the linker accepts -zorigin before attempting to use it

Windows at least does not support -zorigin, and BSD at least used to require it for $ORIGIN

Conflicts:
	configure.ac
Luke Dashjr 12 years ago
parent
commit
54343f4550
2 changed files with 15 additions and 1 deletions
  1. 1 1
      Makefile.am
  2. 14 0
      configure.ac

+ 1 - 1
Makefile.am

@@ -52,7 +52,7 @@ EXTRA_bfgminer_DEPENDENCIES =
 if NEED_LIBBLKMAKER
 SUBDIRS           += libblkmaker
 bfgminer_CPPFLAGS += -Ilibblkmaker
-bfgminer_LDFLAGS  += -Llibblkmaker/.libs -Wl,-rpath,\$$ORIGIN/libblkmaker/.libs,-z,origin
+bfgminer_LDFLAGS  += -Llibblkmaker/.libs -Wl,-rpath,\$$ORIGIN/libblkmaker/.libs$(origin_LDFLAGS)
 bfgminer_LDADD    += -lblkmaker_jansson-0.1 -lblkmaker-0.1
 EXTRA_bfgminer_DEPENDENCIES += libblkmaker_directory
 libblkmaker_directory:

+ 14 - 0
configure.ac

@@ -407,6 +407,20 @@ else
 fi
 
 
+save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS -Wl,-zorigin"
+origin_LDFLAGS=
+AC_MSG_CHECKING([whether the linker recognizes the -zorigin option])
+AC_TRY_LINK([],[],[
+	AC_MSG_RESULT([yes])
+	origin_LDFLAGS=',-zorigin'
+],[
+	AC_MSG_RESULT([no])
+])
+LDFLAGS="$save_LDFLAGS"
+AC_SUBST(origin_LDFLAGS)
+
+
 AC_CONFIG_SUBDIRS([libblkmaker])
 
 AM_CONDITIONAL([NEED_LIBBLKMAKER], [true])