$NetBSD: patch-configure,v 1.3 2022/06/19 14:43:28 gdt Exp $

Add support for MirBSD as OpenBSD and DragonFly as FreeBSD.

Upstream has support to use the version with or without dots as the
shlib suffix, conditioned on TCL_LIB_VERSIONS_OK.  This patch forces
that to be the "NODOTS" flavor always.  \todo Explain the plan; this
seems likely to make the build the same on all pkgsrc platforms.

Define PVNODOTS and use it to overwrite SHARED_LIB_SUFFIX and
define UNSHARED_LIB_SUFFIX.  PVNODOTS appears to have the same value as
PACKAGE_VERSION_NO_DOTS, that upstream configure already computes.
\todo Explain why there is a new variable.

Add support for SVR5 and OpenServer 5.  Sent upstream by email
September 2019.

Substitute the already-computed SHLIB_VERSION, for use in Makefile.in.

\todo File changes upstream (but upstream is not functioning).

--- configure.orig	2018-02-04 10:43:58.000000000 +0000
+++ configure
@@ -659,6 +659,7 @@ LD_LIBRARY_PATH_VAR
 SHLIB_CFLAGS
 SHLIB_LD_LIBS
 SHLIB_LD
+SHLIB_VERSION
 STLIB_LD
 CFLAGS_WARNING
 CFLAGS_OPTIMIZE
@@ -6480,7 +6481,7 @@ fi
 		LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
 fi
 	    ;;
-	OpenBSD-*)
+	OpenBSD-*|MirBSD-*)
 	    SHLIB_CFLAGS="-fPIC"
 	    SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
 	    SHLIB_SUFFIX=".so"
@@ -6563,11 +6564,11 @@ fi
 		;;
 	    esac
 	    ;;
-	FreeBSD-*)
+	FreeBSD-*|DragonFly-*)
 	    # This configuration from FreeBSD Ports.
 	    SHLIB_CFLAGS="-fPIC"
 	    SHLIB_LD="${CC} -shared"
-	    TCL_SHLIB_LD_EXTRAS="-soname \$@"
+	    TCL_SHLIB_LD_EXTRAS="-Wl,-soname \$@"
 	    SHLIB_SUFFIX=".so"
 	    LDFLAGS=""
 	    if test $doRpath = yes; then :
@@ -6941,6 +6942,54 @@ fi
 	    LD_SEARCH_FLAGS=""
 	    ;;
 	SCO_SV-3.2*)
+            # SCO UNIX/OpenServer 5 gcc use -melf for full feature ELF binanaries.
+	    # gcc is use to link there is no gnu ld.
+	    # native compiler uses ld which comes with OS
+if test "$GCC" = yes; then :
+ 
+                SHLIB_CFLAGS="-fPIC -melf"
+                LDFLAGS="$LDFLAGS -melf -Wl,-Bexport"
+                SHLIB_LD="gcc"
+else
+ 
+               SHLIB_CFLAGS="-Kpic -belf"
+               LDFLAGS="$LDFLAGS -belf -Wl,-Bexport"
+               SHLIB_LD="ld -G"
+fi
+            SHLIB_LD_LIBS=""
+            SHLIB_SUFFIX=".so"
+            CC_SEARCH_FLAGS=""
+            LD_SEARCH_FLAGS=""
+            ;;
+        UnixWare-5*|SCO_SV-5*)
+            # UnixWare gcc uses -pthread Native compiler use -Kpthread
+            # -Kthread will define _REENTRANT
+if test "$GCC" = yes; then :
+                SHLIB_CFLAGS="-fPIC"
+                SHLIB_LD='${CC} ${CFLAGS} -shared'
+else
+                SHLIB_CFLAGS="-KPIC"
+                SHLIB_LD="${CC} ${CFLAGS} -G -z text"
+fi
+            SHLIB_LD_LIBS="-lsocket -lnsl -lz"
+            SHLIB_SUFFIX=".so"
+            CC_SEARCH_FLAGS=""
+            LD_SEARCH_FLAGS=""
+if test "${TCL_THREADS}" = "1"; then :
+                 # The -lpthread needs to go in the CFLAGS, not LIBS
+                 LIBS=`echo $LIBS | sed s/-lpthread//`
+    if test "$GCC" = yes; then :
+                 CFLAGS="$CFLAGS -pthread"
+                 LDFLAGS="$LDFLAGS -pthread"
+    else
+                 CFLAGS="$CFLAGS -Kpthread"
+                 LDFLAGS="$LDFLAGS -Kpthread"
+    fi
+fi
+	    ;;
+ 	SunOS-5.[0-6])
+ 	    # Careful to not let 5.10+ fall into this case
+ 
 	    if test "$GCC" = yes; then :
 
 		SHLIB_CFLAGS="-fPIC -melf"
@@ -7150,7 +7199,7 @@ fi
 	    BSD/OS*) ;;
 	    CYGWIN_*) ;;
 	    IRIX*) ;;
-	    NetBSD-*|FreeBSD-*|OpenBSD-*) ;;
+	    NetBSD-*|FreeBSD-*|OpenBSD-*|DragonFly-*|MirBSD-*) ;;
 	    Darwin-*) ;;
 	    SCO_SV-3.2*) ;;
 	    windows) ;;
@@ -9596,15 +9645,7 @@ fi
 #   up the Tcl library.
 
 PACKAGE_VERSION_NODOTS="`echo $PACKAGE_VERSION | sed -e 's/\.//g'`"
-
-if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
-    EXP_LIB_VERSION=$PACKAGE_VERSION
-else
     EXP_LIB_VERSION=$PACKAGE_VERSION_NODOTS
-fi
-if test $iunix -eq 1 ; then
-    EXP_LIB_VERSION=$PACKAGE_VERSION_NODOTS
-fi
 
 # also remove dots on systems that don't support filenames > 14
 # (are there systems which support shared libs and restrict filename lengths!?)
@@ -9659,11 +9700,7 @@ if test "$FRAMEWORK_BUILD" = "1" ; then
     $as_echo "#define EXP_FRAMEWORK 1" >>confdefs.h
 
 else
-    if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
-        EXP_LIB_FLAG="-lexpect${EXP_LIB_VERSION}"
-    else
-        EXP_LIB_FLAG="-lexpect`echo ${EXP_LIB_VERSION} | tr -d .`"
-    fi
+    EXP_LIB_FLAG="-lexpect`echo ${EXP_LIB_VERSION} | tr -d .`"
     EXP_BUILD_LIB_SPEC="-L`pwd` ${EXP_LIB_FLAG}"
     EXP_LIB_SPEC="-L${libdir} ${EXP_LIB_FLAG}"
 fi
@@ -9965,6 +10002,9 @@ rm -f conftest*
     # substituted. (@@@ Might not be necessary anymore)
     #--------------------------------------------------------------------
 
+    PVNODOTS=`echo ${PACKAGE_VERSION} | tr -d .`
+    SHARED_LIB_SUFFIX=${PVNODOTS}.so
+    UNSHARED_LIB_SUFFIX=${PVNODOTS}.a
     if test "${TEA_PLATFORM}" = "windows" ; then
 	if test "${SHARED_BUILD}" = "1" ; then
 	    # We force the unresolved linking of symbols that are really in
