$NetBSD: patch-ab,v 1.27 2024/06/18 12:49:22 markd Exp $

Port the configure script to C99.  Add missing header files, avoid
calling the undeclared exit function, and add missing return types
main.  This improves compatibility with compilers which do not accept
language features that were removed from C99.

--- dist/configure.orig	2010-04-12 20:25:23.000000000 +0000
+++ dist/configure
@@ -4523,11 +4523,12 @@ bsdi3*)	CC=${CC-"shlicc2"}
 	LIBSO_LIBS="$LIBSO_LIBS -lipc";;
 cygwin*)
 	CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE -D_REENTRANT";;
-freebsd*)
+freebsd*|dragonfly*)
 	CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
 	LDFLAGS="$LDFLAGS -pthread";;
 gnu*|k*bsd*-gnu|linux*)
 	CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE -D_REENTRANT";;
+haiku*)	LIBSO_LIBS="$LIBSO_LIBS -lnetwork";;
 hpux*)	CPPFLAGS="$CPPFLAGS -D_REENTRANT";;
 irix*)	optimize_debug="-O2"
 	CPPFLAGS="$CPPFLAGS -D_SGI_MP_SOURCE";;
@@ -6282,7 +6283,7 @@ fi
 # we're using.
 case "$host_os" in
 sysv5UnixWare*|sysv5OpenUNIX8*)
-	if test "$GCC" == "yes"; then
+	if test "$GCC" = "yes"; then
 		CPPFLAGS="$CPPFLAGS -pthread"
 		LDFLAGS="$LDFLAGS -pthread"
 	else
@@ -7343,6 +7344,10 @@ gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
   case $host_cpu in
@@ -10131,6 +10136,12 @@ $as_echo_n "checking for $compiler optio
       lt_prog_compiler_pic='-fno-common'
       ;;
 
+    haiku*)
+      # PIC is the default for Haiku
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
+
     hpux*)
       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
@@ -11202,7 +11213,7 @@ if test -z "$aix_libpath"; then aix_libp
       hardcode_shlibpath_var=no
       ;;
 
-    freebsd1*)
+    freebsd1|freebsd1.*)
       ld_shlibs=no
       ;;
 
@@ -11977,6 +11988,19 @@ beos*)
   shlibpath_var=LIBRARY_PATH
   ;;
 
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libame}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/system/lib'
+  hardcode_into_libs=yes
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
 bsdi[45]*)
   version_type=linux
   need_version=no
@@ -12077,7 +12101,7 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
+freebsd1|freebsd1.*)
   dynamic_linker=no
   ;;
 
@@ -12088,7 +12112,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[123].freebsd[123].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -13772,7 +13796,7 @@ if test -z "$aix_libpath"; then aix_libp
         esac
         ;;
 
-      freebsd[12]*)
+      freebsd[12]|freebsd[12].*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         ld_shlibs_CXX=no
@@ -14666,6 +14690,11 @@ $as_echo_n "checking for $compiler optio
       # Common symbols not allowed in MH_DYLIB files
       lt_prog_compiler_pic_CXX='-fno-common'
       ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
     *djgpp*)
       # DJGPP does not support shared libraries at all
       lt_prog_compiler_pic_CXX=
@@ -15530,7 +15559,7 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
+freebsd1|freebsd1.*)
   dynamic_linker=no
   ;;
 
@@ -15541,7 +15570,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[123]|freebsd[123].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -15588,6 +15617,19 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libame}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/system/lib'
+  hardcode_into_libs=yes
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
 hpux9* | hpux10* | hpux11*)
   # Give a soname corresponding to the major version so that dld.sl refuses to
   # link against other versions.
@@ -16161,7 +16203,7 @@ LIBTOOL="./libtool"
 INSTALLER="\$(LIBTOOL) --mode=install cp -p"
 
 MAKEFILE_CC="\$(LIBTOOL) --mode=compile ${MAKEFILE_CC}"
-MAKEFILE_SOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK} -avoid-version"
+MAKEFILE_SOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK}"
 MAKEFILE_CCLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK}"
 MAKEFILE_CXX="\$(LIBTOOL) --mode=compile ${MAKEFILE_CXX}"
 MAKEFILE_XSOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK} -avoid-version"
@@ -16890,7 +16932,7 @@ if test "$_JTOPDIR" != "/usr"; then
 	aix*)		_JNI_INC_SUBDIRS="aix";;
 	bsdi*)		_JNI_INC_SUBDIRS="bsdos";;
 	cygwin*)	_JNI_INC_SUBDIRS="win32";;
-	freebsd*)	_JNI_INC_SUBDIRS="freebsd";;
+	freebsd*|dragonfly*)	_JNI_INC_SUBDIRS="freebsd";;
 	hp*)		_JNI_INC_SUBDIRS="hp-ux";;
 	linux*)		_JNI_INC_SUBDIRS="linux genunix";;
 	osf*)		_JNI_INC_SUBDIRS="alpha";;
@@ -18755,6 +18797,7 @@ if test "$cross_compiling" = yes; then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
 int
 main ()
