From 30e1b6140e9f6246cb66eef7cf108d1ccf62bd40 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 14 Jul 2005 06:36:19 +0000 Subject: [PATCH] r8450: more configure tests for solaris. It now builds some binaries, but fails in the ejs floating point code. --- source/heimdal_build/config.h | 5 +++++ source/heimdal_build/config.m4 | 6 ++++++ source/heimdal_build/config.mk | 4 ++-- source/heimdal_build/replace.c | 29 +++++++++++++++++++++++++++++ source/lib/replace/replace.h | 12 ++++++++++++ 5 files changed, 54 insertions(+), 2 deletions(-) diff --git a/source/heimdal_build/config.h b/source/heimdal_build/config.h index 02b3705ba10..6bbe9471555 100644 --- a/source/heimdal_build/config.h +++ b/source/heimdal_build/config.h @@ -3,6 +3,9 @@ Samba source tree */ +#ifndef HAVE_HEIMDAL_CONFIG_H +#define HAVE_HEIMDAL_CONFIG_H 1 + /* bring in the samba4 config.h */ #include "include/config.h" @@ -42,3 +45,5 @@ static /**/const char *const rcsid[] = { (const char *)rcsid, "\100(#)" msg } #include #include "lib/replace/replace.h" #endif + +#endif diff --git a/source/heimdal_build/config.m4 b/source/heimdal_build/config.m4 index 90fb7a930d3..342ab6901fa 100644 --- a/source/heimdal_build/config.m4 +++ b/source/heimdal_build/config.m4 @@ -87,6 +87,8 @@ AC_CHECK_FUNCS([ \ hstrerror \ err \ errx \ + warnx \ + flock \ writev ]) @@ -174,6 +176,10 @@ SMB_BINARY_ENABLE(compile_et, NO) AC_PROG_LEX AC_PROG_YACC +AC_CHECK_TYPES(u_int32_t) +AC_CHECK_TYPES(u_int16_t) +AC_CHECK_TYPES(u_int8_t) + # to enable kerberos, unpack a heimdal source tree in the heimdal directory # of the samba source tree if test -d heimdal; then diff --git a/source/heimdal_build/config.mk b/source/heimdal_build/config.mk index 9b1ee96edf9..25abfa9542d 100644 --- a/source/heimdal_build/config.mk +++ b/source/heimdal_build/config.mk @@ -179,7 +179,6 @@ ADD_OBJ_FILES = \ heimdal/lib/asn1/der_length.o \ heimdal/lib/asn1/der_copy.o \ heimdal/lib/asn1/der_cmp.o \ - heimdal/lib/asn1/timegm.o \ heimdal/lib/asn1/asn1_AD_IF_RELEVANT.o \ heimdal/lib/asn1/asn1_APOptions.o \ heimdal/lib/asn1/asn1_AP_REP.o \ @@ -282,7 +281,8 @@ ADD_OBJ_FILES = \ heimdal/lib/roken/strlwr.o \ heimdal/lib/roken/strsep_copy.o \ heimdal/lib/roken/strupr.o \ - heimdal/lib/roken/strpool.o + heimdal/lib/roken/strpool.o \ + heimdal_build/replace.o NOPROTO = YES # End SUBSYSTEM HEIMDAL_ROKEN ####################### diff --git a/source/heimdal_build/replace.c b/source/heimdal_build/replace.c index 0b7e1943f86..46019d7bb52 100644 --- a/source/heimdal_build/replace.c +++ b/source/heimdal_build/replace.c @@ -24,6 +24,7 @@ #include "config.h" #include #include "err.h" +#include "roken.h" #ifndef HAVE_ERR void err(int eval, const char *format, ...) @@ -47,3 +48,31 @@ exit(eval); } #endif + +#ifndef HAVE_WARNX + void warnx(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); +} +#endif + +#ifndef HAVE_FLOCK + int flock(int fd, int op) +{ + switch (op & (LOCK_UN|LOCK_SH|LOCK_EX)) { + case LOCK_UN: + return fcntl_lock(fd, F_SETLK, 0, 0, F_UNLCK); + case LOCK_SH: + return fcntl_lock(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, + 0, 0, F_RDLCK); + case LOCK_EX: + return fcntl_lock(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, + 0, 0, F_WRLCK); + } + errno = EINVAL; + return -1; +} +#endif diff --git a/source/lib/replace/replace.h b/source/lib/replace/replace.h index 89225d3d651..48e46ba18e9 100644 --- a/source/lib/replace/replace.h +++ b/source/lib/replace/replace.h @@ -119,4 +119,16 @@ int asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3); typedef int (*comparison_fn_t)(const void *, const void *); #endif +#ifndef HAVE_U_INT32_T +typedef unsigned u_int32_t; +#endif + +#ifndef HAVE_U_INT16_T +typedef unsigned short u_int16_t; +#endif + +#ifndef HAVE_U_INT8_T +typedef unsigned char u_int8_t; +#endif + #endif