summaryrefslogtreecommitdiff
path: root/src/OS
diff options
context:
space:
mode:
authorPhil Pennock <pdp@spodhuis.org>2011-01-16 02:15:53 -0500
committerPhil Pennock <pdp@spodhuis.org>2011-01-16 02:15:53 -0500
commit0a34949459c8ec5f79599a458704b7b11cdbb248 (patch)
tree48cea0fdc007607882a53b1e1afd27273b0c4708 /src/OS
parent0761d44e078b0c779c92be127bb4d984c60d0320 (diff)
Bug 139: portability fixes and documentation.
Document the dynamic lookup module capability in spec.xfpt. Include a ChangeLog item. Avoid the GNU-specific "export" make(1) directive. Build the lookups Makefile using the existing framework. Build with BSD Make once more. The src/lookups/Makefile that is used at build time now has the dynamic content come from scripts/lookups-Makefile. Add CFLAGS_DYNAMIC support, which can be set in Local/Makefile. Provide defaults for Linux & FreeBSD. Ensure that build fails early if a dynamic module is requested but CFLAGS_DYNAMIC is not defined.
Diffstat (limited to 'src/OS')
-rw-r--r--src/OS/Makefile-Base1
-rw-r--r--src/OS/Makefile-FreeBSD3
-rw-r--r--src/OS/Makefile-Linux1
3 files changed, 5 insertions, 0 deletions
diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base
index 5793869e2..29a6ad371 100644
--- a/src/OS/Makefile-Base
+++ b/src/OS/Makefile-Base
@@ -641,6 +641,7 @@ $(MONBIN): $(HDRS)
buildlookups lookups/lookups.a: config.h
@cd lookups; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \
+ CFLAGS_DYNAMIC="$(CFLAGS_DYNAMIC)" \
FE="$(FE)" RANLIB="$(RANLIB)" RM_COMMAND="$(RM_COMMAND)" HDRS="$(PHDRS)" \
INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE) $(LOOKUP_INCLUDE)"; \
echo " "
diff --git a/src/OS/Makefile-FreeBSD b/src/OS/Makefile-FreeBSD
index c0f75ee78..3a2697bba 100644
--- a/src/OS/Makefile-FreeBSD
+++ b/src/OS/Makefile-FreeBSD
@@ -15,6 +15,9 @@ HAVE_SA_LEN=YES
# crypt() is in a separate library
LIBS=-lcrypt -lm -lutil
+# Dynamicly loaded modules need to be built with -fPIC
+CFLAGS_DYNAMIC=-shared -rdynamic -fPIC
+
# FreeBSD always ships with Berkeley DB
USE_DB=yes
diff --git a/src/OS/Makefile-Linux b/src/OS/Makefile-Linux
index cc8dce728..4fe2436a6 100644
--- a/src/OS/Makefile-Linux
+++ b/src/OS/Makefile-Linux
@@ -11,6 +11,7 @@ CHGRP_COMMAND=look_for_it
CHMOD_COMMAND=look_for_it
CFLAGS=-O -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+CFLAGS_DYNAMIC=-shared -rdynamic
DBMLIB = -ldb
USE_DB = yes