Correct usage of libdir vs. pkglibdir and skip setting an rpath for
the passed (possibly system) libdir.

diff --git a/configure.ac b/configure.ac
index 6770850..09ffaf7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,6 +24,9 @@ AC_PROG_MAKE_SET
 AC_PROG_LIBTOOL
 AC_LANG_CPLUSPLUS
 
+# Expand ${exec_prefix} and other stuff:
+eval full_libdir="\"$libdir\""
+
 dnl Check for lua
 AC_MSG_CHECKING(if with lua)
 AC_ARG_WITH(lua, AC_HELP_STRING([--with-lua],[use Lua]), [WITH_LUA=$withval],[WITH_LUA=yes])
@@ -594,7 +597,7 @@ then
 	    AC_HELP_STRING([--with-pgsql=<path>],[root directory path of PgSQL installation]),
 	    [PGSQL_lib_check="$withval/lib/pgsql $with_pgsql/lib"
 	PGSQL_inc_check="$withval/include/pgsql"],
-	    [PGSQL_lib_check="/usr/local/pgsql/lib/pgsql /usr/local/lib/pgsql /opt/pgsql/lib/pgsql /usr/lib/pgsql /usr/local/pgsql/lib /usr/local/lib /opt/pgsql/lib /usr/lib /usr/lib64"
+	    [PGSQL_lib_check="/usr/local/pgsql/lib/pgsql /usr/local/lib/pgsql /opt/pgsql/lib/pgsql /usr/lib/pgsql /usr/local/pgsql/lib /usr/local/lib /opt/pgsql/lib /usr/lib /usr/lib64 $full_libdir"
 	PGSQL_inc_check="/usr/local/pgsql/include/pgsql /usr/include /usr/local/include/postgresql/ /usr/local/include /opt/pgsql/include/pgsql /opt/pgsql/include /usr/include/pgsql/ /usr/include/postgresql"])
 		AC_ARG_WITH(pgsql-lib,
 	    AC_HELP_STRING([--with-pgsql-lib=<path>],[directory path of PgSQL library installation]),
@@ -618,6 +621,7 @@ then
 	case "$PGSQL_libdir" in
 	  /usr/lib ) PGSQL_lib="" ;;
 	  /usr/lib64 ) PGSQL_lib="" ;;
