$NetBSD: patch-af,v 1.2 2006/05/09 18:20:18 joerg Exp $ --- tclconfig/tcl.m4.orig 2004-09-08 01:23:52.000000000 +0000 +++ tclconfig/tcl.m4 @@ -796,6 +796,7 @@ AC_DEFUN(TEA_CONFIG_CFLAGS, [ # (and we have no CC_SEARCH_FLAGS). do64bit_ok=no + TCL_LIB_SPEC_RPATH="" LDFLAGS_ORIG="$LDFLAGS" TCL_EXPORT_FILE_SUFFIX="" UNSHARED_LIB_SUFFIX="" @@ -1152,6 +1153,21 @@ dnl AC_CHECK_TOOL(AR, ar, :) fi LD_LIBRARY_PATH_VAR="SHLIB_PATH" ;; + Interix-3.*) + SHLIB_CFLAGS="" + SHLIB_LD='${TCL_CC} -shared' + SHLIB_LD_LIBS="" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,-E" + CC_SEARCH_FLAGS='-Wl,-R${LIB_RUNTIME_DIR}' + LD_SEARCH_FLAGS='-Wl,-R${LIB_RUNTIME_DIR}' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so', + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + TCL_LIB_SPEC_RPATH="-Wl,-R${exec_prefix}/lib" + TCL_LIB_VERSIONS_OK=nodots + ;; IRIX-4.*) SHLIB_CFLAGS="-G 0" SHLIB_SUFFIX=".a" @@ -1171,6 +1187,9 @@ dnl AC_CHECK_TOOL(AR, ar, :) DL_OBJS="tclLoadDl.o" DL_LIBS="" LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + TCL_LIB_VERSIONS_OK=nodots ;; IRIX-6.*|IRIX64-6.5*) SHLIB_CFLAGS="" @@ -1195,6 +1214,9 @@ dnl AC_CHECK_TOOL(AR, ar, :) esac LDFLAGS="$LDFLAGS -n32" fi + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + TCL_LIB_VERSIONS_OK=nodots ;; IRIX64-6.*) SHLIB_CFLAGS="" @@ -1217,6 +1239,9 @@ dnl AC_CHECK_TOOL(AR, ar, :) LDFLAGS="$LDFLAGS -64" fi fi + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + TCL_LIB_VERSIONS_OK=nodots ;; Linux*) SHLIB_CFLAGS="-fPIC" @@ -1258,6 +1283,9 @@ dnl AC_CHECK_TOOL(AR, ar, :) CFLAGS="$CFLAGS -fno-inline" fi + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + TCL_LIB_VERSIONS_OK=nodots ;; GNU*) SHLIB_CFLAGS="-fPIC" @@ -1301,27 +1329,34 @@ dnl AC_CHECK_TOOL(AR, ar, :) LD_SEARCH_FLAGS="" ;; NetBSD-*|FreeBSD-[[1-2]].*) + if test "X${COMPILER_OPTIMIZATION_BUG}" = "XYES"; then + CFLAGS_OPTIMIZE=-O0 + fi # Not available on all versions: check for include file. AC_CHECK_HEADER(dlfcn.h, [ # NetBSD/SPARC needs -fPIC, -fpic will not do. SHLIB_CFLAGS="-fPIC" - SHLIB_LD="ld -Bshareable -x" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' AC_MSG_CHECKING([for ELF]) AC_EGREP_CPP(yes, [ #ifdef __ELF__ yes #endif - ], + ], [ AC_MSG_RESULT([yes]) - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so', + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + SHLIB_LD='${TCL_CC} -shared -Wl,-x' + LD_SEARCH_FLAGS='-Wl,-R${LIB_RUNTIME_DIR}' + ], [ AC_MSG_RESULT([no]) - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0' - ) + SHLIB_LD="ld -Bshareable -x" + LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}' + TCL_LIB_SPEC_RPATH="-R${exec_prefix}/lib" + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.0.0' + ]) ], [ SHLIB_CFLAGS="" SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r" @@ -1361,7 +1396,7 @@ dnl AC_CHECK_TOOL(AR, ar, :) UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' TCL_LIB_VERSIONS_OK=nodots ;; - FreeBSD-*) + FreeBSD-*|DragonFly-*) # FreeBSD 3.* and greater have ELF. SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" @@ -1377,14 +1412,10 @@ dnl AC_CHECK_TOOL(AR, ar, :) CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" fi - case $system in - FreeBSD-3.*) - # FreeBSD-3 doesn't handle version numbers with dots. - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' - TCL_LIB_VERSIONS_OK=nodots - ;; - esac + + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.0.0' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + TCL_LIB_VERSIONS_OK=nodots ;; Rhapsody-*|Darwin-*) SHLIB_CFLAGS="-fno-common" @@ -1605,6 +1636,9 @@ dnl AC_CHECK_TOOL(AR, ar, :) SHLIB_LD="/usr/ccs/bin/ld -G -z text" LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' fi + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + TCL_LIB_VERSIONS_OK=nodots ;; ULTRIX-4.*) SHLIB_CFLAGS="-G 0" @@ -2982,7 +3016,7 @@ AC_DEFUN(TEA_MAKE_LIB, [ MAKE_STUB_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_STUB_OBJECTS)" else MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(PKG_OBJECTS)" - MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_FLAGS} \${SHLIB_LD_LIBS}" + MAKE_SHARED_LIB="\${SHLIB_LD} -o \${@:C/\.so.*/.la/} \${PKG_OBJECTS:.o=.lo} \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS} -version-info 0:0" MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(PKG_STUB_OBJECTS)" fi @@ -3154,7 +3188,7 @@ AC_DEFUN(TEA_PRIVATE_TCL_HEADERS, [ TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}" else - TCL_TOP_DIR_NATIVE='$(TCL_SRC_DIR)' + TCL_TOP_DIR_NATIVE='$(TCL_HEADER_DIR)' TCL_GENERIC_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/generic' TCL_UNIX_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/unix' TCL_WIN_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/win'