@@ -18791,8 +18834,9 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
-main() {
+int main() {
 	pthread_cond_t cond;
 	pthread_mutex_t mutex;
 	pthread_condattr_t condattr;
@@ -18827,6 +18871,7 @@ if test "$cross_compiling" = yes; then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
 int
 main ()
@@ -18863,8 +18908,9 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
-main() {
+int main() {
 	pthread_cond_t cond;
 	pthread_mutex_t mutex;
 	pthread_condattr_t condattr;
@@ -18898,6 +18944,7 @@ if test "$cross_compiling" = yes; then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
 int
 main ()
@@ -18932,8 +18979,9 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
-main() {
+int main() {
 	pthread_cond_t cond;
 	pthread_mutex_t mutex;
 	pthread_condattr_t condattr;
@@ -18966,6 +19014,7 @@ if test "$cross_compiling" = yes; then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
 int
 main ()
@@ -19000,8 +19049,9 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 #include <pthread.h>
-main() {
+int main() {
 	pthread_cond_t cond;
 	pthread_mutex_t mutex;
 	pthread_condattr_t condattr;
@@ -19037,6 +19087,7 @@ fi
 	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 	#include <synch.h>
 int
 main ()
@@ -19067,6 +19118,7 @@ rm -f core conftest.err conftest.$ac_obj
 	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 	#include <thread.h>
 	#include <synch.h>
 int
@@ -19097,6 +19149,7 @@ rm -f core conftest.err conftest.$ac_obj
 	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdlib.h>
 	#include <thread.h>
 	#include <synch.h>
 int
@@ -19141,7 +19194,7 @@ main ()
 {
 
 	#if (defined(i386) || defined(__i386__)) && defined(__GNUC__)
-		exit(0);
+		return 0;
 	#else
 		FAIL TO COMPILE/LINK
 	#endif
@@ -19164,7 +19217,7 @@ main ()
 {
 
 	#if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)
-		exit(0);
+		return 0;
 	#else
 		FAIL TO COMPILE/LINK
 	#endif
@@ -19216,7 +19269,7 @@ main ()
 
 	#if defined(__sparc__) && defined(__GNUC__)
 		asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore");
-		exit(0);
+		return 0;
 	#else
 		FAIL TO COMPILE/LINK
 	#endif
@@ -19287,7 +19340,7 @@ main ()
 	msem_init(&x, 0);
 	msem_lock(&x, 0);
 	msem_unlock(&x, 0);
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19319,7 +19372,7 @@ main ()
 	msem_init(&x, 0);
 	msem_lock(&x, 0);
 	msem_unlock(&x, 0);
-	exit(0);
+	return 0;
 
   ;
   return 0;
@@ -19371,7 +19424,7 @@ main ()
 {
 
 #if defined(__USLC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19502,7 +19555,7 @@ main ()
 {
 
 #if defined(__alpha) && defined(__DECC)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19527,7 +19580,7 @@ main ()
 {
 
 #if defined(__alpha) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19552,7 +19605,7 @@ main ()
 {
 
 #if defined(__arm__) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19567,6 +19620,31 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
+# AARCH64/gcc: Linux
+if test "$db_cv_mutex" = no; then
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+#if defined(__aarch64__) && defined(__GNUC__)
+	return 0;
+#else
+	FAIL TO COMPILE/LINK
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  db_cv_mutex=AARCH64/gcc-assembly
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
 # MIPS/gcc: Linux
 if test "$db_cv_mutex" = no; then
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -19577,7 +19655,7 @@ main ()
 {
 
 #if (defined(__mips) || defined(__mips__)) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19602,7 +19680,7 @@ main ()
 {
 
 #if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19627,7 +19705,7 @@ main ()
 {
 
 #if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19652,7 +19730,7 @@ main ()
 {
 
 #if (defined(mc68020) || defined(sun3)) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19677,7 +19755,7 @@ main ()
 {
 
 #if defined(__MVS__) && defined(__IBMC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19702,7 +19780,7 @@ main ()
 {
 
 #if defined(__s390__) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19727,7 +19805,7 @@ main ()
 {
 
 #if defined(__ia64) && defined(__GNUC__)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19752,7 +19830,7 @@ main ()
 {
 
 #if defined(_UTS)
-	exit(0);
+	return 0;
 #else
 	FAIL TO COMPILE/LINK
 #endif
@@ -19862,6 +19940,10 @@ ARM/gcc-assembly)	ADDITIONAL_OBJS="mut_t
 			$as_echo "#define HAVE_MUTEX_ARM_GCC_ASSEMBLY 1" >>confdefs.h
 
 			;;
+AARCH64/gcc-assembly)	ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS"
+			$as_echo "#define HAVE_MUTEX_AARCH64_GCC_ASSEMBLY 1" >>confdefs.h
+
+			;;
 HP/msem_init)		ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS"
 			$as_echo "#define HAVE_MUTEX_HPPA_MSEM_INIT 1" >>confdefs.h
 
@@ -20203,9 +20285,9 @@ main ()
 {
 
 	#if ((defined(i386) || defined(__i386__)) && defined(__GNUC__))
-		exit(0);
+		return 0;
 	#elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__))
-		exit(0);
+		return 0;
 	#else
 		FAIL TO COMPILE/LINK
 	#endif
@@ -20720,6 +20802,7 @@ if test "$cross_compiling" = yes; then :
 /* end confdefs.h.  */
 
 #include <sys/time.h>
+#include <time.h>
 int
 main ()
 {
@@ -20743,7 +20826,8 @@ else
 /* end confdefs.h.  */
 
 #include <sys/time.h>
-main() {
+#include <time.h>
+int main() {
 	struct timespec t;
 	return (clock_gettime(CLOCK_MONOTONIC, &t) != 0);
 }
@@ -21600,6 +21684,8 @@ $as_echo_n "checking for 64-bit integral
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#include <stdio.h>
+#include <string.h>
 int
 main ()
 {
@@ -21634,7 +21720,9 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-		main() {
+		#include <stdio.h>
+		#include <string.h>
+		int main() {
 			$db_cv_seq_type l;
 			unsigned $db_cv_seq_type u;
 			char buf[100];
