diff -ur xrootd.orig/src/Xrd/Makefile.am xrootd/src/Xrd/Makefile.am
--- xrootd.orig/src/Xrd/Makefile.am 2008-05-26 15:36:50.000000000 +0200
+++ xrootd/src/Xrd/Makefile.am 2010-06-08 17:02:29.595843411 +0200
@@ -41,3 +41,6 @@
XrdScheduler.cc XrdScheduler.hh XrdJob.hh \
XrdStats.cc XrdStats.hh \
XrdTrace.hh
+libXrd_la_LIBADD = ../XrdNet/libXrdNet.la \
+ ../XrdSys/libXrdSys.la \
+ ../XrdOuc/libXrdOuc.la
diff -ur xrootd.orig/src/Xrd/XrdProtocol.cc xrootd/src/Xrd/XrdProtocol.cc
--- xrootd.orig/src/Xrd/XrdProtocol.cc 2009-03-09 02:58:08.000000000 +0100
+++ xrootd/src/Xrd/XrdProtocol.cc 2010-06-08 17:02:29.596842140 +0200
@@ -17,6 +17,7 @@
#include <sys/types.h>
#include <sys/socket.h>
+#include "XrdSys/XrdSysError.hh"
#include "Xrd/XrdProtocol.hh"
/******************************************************************************/
@@ -55,3 +56,24 @@
WANPort = rhs.WANPort;
WANWSize = rhs.WANWSize;
}
+
+// Dummy implementations to allow creation of shared library.
+// These should not be used.
+
+extern "C"
+
+{
+XrdProtocol *XrdgetProtocol(const char *pname, char *parms,
+ XrdProtocol_Config *pi)
+{
+ pi->eDest->Say("XrdgetProtocol - this version should not be used.");
+ return NULL;
+}
+
+int XrdgetProtocolPort(const char *pname, char *parms, XrdProtocol_Config *pi)
+{
+ pi->eDest->Say("XrdgetProtocolPort - this version should not be used.");
+ return 0;
+}
+
+}
diff -ur xrootd.orig/src/XrdAcc/Makefile.am xrootd/src/XrdAcc/Makefile.am
--- xrootd.orig/src/XrdAcc/Makefile.am 2007-08-02 17:34:58.000000000 +0200
+++ xrootd/src/XrdAcc/Makefile.am 2010-06-08 17:02:29.596842140 +0200
@@ -29,6 +29,8 @@
XrdAccCapability.cc XrdAccCapability.hh \
XrdAccConfig.cc XrdAccConfig.hh XrdAccAuthDB.hh \
XrdAccGroups.cc XrdAccGroups.hh XrdAccPrivs.hh
+libXrdAcc_la_LIBADD = ../XrdSys/libXrdSys.la \
+ ../XrdOuc/libXrdOuc.la
XrdAccTest_SOURCES = XrdAccTest.cc XrdAccAuthorize.hh
XrdAccTest_LDADD = libXrdAcc.la \
diff -ur xrootd.orig/src/XrdCms/Makefile.am xrootd/src/XrdCms/Makefile.am
--- xrootd.orig/src/XrdCms/Makefile.am 2009-11-19 04:28:11.000000000 +0100
+++ xrootd/src/XrdCms/Makefile.am 2010-06-08 17:11:51.802591088 +0200
@@ -62,6 +62,7 @@
libXrdCms_la_LIBADD = libXrdCmsConv.la \
+ ../Xrd/libXrd.la \
../XrdNet/libXrdNet.la \
../XrdOuc/libXrdOuc.la \
../XrdOdc/libXrdOdc.la \
diff -ur xrootd.orig/src/XrdCms/XrdCmsClientMan.cc xrootd/src/XrdCms/XrdCmsClientMan.cc
--- xrootd.orig/src/XrdCms/XrdCmsClientMan.cc 2010-01-16 02:38:03.000000000 +0100
+++ xrootd/src/XrdCms/XrdCmsClientMan.cc 2010-06-08 17:02:29.597589231 +0200
@@ -35,7 +35,7 @@
/* G l o b a l s */
/******************************************************************************/
-extern XrdInet *XrdXrootdNetwork;
+ XrdInet *XrdXrootdNetwork = 0;
XrdNetBufferQ XrdCmsClientMan::BuffQ(2048,64);
diff -ur xrootd.orig/src/XrdCms/XrdCmsConfig.cc xrootd/src/XrdCms/XrdCmsConfig.cc
--- xrootd.orig/src/XrdCms/XrdCmsConfig.cc 2010-02-18 23:45:17.000000000 +0100
+++ xrootd/src/XrdCms/XrdCmsConfig.cc 2010-06-08 17:02:29.598589287 +0200
@@ -135,11 +135,11 @@
// of the following symbol being non-zero. On the server side, we have no
// such symbol and need to provide one initialized to zero.
//
- XrdSecProtocol *(*XrdXrootdSecGetProtocol)
+extern XrdSecProtocol *(*XrdXrootdSecGetProtocol)
(const char *hostname,
const struct sockaddr &netaddr,
const XrdSecParameters &parms,
- XrdOucErrInfo *einfo)=0;
+ XrdOucErrInfo *einfo);
/******************************************************************************/
/* E x t e r n a l T h r e a d I n t e r f a c e s */
diff -ur xrootd.orig/src/XrdCms/XrdCmsSecurity.cc xrootd/src/XrdCms/XrdCmsSecurity.cc
--- xrootd.orig/src/XrdCms/XrdCmsSecurity.cc 2008-06-10 04:00:42.000000000 +0200
+++ xrootd/src/XrdCms/XrdCmsSecurity.cc 2010-06-08 17:02:29.599589203 +0200
@@ -48,11 +48,11 @@
/* G l o b a l S y m b o l s */
/******************************************************************************/
-extern XrdSecProtocol *(*XrdXrootdSecGetProtocol)
+XrdSecProtocol *(*XrdXrootdSecGetProtocol)
(const char *hostname,
const struct sockaddr &netaddr,
const XrdSecParameters &parms,
- XrdOucErrInfo *einfo);
+ XrdOucErrInfo *einfo) = 0;
/******************************************************************************/
/* S t a t i c S y m b o l s */
diff -ur xrootd.orig/src/XrdCrypto/Makefile.am xrootd/src/XrdCrypto/Makefile.am
--- xrootd.orig/src/XrdCrypto/Makefile.am 2008-10-12 12:25:41.000000000 +0200
+++ xrootd/src/XrdCrypto/Makefile.am 2010-06-08 17:02:29.599589203 +0200
@@ -70,7 +70,10 @@
XrdCryptoLite.hh \
XrdCryptoLite.cc \
XrdCryptoLite_bf32.cc
-libXrdCrytoLite_la_CXXFLAGS = $(SSLCXXFLAGS)
+libXrdCryptoLite_la_CXXFLAGS = $(SSLCXXFLAGS)
+libXrdCryptoLite_la_LIBADD = ../XrdSys/libXrdSys.la \
+ ../XrdOuc/libXrdOuc.la \
+ $(OPENSSL_LIBDIR) -lcrypto
libXrdCryptossl_la_SOURCES = \
@@ -84,7 +87,8 @@
XrdCryptosslX509Req.cc \
XrdCryptosslgsiAux.cc \
XrdCryptosslgsiX509Chain.cc
-libXrdCryptossl_la_LIBADD = ../XrdSut/libXrdSut.la \
+libXrdCryptossl_la_LIBADD = libXrdCrypto.la \
+ ../XrdSut/libXrdSut.la \
$(OPENSSL_LIBDIR) -lssl -lcrypto
libXrdCryptossl_la_CXXFLAGS = $(SSLCXXFLAGS)
diff -ur xrootd.orig/src/XrdMon/Makefile.am xrootd/src/XrdMon/Makefile.am
--- xrootd.orig/src/XrdMon/Makefile.am 2008-11-27 10:46:33.000000000 +0100
+++ xrootd/src/XrdMon/Makefile.am 2010-06-08 17:02:29.600589049 +0200
@@ -10,7 +10,7 @@
# global settings
AM_CPPFLAGS = -I$(top_srcdir)/src
-AM_LDFLAGS=-static
+AM_LDFLAGS = -static
#############################################################################
## extra directory definitions for install tree
diff -ur xrootd.orig/src/XrdNet/Makefile.am xrootd/src/XrdNet/Makefile.am
--- xrootd.orig/src/XrdNet/Makefile.am 2007-11-16 02:07:38.000000000 +0100
+++ xrootd/src/XrdNet/Makefile.am 2010-06-08 17:02:29.600589049 +0200
@@ -29,7 +29,9 @@
XrdNetSecurity.cc XrdNetSecurity.hh \
XrdNetSocket.cc XrdNetSocket.hh \
XrdNetWork.cc XrdNetWork.hh
-libXrdNet_la_LIBADD = $(LIBSOCKET) $(LIBNSL)
+libXrdNet_la_LIBADD = ../XrdSys/libXrdSys.la \
+ ../XrdOuc/libXrdOuc.la \
+ $(LIBSOCKET) $(LIBNSL)
#REFAC libXrdNet_la_CXXFLAGS = -prefer-pic
#REFAC libXrdNet_la_LDFLAGS = -static
diff -ur xrootd.orig/src/XrdOdc/Makefile.am xrootd/src/XrdOdc/Makefile.am
--- xrootd.orig/src/XrdOdc/Makefile.am 2007-06-07 12:44:41.000000000 +0200
+++ xrootd/src/XrdOdc/Makefile.am 2010-06-08 17:02:29.600589049 +0200
@@ -28,6 +28,8 @@
XrdOdcManager.cc XrdOdcManager.hh \
XrdOdcMsg.cc XrdOdcMsg.hh XrdOdcTrace.hh \
XrdOdcResp.cc XrdOdcResp.hh
+libXrdOdc_la_LIBADD = ../XrdNet/libXrdNet.la \
+ ../XrdSys/libXrdSys.la
## XrdOdcTest_SOURCES = XrdOdcTest.cc
## XrdOdcTest_LDADD = libXrdOdc.la \
diff -ur xrootd.orig/src/XrdOss/Makefile.am xrootd/src/XrdOss/Makefile.am
--- xrootd.orig/src/XrdOss/Makefile.am 2009-05-22 03:04:24.000000000 +0200
+++ xrootd/src/XrdOss/Makefile.am 2010-06-08 17:02:29.601589314 +0200
@@ -41,4 +41,7 @@
XrdOssSpace.cc XrdOssSpace.hh \
XrdOssStat.cc \
XrdOssUnlink.cc
-libXrdOss_la_LIBADD = $(LIBRT)
+libXrdOss_la_LIBADD = ../XrdNet/libXrdNet.la \
+ ../XrdSys/libXrdSys.la \
+ ../XrdOuc/libXrdOuc.la \
+ $(LIBRT)
diff -ur xrootd.orig/src/XrdOuc/Makefile.am xrootd/src/XrdOuc/Makefile.am
--- xrootd.orig/src/XrdOuc/Makefile.am 2009-08-19 15:51:46.000000000 +0200
+++ xrootd/src/XrdOuc/Makefile.am 2010-06-08 17:02:29.601589314 +0200
@@ -50,7 +50,8 @@
XrdOucCRC.cc XrdOucCRC.hh \
XrdOucHash.icc
-libXrdOuc_la_LIBADD = $(LIBPTHREAD) $(SEM_LIBRT) $(LIBNSL)
+libXrdOuc_la_LIBADD = ../XrdSys/libXrdSys.la \
+ $(LIBPTHREAD) $(SEM_LIBRT) $(LIBNSL)
#REFAC libXrdOuc_la_CXXFLAGS = -prefer-pic
#REFAC libXrdOuc_la_LDFLAGS = -static
diff -ur xrootd.orig/src/XrdPss/Makefile.am xrootd/src/XrdPss/Makefile.am
--- xrootd.orig/src/XrdPss/Makefile.am 2007-06-01 12:29:53.000000000 +0200
+++ xrootd/src/XrdPss/Makefile.am 2010-06-08 17:02:29.602588812 +0200
@@ -20,7 +20,8 @@
XrdPssAio.cc \
XrdPssConfig.cc
-libXrdProxy_la_LIBADD = ../XrdClient/libXrdClient.la \
+libXrdProxy_la_LIBADD = ../XrdPosix/libXrdPosix.la \
+ ../XrdClient/libXrdClient.la \
../XrdNet/libXrdNet.la \
../XrdOuc/libXrdOuc.la \
../XrdSys/libXrdSys.la
diff -ur xrootd.orig/src/XrdRootd/Makefile.am xrootd/src/XrdRootd/Makefile.am
--- xrootd.orig/src/XrdRootd/Makefile.am 2005-10-06 17:30:22.000000000 +0200
+++ xrootd/src/XrdRootd/Makefile.am 2010-06-08 17:02:29.602588812 +0200
@@ -13,4 +13,5 @@
INCLUDES = -I$(top_srcdir)/src
libXrdRootd_la_SOURCES = XrdRootdProtocol.cc XrdRootdProtocol.hh
-libXrdRootd_la_LIBADD = ../XrdOuc/libXrdOuc.la
+libXrdRootd_la_LIBADD = ../Xrd/libXrd.la \
+ ../XrdOuc/libXrdOuc.la
diff -ur xrootd.orig/src/XrdSec/Makefile.am xrootd/src/XrdSec/Makefile.am
--- xrootd.orig/src/XrdSec/Makefile.am 2010-01-12 16:04:06.000000000 +0100
+++ xrootd/src/XrdSec/Makefile.am 2010-06-08 17:02:29.603588588 +0200
@@ -25,6 +25,9 @@
XrdSecTLayer.cc XrdSecTLayer.hh \
XrdSecTrace.hh
libXrdSec_la_LDFLAGS = -module
+libXrdSec_la_LIBADD = ../XrdSys/libXrdSys.la \
+ ../XrdOuc/libXrdOuc.la \
+ ../XrdNet/libXrdNet.la
# Note: the next option leads to problems at least on Darwin
#libXrdSec_la_LIBTOOLFLAGS = --tag=disable-static
diff -ur xrootd.orig/src/XrdSut/Makefile.am xrootd/src/XrdSut/Makefile.am
--- xrootd.orig/src/XrdSut/Makefile.am 2007-02-26 10:40:00.000000000 +0100
+++ xrootd/src/XrdSut/Makefile.am 2010-06-08 17:02:29.603588588 +0200
@@ -27,3 +27,5 @@
XrdSutPFile.cc XrdSutPFile.hh\
XrdSutPFEntry.cc XrdSutPFEntry.hh \
XrdSutRndm.cc XrdSutRndm.hh
+libXrdSut_la_LIBADD = ../XrdSys/libXrdSys.la \
+ ../XrdOuc/libXrdOuc.la
diff -ur xrootd.orig/src/XrdSys/Makefile.am xrootd/src/XrdSys/Makefile.am
--- xrootd.orig/src/XrdSys/Makefile.am 2008-06-13 15:19:39.000000000 +0200
+++ xrootd/src/XrdSys/Makefile.am 2010-06-08 17:05:49.355590040 +0200
@@ -32,7 +32,7 @@
XrdSysTimer.cc XrdSysTimer.hh \
XrdSysXSLock.cc XrdSysXSLock.hh
-libXrdSys_la_LIBADD = $(LIBPTHREAD) $(SEM_LIBRT) $(LIBNSL)
+libXrdSys_la_LIBADD = -ldl $(LIBPTHREAD) $(SEM_LIBRT) $(LIBNSL)
libXrdSys_la_CXXFLAGS = -prefer-pic
EXTRA_DIST = XrdWin32.cc XrdWin32.hh
diff -ur xrootd.orig/src/XrdXrootd/Makefile.am xrootd/src/XrdXrootd/Makefile.am
--- xrootd.orig/src/XrdXrootd/Makefile.am 2007-08-02 17:35:34.000000000 +0200
+++ xrootd/src/XrdXrootd/Makefile.am 2010-06-08 17:02:29.603588588 +0200
@@ -40,6 +40,7 @@
../Xrd/libXrd.la \
../XrdNet/libXrdNet.la \
../XrdOuc/libXrdOuc.la \
+ ../XrdCms/libXrdCms.la \
../XrdSfs/libXrdSfs.la \
../XrdSys/libXrdSys.la
xrootd_LDFLAGS = -static -export-dynamic
diff -ur xrootd.orig/src/XrdXrootd/XrdXrootdConfig.cc xrootd/src/XrdXrootd/XrdXrootdConfig.cc
--- xrootd.orig/src/XrdXrootd/XrdXrootdConfig.cc 2010-02-19 04:36:35.000000000 +0100
+++ xrootd/src/XrdXrootd/XrdXrootdConfig.cc 2010-06-08 17:02:29.605589188 +0200
@@ -90,7 +90,7 @@
const char *XrdXrootdInstance;
- XrdInet *XrdXrootdNetwork;
+extern XrdInet *XrdXrootdNetwork;
int XrdXrootdPort;
diff -ur xrootd.orig/src/XrdXrootd/XrdXrootdLoadLib.cc xrootd/src/XrdXrootd/XrdXrootdLoadLib.cc
--- xrootd.orig/src/XrdXrootd/XrdXrootdLoadLib.cc 2009-07-31 05:47:51.000000000 +0200
+++ xrootd/src/XrdXrootd/XrdXrootdLoadLib.cc 2010-06-08 17:33:03.242590414 +0200
@@ -37,10 +37,11 @@
/* G l o b a l S y m b o l s */
/******************************************************************************/
-XrdSecProtocol *(*XrdXrootdSecGetProtocol)(const char *hostname,
+extern XrdSecProtocol *(*XrdXrootdSecGetProtocol)
+ (const char *hostname,
const struct sockaddr &netaddr,
const XrdSecParameters &parms,
- XrdOucErrInfo *einfo) = 0;
+ XrdOucErrInfo *einfo);
/******************************************************************************/
/* x r o o t d _ l o a d F i l e s y s t e m */