summaryrefslogtreecommitdiffstats
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
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.
-rw-r--r--ChangeLog5
-rw-r--r--unix/tcl.m426
2 files changed, 30 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3aeef35..849fca6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-03 Donal K. Fellows <dkf@users.sf.net>
+
+ * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration
+ for modern FreeBSD suggested by the FreeBSD porter.
+
2009-12-30 Donal K. Fellows <dkf@users.sf.net>
* library/safe.tcl (AliasSource): [Bug 2923613]: Make the safer
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"