From 37aa91031830d2fc428331378f089169eb3e6dc2 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Wed, 11 Jul 2001 05:32:55 +0000 Subject: [PATCH] ISC_PLATFORM_USEDECLSPEC hook for Microsoft DLL declaration junk --- configure | 24 ++++++++++++------ configure.in | 9 ++++++- lib/isc/include/isc/platform.h.in | 41 ++++++++++++++++++++++++++++++- 3 files changed, 64 insertions(+), 10 deletions(-) diff --git a/configure b/configure index d17c374371..f33980abef 100755 --- a/configure +++ b/configure @@ -8824,6 +8824,13 @@ fi +# +# Microsoft has their own way of handling shared libraries that requires +# additional qualifiers on extern variables. Unix systems don't need it. +# + +ISC_PLATFORM_USEDECLSPEC="#undef ISC_PLATFORM_USEDECLSPEC" + # # Random remaining OS-specific issues involving compiler warnings. # XXXDCL print messages to indicate some compensation is being done? @@ -8910,7 +8917,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8914: checking for $ac_word" >&5 +echo "configure:8921: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_OPENJADE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8957,7 +8964,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8961: checking for $ac_word" >&5 +echo "configure:8968: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_JADETEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9000,7 +9007,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:9004: checking for $ac_word" >&5 +echo "configure:9011: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PDFJADETEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9055,7 +9062,7 @@ test -n "$PDFJADETEX" || PDFJADETEX="pdfjadetex" echo $ac_n "checking for catalog""... $ac_c" 1>&6 -echo "configure:9059: checking for catalog" >&5 +echo "configure:9066: checking for catalog" >&5 for d in $sgmltrees do f=$d/catalog @@ -9096,7 +9103,7 @@ do done echo $ac_n "checking for html/docbook.dsl""... $ac_c" 1>&6 -echo "configure:9100: checking for html/docbook.dsl" >&5 +echo "configure:9107: checking for html/docbook.dsl" >&5 for d in $stylepath do f=$d/html/docbook.dsl @@ -9116,7 +9123,7 @@ fi echo $ac_n "checking for print/docbook.dsl""... $ac_c" 1>&6 -echo "configure:9120: checking for print/docbook.dsl" >&5 +echo "configure:9127: checking for print/docbook.dsl" >&5 for d in $stylepath do f=$d/print/docbook.dsl @@ -9141,7 +9148,7 @@ fi echo $ac_n "checking for docbook/dsssl/modular/dtds/decls/xml.dcl""... $ac_c" 1>&6 -echo "configure:9145: checking for docbook/dsssl/modular/dtds/decls/xml.dcl" >&5 +echo "configure:9152: checking for docbook/dsssl/modular/dtds/decls/xml.dcl" >&5 for d in $sgmltrees do f=$d/docbook/dsssl/modular/dtds/decls/xml.dcl @@ -9166,7 +9173,7 @@ fi echo $ac_n "checking for docbook2X/docbook2man-spec.pl""... $ac_c" 1>&6 -echo "configure:9170: checking for docbook2X/docbook2man-spec.pl" >&5 +echo "configure:9177: checking for docbook2X/docbook2man-spec.pl" >&5 for d in $sgmltrees do f=$d/docbook2X/docbook2man-spec.pl @@ -9541,6 +9548,7 @@ s%@ISC_EXTRA_OBJS@%$ISC_EXTRA_OBJS%g s%@ISC_EXTRA_SRCS@%$ISC_EXTRA_SRCS%g s%@ISC_PLATFORM_QUADFORMAT@%$ISC_PLATFORM_QUADFORMAT%g s%@ISC_PLATFORM_RLIMITTYPE@%$ISC_PLATFORM_RLIMITTYPE%g +s%@ISC_PLATFORM_USEDECLSPEC@%$ISC_PLATFORM_USEDECLSPEC%g s%@ISC_PLATFORM_BRACEPTHREADONCEINIT@%$ISC_PLATFORM_BRACEPTHREADONCEINIT%g s%@OPENJADE@%$OPENJADE%g s%@JADETEX@%$JADETEX%g diff --git a/configure.in b/configure.in index 4ff1c158fd..64f8812cf0 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl esyscmd([sed "s/^/# /" COPYRIGHT])dnl AC_DIVERT_POP()dnl -AC_REVISION($Revision: 1.269 $) +AC_REVISION($Revision: 1.270 $) AC_INIT(lib/dns/name.c) AC_PREREQ(2.13) @@ -1360,6 +1360,13 @@ ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long long int"], ],[]) AC_SUBST(ISC_PLATFORM_RLIMITTYPE) +# +# Microsoft has their own way of handling shared libraries that requires +# additional qualifiers on extern variables. Unix systems don't need it. +# +AC_SUBST(ISC_PLATFORM_USEDECLSPEC) +ISC_PLATFORM_USEDECLSPEC="#undef ISC_PLATFORM_USEDECLSPEC" + # # Random remaining OS-specific issues involving compiler warnings. # XXXDCL print messages to indicate some compensation is being done? diff --git a/lib/isc/include/isc/platform.h.in b/lib/isc/include/isc/platform.h.in index 7cedaa5a17..a13cfc2a8f 100644 --- a/lib/isc/include/isc/platform.h.in +++ b/lib/isc/include/isc/platform.h.in @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: platform.h.in,v 1.22 2001/02/27 02:19:34 gson Exp $ */ +/* $Id: platform.h.in,v 1.23 2001/07/11 05:32:44 tale Exp $ */ #ifndef ISC_PLATFORM_H #define ISC_PLATFORM_H 1 @@ -147,6 +147,45 @@ */ @ISC_PLATFORM_HAVELONGLONG@ +/* + * Used to control how extern data is linked; needed for Win32 platforms. + */ +@ISC_PLATFORM_USEDECLSPEC@ + +#ifndef ISC_PLATFORM_USEDECLSPEC +#define LIBISC_EXTERNAL_DATA +#define LIBDNS_EXTERNAL_DATA +#define LIBISCCC_EXTERNAL_DATA +#define LIBISCCFG_EXTERNAL_DATA +#define LIBLWRES_EXTERNAL_DATA +#else /* ISC_PLATFORM_USEDECLSPEC */ +#ifdef LIBISC_EXPORTS +#define LIBISC_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISC_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBDNS_EXPORTS +#define LIBDNS_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBDNS_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBISCCC_EXPORTS +#define LIBISCCC_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISCCC_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBISCCFG_EXPORTS +#define LIBISCCFG_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISCCFG_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBLWRES_EXPORTS +#define LIBLWRES_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBLWRES_EXTERNAL_DATA __declspec(dllimport) +#endif +#endif /* ISC_PLATFORM_USEDECLSPEC */ + /* * Tell emacs to use C mode for this file. *