Commit dc97fe4e authored by David Lawrence's avatar David Lawrence

Added configuration tweaks for UnixWare:

	-- set compiler flags, yacc program.
	-- define HAVE_UNIXWARE_SIGWAIT for one arg sigwait semantics.
	-- provide for inclusion of netinet/in6.h for IPv6 support.

Don't bother searching for netinet6/in6.h, just unconditionally declare
it is needed on BSD/OS.
parent ff301f59
191. [func] Patched to compile on UnixWare 7.x. This platform
is not directly supported by the ISC.
190. [cleanup] The DNSSEC tools have been moved to a separate 190. [cleanup] The DNSSEC tools have been moved to a separate
directory dnssec/ and given the following new, directory dnssec/ and given the following new,
more descriptive names: more descriptive names:
......
...@@ -30,6 +30,9 @@ ...@@ -30,6 +30,9 @@
/* define if your system has sigwait() */ /* define if your system has sigwait() */
#undef HAVE_SIGWAIT #undef HAVE_SIGWAIT
/* define if sigwait() is the UnixWare flavor */
#undef HAVE_UNIXWARE_SIGWAIT
/* define on Solaris to get sigwait() to work using pthreads semantics */ /* define on Solaris to get sigwait() to work using pthreads semantics */
#undef _POSIX_PTHREAD_SEMANTICS #undef _POSIX_PTHREAD_SEMANTICS
......
...@@ -45,6 +45,9 @@ ...@@ -45,6 +45,9 @@
/* define if your system has sigwait() */ /* define if your system has sigwait() */
#undef HAVE_SIGWAIT #undef HAVE_SIGWAIT
/* define if sigwait() is the UnixWare flavor */
#undef HAVE_UNIXWARE_SIGWAIT
/* define on Solaris to get sigwait() to work using pthreads semantics */ /* define on Solaris to get sigwait() to work using pthreads semantics */
#undef _POSIX_PTHREAD_SEMANTICS #undef _POSIX_PTHREAD_SEMANTICS
...@@ -76,9 +79,6 @@ extern __inline int __sputaux(int _c, struct __sFILE *_p); ...@@ -76,9 +79,6 @@ extern __inline int __sputaux(int _c, struct __sFILE *_p);
/* Define if you have the <linux/prctl.h> header file. */ /* Define if you have the <linux/prctl.h> header file. */
#undef HAVE_LINUX_PRCTL_H #undef HAVE_LINUX_PRCTL_H
/* Define if you have the <netinet6/in6.h> header file. */
#undef HAVE_NETINET6_IN6_H
/* Define if you have the <sys/sockio.h> header file. */ /* Define if you have the <sys/sockio.h> header file. */
#undef HAVE_SYS_SOCKIO_H #undef HAVE_SYS_SOCKIO_H
......
...@@ -13,7 +13,7 @@ dnl PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ...@@ -13,7 +13,7 @@ dnl PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
dnl ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS dnl ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
dnl SOFTWARE. dnl SOFTWARE.
AC_REVISION($Revision: 1.136 $) AC_REVISION($Revision: 1.137 $)
AC_PREREQ(2.13) AC_PREREQ(2.13)
...@@ -245,10 +245,7 @@ AC_PROG_YACC ...@@ -245,10 +245,7 @@ AC_PROG_YACC
AC_HEADER_STDC AC_HEADER_STDC
# AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h)
# See the IPv6 section for additional special handling of netinet6/in6.h.
#
AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h netinet6/in6.h)
AC_C_CONST AC_C_CONST
AC_C_INLINE AC_C_INLINE
...@@ -272,7 +269,7 @@ AC_CHECK_LIB(c, sigwait, ...@@ -272,7 +269,7 @@ AC_CHECK_LIB(c, sigwait,
) )
# #
# Additional OS-specific issues related to pthreads. # Additional OS-specific issues related to pthreads and sigwait.
# #
case "$host" in case "$host" in
# #
...@@ -300,6 +297,12 @@ case "$host" in ...@@ -300,6 +297,12 @@ case "$host" in
*-solaris*) *-solaris*)
AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
;; ;;
#
# UnixWare does things its own way.
#
*-UnixWare*)
AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
;;
esac esac
# #
...@@ -366,6 +369,11 @@ else ...@@ -366,6 +369,11 @@ else
*-ibm-aix*) *-ibm-aix*)
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE" STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
;; ;;
*-UnixWare*)
CC="$CC -Kthread -w"
MKDEPCC="$CC"
YACC="yacc" # bison calls alloca, avoid on UnixWare
;;
esac esac
fi fi
AC_SUBST(MKDEPCC) AC_SUBST(MKDEPCC)
...@@ -645,21 +653,37 @@ esac ...@@ -645,21 +653,37 @@ esac
# This is done before the in6_pktinfo check because that's what # This is done before the in6_pktinfo check because that's what
# netinet6/in6.h is needed for. # netinet6/in6.h is needed for.
# #
isc_netinet6_hack=""
changequote({, }) changequote({, })
case "$ac_cv_header_netinet6_in6_h+$host" in case "$host" in
yes+*-bsdi4.[01]*) *-bsdi4.[01]*)
ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1" ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1"
LWRES_PLATFORM_NEEDNETINET6IN6H="#define LWRES_PLATFORM_NEEDNETINET6IN6H 1" LWRES_PLATFORM_NEEDNETINET6IN6H="#define LWRES_PLATFORM_NEEDNETINET6IN6H 1"
isc_netinet6_hack="#include <netinet6/in6.h>" isc_netinet6in6_hack="#include <netinet6/in6.h>"
;; ;;
*) *)
ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H" ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H"
LWRES_PLATFORM_NEEDNETINET6IN6H="#undef LWRES_PLATFORM_NEEDNETINET6IN6H" LWRES_PLATFORM_NEEDNETINET6IN6H="#undef LWRES_PLATFORM_NEEDNETINET6IN6H"
isc_netinet6in6_hack=""
;; ;;
esac esac
changequote([, ]) changequote([, ])
#
# This is similar to the netinet6/in6.h issue.
#
case "$host" in
*-UnixWare*)
ISC_PLATFORM_NEEDNETINETIN6H="#define ISC_PLATFORM_NEEDNETINETIN6H 1"
LWRES_PLATFORM_NEEDNETINETIN6H="#define LWRES_PLATFORM_NEEDNETINETIN6H 1"
isc_netinetin6_hack="#include <netinet/in6.h>"
;;
*)
ISC_PLATFORM_NEEDNETINETIN6H="#undef ISC_PLATFORM_NEEDNETINETIN6H"
LWRES_PLATFORM_NEEDNETINETIN6H="#undef LWRES_PLATFORM_NEEDNETINETIN6H"
isc_netinetin6_hack=""
;;
esac
# #
# Now delve deeper into the suitability of the IPv6 support. # Now delve deeper into the suitability of the IPv6 support.
# #
...@@ -671,7 +695,8 @@ case "$found_ipv6" in ...@@ -671,7 +695,8 @@ case "$found_ipv6" in
AC_TRY_LINK([ AC_TRY_LINK([
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h>], #include <netinet/in.h>
$isc_netinetin6_hack],
[struct in6_addr in6; in6 = in6addr_any; return (0);], [struct in6_addr in6; in6 = in6addr_any; return (0);],
[AC_MSG_RESULT(yes) [AC_MSG_RESULT(yes)
ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"], ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"],
...@@ -682,7 +707,8 @@ case "$found_ipv6" in ...@@ -682,7 +707,8 @@ case "$found_ipv6" in
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>
$isc_netinet6_hack $isc_netinetin6_hack
$isc_netinet6in6_hack
], ],
[struct in6_pktinfo xyzzy; return (0);], [struct in6_pktinfo xyzzy; return (0);],
[AC_MSG_RESULT(yes) [AC_MSG_RESULT(yes)
...@@ -704,6 +730,8 @@ esac ...@@ -704,6 +730,8 @@ esac
AC_SUBST(ISC_PLATFORM_HAVEIPV6) AC_SUBST(ISC_PLATFORM_HAVEIPV6)
AC_SUBST(LWRES_PLATFORM_HAVEIPV6) AC_SUBST(LWRES_PLATFORM_HAVEIPV6)
AC_SUBST(ISC_PLATFORM_NEEDNETINETIN6H)
AC_SUBST(LWRES_PLATFORM_NEEDNETINETIN6H)
AC_SUBST(ISC_PLATFORM_NEEDNETINET6IN6H) AC_SUBST(ISC_PLATFORM_NEEDNETINET6IN6H)
AC_SUBST(LWRES_PLATFORM_NEEDNETINET6IN6H) AC_SUBST(LWRES_PLATFORM_NEEDNETINET6IN6H)
AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY) AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment