summaryrefslogtreecommitdiffstats
path: root/unix/tcl.m4
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2010-01-03 21:17:05 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2010-01-03 21:17:05 (GMT)
commitaa082ecccafb9ae007471b3dd85caaa03f5a7f05 (patch)
tree9ba31fd2e3433f0d06aa4638367363e8e4267fa2 /unix/tcl.m4
parent0b28413e2a45ca7e7b0fc35a015b7ef8af931826 (diff)
downloadtcl-aa082ecccafb9ae007471b3dd85caaa03f5a7f05.zip
tcl-aa082ecccafb9ae007471b3dd85caaa03f5a7f05.tar.gz
tcl-aa082ecccafb9ae007471b3dd85caaa03f5a7f05.tar.bz2
[Bug 1636685]: Use the configuration for modern FreeBSD suggested by the
FreeBSD porter.
Diffstat (limited to 'unix/tcl.m4')
-rw-r--r--unix/tcl.m426
1 files changed, 25 insertions, 1 deletions
diff --git a/unix/tcl.m4 b/unix/tcl.m4
index 5d64a76..6c745d4 100644
--- a/unix/tcl.m4
+++ b/unix/tcl.m4
@@ -1559,7 +1559,7 @@ dnl AC_CHECK_TOOL(AR, ar)
UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
TCL_LIB_VERSIONS_OK=nodots
;;
- NetBSD-*|FreeBSD-*)
+ NetBSD-*|FreeBSD-[[3-4]].*)
# FreeBSD 3.* and greater have ELF.
# NetBSD 2.* has ELF and can use 'cc -shared' to build shared libs
SHLIB_CFLAGS="-fPIC"
@@ -1587,6 +1587,30 @@ dnl AC_CHECK_TOOL(AR, ar)
;;
esac
;;
+ FreeBSD-*)
+ # This configuration from FreeBSD Ports.
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LD="${CC} -shared"
+ TCL_SHLIB_LD_EXTRAS="-soname \$@"
+ SHLIB_LD_LIBS='${LIBS}'
+ SHLIB_SUFFIX=".so"
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS=""
+ LDFLAGS=""
+ AS_IF([test $doRpath = yes], [
+ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
+ AS_IF([test "${TCL_THREADS}" = "1"], [
+ # The -pthread needs to go in the LDFLAGS, not LIBS
+ LIBS=`echo $LIBS | sed s/-pthread//`
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ LDFLAGS="$LDFLAGS $PTHREAD_LIBS"])
+ # Version numbers are dot-stripped by system policy.
+ TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .`
+ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
+ TCL_LIB_VERSIONS_OK=nodots
+ ;;
Darwin-*)
CFLAGS_OPTIMIZE="-Os"
SHLIB_CFLAGS="-fno-common"