I dreamed it would happen. I asked about. I finally did it

myself (for the lack of  children, whom I could've prohibited to
do it). Sorry.

Upgrade this port to:
	. build against TCL-8.3 by default (controllable by TCL_VER)
	. build with or without TK (controllable by NO_X)
	. take over maintainership -- regretfully, Justin was
	  rather idle recently
	. build the helpfiles once -- during the build stage --
	  not during the install stage

On a side  note, I more and  more resent the fact,  that our TCL
8.3 is built with the  -stubs. It just introduces more variables
without  noticeable benefit.  On FreeBSD  shared libraries  work
well...

I  tested this  with TCL-8.3  (with  and without  TK), and  with
TCL-8.2 (without TK only). Please, test this more.
This commit is contained in:
Mikhail Teterin
2001-03-16 20:11:53 +00:00
parent 748dea14ee
commit 79fb1155cb
12 changed files with 292 additions and 168 deletions

View File

@@ -7,22 +7,40 @@
PORTNAME= tclX
PORTVERSION= 8.2.0
CATEGORIES= lang tcl82 tk82
PORTREVISION= 1
CATEGORIES= lang tcl${TCL_DVER} tk${TCL_DVER}
MASTER_SITES= ftp://ftp.neosoft.com/pub/tcl/tclx-distrib/
DISTNAME= tclX8.2.0
MAINTAINER= jseger@FreeBSD.org
MAINTAINER= mi@aldan.algebra.com
LIB_DEPENDS= tk82.1:${PORTSDIR}/x11-toolkits/tk82
.ifdef NO_X
LIB_DEPENDS= tcl${TCL_DVER}.1:${PORTSDIR}/lang/tcl${TCL_DVER}
PKGNAMESUFFIX= -nox11
.else
LIB_DEPENDS= tk${TCL_DVER}.1:${PORTSDIR}/x11-toolkits/tk${TCL_DVER}
.endif
TCL_VER?= 8.3
TCL_DVER?= ${TCL_VER:S/.//}
WRKSRC= ${WRKDIR}/${DISTNAME}/unix
INSTALLS_SHLIB= yes
GNU_CONFIGURE= yes
ALL_TARGET= all buildhelp
CONFIGURE_ARGS= --enable-shared \
--with-tcl="${LOCALBASE}/lib/tcl8.2" \
--with-tk="${LOCALBASE}/lib/tk8.2"
--with-tcl="${LOCALBASE}/lib/tcl${TCL_VER}" \
--with-tk="${LOCALBASE}/lib/tk${TCL_VER}"
PLIST_SUB= TCLX_LONG_VER=8.2 TCLX_SHORT_VER=82
.ifdef NO_X
CONFIGURE_ARGS+=--enable-tk=NO
PLIST_SUB+= X11='@comment '
.else
CONFIGURE_ARGS+=--with-tk="${LOCALBASE}/lib/tk${TCL_VER}"
PLIST_SUB+= X11=''
.endif
MAN3= CmdWrite.3 Handles.3 Keylist.3 ObjCmdWrite.3 TclXInit.3 \
TclCommandWriting.3 \
TclX_KeyedListDelete.3 TclX_KeyedListGet.3 TclX_KeyedListGetKeys.3 \

View File

@@ -9,10 +9,12 @@
libraries: tcl.tndx tcl.tlib tclx.tcl buildidx.tcl
@@ -163,6 +163,7 @@
@@ -162,7 +162,8 @@
PATH=${TCL_UNIX_DIR}:${PATH}; export PATH; \
TCL_LIBRARY=${TCL_UNIX_DIR}/../library; export TCL_LIBRARY; \
LD_LIBRARY_PATH=${TCL_UNIX_DIR}:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; \
${TCL_SHLIB_LD} -o ${TCLX_SHLIB_NAME} ${SOBJS} ${TCL_SHLIB_LD_LIBS}
- ${TCL_SHLIB_LD} -o ${TCLX_SHLIB_NAME} ${SOBJS} ${TCL_SHLIB_LD_LIBS}
+ ${TCL_SHLIB_LD} -o ${TCLX_SHLIB_NAME} ${SOBJS} @NEED_TCL_STUB@
+ ln -sf ${TCLX_SHLIB_NAME} `echo ${TCLX_SHLIB_NAME} | sed 's/\.so.*$$/.so/'`
hello: hello.c
@@ -35,6 +37,11 @@
${HELP_DIR} Tcl.brf
${RUNTCL} -c "buildhelp ${HELP_DIR} TclX.brf ${TCLX_DOC_DIR}/TclX.n"
@@ -322,3 +323,3 @@
-install-misc: buildhelp
+install-misc:
${INSTCOPY} ${TCLX_GENERIC_DIR}/tclExtend.h \
@@ -338,9 +339,11 @@
${INSTCOPY} ${TCLX_STLIB_NAME} ${INSTALL_ROOT}${TCLX_INST_LIB}; \
${RANLIB} ${INSTALL_ROOT}${TCLX_INST_LIB}/${TCLX_STLIB_NAME}; \
@@ -48,3 +55,7 @@
${INSTCOPY} pkgIndex.tcl ${INSTALL_ROOT}${TCLX_EXEC_RUNTIME} ;\
fi
@@ -385,2 +388,2 @@
tclXAppInit.o: ${TCLX_UNIX_SRC_DIR}/tclXAppInit.c
- ${CC} -c ${CC_SWITCHES} ${TCLX_UNIX_SRC_DIR}/tclXAppInit.c
+ ${CC} -c ${CC_SWITCHES} -UUSE_TCL_STUBS ${TCLX_UNIX_SRC_DIR}/tclXAppInit.c

View File

@@ -1,4 +1,4 @@
--- ../tk/unix/Makefile.in.orig Sun Feb 6 18:54:01 2000
--- ../tk/unix/Makefile.in Sun Feb 6 18:54:01 2000
+++ ../tk/unix/Makefile.in Thu Jul 13 15:35:36 2000
@@ -81,7 +81,7 @@
#
@@ -9,14 +9,13 @@
libraries: RUNTIME
@@ -112,6 +112,7 @@
@@ -112,4 +112,4 @@
${TCL_SHLIB_LD} -o ${TKX_SHLIB_NAME} ${SOBJS} \
${TK_BUILD_STUB_LIB_SPEC} ${TCLX_BUILD_LIB_SPEC} \
${TCL_BUILD_STUB_LIB_SPEC} ${TCL_SHLIB_LD_LIBS}
- ${TK_BUILD_STUB_LIB_SPEC} ${TCLX_BUILD_LIB_SPEC} \
- ${TCL_BUILD_STUB_LIB_SPEC} ${TCL_SHLIB_LD_LIBS}
+ ${TK_SHLIB_LD_LIBS} ${TCLX_BUILD_LIB_SPEC}
+ ln -sf ${TKX_SHLIB_NAME} `echo ${TKX_SHLIB_NAME} | sed 's/\.so.*$$/.so/'`
hello: hello.c
${CC} ${LD_SWITCHES} -o $@ hello.c ${STATIC_LIBS}
@@ -199,7 +200,7 @@
buildhelp:
rm -rf ${HELP_DIR} help help.tmp
@@ -26,6 +25,9 @@
${HELP_DIR} Tk.brf
#------------------------------------------------------------------------------
@@ -215 +215 @@
-install-misc: buildhelp
+install-misc:
@@ -227,9 +228,11 @@
${INSTCOPY} ${TKX_STLIB_NAME} ${INSTALL_ROOT}${TKX_INST_LIB}; \
${RANLIB} ${INSTALL_ROOT}${TKX_INST_LIB}/${TKX_STLIB_NAME}; \
@@ -39,3 +41,8 @@
${INSTCOPY} pkgIndex.tcl ${INSTALL_ROOT}${TKX_EXEC_RUNTIME} ;\
fi
${INSTCOPY} tclhelp ${INSTALL_ROOT}${TKX_INST_BIN}
@@ -274,2 +276,3 @@
tkXAppInit.o: ${TKX_UNIX_SRC_DIR}/tkXAppInit.c
- ${CC} -c ${CC_SWITCHES} ${TKX_UNIX_SRC_DIR}/tkXAppInit.c
+ ${CC} -c ${CC_SWITCHES} -UUSE_TCL_STUBS -UUSE_TK_STUBS \
+ ${TKX_UNIX_SRC_DIR}/tkXAppInit.c

View File

@@ -33,11 +33,21 @@
#
# Determine suffix to use for the object files for the shared library.
@@ -4831,6 +4832,7 @@
@@ -4793,2 +4794,8 @@
EOF
+
+if /usr/bin/ldd ${prefix}/bin/tclsh$TCL_VERSION | fgrep -qv libtcl; then
+ TCL_EXTRA_CFLAGS=$TCL_EXTRA_CFLAGS\ -DUSE_TCL_STUBS
+ NEED_TCL_STUB=$TCL_STUB_LIB_SPEC
+fi
+
cat >> $CONFIG_STATUS <<EOF
@@ -4831,6 +4832,8 @@
s%@TCLX_FULL_VERSION@%$TCLX_FULL_VERSION%g
s%@TKX_VERSION@%$TKX_VERSION%g
s%@TKX_FULL_VERSION@%$TKX_FULL_VERSION%g
+s%@TCL_PREFIX@%$TCL_PREFIX%g
+s%@NEED_TCL_STUB@%$NEED_TCL_STUB%g
s%@TCL_BIN_DIR@%$TCL_BIN_DIR%g
s%@TCL_SRC_DIR@%$TCL_SRC_DIR%g
s%@TCL_LIB_FILE@%$TCL_LIB_FILE%g

View File

@@ -0,0 +1,16 @@
--- ../tk/generic/tkXshell.c Sun Feb 6 19:54:00 2000
+++ ../tk/generic/tkXshell.c Fri Mar 16 14:02:59 2001
@@ -87,2 +87,4 @@
+#if TK_MAJOR_VERSION == 8 && TK_MINOR_VERSION < 3
extern void TkpDisplayWarning _ANSI_ARGS_((char *msg,
char *title));
+#endif
@@ -407,7 +407,7 @@
Tk_MainLoop();
- Tcl_DeleteInterp(interp);
#ifdef TKX_SHELL
TclX_ShellExit(interp, 0);
#else
+ Tcl_DeleteInterp(interp);
Tcl_Exit(0);
#endif

View File

@@ -1,13 +1,13 @@
bin/tcl
bin/tclhelp
bin/wishx
%%X11%%bin/tclhelp
%%X11%%bin/wishx
include/tclExtend.h
lib/libtclx%%TCLX_SHORT_VER%%.a
lib/libtclx%%TCLX_SHORT_VER%%.so
lib/libtclx%%TCLX_SHORT_VER%%.so.1
lib/libtkx%%TCLX_SHORT_VER%%.a
lib/libtkx%%TCLX_SHORT_VER%%.so
lib/libtkx%%TCLX_SHORT_VER%%.so.1
%%X11%%lib/libtkx%%TCLX_SHORT_VER%%.a
%%X11%%lib/libtkx%%TCLX_SHORT_VER%%.so
%%X11%%lib/libtkx%%TCLX_SHORT_VER%%.so.1
lib/tclX%%TCLX_LONG_VER%%/autoload.tcl
lib/tclX%%TCLX_LONG_VER%%/buildidx.tcl
lib/tclX%%TCLX_LONG_VER%%/help/Tcl.brf
@@ -210,65 +210,65 @@ lib/tclX%%TCLX_LONG_VER%%/tcl.tndx
lib/tclX%%TCLX_LONG_VER%%/tclXAppInit.c
lib/tclX%%TCLX_LONG_VER%%/tclx.tcl
lib/tclX%%TCLX_LONG_VER%%/tclxConfig.sh
lib/tkX%%TCLX_LONG_VER%%/help/Tk.brf
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bell
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bind
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bindtags
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/clipboard
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/destroy
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/event
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/focus
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/font
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grab
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grid
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/loadTk
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/lower
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/option
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack-old
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/place
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/raise
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/selection
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/send
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_bisque
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_focusNext
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_setPalette
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkerror
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkvars
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkwait
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/winfo
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/wm
lib/tkX%%TCLX_LONG_VER%%/help/tk/images/bitmap
lib/tkX%%TCLX_LONG_VER%%/help/tk/images/image
lib/tkX%%TCLX_LONG_VER%%/help/tk/images/photo
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/button
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/canvas
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/checkbutton
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/entry
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/frame
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/label
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/listbox
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menu
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menubutton
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/message
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/options
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/radiobutton
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scale
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scrollbar
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/text
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_chooseColor
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_dialog
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_getOpenFile
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_menuBar
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_messageBox
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_optionMenu
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_popup
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/toplevel
lib/tkX%%TCLX_LONG_VER%%/pkgIndex.tcl
lib/tkX%%TCLX_LONG_VER%%/tkXAppInit.c
lib/tkX%%TCLX_LONG_VER%%/tkx.tcl
lib/tkX%%TCLX_LONG_VER%%/tkxConfig.sh
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/Tk.brf
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bell
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bind
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bindtags
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/clipboard
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/destroy
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/event
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/focus
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/font
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grab
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grid
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/loadTk
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/lower
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/option
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack-old
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/place
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/raise
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/selection
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/send
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_bisque
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_focusNext
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_setPalette
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkerror
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkvars
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkwait
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/winfo
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/wm
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/images/bitmap
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/images/image
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/images/photo
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/button
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/canvas
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/checkbutton
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/entry
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/frame
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/label
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/listbox
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menu
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menubutton
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/message
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/options
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/radiobutton
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scale
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scrollbar
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/text
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_chooseColor
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_dialog
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_getOpenFile
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_menuBar
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_messageBox
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_optionMenu
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_popup
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/toplevel
%%X11%%lib/tkX%%TCLX_LONG_VER%%/pkgIndex.tcl
%%X11%%lib/tkX%%TCLX_LONG_VER%%/tkXAppInit.c
%%X11%%lib/tkX%%TCLX_LONG_VER%%/tkx.tcl
%%X11%%lib/tkX%%TCLX_LONG_VER%%/tkxConfig.sh
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl/control
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl/debug
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl/events
@@ -291,9 +291,9 @@ lib/tkX%%TCLX_LONG_VER%%/tkxConfig.sh
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl
@dirrm lib/tclX%%TCLX_LONG_VER%%/help
@dirrm lib/tclX%%TCLX_LONG_VER%%
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/control
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/images
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk
@dirrm lib/tkX%%TCLX_LONG_VER%%/help
@dirrm lib/tkX%%TCLX_LONG_VER%%
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/control
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/images
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%

View File

@@ -7,22 +7,40 @@
PORTNAME= tclX
PORTVERSION= 8.2.0
CATEGORIES= lang tcl82 tk82
PORTREVISION= 1
CATEGORIES= lang tcl${TCL_DVER} tk${TCL_DVER}
MASTER_SITES= ftp://ftp.neosoft.com/pub/tcl/tclx-distrib/
DISTNAME= tclX8.2.0
MAINTAINER= jseger@FreeBSD.org
MAINTAINER= mi@aldan.algebra.com
LIB_DEPENDS= tk82.1:${PORTSDIR}/x11-toolkits/tk82
.ifdef NO_X
LIB_DEPENDS= tcl${TCL_DVER}.1:${PORTSDIR}/lang/tcl${TCL_DVER}
PKGNAMESUFFIX= -nox11
.else
LIB_DEPENDS= tk${TCL_DVER}.1:${PORTSDIR}/x11-toolkits/tk${TCL_DVER}
.endif
TCL_VER?= 8.3
TCL_DVER?= ${TCL_VER:S/.//}
WRKSRC= ${WRKDIR}/${DISTNAME}/unix
INSTALLS_SHLIB= yes
GNU_CONFIGURE= yes
ALL_TARGET= all buildhelp
CONFIGURE_ARGS= --enable-shared \
--with-tcl="${LOCALBASE}/lib/tcl8.2" \
--with-tk="${LOCALBASE}/lib/tk8.2"
--with-tcl="${LOCALBASE}/lib/tcl${TCL_VER}" \
--with-tk="${LOCALBASE}/lib/tk${TCL_VER}"
PLIST_SUB= TCLX_LONG_VER=8.2 TCLX_SHORT_VER=82
.ifdef NO_X
CONFIGURE_ARGS+=--enable-tk=NO
PLIST_SUB+= X11='@comment '
.else
CONFIGURE_ARGS+=--with-tk="${LOCALBASE}/lib/tk${TCL_VER}"
PLIST_SUB+= X11=''
.endif
MAN3= CmdWrite.3 Handles.3 Keylist.3 ObjCmdWrite.3 TclXInit.3 \
TclCommandWriting.3 \
TclX_KeyedListDelete.3 TclX_KeyedListGet.3 TclX_KeyedListGetKeys.3 \

View File

@@ -9,10 +9,12 @@
libraries: tcl.tndx tcl.tlib tclx.tcl buildidx.tcl
@@ -163,6 +163,7 @@
@@ -162,7 +162,8 @@
PATH=${TCL_UNIX_DIR}:${PATH}; export PATH; \
TCL_LIBRARY=${TCL_UNIX_DIR}/../library; export TCL_LIBRARY; \
LD_LIBRARY_PATH=${TCL_UNIX_DIR}:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; \
${TCL_SHLIB_LD} -o ${TCLX_SHLIB_NAME} ${SOBJS} ${TCL_SHLIB_LD_LIBS}
- ${TCL_SHLIB_LD} -o ${TCLX_SHLIB_NAME} ${SOBJS} ${TCL_SHLIB_LD_LIBS}
+ ${TCL_SHLIB_LD} -o ${TCLX_SHLIB_NAME} ${SOBJS} @NEED_TCL_STUB@
+ ln -sf ${TCLX_SHLIB_NAME} `echo ${TCLX_SHLIB_NAME} | sed 's/\.so.*$$/.so/'`
hello: hello.c
@@ -35,6 +37,11 @@
${HELP_DIR} Tcl.brf
${RUNTCL} -c "buildhelp ${HELP_DIR} TclX.brf ${TCLX_DOC_DIR}/TclX.n"
@@ -322,3 +323,3 @@
-install-misc: buildhelp
+install-misc:
${INSTCOPY} ${TCLX_GENERIC_DIR}/tclExtend.h \
@@ -338,9 +339,11 @@
${INSTCOPY} ${TCLX_STLIB_NAME} ${INSTALL_ROOT}${TCLX_INST_LIB}; \
${RANLIB} ${INSTALL_ROOT}${TCLX_INST_LIB}/${TCLX_STLIB_NAME}; \
@@ -48,3 +55,7 @@
${INSTCOPY} pkgIndex.tcl ${INSTALL_ROOT}${TCLX_EXEC_RUNTIME} ;\
fi
@@ -385,2 +388,2 @@
tclXAppInit.o: ${TCLX_UNIX_SRC_DIR}/tclXAppInit.c
- ${CC} -c ${CC_SWITCHES} ${TCLX_UNIX_SRC_DIR}/tclXAppInit.c
+ ${CC} -c ${CC_SWITCHES} -UUSE_TCL_STUBS ${TCLX_UNIX_SRC_DIR}/tclXAppInit.c

View File

@@ -1,4 +1,4 @@
--- ../tk/unix/Makefile.in.orig Sun Feb 6 18:54:01 2000
--- ../tk/unix/Makefile.in Sun Feb 6 18:54:01 2000
+++ ../tk/unix/Makefile.in Thu Jul 13 15:35:36 2000
@@ -81,7 +81,7 @@
#
@@ -9,14 +9,13 @@
libraries: RUNTIME
@@ -112,6 +112,7 @@
@@ -112,4 +112,4 @@
${TCL_SHLIB_LD} -o ${TKX_SHLIB_NAME} ${SOBJS} \
${TK_BUILD_STUB_LIB_SPEC} ${TCLX_BUILD_LIB_SPEC} \
${TCL_BUILD_STUB_LIB_SPEC} ${TCL_SHLIB_LD_LIBS}
- ${TK_BUILD_STUB_LIB_SPEC} ${TCLX_BUILD_LIB_SPEC} \
- ${TCL_BUILD_STUB_LIB_SPEC} ${TCL_SHLIB_LD_LIBS}
+ ${TK_SHLIB_LD_LIBS} ${TCLX_BUILD_LIB_SPEC}
+ ln -sf ${TKX_SHLIB_NAME} `echo ${TKX_SHLIB_NAME} | sed 's/\.so.*$$/.so/'`
hello: hello.c
${CC} ${LD_SWITCHES} -o $@ hello.c ${STATIC_LIBS}
@@ -199,7 +200,7 @@
buildhelp:
rm -rf ${HELP_DIR} help help.tmp
@@ -26,6 +25,9 @@
${HELP_DIR} Tk.brf
#------------------------------------------------------------------------------
@@ -215 +215 @@
-install-misc: buildhelp
+install-misc:
@@ -227,9 +228,11 @@
${INSTCOPY} ${TKX_STLIB_NAME} ${INSTALL_ROOT}${TKX_INST_LIB}; \
${RANLIB} ${INSTALL_ROOT}${TKX_INST_LIB}/${TKX_STLIB_NAME}; \
@@ -39,3 +41,8 @@
${INSTCOPY} pkgIndex.tcl ${INSTALL_ROOT}${TKX_EXEC_RUNTIME} ;\
fi
${INSTCOPY} tclhelp ${INSTALL_ROOT}${TKX_INST_BIN}
@@ -274,2 +276,3 @@
tkXAppInit.o: ${TKX_UNIX_SRC_DIR}/tkXAppInit.c
- ${CC} -c ${CC_SWITCHES} ${TKX_UNIX_SRC_DIR}/tkXAppInit.c
+ ${CC} -c ${CC_SWITCHES} -UUSE_TCL_STUBS -UUSE_TK_STUBS \
+ ${TKX_UNIX_SRC_DIR}/tkXAppInit.c

View File

@@ -33,11 +33,21 @@
#
# Determine suffix to use for the object files for the shared library.
@@ -4831,6 +4832,7 @@
@@ -4793,2 +4794,8 @@
EOF
+
+if /usr/bin/ldd ${prefix}/bin/tclsh$TCL_VERSION | fgrep -qv libtcl; then
+ TCL_EXTRA_CFLAGS=$TCL_EXTRA_CFLAGS\ -DUSE_TCL_STUBS
+ NEED_TCL_STUB=$TCL_STUB_LIB_SPEC
+fi
+
cat >> $CONFIG_STATUS <<EOF
@@ -4831,6 +4832,8 @@
s%@TCLX_FULL_VERSION@%$TCLX_FULL_VERSION%g
s%@TKX_VERSION@%$TKX_VERSION%g
s%@TKX_FULL_VERSION@%$TKX_FULL_VERSION%g
+s%@TCL_PREFIX@%$TCL_PREFIX%g
+s%@NEED_TCL_STUB@%$NEED_TCL_STUB%g
s%@TCL_BIN_DIR@%$TCL_BIN_DIR%g
s%@TCL_SRC_DIR@%$TCL_SRC_DIR%g
s%@TCL_LIB_FILE@%$TCL_LIB_FILE%g

View File

@@ -0,0 +1,16 @@
--- ../tk/generic/tkXshell.c Sun Feb 6 19:54:00 2000
+++ ../tk/generic/tkXshell.c Fri Mar 16 14:02:59 2001
@@ -87,2 +87,4 @@
+#if TK_MAJOR_VERSION == 8 && TK_MINOR_VERSION < 3
extern void TkpDisplayWarning _ANSI_ARGS_((char *msg,
char *title));
+#endif
@@ -407,7 +407,7 @@
Tk_MainLoop();
- Tcl_DeleteInterp(interp);
#ifdef TKX_SHELL
TclX_ShellExit(interp, 0);
#else
+ Tcl_DeleteInterp(interp);
Tcl_Exit(0);
#endif

View File

@@ -1,13 +1,13 @@
bin/tcl
bin/tclhelp
bin/wishx
%%X11%%bin/tclhelp
%%X11%%bin/wishx
include/tclExtend.h
lib/libtclx%%TCLX_SHORT_VER%%.a
lib/libtclx%%TCLX_SHORT_VER%%.so
lib/libtclx%%TCLX_SHORT_VER%%.so.1
lib/libtkx%%TCLX_SHORT_VER%%.a
lib/libtkx%%TCLX_SHORT_VER%%.so
lib/libtkx%%TCLX_SHORT_VER%%.so.1
%%X11%%lib/libtkx%%TCLX_SHORT_VER%%.a
%%X11%%lib/libtkx%%TCLX_SHORT_VER%%.so
%%X11%%lib/libtkx%%TCLX_SHORT_VER%%.so.1
lib/tclX%%TCLX_LONG_VER%%/autoload.tcl
lib/tclX%%TCLX_LONG_VER%%/buildidx.tcl
lib/tclX%%TCLX_LONG_VER%%/help/Tcl.brf
@@ -210,65 +210,65 @@ lib/tclX%%TCLX_LONG_VER%%/tcl.tndx
lib/tclX%%TCLX_LONG_VER%%/tclXAppInit.c
lib/tclX%%TCLX_LONG_VER%%/tclx.tcl
lib/tclX%%TCLX_LONG_VER%%/tclxConfig.sh
lib/tkX%%TCLX_LONG_VER%%/help/Tk.brf
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bell
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bind
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bindtags
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/clipboard
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/destroy
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/event
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/focus
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/font
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grab
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grid
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/loadTk
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/lower
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/option
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack-old
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/place
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/raise
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/selection
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/send
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_bisque
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_focusNext
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_setPalette
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkerror
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkvars
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkwait
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/winfo
lib/tkX%%TCLX_LONG_VER%%/help/tk/control/wm
lib/tkX%%TCLX_LONG_VER%%/help/tk/images/bitmap
lib/tkX%%TCLX_LONG_VER%%/help/tk/images/image
lib/tkX%%TCLX_LONG_VER%%/help/tk/images/photo
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/button
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/canvas
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/checkbutton
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/entry
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/frame
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/label
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/listbox
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menu
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menubutton
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/message
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/options
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/radiobutton
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scale
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scrollbar
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/text
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_chooseColor
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_dialog
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_getOpenFile
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_menuBar
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_messageBox
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_optionMenu
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_popup
lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/toplevel
lib/tkX%%TCLX_LONG_VER%%/pkgIndex.tcl
lib/tkX%%TCLX_LONG_VER%%/tkXAppInit.c
lib/tkX%%TCLX_LONG_VER%%/tkx.tcl
lib/tkX%%TCLX_LONG_VER%%/tkxConfig.sh
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/Tk.brf
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bell
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bind
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/bindtags
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/clipboard
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/destroy
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/event
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/focus
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/font
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grab
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/grid
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/loadTk
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/lower
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/option
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/pack-old
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/place
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/raise
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/selection
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/send
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_bisque
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_focusNext
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tk_setPalette
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkerror
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkvars
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/tkwait
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/winfo
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/control/wm
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/images/bitmap
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/images/image
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/images/photo
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/button
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/canvas
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/checkbutton
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/entry
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/frame
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/label
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/listbox
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menu
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/menubutton
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/message
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/options
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/radiobutton
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scale
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/scrollbar
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/text
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_chooseColor
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_dialog
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_getOpenFile
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_menuBar
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_messageBox
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_optionMenu
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/tk_popup
%%X11%%lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets/toplevel
%%X11%%lib/tkX%%TCLX_LONG_VER%%/pkgIndex.tcl
%%X11%%lib/tkX%%TCLX_LONG_VER%%/tkXAppInit.c
%%X11%%lib/tkX%%TCLX_LONG_VER%%/tkx.tcl
%%X11%%lib/tkX%%TCLX_LONG_VER%%/tkxConfig.sh
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl/control
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl/debug
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl/events
@@ -291,9 +291,9 @@ lib/tkX%%TCLX_LONG_VER%%/tkxConfig.sh
@dirrm lib/tclX%%TCLX_LONG_VER%%/help/tcl
@dirrm lib/tclX%%TCLX_LONG_VER%%/help
@dirrm lib/tclX%%TCLX_LONG_VER%%
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/control
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/images
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets
@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk
@dirrm lib/tkX%%TCLX_LONG_VER%%/help
@dirrm lib/tkX%%TCLX_LONG_VER%%
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/control
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/images
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk/widgets
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help/tk
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%/help
%%X11%%@dirrm lib/tkX%%TCLX_LONG_VER%%