+	  $full_libdir ) PGSQL_lib="" ;;
 	  /* ) PGSQL_lib="-L$PGSQL_libdir -Wl,-rpath,$PGSQL_libdir"
 	       LDFLAGS="$PGSQL_lib $LDFLAGS"
                ;;
@@ -668,7 +672,7 @@ then
             AC_HELP_STRING([--with-unixodbc=<path>],[root directory path of unixodbc installation]),
             [UNIXODBC_lib_check="$withval/lib/unixodbc $with_unixodbc/lib $withval/lib"
              UNIXODBC_inc_check="$withval/include/unixodbc"],
-            [UNIXODBC_lib_check="/usr/local/unixodbc/lib/unixodbc /usr/local/lib/unixodbc /usr/lib/unixodbc /usr/local/unixodbc/lib /usr/local/lib /opt/unixodbc/lib /usr/lib"
+            [UNIXODBC_lib_check="/usr/local/unixodbc/lib/unixodbc /usr/local/lib/unixodbc /usr/lib/unixodbc /usr/local/unixodbc/lib /usr/local/lib /opt/unixodbc/lib /usr/lib $full_libdir"
              UNIXODBC_inc_check="/usr/local/unixodbc/include/unixodbc /usr/local/include/unixodbc/ /usr/local/include /opt/unixodbc/include/unixodbc /opt/unixodbc/include /usr/include/ /usr/include/unixodbc"])
         AC_ARG_WITH(unixodbc-lib,
             AC_HELP_STRING([--with-unixodbc-lib=<path>],[directory path of unixodbc library installation]),
@@ -691,6 +695,7 @@ then
         fi
         case "$UNIXODBC_libdir" in
            /usr/lib ) UNIXODBC_lib="" ;;
+           $full_libdir ) UNIXODBC_lib="" ;;
           /* ) UNIXODBC_lib="-L$UNIXODBC_libdir -Wl,-rpath,$UNIXODBC_libdir"
                LDFLAGS="$UNIXODBC_lib $LDFLAGS"
                ;;
diff --git a/modules/db2backend/Makefile.am b/modules/db2backend/Makefile.am
index f6e2f82..01e31d1 100644
--- a/modules/db2backend/Makefile.am
+++ b/modules/db2backend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=@THREADFLAGS@
-lib_LTLIBRARIES = libdb2backend.la 
+pkglib_LTLIBRARIES = libdb2backend.la
 
 libdb2backend_la_SOURCES=DB2Backend.cc DB2Backend.hh DB2Exception.cc DB2Exception.hh
 libdb2backend_la_LDFLAGS=-module -avoid-version -ldb2
diff --git a/modules/geobackend/Makefile.am b/modules/geobackend/Makefile.am
index f154106..4fd6311 100644
--- a/modules/geobackend/Makefile.am
+++ b/modules/geobackend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS)
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
-lib_LTLIBRARIES = libgeobackend.la
+pkglib_LTLIBRARIES = libgeobackend.la
 libgeobackend_la_SOURCES=geobackend.cc geobackend.hh ippreftree.cc ippreftree.hh
 libgeobackend_la_LDFLAGS=-module -avoid-version
diff --git a/modules/gmysqlbackend/Makefile.am b/modules/gmysqlbackend/Makefile.am
index a754f38..3265a72 100644
--- a/modules/gmysqlbackend/Makefile.am
+++ b/modules/gmysqlbackend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=@MYSQL_inc@ @THREADFLAGS@ $(BOOST_CPPFLAGS)
-lib_LTLIBRARIES = libgmysqlbackend.la
+pkglib_LTLIBRARIES = libgmysqlbackend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 
diff --git a/modules/godbcbackend/Makefile.am b/modules/godbcbackend/Makefile.am
index 7e95ac8..a2f2c9d 100644
--- a/modules/godbcbackend/Makefile.am
+++ b/modules/godbcbackend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=-I@UNIXODBC_incdir@ @THREADFLAGS@
-lib_LTLIBRARIES = libgodbcbackend.la
+pkglib_LTLIBRARIES = libgodbcbackend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 
diff --git a/modules/goraclebackend/Makefile.am b/modules/goraclebackend/Makefile.am
index 42d4928..cdc9e51 100644
--- a/modules/goraclebackend/Makefile.am
+++ b/modules/goraclebackend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=$(ORACLE_CFLAGS) @THREADFLAGS@
-lib_LTLIBRARIES = libgoraclebackend.la
+pkglib_LTLIBRARIES = libgoraclebackend.la
 #bin_PROGRAMS = soracle
 
 #soracle_SOURCES=soracle.cc soracle.hh 
diff --git a/modules/gpgsqlbackend/Makefile.am b/modules/gpgsqlbackend/Makefile.am
index 344e162..030536c 100644
--- a/modules/gpgsqlbackend/Makefile.am
+++ b/modules/gpgsqlbackend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=-I@PGSQL_incdir@ @THREADFLAGS@
-lib_LTLIBRARIES = libgpgsqlbackend.la
+pkglib_LTLIBRARIES = libgpgsqlbackend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 
diff --git a/modules/gsqlite3backend/Makefile.am b/modules/gsqlite3backend/Makefile.am
index 0c9f3b1..27b437e 100644
--- a/modules/gsqlite3backend/Makefile.am
+++ b/modules/gsqlite3backend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS)
-lib_LTLIBRARIES = libgsqlite3backend.la
+pkglib_LTLIBRARIES = libgsqlite3backend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 
diff --git a/modules/ldapbackend/Makefile.am b/modules/ldapbackend/Makefile.am
index 8709848..8e9cb4a 100644
--- a/modules/ldapbackend/Makefile.am
+++ b/modules/ldapbackend/Makefile.am
@@ -2,7 +2,7 @@ AM_CPPFLAGS=@THREADFLAGS@
 
 EXTRA_DIST = OBJECTFILES OBJECTLIBS
 
-lib_LTLIBRARIES = libldapbackend.la
+pkglib_LTLIBRARIES = libldapbackend.la
 libldapbackend_la_SOURCES = ldapbackend.cc ldapbackend.hh powerldap.hh powerldap.cc utils.hh
 libldapbackend_la_LDFLAGS =-module -avoid-version
 libldapbackend_la_LIBADD =-l@LIBLDAP@
diff --git a/modules/luabackend/Makefile.am b/modules/luabackend/Makefile.am
index 2b220bd..22cd590 100644
--- a/modules/luabackend/Makefile.am
+++ b/modules/luabackend/Makefile.am
@@ -3,7 +3,7 @@ AM_CPPFLAGS=$(LUA_CFLAGS) @THREADFLAGS@
 EXTRA_DIST=OBJECTFILES OBJECTLIBS 
 
 
-lib_LTLIBRARIES = libluabackend.la
+pkglib_LTLIBRARIES = libluabackend.la
 
 libluabackend_la_SOURCES=luabackend.cc luabackend.hh minimal.cc reload.cc lua_functions.cc master.cc private.cc slave.cc supermaster.cc dnssec.cc \
 	lua_functions.hh 
diff --git a/modules/mydnsbackend/Makefile.am b/modules/mydnsbackend/Makefile.am
index 5b4ec1b..f16f220 100644
--- a/modules/mydnsbackend/Makefile.am
+++ b/modules/mydnsbackend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=@MYSQL_inc@ @THREADFLAGS@
-lib_LTLIBRARIES = libmydnsbackend.la 
+pkglib_LTLIBRARIES = libmydnsbackend.la
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 libmydnsbackend_la_SOURCES=mydnsbackend.cc mydnsbackend.hh 
 libmydnsbackend_la_LDFLAGS=-module -avoid-version @MYSQL_lib@
diff --git a/modules/opendbxbackend/Makefile.am b/modules/opendbxbackend/Makefile.am
index db3a964..f58c0ee 100644
--- a/modules/opendbxbackend/Makefile.am
+++ b/modules/opendbxbackend/Makefile.am
@@ -2,7 +2,7 @@ AM_CPPFLAGS=@THREADFLAGS@
 
 EXTRA_DIST = OBJECTFILES OBJECTLIBS
 
-lib_LTLIBRARIES = libopendbxbackend.la
+pkglib_LTLIBRARIES = libopendbxbackend.la
 libopendbxbackend_la_SOURCES = odbxbackend.hh odbxbackend.cc odbxprivate.cc
 libopendbxbackend_la_LDFLAGS =-module -avoid-version
 libopendbxbackend_la_LIBADD =-l@LIBOPENDBX@
diff --git a/modules/oraclebackend/Makefile.am b/modules/oraclebackend/Makefile.am
index 7e5adcb..0d8978a 100644
--- a/modules/oraclebackend/Makefile.am
+++ b/modules/oraclebackend/Makefile.am
@@ -1,6 +1,6 @@
 AM_CPPFLAGS=$(ORACLE_CFLAGS) @THREADFLAGS@
 
-lib_LTLIBRARIES = liboraclebackend.la
+pkglib_LTLIBRARIES = liboraclebackend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS schema.sql dropschema.sql
 
diff --git a/modules/pipebackend/Makefile.am b/modules/pipebackend/Makefile.am
index 91a0403..941af1f 100644
--- a/modules/pipebackend/Makefile.am
+++ b/modules/pipebackend/Makefile.am
@@ -5,7 +5,7 @@ AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS)
 #endif
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS backend.pl
-lib_LTLIBRARIES = libpipebackend.la
+pkglib_LTLIBRARIES = libpipebackend.la
 
 libpipebackend_la_SOURCES=pipebackend.cc pipebackend.hh coprocess.cc coprocess.hh
 libpipebackend_la_LDFLAGS=-module -avoid-version
diff --git a/modules/randombackend/Makefile.am b/modules/randombackend/Makefile.am
index 4020dfd..4b4b1ca 100644
--- a/modules/randombackend/Makefile.am
+++ b/modules/randombackend/Makefile.am
@@ -2,7 +2,7 @@ AM_CPPFLAGS=@THREADFLAGS@
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 
-lib_LTLIBRARIES = librandombackend.la
+pkglib_LTLIBRARIES = librandombackend.la
 
 librandombackend_la_SOURCES=randombackend.cc
 librandombackend_la_LDFLAGS=-module -avoid-version
diff --git a/modules/remotebackend/Makefile.am b/modules/remotebackend/Makefile.am
index 3d855aa..e8b1d11 100644
--- a/modules/remotebackend/Makefile.am
+++ b/modules/remotebackend/Makefile.am
@@ -8,7 +8,7 @@ EXTRA_DIST=OBJECTFILES OBJECTLIBS
 EXTRA_PROGRAMS=test_remotebackend_pipe test_remotebackend_unix test_remotebackend_http test_remotebackend_post test_remotebackend_json
 EXTRA_LTLIBRARIES=libtestremotebackend.la
 
-lib_LTLIBRARIES = libremotebackend.la 
+pkglib_LTLIBRARIES = libremotebackend.la
 
 libremotebackend_la_SOURCES=remotebackend.hh remotebackend.cc unixconnector.cc httpconnector.cc pipeconnector.cc 
 
diff --git a/modules/tinydnsbackend/Makefile.am b/modules/tinydnsbackend/Makefile.am
index 13654a0..db85396 100644
--- a/modules/tinydnsbackend/Makefile.am
+++ b/modules/tinydnsbackend/Makefile.am
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=@CDB_CFLAGS@ @THREADFLAGS@
-lib_LTLIBRARIES = libtinydnsbackend.la
+pkglib_LTLIBRARIES = libtinydnsbackend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 
diff --git a/modules/xdbbackend/Makefile.am b/modules/xdbbackend/Makefile.am
index 606bd71..e7eec4b 100644
--- a/modules/xdbbackend/Makefile.am
+++ b/modules/xdbbackend/Makefile.am
@@ -2,7 +2,7 @@ AM_CPPFLAGS=@THREADFLAGS@
 EXTRA_DIST=OBJECTFILES OBJECTLIBS 
 bin_PROGRAMS=xdb-fill
 
-lib_LTLIBRARIES = libxdbbackend.la
+pkglib_LTLIBRARIES = libxdbbackend.la
 
 libxdbbackend_la_SOURCES=xdbbackend.cc xtdb.cc xtdb.hh xdb.hh xgdbm.hh
 libxdbbackend_la_LDFLAGS=-module -avoid-version -ltdb
diff --git a/pdns/Makefile.am b/pdns/Makefile.am
index 52713d2..912f41a 100644
--- a/pdns/Makefile.am
+++ b/pdns/Makefile.am
@@ -1,5 +1,5 @@
 
-AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) $(POLARSSL_CFLAGS) -Iext/rapidjson/include
+AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DPKGLIBDIR=\"$(pkglibdir)\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) $(POLARSSL_CFLAGS) -Iext/rapidjson/include
 
 AM_CPPFLAGS=-Ibackends/bind $(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS)
 if BOTAN110
diff --git a/pdns/pdnssec.cc b/pdns/pdnssec.cc
index 6d059d8..25405a2 100644
--- a/pdns/pdnssec.cc
+++ b/pdns/pdnssec.cc
@@ -130,7 +130,7 @@ void loadMainConfig(const std::string& configdir)
   ::arg().set("default-zsk-size","Default KSK size (0 means default)")="0";
   
   ::arg().set("max-ent-entries", "Maximum number of empty non-terminals in a zone")="100000";
-  ::arg().set("module-dir","Default directory for modules")=LIBDIR;
+  ::arg().set("module-dir","Default directory for modules")=PKGLIBDIR;
   ::arg().setSwitch("direct-dnskey","Fetch DNSKEY RRs from backend during DNSKEY synthesis")="no";
   ::arg().laxFile(configname.c_str());
 
diff --git a/pdns/receiver.cc b/pdns/receiver.cc
index 730981a..638ea79 100644
--- a/pdns/receiver.cc
+++ b/pdns/receiver.cc
@@ -337,7 +337,7 @@ static void UNIX_declareArguments()
   ::arg().set("config-dir","Location of configuration directory (pdns.conf)")=SYSCONFDIR;
   ::arg().set("config-name","Name of this virtual configuration - will rename the binary image")="";
   ::arg().set("socket-dir","Where the controlsocket will live")=LOCALSTATEDIR;
-  ::arg().set("module-dir","Default directory for modules")=LIBDIR;
+  ::arg().set("module-dir","Default directory for modules")=PKGLIBDIR;
   ::arg().set("chroot","If set, chroot to this directory for more security")="";
   ::arg().set("logging-facility","Log under a specific facility")="";
   ::arg().set("daemon","Operate as a daemon")="no";
