summaryrefslogtreecommitdiff
path: root/lang/tcl
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
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')
-rw-r--r--lang/tcl/Makefile4
-rw-r--r--lang/tcl/distinfo6
-rw-r--r--lang/tcl/patches/patch-ab108
-rw-r--r--lang/tcl/patches/patch-ae43
-rw-r--r--lang/tcl/patches/patch-af47
5 files changed, 180 insertions, 28 deletions
diff --git a/lang/tcl/Makefile b/lang/tcl/Makefile
index 7772f700901..93f8e30e6f4 100644
--- a/lang/tcl/Makefile
+++ b/lang/tcl/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.7 2001/02/25 04:17:56 hubertf Exp $
+# $NetBSD: Makefile,v 1.8 2001/05/24 02:58:15 jlam Exp $
#
DISTNAME= tcl8.3.2
-PKGNAME= tcl-8.3.2nb1
+PKGNAME= tcl-8.3.2nb2
CATEGORIES= lang
MASTER_SITES= ftp://ftp.scriptics.com/pub/tcl/tcl8_3/ \
ftp://gd.tuwien.ac.at/languages/tcl/scriptics/tcl8_3/ \
diff --git a/lang/tcl/distinfo b/lang/tcl/distinfo
index b42c3d7a75c..a7325361a0e 100644
--- a/lang/tcl/distinfo
+++ b/lang/tcl/distinfo
@@ -1,8 +1,10 @@
-$NetBSD: distinfo,v 1.2 2001/04/19 15:00:59 agc Exp $
+$NetBSD: distinfo,v 1.3 2001/05/24 02:58:15 jlam Exp $
SHA1 (tcl8.3.2.tar.gz) = be2701bca3f4fd9c49ef3e2e8932f8b0a10d28fa
Size (tcl8.3.2.tar.gz) = 2594407 bytes
SHA1 (patch-aa) = d0ca1287d6d4416da4bad69525285ccd785b553f
-SHA1 (patch-ab) = 069b45b4013c308daa67cd0f5ba8d79501a7329b
+SHA1 (patch-ab) = f6dc76f918a3539d2bab9d552b5c6be2e6e364ce
SHA1 (patch-ac) = 6f6f8e8b0ab6744662e7365511161e29affe62fc
SHA1 (patch-ad) = 22412c6b564e7b6baced01c4c35bc6efa994fc8f
+SHA1 (patch-ae) = 0ec38469f8f9dbfdce6a6c3f5311f03903e10741
+SHA1 (patch-af) = 4436c93d0f4bee56c539584bdf6f3f082589b445
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"