summaryrefslogtreecommitdiff
path: root/lang/tcl/patches
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2001-05-24 02:58:15 +0000
committerjlam <jlam@pkgsrc.org>2001-05-24 02:58:15 +0000
commit18fc23567b080026a9fe0aed328c1e70025802b2 (patch)
tree495393ace765a7734b3aaeaf29ee8f22ac6f3075 /lang/tcl/patches
parent5a8f2e47e0123e36da4c8a09b771eff66585e8a9 (diff)
downloadpkgsrc-18fc23567b080026a9fe0aed328c1e70025802b2.tar.gz
Fix the installed tclConfig.sh so it's possible to use its values to generate
a shared library that depends on libtcl83.so. The TCL_SHLIB_LD command was set to the incorrect value for ELF platforms, relying on "ld" which doesn't understand the -Wl,... options it receives via ${TCL_LIB_SPEC}. Patch the configure script to set TCL_SHLIB_LD to the proper value on NetBSD systems depending on whether they are ELF or a.out, and also modify TCL_LIB_SPEC to include -Wl,-rpath,... or -R... accordingly. Bump version number to 8.3.2nb2.
Diffstat (limited to 'lang/tcl/patches')
-rw-r--r--lang/tcl/patches/patch-ab108
-rw-r--r--lang/tcl/patches/patch-ae43
-rw-r--r--lang/tcl/patches/patch-af47
3 files changed, 174 insertions, 24 deletions
diff --git a/lang/tcl/patches/patch-ab b/lang/tcl/patches/patch-ab
index 99cf94ab5ff..1e9505a729e 100644
--- a/lang/tcl/patches/patch-ab
+++ b/lang/tcl/patches/patch-ab
@@ -1,17 +1,68 @@
-$NetBSD: patch-ab,v 1.7 2001/01/24 20:13:40 wiz Exp $
+$NetBSD: patch-ab,v 1.8 2001/05/24 02:58:16 jlam Exp $
---- configure.orig Tue Aug 8 21:17:11 2000
-+++ configure Wed Jan 24 21:08:05 2001
-@@ -4773,7 +4773,7 @@
- ECHO_VERSION='`echo ${VERSION}`'
- TCL_LIB_VERSIONS_OK=ok
- CFLAGS_DEBUG=-g
-- CFLAGS_OPTIMIZE=-O
-+ CFLAGS_OPTIMIZE=
- if test "$using_gcc" = "yes" ; then
- CFLAGS_WARNING="-Wall -Wconversion -Wno-implicit-int"
- else
-@@ -5789,7 +5789,7 @@
+--- configure.orig Tue Aug 8 15:17:11 2000
++++ configure
+@@ -4766,6 +4766,7 @@
+
+ do64bit_ok=no
+ fullSrcDir=`cd $srcdir; pwd`
++ TCL_LIB_SPEC_RPATH=""
+ EXTRA_CFLAGS=""
+ TCL_EXPORT_FILE_SUFFIX=""
+ UNSHARED_LIB_SUFFIX=""
+@@ -5065,17 +5066,15 @@
+
+ # 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=""
+ LDFLAGS=""
+- LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ echo $ac_n "checking for ELF""... $ac_c" 1>&6
+-echo "configure:5077: checking for ELF" >&5
++echo "configure:5076: checking for ELF" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 5079 "configure"
++#line 5078 "configure"
+ #include "confdefs.h"
+
+ #ifdef __ELF__
+@@ -5086,11 +5085,20 @@
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "yes" >/dev/null 2>&1; then
+ rm -rf conftest*
+- echo "$ac_t""yes" 1>&6
++
++ echo "$ac_t""yes" 1>&6
++ SHLIB_LD='${TCL_CC} -shared -Wl,-x'
++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
++ TCL_LIB_SPEC_RPATH='-Wl,-rpath,${exec_prefix}/lib'
+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++
+ else
+ rm -rf conftest*
+- echo "$ac_t""no" 1>&6
++
++ echo "$ac_t""no" 1>&6
++ 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.1.0'
+
+ fi
+@@ -5752,7 +5760,7 @@
+
+
+ echo $ac_n "checking how to build libraries""... $ac_c" 1>&6
+-echo "configure:5756: checking how to build libraries" >&5
++echo "configure:5764: checking how to build libraries" >&5
+ # Check whether --enable-shared or --disable-shared was given.
+ if test "${enable_shared+set}" = set; then
+ enableval="$enable_shared"
+@@ -5789,7 +5797,7 @@
if test "x$DL_OBJS" = "xtclLoadAout.o"; then
MAKE_LIB="ar cr \${TCL_LIB_FILE} \${OBJS}"
else
@@ -20,33 +71,42 @@ $NetBSD: patch-ab,v 1.7 2001/01/24 20:13:40 wiz Exp $
RANLIB=":"
fi
else
-@@ -5829,7 +5829,7 @@
+@@ -5829,7 +5837,7 @@
TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}"
fi
TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}"
- TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}"
-+ TCL_LIB_SPEC="-L${exec_prefix}/lib -Wl,-R${exec_prefix}/lib ${TCL_LIB_FLAG}"
++ TCL_LIB_SPEC="${TCL_LIB_SPEC_RPATH} -L${exec_prefix}/lib ${TCL_LIB_FLAG}"
else
TCL_BUILD_EXP_FILE="lib.exp"
eval "TCL_EXP_FILE=libtcl${TCL_EXPORT_FILE_SUFFIX}"
-@@ -5859,9 +5859,9 @@
+@@ -5859,9 +5867,9 @@
#--------------------------------------------------------------------
if test "$prefix" != "$exec_prefix"; then
- TCL_PACKAGE_PATH="${exec_prefix}/lib ${prefix}/lib"
-+ TCL_PACKAGE_PATH="${exec_prefix}/lib/tcl ${prefix}/lib/tcl"
++ TCL_PACKAGE_PATH="${exec_prefix}/lib/tcl ${prefix}/lib"
else
- TCL_PACKAGE_PATH="${prefix}/lib"
+ TCL_PACKAGE_PATH="${prefix}/lib/tcl"
fi
#--------------------------------------------------------------------
-@@ -6097,6 +6097,8 @@
- s%@CFLAGS_DEBUG@%$CFLAGS_DEBUG%g
- s%@CFLAGS_OPTIMIZE@%$CFLAGS_OPTIMIZE%g
- s%@CFLAGS_WARNING@%$CFLAGS_WARNING%g
+@@ -5943,6 +5951,8 @@
+
+
+
++
++
+ trap '' 1 2 15
+ cat > confcache <<\EOF
+ # This file is a shell script that caches the results of configure
+@@ -6106,6 +6116,8 @@
+ s%@TCL_STUB_LIB_PATH@%$TCL_STUB_LIB_PATH%g
+ s%@MAKE_STUB_LIB@%$MAKE_STUB_LIB%g
+ s%@BUILD_DLTEST@%$BUILD_DLTEST%g
+s%@LDFLAGS_DEBUG@%$LDFLAGS_DEBUG%g
+s%@LDFLAGS_OPTIMIZE@%$LDFLAGS_OPTIMIZE%g
- s%@STUB_LIB_FILE@%$STUB_LIB_FILE%g
- s%@TCL_STUB_LIB_FILE@%$TCL_STUB_LIB_FILE%g
- s%@TCL_STUB_LIB_FLAG@%$TCL_STUB_LIB_FLAG%g
+ s%@CFG_TCL_SHARED_LIB_SUFFIX@%$CFG_TCL_SHARED_LIB_SUFFIX%g
+ s%@CFG_TCL_UNSHARED_LIB_SUFFIX@%$CFG_TCL_UNSHARED_LIB_SUFFIX%g
+ s%@CFG_TCL_EXPORT_FILE_SUFFIX@%$CFG_TCL_EXPORT_FILE_SUFFIX%g
diff --git a/lang/tcl/patches/patch-ae b/lang/tcl/patches/patch-ae
new file mode 100644
index 00000000000..07a149310af
--- /dev/null
+++ b/lang/tcl/patches/patch-ae
@@ -0,0 +1,43 @@
+$NetBSD: patch-ae,v 1.1 2001/05/24 02:58:16 jlam Exp $
+
+--- configure.in.orig Tue Aug 8 15:17:11 2000
++++ configure.in
+@@ -440,7 +440,7 @@
+ if test "x$DL_OBJS" = "xtclLoadAout.o"; then
+ MAKE_LIB="ar cr \${TCL_LIB_FILE} \${OBJS}"
+ else
+- MAKE_LIB="\${SHLIB_LD} -o \${TCL_LIB_FILE} \${OBJS} ${SHLIB_LD_LIBS}"
++ MAKE_LIB="\${SHLIB_LD} -o \${TCL_LIB_FILE:C/\.so.*/.la/} \${OBJS:.o=.lo} ${SHLIB_LD_LIBS} -version-info 1:0"
+ RANLIB=":"
+ fi
+ else
+@@ -480,7 +480,7 @@
+ TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}"
+ fi
+ TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}"
+- TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}"
++ TCL_LIB_SPEC="${TCL_LIB_SPEC_RPATH} -L${exec_prefix}/lib ${TCL_LIB_FLAG}"
+ else
+ TCL_BUILD_EXP_FILE="lib.exp"
+ eval "TCL_EXP_FILE=libtcl${TCL_EXPORT_FILE_SUFFIX}"
+@@ -510,9 +510,9 @@
+ #--------------------------------------------------------------------
+
+ if test "$prefix" != "$exec_prefix"; then
+- TCL_PACKAGE_PATH="${exec_prefix}/lib ${prefix}/lib"
++ TCL_PACKAGE_PATH="${exec_prefix}/lib/tcl ${prefix}/lib"
+ else
+- TCL_PACKAGE_PATH="${prefix}/lib"
++ TCL_PACKAGE_PATH="${prefix}/lib/tcl"
+ fi
+
+ #--------------------------------------------------------------------
+@@ -558,6 +558,8 @@
+
+ AC_SUBST(BUILD_DLTEST)
+ AC_SUBST(CFLAGS)
++AC_SUBST(LDFLAGS_DEBUG)
++AC_SUBST(LDFLAGS_OPTIMIZE)
+ AC_SUBST(CFG_TCL_SHARED_LIB_SUFFIX)
+ AC_SUBST(CFG_TCL_UNSHARED_LIB_SUFFIX)
+ AC_SUBST(CFG_TCL_EXPORT_FILE_SUFFIX)
diff --git a/lang/tcl/patches/patch-af b/lang/tcl/patches/patch-af
new file mode 100644
index 00000000000..9c9af8da547
--- /dev/null
+++ b/lang/tcl/patches/patch-af
@@ -0,0 +1,47 @@
+$NetBSD: patch-af,v 1.1 2001/05/24 02:58:16 jlam Exp $
+
+--- tcl.m4.orig Tue Aug 8 15:17:11 2000
++++ tcl.m4
+@@ -595,6 +595,7 @@
+
+ do64bit_ok=no
+ fullSrcDir=`cd $srcdir; pwd`
++ TCL_LIB_SPEC_RPATH=""
+ EXTRA_CFLAGS=""
+ TCL_EXPORT_FILE_SUFFIX=""
+ UNSHARED_LIB_SUFFIX=""
+@@ -794,24 +795,29 @@
+ 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=""
+ LDFLAGS=""
+- 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',
++ SHLIB_LD='${TCL_CC} -shared -Wl,-x'
++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
++ TCL_LIB_SPEC_RPATH='-Wl,-rpath,${exec_prefix}/lib'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ ], [
+ AC_MSG_RESULT(no)
++ 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.1.0'
+- )
++ ])
+ ], [
+ SHLIB_CFLAGS=""
+ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r"