$NetBSD: patch-aa,v 1.6 2016/03/25 21:02:26 joerg Exp $

IF AC_PATH_X fails, also look for /usr/X11R7.
Don't use ld directly, use the compiler.
Additionally, also specify run-path to the X libraries.
Add DragonFly support.

--- tclconfig/tcl.m4.orig	2007-02-21 22:09:05.000000000 +0000
+++ tclconfig/tcl.m4
@@ -1536,13 +1536,13 @@ dnl AC_CHECK_TOOL(AR, ar)
 	NetBSD-*|FreeBSD-[[1-2]].*)
 	    # NetBSD/SPARC needs -fPIC, -fpic will not do.
 	    SHLIB_CFLAGS="-fPIC"
-	    SHLIB_LD="ld -Bshareable -x"
+	    SHLIB_LD="${CC} -shared"
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
 	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
 	    AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [
 		AC_EGREP_CPP(yes, [
 #ifdef __ELF__
@@ -1592,17 +1592,17 @@ dnl AC_CHECK_TOOL(AR, ar)
 	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
 	    TCL_LIB_VERSIONS_OK=nodots
 	    ;;
-	FreeBSD-*)
+	FreeBSD-*|DragonFly-*)
 	    # FreeBSD 3.* and greater have ELF.
 	    SHLIB_CFLAGS="-fPIC"
-	    SHLIB_LD="ld -Bshareable -x"
+	    SHLIB_LD="${CC} -shared"
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
 	    LDFLAGS="$LDFLAGS -export-dynamic"
 	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+	    LD_SEARCH_FLAGS='-Wl,rpath,${LIB_RUNTIME_DIR}'
 	    if test "${TCL_THREADS}" = "1" ; then
 		# The -pthread needs to go in the CFLAGS, not LIBS
 		LIBS=`echo $LIBS | sed s/-pthread//`
@@ -1610,7 +1610,7 @@ dnl AC_CHECK_TOOL(AR, ar)
 	    	LDFLAGS="$LDFLAGS -pthread"
 	    fi
 	    case $system in
-	    FreeBSD-3.*)
+	    *)
 	    	# FreeBSD-3 doesn't handle version numbers with dots.
 	    	UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
 	    	SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so'
@@ -1781,7 +1781,7 @@ dnl AC_CHECK_TOOL(AR, ar)
 	    # QNX RTP
 	    # This may work for all QNX, but it was only reported for v6.
 	    SHLIB_CFLAGS="-fPIC"
-	    SHLIB_LD="ld -Bshareable -x"
+	    SHLIB_LD="${CC} -shared"
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -2313,7 +2313,7 @@ AC_DEFUN([TEA_PATH_UNIX_X], [
 	found_xincludes="no"
 	AC_TRY_CPP([#include <X11/Intrinsic.h>], found_xincludes="yes", found_xincludes="no")
 	if test "$found_xincludes" = "no"; then
-	    dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include"
+	    dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R7/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include /usr/pkg/include"
 	    for i in $dirs ; do
 		if test -r $i/X11/Intrinsic.h; then
 		    AC_MSG_RESULT([$i])
@@ -2336,7 +2336,7 @@ AC_DEFUN([TEA_PATH_UNIX_X], [
     if test "$no_x" = yes; then
 	AC_MSG_CHECKING([for X11 libraries])
 	XLIBSW=nope
-	dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib"
+	dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R7/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib /usr/pkg/lib"
 	for i in $dirs ; do
 	    if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl; then
 		AC_MSG_RESULT([$i])
@@ -2349,7 +2349,7 @@ AC_DEFUN([TEA_PATH_UNIX_X], [
 	if test "$x_libraries" = ""; then
 	    XLIBSW=-lX11
 	else
-	    XLIBSW="-L$x_libraries -lX11"
+	    XLIBSW="-L$x_libraries -Wl,-R,$x_libraries -lX11"
 	fi
     fi
     if test "$XLIBSW" = nope ; then
