diff options
author | Kevin Lo <kevlo@FreeBSD.org> | 2001-02-22 04:09:59 +0000 |
---|---|---|
committer | Kevin Lo <kevlo@FreeBSD.org> | 2001-02-22 04:09:59 +0000 |
commit | 2c54b710d9304bed2dc776de771525e8583aa48b (patch) | |
tree | 2cb95b9f084222de0265b008c26e8cd9eefd54eb /chinese/tk83 | |
parent | 38a6e47643ac8745ed951d28903283b474b25023 (diff) | |
download | ports-2c54b710d9304bed2dc776de771525e8583aa48b.tar.gz ports-2c54b710d9304bed2dc776de771525e8583aa48b.zip |
Notes
Diffstat (limited to 'chinese/tk83')
-rw-r--r-- | chinese/tk83/Makefile | 316 | ||||
-rw-r--r-- | chinese/tk83/distinfo | 1 | ||||
-rw-r--r-- | chinese/tk83/files/patch-aa | 1606 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ab | 174 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ac | 20 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ad | 34 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ae | 261 | ||||
-rw-r--r-- | chinese/tk83/files/patch-af | 91 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ag | 13 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ah | 136 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ai | 14 | ||||
-rw-r--r-- | chinese/tk83/files/patch-aj | 26 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ak | 47 | ||||
-rw-r--r-- | chinese/tk83/files/patch-al | 73 | ||||
-rw-r--r-- | chinese/tk83/files/patch-am | 306 | ||||
-rw-r--r-- | chinese/tk83/files/patch-an | 16 | ||||
-rw-r--r-- | chinese/tk83/files/patch-ao | 16 | ||||
-rw-r--r-- | chinese/tk83/pkg-comment | 1 | ||||
-rw-r--r-- | chinese/tk83/pkg-deinstall.wish | 22 | ||||
-rw-r--r-- | chinese/tk83/pkg-descr | 6 | ||||
-rw-r--r-- | chinese/tk83/pkg-install.wish | 32 | ||||
-rw-r--r-- | chinese/tk83/pkg-plist | 139 |
22 files changed, 3350 insertions, 0 deletions
diff --git a/chinese/tk83/Makefile b/chinese/tk83/Makefile new file mode 100644 index 000000000000..61b30bcc6fd5 --- /dev/null +++ b/chinese/tk83/Makefile @@ -0,0 +1,316 @@ +# New ports collection makefile for: tk +# Date created: 22 February 2001 +# Whom: Kevin Lo <kevlo@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= tk +PORTVERSION= 8.3.0 +CATEGORIES= chinese x11-toolkits tk83 +MASTER_SITES= ${MASTER_SITE_TCLTK} +MASTER_SITE_SUBDIR= tcl8_3 +DISTNAME= ${PORTNAME}${PORTVERSION} + +MAINTAINER= kevlo@FreeBSD.org + +LIB_DEPENDS= tcl83.1:${PORTSDIR}/chinese/tcl83 + +USE_XLIB= yes +WRKSRC= ${WRKDIR}/${DISTNAME}/unix +GNU_CONFIGURE= yes +CONFIGURE_ENV= PORTSDIR=${PORTSDIR} TK_LIB_FILE=libtk83.so.1 +CONFIGURE_ARGS= --enable-shared --with-tcl=${PREFIX}/lib/tcl8.3 \ + --enable-i18nImprove +INSTALLS_SHLIB= yes +MAKE_ENV= SHORT_TK_VER=83 +PKGINSTALL= ${PKGDIR}/INSTALL.wish + +PLIST_SUB= TK_VER=8.3 SHORT_TK_VER=83 + +MANCOMPRESSED= no + +MAN1= wish.1 +MAN3= 3DBorder.3 BindTable.3 CanvPsY.3 CanvTkwin.3 CanvTxtInfo.3 \ + Clipboard.3 ClrSelect.3 ConfigWidg.3 ConfigWind.3 CoordToWin.3 \ + CrtErrHdlr.3 CrtGenHdlr.3 CrtImgType.3 CrtItemType.3 CrtPhImgFmt.3 \ + CrtSelHdlr.3 CrtWindow.3 DeleteImg.3 DrawFocHlt.3 EventHndlr.3 \ + FindPhoto.3 FontId.3 FreeXId.3 GeomReq.3 GetAnchor.3 GetBitmap.3 \ + GetCapStyl.3 GetClrmap.3 GetColor.3 GetCursor.3 GetDash.3 GetFont.3 \ + GetGC.3 GetImage.3 GetJoinStl.3 GetJustify.3 GetOption.3 GetPixels.3 \ + GetPixmap.3 GetRelief.3 GetRootCrd.3 GetScroll.3 GetSelect.3 GetUid.3 \ + GetVRoot.3 GetVisual.3 HandleEvent.3 IdToWindow.3 ImgChanged.3 \ + InternAtom.3 MainLoop.3 MainWin.3 MaintGeom.3 ManageGeom.3 \ + MapWindow.3 MeasureChar.3 MoveToplev.3 Name.3 NameOfImg.3 OwnSelect.3 \ + ParseArgv.3 QWinEvent.3 Restack.3 RestrictEv.3 SetAppName.3 \ + SetClass.3 SetGrid.3 SetOptions.3 SetVisual.3 StrictMotif.3 \ + TextLayout.3 Tk_Init.3 Tk_Main.3 TkInitStubs.3 WindowId.3 +MANN= bell.n bind.n bindtags.n bitmap.n button.n canvas.n checkbutton.n \ + chooseColor.n chooseDirectory.n clipboard.n destroy.n dialog.n entry.n\ + event.n focus.n focusNext.n font.n frame.n getOpenFile.n grab.n grid.n\ + image.n label.n listbox.n loadTk.n lower.n menu.n menubar.n \ + menubutton.n message.n messageBox.n option.n optionMenu.n options.n \ + pack-old.n pack.n palette.n photo.n place.n popup.n radiobutton.n \ + raise.n scale.n scrollbar.n selection.n send.n text.n tk.n tkerror.n \ + tkvars.n tkwait.n toplevel.n winfo.n wm.n + +# MLINKS generated via awk '/ln/ {print "\t" $2,$3,"\\"}' unix/mkLinks +MLINKS= 3DBorder.3 Tk_Alloc3DBorderFromObj.3 \ + 3DBorder.3 Tk_Get3DBorder.3 \ + 3DBorder.3 Tk_Get3DBorderFromObj.3 \ + 3DBorder.3 Tk_Draw3DRectangle.3 \ + 3DBorder.3 Tk_Fill3DRectangle.3 \ + 3DBorder.3 Tk_Draw3DPolygon.3 \ + 3DBorder.3 Tk_Fill3DPolygon.3 \ + 3DBorder.3 Tk_3DVerticalBevel.3 \ + 3DBorder.3 Tk_3DHorizontalBevel.3 \ + 3DBorder.3 Tk_SetBackgroundFromBorder.3 \ + 3DBorder.3 Tk_NameOf3DBorder.3 \ + 3DBorder.3 Tk_3DBorderColor.3 \ + 3DBorder.3 Tk_3DBorderGC.3 \ + 3DBorder.3 Tk_Free3DBorderFromObj.3 \ + 3DBorder.3 Tk_Free3DBorder.3 \ + BindTable.3 Tk_CreateBindingTable.3 \ + BindTable.3 Tk_DeleteBindingTable.3 \ + BindTable.3 Tk_CreateBinding.3 \ + BindTable.3 Tk_DeleteBinding.3 \ + BindTable.3 Tk_GetBinding.3 \ + BindTable.3 Tk_GetAllBindings.3 \ + BindTable.3 Tk_DeleteAllBindings.3 \ + BindTable.3 Tk_BindEvent.3 \ + CanvPsY.3 Tk_CanvasPsY.3 \ + CanvPsY.3 Tk_CanvasPsBitmap.3 \ + CanvPsY.3 Tk_CanvasPsColor.3 \ + CanvPsY.3 Tk_CanvasPsFont.3 \ + CanvPsY.3 Tk_CanvasPsPath.3 \ + CanvPsY.3 Tk_CanvasPsStipple.3 \ + CanvTkwin.3 Tk_CanvasTkwin.3 \ + CanvTkwin.3 Tk_CanvasGetCoord.3 \ + CanvTkwin.3 Tk_CanvasDrawableCoords.3 \ + CanvTkwin.3 Tk_CanvasSetStippleOrigin.3 \ + CanvTkwin.3 Tk_CanvasWindowCoords.3 \ + CanvTkwin.3 Tk_CanvasEventuallyRedraw.3 \ + CanvTkwin.3 Tk_CanvasTagsOption.3 \ + CanvTxtInfo.3 Tk_CanvasTextInfo.3 \ + Clipboard.3 Tk_ClipboardClear.3 \ + Clipboard.3 Tk_ClipboardAppend.3 \ + ClrSelect.3 Tk_ClearSelection.3 \ + ConfigWidg.3 Tk_ConfigureWidget.3 \ + ConfigWidg.3 Tk_Offset.3 \ + ConfigWidg.3 Tk_ConfigureInfo.3 \ + ConfigWidg.3 Tk_ConfigureValue.3 \ + ConfigWidg.3 Tk_FreeOptions.3 \ + ConfigWind.3 Tk_ConfigureWindow.3 \ + ConfigWind.3 Tk_MoveWindow.3 \ + ConfigWind.3 Tk_ResizeWindow.3 \ + ConfigWind.3 Tk_MoveResizeWindow.3 \ + ConfigWind.3 Tk_SetWindowBorderWidth.3 \ + ConfigWind.3 Tk_ChangeWindowAttributes.3 \ + ConfigWind.3 Tk_SetWindowBackground.3 \ + ConfigWind.3 Tk_SetWindowBackgroundPixmap.3 \ + ConfigWind.3 Tk_SetWindowBorder.3 \ + ConfigWind.3 Tk_SetWindowBorderPixmap.3 \ + ConfigWind.3 Tk_SetWindowColormap.3 \ + ConfigWind.3 Tk_DefineCursor.3 \ + ConfigWind.3 Tk_UndefineCursor.3 \ + CoordToWin.3 Tk_CoordsToWindow.3 \ + CrtErrHdlr.3 Tk_CreateErrorHandler.3 \ + CrtErrHdlr.3 Tk_DeleteErrorHandler.3 \ + CrtGenHdlr.3 Tk_CreateGenericHandler.3 \ + CrtGenHdlr.3 Tk_DeleteGenericHandler.3 \ + CrtImgType.3 Tk_CreateImageType.3 \ + CrtImgType.3 Tk_GetImageMasterData.3 \ + CrtImgType.3 Tk_InitImageArgs.3 \ + CrtItemType.3 Tk_CreateItemType.3 \ + CrtItemType.3 Tk_GetItemTypes.3 \ + CrtPhImgFmt.3 Tk_CreatePhotoImageFormat.3 \ + CrtSelHdlr.3 Tk_CreateSelHandler.3 \ + CrtSelHdlr.3 Tk_DeleteSelHandler.3 \ + CrtWindow.3 Tk_CreateWindow.3 \ + CrtWindow.3 Tk_CreateWindowFromPath.3 \ + CrtWindow.3 Tk_DestroyWindow.3 \ + CrtWindow.3 Tk_MakeWindowExist.3 \ + DeleteImg.3 Tk_DeleteImage.3 \ + DrawFocHlt.3 Tk_DrawFocusHighlight.3 \ + EventHndlr.3 Tk_CreateEventHandler.3 \ + EventHndlr.3 Tk_DeleteEventHandler.3 \ + FindPhoto.3 Tk_FindPhoto.3 \ + FindPhoto.3 Tk_PhotoPutBlock.3 \ + FindPhoto.3 Tk_PhotoPutZoomedBlock.3 \ + FindPhoto.3 Tk_PhotoGetImage.3 \ + FindPhoto.3 Tk_PhotoBlank.3 \ + FindPhoto.3 Tk_PhotoExpand.3 \ + FindPhoto.3 Tk_PhotoGetSize.3 \ + FindPhoto.3 Tk_PhotoSetSize.3 \ + FontId.3 Tk_FontId.3 \ + FontId.3 Tk_FontMetrics.3 \ + FontId.3 Tk_PostscriptFontName.3 \ + FreeXId.3 Tk_FreeXId.3 \ + GeomReq.3 Tk_GeometryRequest.3 \ + GeomReq.3 Tk_SetInternalBorder.3 \ + GetAnchor.3 Tk_GetAnchorFromObj.3 \ + GetAnchor.3 Tk_GetAnchor.3 \ + GetAnchor.3 Tk_NameOfAnchor.3 \ + GetBitmap.3 Tk_AllocBitmapFromObj.3 \ + GetBitmap.3 Tk_GetBitmap.3 \ + GetBitmap.3 Tk_GetBitmapFromObj.3 \ + GetBitmap.3 Tk_DefineBitmap.3 \ + GetBitmap.3 Tk_NameOfBitmap.3 \ + GetBitmap.3 Tk_SizeOfBitmap.3 \ + GetBitmap.3 Tk_FreeBitmapFromObj.3 \ + GetBitmap.3 Tk_FreeBitmap.3 \ + GetBitmap.3 Tk_GetBitmapFromData.3 \ + GetCapStyl.3 Tk_GetCapStyle.3 \ + GetCapStyl.3 Tk_NameOfCapStyle.3 \ + GetClrmap.3 Tk_GetColormap.3 \ + GetClrmap.3 Tk_FreeColormap.3 \ + GetColor.3 Tk_AllocColorFromObj.3 \ + GetColor.3 Tk_GetColor.3 \ + GetColor.3 Tk_GetColorFromObj.3 \ + GetColor.3 Tk_GetColorByValue.3 \ + GetColor.3 Tk_NameOfColor.3 \ + GetColor.3 Tk_FreeColorFromObj.3 \ + GetColor.3 Tk_FreeColor.3 \ + GetCursor.3 Tk_AllocCursorFromObj.3 \ + GetCursor.3 Tk_GetCursor.3 \ + GetCursor.3 Tk_GetCursorFromObj.3 \ + GetCursor.3 Tk_GetCursorFromData.3 \ + GetCursor.3 Tk_NameOfCursor.3 \ + GetCursor.3 Tk_FreeCursorFromObj.3 \ + GetCursor.3 Tk_FreeCursor.3 \ + GetDash.3 Tk_GetDash.3 \ + GetFont.3 Tk_AllocFontFromObj.3 \ + GetFont.3 Tk_GetFont.3 \ + GetFont.3 Tk_GetFontFromObj.3 \ + GetFont.3 Tk_NameOfFont.3 \ + GetFont.3 Tk_FreeFontFromObj.3 \ + GetFont.3 Tk_FreeFont.3 \ + GetGC.3 Tk_GetGC.3 \ + GetGC.3 Tk_FreeGC.3 \ + GetImage.3 Tk_GetImage.3 \ + GetImage.3 Tk_RedrawImage.3 \ + GetImage.3 Tk_SizeOfImage.3 \ + GetImage.3 Tk_FreeImage.3 \ + GetJoinStl.3 Tk_GetJoinStyle.3 \ + GetJoinStl.3 Tk_NameOfJoinStyle.3 \ + GetJustify.3 Tk_GetJustifyFromObj.3 \ + GetJustify.3 Tk_GetJustify.3 \ + GetJustify.3 Tk_NameOfJustify.3 \ + GetOption.3 Tk_GetOption.3 \ + GetPixels.3 Tk_GetPixelsFromObj.3 \ + GetPixels.3 Tk_GetPixels.3 \ + GetPixels.3 Tk_GetMMFromObj.3 \ + GetPixels.3 Tk_GetScreenMM.3 \ + GetPixmap.3 Tk_GetPixmap.3 \ + GetPixmap.3 Tk_FreePixmap.3 \ + GetRelief.3 Tk_GetReliefFromObj.3 \ + GetRelief.3 Tk_GetRelief.3 \ + GetRelief.3 Tk_NameOfRelief.3 \ + GetRootCrd.3 Tk_GetRootCoords.3 \ + GetScroll.3 Tk_GetScrollInfo.3 \ + GetSelect.3 Tk_GetSelection.3 \ + GetUid.3 Tk_GetUid.3 \ + GetUid.3 Tk_Uid.3 \ + GetVRoot.3 Tk_GetVRootGeometry.3 \ + GetVisual.3 Tk_GetVisual.3 \ + HandleEvent.3 Tk_HandleEvent.3 \ + IdToWindow.3 Tk_IdToWindow.3 \ + ImgChanged.3 Tk_ImageChanged.3 \ + InternAtom.3 Tk_InternAtom.3 \ + InternAtom.3 Tk_GetAtomName.3 \ + MainLoop.3 Tk_MainLoop.3 \ + MainWin.3 Tk_MainWindow.3 \ + MaintGeom.3 Tk_MaintainGeometry.3 \ + MaintGeom.3 Tk_UnmaintainGeometry.3 \ + ManageGeom.3 Tk_ManageGeometry.3 \ + MapWindow.3 Tk_MapWindow.3 \ + MapWindow.3 Tk_UnmapWindow.3 \ + MeasureChar.3 Tk_MeasureChars.3 \ + MeasureChar.3 Tk_TextWidth.3 \ + MeasureChar.3 Tk_DrawChars.3 \ + MeasureChar.3 Tk_UnderlineChars.3 \ + MoveToplev.3 Tk_MoveToplevelWindow.3 \ + Name.3 Tk_Name.3 \ + Name.3 Tk_PathName.3 \ + Name.3 Tk_NameToWindow.3 \ + NameOfImg.3 Tk_NameOfImage.3 \ + OwnSelect.3 Tk_OwnSelection.3 \ + ParseArgv.3 Tk_ParseArgv.3 \ + QWinEvent.3 Tk_QueueWindowEvent.3 \ + Restack.3 Tk_RestackWindow.3 \ + RestrictEv.3 Tk_RestrictEvents.3 \ + SetAppName.3 Tk_SetAppName.3 \ + SetClass.3 Tk_SetClass.3 \ + SetClass.3 Tk_Class.3 \ + SetGrid.3 Tk_SetGrid.3 \ + SetGrid.3 Tk_UnsetGrid.3 \ + SetOptions.3 Tk_CreateOptionTable.3 \ + SetOptions.3 Tk_DeleteOptionTable.3 \ + SetOptions.3 Tk_InitOptions.3 \ + SetOptions.3 Tk_SetOptions.3 \ + SetOptions.3 Tk_FreeSavedOptions.3 \ + SetOptions.3 Tk_RestoreSavedOptions.3 \ + SetOptions.3 Tk_GetOptionValue.3 \ + SetOptions.3 Tk_GetOptionInfo.3 \ + SetOptions.3 Tk_FreeConfigOptions.3 \ + SetVisual.3 Tk_SetWindowVisual.3 \ + StrictMotif.3 Tk_StrictMotif.3 \ + TextLayout.3 Tk_ComputeTextLayout.3 \ + TextLayout.3 Tk_FreeTextLayout.3 \ + TextLayout.3 Tk_DrawTextLayout.3 \ + TextLayout.3 Tk_UnderlineTextLayout.3 \ + TextLayout.3 Tk_PointToChar.3 \ + TextLayout.3 Tk_CharBbox.3 \ + TextLayout.3 Tk_DistanceToTextLayout.3 \ + TextLayout.3 Tk_IntersectTextLayout.3 \ + TextLayout.3 Tk_TextLayoutToPostscript.3 \ + TkInitStubs.3 Tk_InitStubs.3 \ + WindowId.3 Tk_WindowId.3 \ + WindowId.3 Tk_Parent.3 \ + WindowId.3 Tk_Display.3 \ + WindowId.3 Tk_DisplayName.3 \ + WindowId.3 Tk_ScreenNumber.3 \ + WindowId.3 Tk_Screen.3 \ + WindowId.3 Tk_X.3 \ + WindowId.3 Tk_Y.3 \ + WindowId.3 Tk_Width.3 \ + WindowId.3 Tk_Height.3 \ + WindowId.3 Tk_Changes.3 \ + WindowId.3 Tk_Attributes.3 \ + WindowId.3 Tk_IsContainer.3 \ + WindowId.3 Tk_IsEmbedded.3 \ + WindowId.3 Tk_IsMapped.3 \ + WindowId.3 Tk_IsTopLevel.3 \ + WindowId.3 Tk_ReqWidth.3 \ + WindowId.3 Tk_ReqHeight.3 \ + WindowId.3 Tk_InternalBorderWidth.3 \ + WindowId.3 Tk_Visual.3 \ + WindowId.3 Tk_Depth.3 \ + WindowId.3 Tk_Colormap.3 \ + chooseColor.n tk_chooseColor.n \ + chooseDirectory.n tk_chooseDirectory.n \ + dialog.n tk_dialog.n \ + focusNext.n tk_focusNext.n \ + focusNext.n tk_focusPrev.n \ + focusNext.n tk_focusFollowsMouse.n \ + getOpenFile.n tk_getOpenFile.n \ + getOpenFile.n tk_getSaveFile.n \ + menubar.n tk_menuBar.n \ + menubar.n tk_bindForTraversal.n \ + messageBox.n tk_messageBox.n \ + optionMenu.n tk_optionMenu.n \ + palette.n tk_setPalette.n \ + palette.n tk_bisque.n \ + popup.n tk_popup.n + +.include <bsd.port.pre.mk> + +post-install: +.if exists(${PKGINSTALL}) + ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} +.endif + +test: + cd ${WRKSRC}; make test + +.include <bsd.port.post.mk> diff --git a/chinese/tk83/distinfo b/chinese/tk83/distinfo new file mode 100644 index 000000000000..a07782888586 --- /dev/null +++ b/chinese/tk83/distinfo @@ -0,0 +1 @@ +MD5 (tk8.3.0.tar.gz) = b98369476607536e8384940036890d5c diff --git a/chinese/tk83/files/patch-aa b/chinese/tk83/files/patch-aa new file mode 100644 index 000000000000..8f7de8a0de37 --- /dev/null +++ b/chinese/tk83/files/patch-aa @@ -0,0 +1,1606 @@ +--- configure.orig Thu Feb 10 11:11:02 2000 ++++ configure Wed Feb 21 23:03:47 2001 +@@ -18,6 +18,8 @@ + ac_help="$ac_help + --with-tcl directory containing tcl configuration (tclConfig.sh)" + ac_help="$ac_help ++ --enable-i18nImprove enable i18n improvement features [--enable-i18nImprove]" ++ac_help="$ac_help + --enable-64bit enable 64bit support" + ac_help="$ac_help + --disable-load disallow dynamic loading and "load" command" +@@ -556,7 +558,7 @@ + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:560: checking for $ac_word" >&5 ++echo "configure:562: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -597,7 +599,7 @@ + # Extract the first word of "gcc", so it can be a program name with args. + set dummy gcc; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:601: checking for $ac_word" >&5 ++echo "configure:603: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -627,7 +629,7 @@ + # Extract the first word of "cc", so it can be a program name with args. + set dummy cc; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:631: checking for $ac_word" >&5 ++echo "configure:633: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -678,7 +680,7 @@ + # Extract the first word of "cl", so it can be a program name with args. + set dummy cl; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:682: checking for $ac_word" >&5 ++echo "configure:684: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -710,7 +712,7 @@ + fi + + echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +-echo "configure:714: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ++echo "configure:716: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +@@ -721,12 +723,12 @@ + + cat > conftest.$ac_ext << EOF + +-#line 725 "configure" ++#line 727 "configure" + #include "confdefs.h" + + main(){return(0);} + EOF +-if { (eval echo configure:730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then +@@ -752,12 +754,12 @@ + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } + fi + echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +-echo "configure:756: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 ++echo "configure:758: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 + echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 + cross_compiling=$ac_cv_prog_cc_cross + + echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +-echo "configure:761: checking whether we are using GNU C" >&5 ++echo "configure:763: checking whether we are using GNU C" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -766,7 +768,7 @@ + yes; + #endif + EOF +-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes + else + ac_cv_prog_gcc=no +@@ -785,7 +787,7 @@ + ac_save_CFLAGS="$CFLAGS" + CFLAGS= + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +-echo "configure:789: checking whether ${CC-cc} accepts -g" >&5 ++echo "configure:791: checking whether ${CC-cc} accepts -g" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -823,7 +825,7 @@ + # Extract the first word of "gcc", so it can be a program name with args. + set dummy gcc; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:827: checking for $ac_word" >&5 ++echo "configure:829: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -853,7 +855,7 @@ + # Extract the first word of "cc", so it can be a program name with args. + set dummy cc; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:857: checking for $ac_word" >&5 ++echo "configure:859: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -904,7 +906,7 @@ + # Extract the first word of "cl", so it can be a program name with args. + set dummy cl; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:908: checking for $ac_word" >&5 ++echo "configure:910: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -936,7 +938,7 @@ + fi + + echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +-echo "configure:940: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ++echo "configure:942: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +@@ -947,12 +949,12 @@ + + cat > conftest.$ac_ext << EOF + +-#line 951 "configure" ++#line 953 "configure" + #include "confdefs.h" + + main(){return(0);} + EOF +-if { (eval echo configure:956: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then +@@ -978,12 +980,12 @@ + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } + fi + echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +-echo "configure:982: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 ++echo "configure:984: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 + echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 + cross_compiling=$ac_cv_prog_cc_cross + + echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +-echo "configure:987: checking whether we are using GNU C" >&5 ++echo "configure:989: checking whether we are using GNU C" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -992,7 +994,7 @@ + yes; + #endif + EOF +-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes + else + ac_cv_prog_gcc=no +@@ -1011,7 +1013,7 @@ + ac_save_CFLAGS="$CFLAGS" + CFLAGS= + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +-echo "configure:1015: checking whether ${CC-cc} accepts -g" >&5 ++echo "configure:1017: checking whether ${CC-cc} accepts -g" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1048,7 +1050,7 @@ + #------------------------------------------------------------------------ + + echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +-echo "configure:1052: checking how to run the C preprocessor" >&5 ++echo "configure:1054: checking how to run the C preprocessor" >&5 + # On Suns, sometimes $CPP names a directory. + if test -n "$CPP" && test -d "$CPP"; then + CPP= +@@ -1063,13 +1065,13 @@ + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext <<EOF +-#line 1067 "configure" ++#line 1069 "configure" + #include "confdefs.h" + #include <assert.h> + Syntax Error + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1073: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -1080,13 +1082,13 @@ + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext <<EOF +-#line 1084 "configure" ++#line 1086 "configure" + #include "confdefs.h" + #include <assert.h> + Syntax Error + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -1097,13 +1099,13 @@ + rm -rf conftest* + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext <<EOF +-#line 1101 "configure" ++#line 1103 "configure" + #include "confdefs.h" + #include <assert.h> + Syntax Error + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1107: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -1131,17 +1133,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:1135: checking for $ac_hdr" >&5 ++echo "configure:1137: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 1140 "configure" ++#line 1142 "configure" + #include "confdefs.h" + #include <$ac_hdr> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1147: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -1174,7 +1176,7 @@ + + + echo $ac_n "checking for building with threads""... $ac_c" 1>&6 +-echo "configure:1178: checking for building with threads" >&5 ++echo "configure:1180: checking for building with threads" >&5 + # Check whether --enable-threads or --disable-threads was given. + if test "${enable_threads+set}" = set; then + enableval="$enable_threads" +@@ -1198,7 +1200,7 @@ + echo "configure: warning: "Tk on Unix is known to have problems with thread support. It is recommended that Tk be used with a non-thread enabled Tcl."" 1>&2 + + echo $ac_n "checking for pthread_mutex_init in -lpthread""... $ac_c" 1>&6 +-echo "configure:1202: checking for pthread_mutex_init in -lpthread" >&5 ++echo "configure:1204: checking for pthread_mutex_init in -lpthread" >&5 + ac_lib_var=`echo pthread'_'pthread_mutex_init | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -1206,7 +1208,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lpthread $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 1210 "configure" ++#line 1212 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -1217,7 +1219,7 @@ + pthread_mutex_init() + ; return 0; } + EOF +-if { (eval echo configure:1221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -1260,18 +1262,18 @@ + if test -z "$no_pipe"; then + if test -n "$GCC"; then + echo $ac_n "checking if the compiler understands -pipe""... $ac_c" 1>&6 +-echo "configure:1264: checking if the compiler understands -pipe" >&5 ++echo "configure:1266: checking if the compiler understands -pipe" >&5 + OLDCC="$CC" + CC="$CC -pipe" + cat > conftest.$ac_ext <<EOF +-#line 1268 "configure" ++#line 1270 "configure" + #include "confdefs.h" + + int main() { + + ; return 0; } + EOF +-if { (eval echo configure:1275: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:1277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 + else +@@ -1306,7 +1308,7 @@ + fi + + echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6 +-echo "configure:1310: checking for Tcl configuration" >&5 ++echo "configure:1312: checking for Tcl configuration" >&5 + if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1376,7 +1378,7 @@ + + + echo $ac_n "checking for existence of $TCL_BIN_DIR/tclConfig.sh""... $ac_c" 1>&6 +-echo "configure:1380: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5 ++echo "configure:1382: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5 + + if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then + echo "$ac_t""loading" 1>&6 +@@ -1399,6 +1401,50 @@ + + + #-------------------------------------------------------------------- ++# i18n improvement (also check it is specified in Tcl) ++#-------------------------------------------------------------------- ++ ++ ++ echo $ac_n "checking if i18n improvement features are enabled""... $ac_c" 1>&6 ++echo "configure:1410: checking if i18n improvement features are enabled" >&5 ++ # Check whether --enable-i18nImprove or --disable-i18nImprove was given. ++if test "${enable_i18nImprove+set}" = set; then ++ enableval="$enable_i18nImprove" ++ tcl_ok=$enableval ++else ++ tcl_ok=yes ++fi ++ ++ ++ if test "${enable_i18nImprove+set}" = set; then ++ enableval="$enable_i18nImprove" ++ tcl_ok=$enableval ++ else ++ tcl_ok=yes ++ fi ++ ++ if test ! -z "${TCL_I18N_IMPROVE_FLAGS}" ; then ++ if test "$tcl_ok" = "yes" ; then ++ echo "$ac_t""enabled" 1>&6 ++ I18N_FLAGS='-DI18N_IMPROVE' ++ else ++ echo "$ac_t""disabled: warning: Tcl is configured as enabling these features." 1>&6 ++ I18N_FLAGS='' ++ fi ++ else ++ if test "$tcl_ok" = "yes" ; then ++ echo "$ac_t""Tcl is not configured as enabling these features. Re-configure the Tcl with --enable-i18nImprove." 1>&6 ++ exit 1 ++ else ++ echo "$ac_t""disabled" 1>&6 ++ I18N_FLAGS='' ++ fi ++ fi ++ ++ ++ ++ ++#-------------------------------------------------------------------- + # Recompute the necessary flags to run the compiler + #-------------------------------------------------------------------- + +@@ -1407,7 +1453,7 @@ + # Step 0: Enable 64 bit support? + + echo $ac_n "checking if 64bit support is enabled""... $ac_c" 1>&6 +-echo "configure:1411: checking if 64bit support is enabled" >&5 ++echo "configure:1457: checking if 64bit support is enabled" >&5 + # Check whether --enable-64bit or --disable-64bit was given. + if test "${enable_64bit+set}" = set; then + enableval="$enable_64bit" +@@ -1430,7 +1476,7 @@ + # there are a few systems, like Next, where this doesn't work. + + echo $ac_n "checking system version (for dynamic loading)""... $ac_c" 1>&6 +-echo "configure:1434: checking system version (for dynamic loading)" >&5 ++echo "configure:1480: checking system version (for dynamic loading)" >&5 + if test -f /usr/lib/NextStep/software_version; then + system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` + else +@@ -1462,7 +1508,7 @@ + # Linux can use either -ldl or -ldld for dynamic loading. + + echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 +-echo "configure:1466: checking for dlopen in -ldl" >&5 ++echo "configure:1512: checking for dlopen in -ldl" >&5 + ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -1470,7 +1516,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-ldl $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 1474 "configure" ++#line 1520 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -1481,7 +1527,7 @@ + dlopen() + ; return 0; } + EOF +-if { (eval echo configure:1485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -1587,7 +1633,7 @@ + HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*|HP-UX-*.11.*) + SHLIB_SUFFIX=".sl" + echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 +-echo "configure:1591: checking for shl_load in -ldld" >&5 ++echo "configure:1637: checking for shl_load in -ldld" >&5 + ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -1595,7 +1641,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-ldld $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 1599 "configure" ++#line 1645 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -1606,7 +1652,7 @@ + shl_load() + ; return 0; } + EOF +-if { (eval echo configure:1610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -1702,17 +1748,17 @@ + else + ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for dld.h""... $ac_c" 1>&6 +-echo "configure:1706: checking for dld.h" >&5 ++echo "configure:1752: checking for dld.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 1711 "configure" ++#line 1757 "configure" + #include "confdefs.h" + #include <dld.h> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1716: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1762: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -1763,21 +1809,21 @@ + LDFLAGS="-Wl,-Bexport" + LD_SEARCH_FLAGS="" + ;; +- NetBSD-*|FreeBSD-[1-2].*|OpenBSD-*) ++ NetBSD-*|FreeBSD-*|OpenBSD-*) + # Not available on all versions: check for include file. + ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 +-echo "configure:1771: checking for dlfcn.h" >&5 ++echo "configure:1817: checking for dlfcn.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 1776 "configure" ++#line 1822 "configure" + #include "confdefs.h" + #include <dlfcn.h> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1781: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1827: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -1804,9 +1850,9 @@ + LDFLAGS="" + LD_SEARCH_FLAGS="" + echo $ac_n "checking for ELF""... $ac_c" 1>&6 +-echo "configure:1808: checking for ELF" >&5 ++echo "configure:1854: checking for ELF" >&5 + cat > conftest.$ac_ext <<EOF +-#line 1810 "configure" ++#line 1856 "configure" + #include "confdefs.h" + + #ifdef __ELF__ +@@ -1847,6 +1893,7 @@ + # FreeBSD doesn't handle version numbers with dots. + + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1' + TCL_LIB_VERSIONS_OK=nodots + ;; + FreeBSD-*) +@@ -2037,17 +2084,17 @@ + # that don't grok the -Bexport option. Test that it does. + hold_ldflags=$LDFLAGS + echo $ac_n "checking for ld accepts -Bexport flag""... $ac_c" 1>&6 +-echo "configure:2041: checking for ld accepts -Bexport flag" >&5 ++echo "configure:2087: checking for ld accepts -Bexport flag" >&5 + LDFLAGS="${LDFLAGS} -Wl,-Bexport" + cat > conftest.$ac_ext <<EOF +-#line 2044 "configure" ++#line 2090 "configure" + #include "confdefs.h" + + int main() { + int i; + ; return 0; } + EOF +-if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:2097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + found=yes + else +@@ -2093,9 +2140,9 @@ + + if test "x$DL_OBJS" = "xtclLoadAout.o" ; then + echo $ac_n "checking sys/exec.h""... $ac_c" 1>&6 +-echo "configure:2097: checking sys/exec.h" >&5 ++echo "configure:2143: checking sys/exec.h" >&5 + cat > conftest.$ac_ext <<EOF +-#line 2099 "configure" ++#line 2145 "configure" + #include "confdefs.h" + #include <sys/exec.h> + int main() { +@@ -2113,7 +2160,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:2117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:2163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tcl_ok=usable + else +@@ -2131,9 +2178,9 @@ + + else + echo $ac_n "checking a.out.h""... $ac_c" 1>&6 +-echo "configure:2135: checking a.out.h" >&5 ++echo "configure:2181: checking a.out.h" >&5 + cat > conftest.$ac_ext <<EOF +-#line 2137 "configure" ++#line 2183 "configure" + #include "confdefs.h" + #include <a.out.h> + int main() { +@@ -2151,7 +2198,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:2155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:2201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tcl_ok=usable + else +@@ -2169,9 +2216,9 @@ + + else + echo $ac_n "checking sys/exec_aout.h""... $ac_c" 1>&6 +-echo "configure:2173: checking sys/exec_aout.h" >&5 ++echo "configure:2219: checking sys/exec_aout.h" >&5 + cat > conftest.$ac_ext <<EOF +-#line 2175 "configure" ++#line 2221 "configure" + #include "confdefs.h" + #include <sys/exec_aout.h> + int main() { +@@ -2189,7 +2236,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:2193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:2239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tcl_ok=usable + else +@@ -2282,7 +2329,7 @@ + + + echo $ac_n "checking for build with symbols""... $ac_c" 1>&6 +-echo "configure:2286: checking for build with symbols" >&5 ++echo "configure:2332: checking for build with symbols" >&5 + # Check whether --enable-symbols or --disable-symbols was given. + if test "${enable_symbols+set}" = set; then + enableval="$enable_symbols" +@@ -2303,6 +2350,7 @@ + echo "$ac_t""no" 1>&6 + fi + ++TCL_SRC_DIR=${prefix}/include/tcl${TCL_VERSION} + + LIB_RUNTIME_DIR='${LIB_RUNTIME_DIR}' + +@@ -2326,12 +2374,12 @@ + #-------------------------------------------------------------------- + + echo $ac_n "checking for sin""... $ac_c" 1>&6 +-echo "configure:2330: checking for sin" >&5 ++echo "configure:2376: checking for sin" >&5 + if eval "test \"`echo '$''{'ac_cv_func_sin'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2335 "configure" ++#line 2381 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char sin(); below. */ +@@ -2354,7 +2402,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:2358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:2404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_sin=yes" + else +@@ -2375,7 +2423,7 @@ + fi + + echo $ac_n "checking for main in -lieee""... $ac_c" 1>&6 +-echo "configure:2379: checking for main in -lieee" >&5 ++echo "configure:2425: checking for main in -lieee" >&5 + ac_lib_var=`echo ieee'_'main | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -2383,14 +2431,14 @@ + ac_save_LIBS="$LIBS" + LIBS="-lieee $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 2387 "configure" ++#line 2433 "configure" + #include "confdefs.h" + + int main() { + main() + ; return 0; } + EOF +-if { (eval echo configure:2394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:2440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -2421,7 +2469,7 @@ + libbsd=no + if test "`uname -s`" = "AIX" ; then + echo $ac_n "checking for gettimeofday in -lbsd""... $ac_c" 1>&6 +-echo "configure:2425: checking for gettimeofday in -lbsd" >&5 ++echo "configure:2471: checking for gettimeofday in -lbsd" >&5 + ac_lib_var=`echo bsd'_'gettimeofday | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -2429,7 +2477,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lbsd $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 2433 "configure" ++#line 2479 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -2440,7 +2488,7 @@ + gettimeofday() + ; return 0; } + EOF +-if { (eval echo configure:2444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:2490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -2471,9 +2519,9 @@ + #-------------------------------------------------------------------- + + echo $ac_n "checking stdlib.h""... $ac_c" 1>&6 +-echo "configure:2475: checking stdlib.h" >&5 ++echo "configure:2521: checking stdlib.h" >&5 + cat > conftest.$ac_ext <<EOF +-#line 2477 "configure" ++#line 2523 "configure" + #include "confdefs.h" + #include <stdlib.h> + EOF +@@ -2488,7 +2536,7 @@ + rm -f conftest* + + cat > conftest.$ac_ext <<EOF +-#line 2492 "configure" ++#line 2538 "configure" + #include "confdefs.h" + #include <stdlib.h> + EOF +@@ -2502,7 +2550,7 @@ + rm -f conftest* + + cat > conftest.$ac_ext <<EOF +-#line 2506 "configure" ++#line 2552 "configure" + #include "confdefs.h" + #include <stdlib.h> + EOF +@@ -2534,16 +2582,16 @@ + #-------------------------------------------------------------------- + + echo $ac_n "checking fd_set and sys/select""... $ac_c" 1>&6 +-echo "configure:2538: checking fd_set and sys/select" >&5 ++echo "configure:2584: checking fd_set and sys/select" >&5 + cat > conftest.$ac_ext <<EOF +-#line 2540 "configure" ++#line 2586 "configure" + #include "confdefs.h" + #include <sys/types.h> + int main() { + fd_set readMask, writeMask; + ; return 0; } + EOF +-if { (eval echo configure:2547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:2593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tk_ok=yes + else +@@ -2555,7 +2603,7 @@ + rm -f conftest* + if test $tk_ok = no; then + cat > conftest.$ac_ext <<EOF +-#line 2559 "configure" ++#line 2605 "configure" + #include "confdefs.h" + #include <sys/select.h> + EOF +@@ -2587,12 +2635,12 @@ + #-------------------------------------------------------------------- + + echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +-echo "configure:2591: checking for ANSI C header files" >&5 ++echo "configure:2637: checking for ANSI C header files" >&5 + if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2596 "configure" ++#line 2642 "configure" + #include "confdefs.h" + #include <stdlib.h> + #include <stdarg.h> +@@ -2600,7 +2648,7 @@ + #include <float.h> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:2604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:2650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -2617,7 +2665,7 @@ + if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat > conftest.$ac_ext <<EOF +-#line 2621 "configure" ++#line 2667 "configure" + #include "confdefs.h" + #include <string.h> + EOF +@@ -2635,7 +2683,7 @@ + if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat > conftest.$ac_ext <<EOF +-#line 2639 "configure" ++#line 2685 "configure" + #include "confdefs.h" + #include <stdlib.h> + EOF +@@ -2656,7 +2704,7 @@ + : + else + cat > conftest.$ac_ext <<EOF +-#line 2660 "configure" ++#line 2706 "configure" + #include "confdefs.h" + #include <ctype.h> + #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +@@ -2667,7 +2715,7 @@ + exit (0); } + + EOF +-if { (eval echo configure:2671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:2717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + : + else +@@ -2691,12 +2739,12 @@ + fi + + echo $ac_n "checking for mode_t""... $ac_c" 1>&6 +-echo "configure:2695: checking for mode_t" >&5 ++echo "configure:2741: checking for mode_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2700 "configure" ++#line 2746 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS +@@ -2724,12 +2772,12 @@ + fi + + echo $ac_n "checking for pid_t""... $ac_c" 1>&6 +-echo "configure:2728: checking for pid_t" >&5 ++echo "configure:2774: checking for pid_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2733 "configure" ++#line 2779 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS +@@ -2757,12 +2805,12 @@ + fi + + echo $ac_n "checking for size_t""... $ac_c" 1>&6 +-echo "configure:2761: checking for size_t" >&5 ++echo "configure:2807: checking for size_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2766 "configure" ++#line 2812 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS +@@ -2790,12 +2838,12 @@ + fi + + echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 +-echo "configure:2794: checking for uid_t in sys/types.h" >&5 ++echo "configure:2840: checking for uid_t in sys/types.h" >&5 + if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2799 "configure" ++#line 2845 "configure" + #include "confdefs.h" + #include <sys/types.h> + EOF +@@ -2832,17 +2880,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:2836: checking for $ac_hdr" >&5 ++echo "configure:2882: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2841 "configure" ++#line 2887 "configure" + #include "confdefs.h" + #include <$ac_hdr> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:2846: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:2892: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -2869,12 +2917,12 @@ + done + + echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 +-echo "configure:2873: checking whether time.h and sys/time.h may both be included" >&5 ++echo "configure:2919: checking whether time.h and sys/time.h may both be included" >&5 + if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 2878 "configure" ++#line 2924 "configure" + #include "confdefs.h" + #include <sys/types.h> + #include <sys/time.h> +@@ -2883,7 +2931,7 @@ + struct tm *tp; + ; return 0; } + EOF +-if { (eval echo configure:2887: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:2933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_header_time=yes + else +@@ -2909,16 +2957,16 @@ + #------------------------------------------- + + echo $ac_n "checking pw_gecos in struct pwd""... $ac_c" 1>&6 +-echo "configure:2913: checking pw_gecos in struct pwd" >&5 ++echo "configure:2959: checking pw_gecos in struct pwd" >&5 + cat > conftest.$ac_ext <<EOF +-#line 2915 "configure" ++#line 2961 "configure" + #include "confdefs.h" + #include <pwd.h> + int main() { + struct passwd pwd; pwd.pw_gecos; + ; return 0; } + EOF +-if { (eval echo configure:2922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:2968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tk_ok=yes + else +@@ -2951,7 +2999,7 @@ + # Uses ac_ vars as temps to allow command line to override cache and checks. + # --without-x overrides everything else, but does not touch the cache. + echo $ac_n "checking for X""... $ac_c" 1>&6 +-echo "configure:2955: checking for X" >&5 ++echo "configure:3001: checking for X" >&5 + + # Check whether --with-x or --without-x was given. + if test "${with_x+set}" = set; then +@@ -3013,12 +3061,12 @@ + + # First, try using that file with no special directory specified. + cat > conftest.$ac_ext <<EOF +-#line 3017 "configure" ++#line 3063 "configure" + #include "confdefs.h" + #include <$x_direct_test_include> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:3022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:3068: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -3087,14 +3135,14 @@ + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 3091 "configure" ++#line 3137 "configure" + #include "confdefs.h" + + int main() { + ${x_direct_test_function}() + ; return 0; } + EOF +-if { (eval echo configure:3098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + LIBS="$ac_save_LIBS" + # We can link X programs with no special library path. +@@ -3184,12 +3232,12 @@ + if test "$no_x" = ""; then + if test "$x_includes" = ""; then + cat > conftest.$ac_ext <<EOF +-#line 3188 "configure" ++#line 3234 "configure" + #include "confdefs.h" + #include <X11/XIntrinsic.h> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:3193: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:3239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -3209,15 +3257,15 @@ + fi + if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then + echo $ac_n "checking for X11 header files""... $ac_c" 1>&6 +-echo "configure:3213: checking for X11 header files" >&5 ++echo "configure:3259: checking for X11 header files" >&5 + XINCLUDES="# no special path needed" + cat > conftest.$ac_ext <<EOF +-#line 3216 "configure" ++#line 3262 "configure" + #include "confdefs.h" + #include <X11/Intrinsic.h> + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:3221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:3267: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -3253,7 +3301,7 @@ + + if test "$no_x" = yes; then + echo $ac_n "checking for X11 libraries""... $ac_c" 1>&6 +-echo "configure:3257: checking for X11 libraries" >&5 ++echo "configure:3303: checking for X11 libraries" >&5 + XLIBSW=nope + dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib" + for i in $dirs ; do +@@ -3273,7 +3321,7 @@ + fi + if test "$XLIBSW" = nope ; then + echo $ac_n "checking for XCreateWindow in -lXwindow""... $ac_c" 1>&6 +-echo "configure:3277: checking for XCreateWindow in -lXwindow" >&5 ++echo "configure:3323: checking for XCreateWindow in -lXwindow" >&5 + ac_lib_var=`echo Xwindow'_'XCreateWindow | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3281,7 +3329,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lXwindow $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 3285 "configure" ++#line 3331 "configure" + #include "confdefs.h" + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 +@@ -3292,7 +3340,7 @@ + XCreateWindow() + ; return 0; } + EOF +-if { (eval echo configure:3296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3377,7 +3425,7 @@ + #-------------------------------------------------------------------- + + echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 +-echo "configure:3381: checking for main in -lXbsd" >&5 ++echo "configure:3427: checking for main in -lXbsd" >&5 + ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3385,14 +3433,14 @@ + ac_save_LIBS="$LIBS" + LIBS="-lXbsd $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 3389 "configure" ++#line 3435 "configure" + #include "confdefs.h" + + int main() { + main() + ; return 0; } + EOF +-if { (eval echo configure:3396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3415,12 +3463,12 @@ + + tk_checkBoth=0 + echo $ac_n "checking for connect""... $ac_c" 1>&6 +-echo "configure:3419: checking for connect" >&5 ++echo "configure:3465: checking for connect" >&5 + if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 3424 "configure" ++#line 3470 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char connect(); below. */ +@@ -3443,7 +3491,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:3447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_connect=yes" + else +@@ -3465,7 +3513,7 @@ + + if test "$tk_checkSocket" = 1; then + echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6 +-echo "configure:3469: checking for main in -lsocket" >&5 ++echo "configure:3515: checking for main in -lsocket" >&5 + ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3473,14 +3521,14 @@ + ac_save_LIBS="$LIBS" + LIBS="-lsocket $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 3477 "configure" ++#line 3523 "configure" + #include "confdefs.h" + + int main() { + main() + ; return 0; } + EOF +-if { (eval echo configure:3484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3506,12 +3554,12 @@ + tk_oldLibs=$LIBS + LIBS="$LIBS -lsocket -lnsl" + echo $ac_n "checking for accept""... $ac_c" 1>&6 +-echo "configure:3510: checking for accept" >&5 ++echo "configure:3556: checking for accept" >&5 + if eval "test \"`echo '$''{'ac_cv_func_accept'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 3515 "configure" ++#line 3561 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char accept(); below. */ +@@ -3534,7 +3582,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:3538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_accept=yes" + else +@@ -3556,12 +3604,12 @@ + + fi + echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 +-echo "configure:3560: checking for gethostbyname" >&5 ++echo "configure:3606: checking for gethostbyname" >&5 + if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 3565 "configure" ++#line 3611 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gethostbyname(); below. */ +@@ -3584,7 +3632,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:3588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_gethostbyname=yes" + else +@@ -3602,7 +3650,7 @@ + else + echo "$ac_t""no" 1>&6 + echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6 +-echo "configure:3606: checking for main in -lnsl" >&5 ++echo "configure:3652: checking for main in -lnsl" >&5 + ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3610,14 +3658,14 @@ + ac_save_LIBS="$LIBS" + LIBS="-lnsl $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 3614 "configure" ++#line 3660 "configure" + #include "confdefs.h" + + int main() { + main() + ; return 0; } + EOF +-if { (eval echo configure:3621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3657,13 +3705,13 @@ + + if test -d /usr/include/mit ; then + echo $ac_n "checking MIT X libraries""... $ac_c" 1>&6 +-echo "configure:3661: checking MIT X libraries" >&5 ++echo "configure:3707: checking MIT X libraries" >&5 + tk_oldCFlags=$CFLAGS + CFLAGS="$CFLAGS -I/usr/include/mit" + tk_oldLibs=$LIBS + LIBS="$LIBS -lX11-mit" + cat > conftest.$ac_ext <<EOF +-#line 3667 "configure" ++#line 3713 "configure" + #include "confdefs.h" + + #include <X11/Xlib.h> +@@ -3674,7 +3722,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:3678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 +@@ -3701,12 +3749,12 @@ + + MATH_LIBS="" + echo $ac_n "checking for sin""... $ac_c" 1>&6 +-echo "configure:3705: checking for sin" >&5 ++echo "configure:3751: checking for sin" >&5 + if eval "test \"`echo '$''{'ac_cv_func_sin'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 3710 "configure" ++#line 3756 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char sin(); below. */ +@@ -3729,7 +3777,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:3733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_sin=yes" + else +@@ -3750,7 +3798,7 @@ + fi + + echo $ac_n "checking for main in -lieee""... $ac_c" 1>&6 +-echo "configure:3754: checking for main in -lieee" >&5 ++echo "configure:3800: checking for main in -lieee" >&5 + ac_lib_var=`echo ieee'_'main | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3758,14 +3806,14 @@ + ac_save_LIBS="$LIBS" + LIBS="-lieee $LIBS" + cat > conftest.$ac_ext <<EOF +-#line 3762 "configure" ++#line 3808 "configure" + #include "confdefs.h" + + int main() { + main() + ; return 0; } + EOF +-if { (eval echo configure:3769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3792,14 +3840,14 @@ + #-------------------------------------------------------------------- + + echo $ac_n "checking whether char is unsigned""... $ac_c" 1>&6 +-echo "configure:3796: checking whether char is unsigned" >&5 ++echo "configure:3842: checking whether char is unsigned" >&5 + if eval "test \"`echo '$''{'ac_cv_c_char_unsigned'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + if test "$GCC" = yes; then + # GCC predefines this symbol on systems where it applies. + cat > conftest.$ac_ext <<EOF +-#line 3803 "configure" ++#line 3849 "configure" + #include "confdefs.h" + #ifdef __CHAR_UNSIGNED__ + yes +@@ -3821,7 +3869,7 @@ + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } + else + cat > conftest.$ac_ext <<EOF +-#line 3825 "configure" ++#line 3871 "configure" + #include "confdefs.h" + /* volatile prevents gcc2 from optimizing the test away on sparcs. */ + #if !defined(__STDC__) || __STDC__ != 1 +@@ -3831,7 +3879,7 @@ + volatile char c = 255; exit(c < 0); + } + EOF +-if { (eval echo configure:3835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:3881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv_c_char_unsigned=yes + else +@@ -3864,12 +3912,12 @@ + + + echo $ac_n "checking for strtod""... $ac_c" 1>&6 +-echo "configure:3868: checking for strtod" >&5 ++echo "configure:3914: checking for strtod" >&5 + if eval "test \"`echo '$''{'ac_cv_func_strtod'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +-#line 3873 "configure" ++#line 3919 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char strtod(); below. */ +@@ -3892,7 +3940,7 @@ + + ; return 0; } + EOF +-if { (eval echo configure:3896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_strtod=yes" + else +@@ -3914,12 +3962,12 @@ + + if test "$tk_strtod" = 1; then + echo $ac_n "checking for Solaris 2.4 strtod bug""... $ac_c" 1>&6 +-echo "configure:3918: checking for Solaris 2.4 strtod bug" >&5 ++echo "configure:3964: checking for Solaris 2.4 strtod bug" >&5 + if test "$cross_compiling" = yes; then + tk_ok=0 + else + cat > conftest.$ac_ext <<EOF +-#line 3923 "configure" ++#line 3969 "configure" + #include "confdefs.h" + + extern double strtod(); +@@ -3939,7 +3987,7 @@ + exit(0); + } + EOF +-if { (eval echo configure:3943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:3989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + tk_ok=1 + else +@@ -3970,7 +4018,7 @@ + + + echo $ac_n "checking how to build libraries""... $ac_c" 1>&6 +-echo "configure:3974: checking how to build libraries" >&5 ++echo "configure:4020: 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" +@@ -4049,6 +4097,202 @@ + TK_SHARED_BUILD=${SHARED_BUILD} + + #-------------------------------------------------------------------- ++# Checking X lib for i18n related things. ++#-------------------------------------------------------------------- ++ ++X11_IMAKE_FLAGS="" ++tk_oldCflags=$CFLAGS ++tk_oldLibs=$LIBS ++CFLAGS="$CFLAGS $XINCLUDES" ++LIBS="$XLIBSW $LIBS" ++ ++echo $ac_n "checking XRegisterIMInstantiateCallback""... $ac_c" 1>&6 ++echo "configure:4109: checking XRegisterIMInstantiateCallback" >&5 ++cat > conftest.$ac_ext <<EOF ++#line 4111 "configure" ++#include "confdefs.h" ++ ++#include <X11/Xlib.h> ++ ++int main() { ++ ++XRegisterIMInstantiateCallback(0, 0, 0, 0, 0, 0); ++ ++; return 0; } ++EOF ++if { (eval echo configure:4122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++ rm -rf conftest* ++ ++echo "$ac_t""yes" 1>&6 ++X11_IMAKE_FLAGS="-DHAVE_XIMREGINSTCB" ++ ++else ++ echo "configure: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ rm -rf conftest* ++ ++echo "$ac_t""no" 1>&6 ++ ++fi ++rm -f conftest* ++ ++echo $ac_n "checking XIDProc""... $ac_c" 1>&6 ++echo "configure:4139: checking XIDProc" >&5 ++cat > conftest.$ac_ext <<EOF ++#line 4141 "configure" ++#include "confdefs.h" ++ ++#include <X11/Xlib.h> ++ ++int main() { ++ ++XIDProc *a; ++ ++; return 0; } ++EOF ++if { (eval echo configure:4152: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++ rm -rf conftest* ++ ++echo "$ac_t""yes" 1>&6 ++ ++else ++ echo "configure: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ rm -rf conftest* ++ ++echo "$ac_t""no" 1>&6 ++X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS -DNO_XIDPROC" ++ ++fi ++rm -f conftest* ++ ++HAVE_XMKMF="" ++# Extract the first word of "xmkmf", so it can be a program name with args. ++set dummy xmkmf; ac_word=$2 ++echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ++echo "configure:4172: checking for $ac_word" >&5 ++if eval "test \"`echo '$''{'ac_cv_path_HAVE_XMKMF'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ case "$HAVE_XMKMF" in ++ /*) ++ ac_cv_path_HAVE_XMKMF="$HAVE_XMKMF" # Let the user override the test with a path. ++ ;; ++ ?:/*) ++ ac_cv_path_HAVE_XMKMF="$HAVE_XMKMF" # Let the user override the test with a dos path. ++ ;; ++ *) ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ++ ac_dummy="${PATH}:/usr/X11R6/bin:/usr/X11R5/bin:/usr/local/X11R6/bin:/usr/local/X11R5/bin:/usr/openwin/bin:/usr/X11/bin:/usr/X386/bin:/usr/sww/bin:/usr/unsupported/bin" ++ for ac_dir in $ac_dummy; do ++ test -z "$ac_dir" && ac_dir=. ++ if test -f $ac_dir/$ac_word; then ++ ac_cv_path_HAVE_XMKMF="$ac_dir/$ac_word" ++ break ++ fi ++ done ++ IFS="$ac_save_ifs" ++ test -z "$ac_cv_path_HAVE_XMKMF" && ac_cv_path_HAVE_XMKMF="""" ++ ;; ++esac ++fi ++HAVE_XMKMF="$ac_cv_path_HAVE_XMKMF" ++if test -n "$HAVE_XMKMF"; then ++ echo "$ac_t""$HAVE_XMKMF" 1>&6 ++else ++ echo "$ac_t""no" 1>&6 ++fi ++ ++if test "X$HAVE_XMKMF" != "X"; then ++ IMAKE_FLAGS="" ++ if test -d ImakeCheck; then ++ rm -rf ImakeCheck ++ fi ++ mkdir ImakeCheck ++ cat << EOF > ImakeCheck/Imakefile ++SRCS = dummy.c ++OBJS = dummy.o ++ ++ComplexProgramTarget(dummy) ++EOF ++ cat << EOF > ImakeCheck/dummy.c ++static int justAnInt = 0; ++EOF ++ (cd ./ImakeCheck; rm -f Makefile Makefile.*; eval $HAVE_XMKMF) > /dev/null 2>&1 ++ for i in `(cd ./ImakeCheck; make -n dummy.o)` ++ do ++ case $i in -D*) IMAKE_FLAGS="$IMAKE_FLAGS $i";; esac ++ done ++ if test "X$IMAKE_FLAGS" != "X"; then ++ echo "$ac_t""Add these flags for proper compile: $IMAKE_FLAGS" 1>&6 ++ X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS $IMAKE_FLAGS" ++ fi ++ rm -rf ImakeCheck ++fi ++ ++# At last check FreeBSD and have -lxpg4. ++echo $ac_n "checking system version (for additional locale library)""... $ac_c" 1>&6 ++echo "configure:4234: checking system version (for additional locale library)" >&5 ++if test -f /usr/lib/NextStep/software_version; then ++ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` ++else ++ system=`uname -s`-`uname -r` ++ if test "$?" -ne 0 ; then ++ system=unknown ++ else ++ # Special check for weird MP-RAS system (uname returns weird ++ # results, and the version is kept in special file). ++ ++ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then ++ system=MP-RAS-`awk '{print $3}' /etc/.relid'` ++ fi ++ if test "`uname -s`" = "AIX" ; then ++ system=AIX-`uname -v`.`uname -r` ++ fi ++ fi ++fi ++ ++case $system in ++ FreeBSD-*) ++ LIBS="$XLIBSW -lxpg4 $tk_oldLibs" ++ CFLAGS="$CFLAGS $X11_IMAKE_FLAGS" ++ cat > conftest.$ac_ext <<EOF ++#line 4259 "configure" ++#include "confdefs.h" ++ ++#include <locale.h> ++ ++int main() { ++ ++(void)setlocale(LC_ALL, ""); ++ ++; return 0; } ++EOF ++if { (eval echo configure:4270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++ rm -rf conftest* ++ ++echo "$ac_t""use xpg4 library." 1>&6 ++XLIBSW="$XLIBSW -lxpg4" ++ ++else ++ echo "configure: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ rm -rf conftest* ++ ++echo "$ac_t""no need other libraries." 1>&6 ++ ++fi ++rm -f conftest* ++ ;; ++ *) ++ echo "$ac_t""No additional library is needed." 1>&6 ++ ;; ++esac ++ ++CFLAGS=$tk_oldCflags ++LIBS=$tk_oldLibs ++ ++#-------------------------------------------------------------------- + # The statements below define various symbols relating to creating + # the stub'd version of the Tk library + # +@@ -4281,10 +4525,12 @@ + s%@TCL_BIN_DIR@%$TCL_BIN_DIR%g + s%@TCL_SRC_DIR@%$TCL_SRC_DIR%g + s%@TCL_LIB_FILE@%$TCL_LIB_FILE%g ++s%@I18N_FLAGS@%$I18N_FLAGS%g + s%@DL_LIBS@%$DL_LIBS%g + s%@CFLAGS_DEBUG@%$CFLAGS_DEBUG%g + s%@CFLAGS_OPTIMIZE@%$CFLAGS_OPTIMIZE%g + s%@CFLAGS_WARNING@%$CFLAGS_WARNING%g ++s%@HAVE_XMKMF@%$HAVE_XMKMF%g + s%@STUB_LIB_FILE@%$STUB_LIB_FILE%g + s%@TK_STUB_LIB_FILE@%$TK_STUB_LIB_FILE%g + s%@TK_STUB_LIB_FLAG@%$TK_STUB_LIB_FLAG%g +@@ -4327,6 +4573,7 @@ + s%@XINCLUDES@%$XINCLUDES%g + s%@XLIBSW@%$XLIBSW%g + s%@TK_SHARED_BUILD@%$TK_SHARED_BUILD%g ++s%@X11_IMAKE_FLAGS@%$X11_IMAKE_FLAGS%g + + CEOF + EOF diff --git a/chinese/tk83/files/patch-ab b/chinese/tk83/files/patch-ab new file mode 100644 index 000000000000..5df3661fa2bc --- /dev/null +++ b/chinese/tk83/files/patch-ab @@ -0,0 +1,174 @@ +--- Makefile.in.orig Thu Feb 10 11:11:01 2000 ++++ Makefile.in Wed Feb 21 23:12:17 2001 +@@ -56,7 +56,9 @@ + BIN_DIR = $(exec_prefix)/bin + + # Directory in which to install the include file tk.h: +-INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include ++INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tk$(VERSION) ++GENERIC_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/generic ++UNIX_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/unix + + # Top-level directory for manual entries: + MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man +@@ -94,6 +96,9 @@ + CFLAGS_DEBUG = @CFLAGS_DEBUG@ + CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ + ++# I18n improvement flags ++I18N_FLAGS = @I18N_FLAGS@ ++ + # To change the compiler switches, for example to change from optimization to + # debugging symbols, change the following line: + #CFLAGS = $(CFLAGS_DEBUG) +@@ -153,7 +158,7 @@ + # "install" around; better to use the install-sh script that comes + # with the distribution, which is slower but guaranteed to work. + +-INSTALL = @srcdir@/install-sh -c ++INSTALL = install -c + INSTALL_PROGRAM = ${INSTALL} + INSTALL_DATA = ${INSTALL} -m 644 + +@@ -190,7 +195,7 @@ + # Libraries to use when linking. This definition is determined by the + # configure script. + LIBS = @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc +-WISH_LIBS = $(TCL_LIB_SPEC) @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc ++WISH_LIBS = -L${PREFIX}/lib -ltcl${SHORT_TK_VER} @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc + + # The symbol below provides support for dynamic loading and shared + # libraries. See configure.in for a description of what it means. +@@ -211,7 +216,8 @@ + # modify any of this stuff by hand. + #---------------------------------------------------------------- + +-AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@ ++AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@ @CPPFLAGS@ \ ++ @X11_IMAKE_FLAGS@ @I18N_FLAGS@ + RANLIB = @RANLIB@ + SRC_DIR = @srcdir@/.. + TOP_DIR = @srcdir@/.. +@@ -268,7 +274,8 @@ + tkUnixCursor.o tkUnixDraw.o tkUnixEmbed.o tkUnixEvent.o \ + tkUnixFocus.o tkUnixFont.o tkUnixInit.o tkUnixKey.o tkUnixMenu.o \ + tkUnixMenubu.o tkUnixScale.o tkUnixScrlbr.o tkUnixSelect.o \ +- tkUnixSend.o tkUnixWm.o tkUnixXId.o tkStubInit.o tkStubLib.o ++ tkUnixSend.o tkUnixWm.o tkUnixXId.o tkStubInit.o tkStubLib.o \ ++ tkUnixIm.o + + STUB_LIB_OBJS = tkStubLib.o tkStubImg.o + +@@ -330,6 +337,7 @@ + $(UNIX_DIR)/tkUnixEmbed.c $(UNIX_DIR)/tkUnixEvent.c \ + $(UNIX_DIR)/tkUnixFocus.c \ + $(UNIX_DIR)/tkUnixFont.c $(UNIX_DIR)/tkUnixInit.c \ ++ $(UNIX_DIR)/tkUnixIm.c \ + $(UNIX_DIR)/tkUnixKey.c \ + $(UNIX_DIR)/tkUnixMenu.c $(UNIX_DIR)/tkUnixMenubu.c \ + $(UNIX_DIR)/tkUnixScale.c $(UNIX_DIR)/tkUnixScrlbr.c \ +@@ -361,8 +369,14 @@ + ${TK_LIB_FILE}: ${OBJS} + rm -f ${TK_LIB_FILE} + @MAKE_LIB@ ++ ln -sf @TK_LIB_FILE@ libtk${SHORT_TK_VER}.so + $(RANLIB) ${TK_LIB_FILE} + ++libtk${SHORT_TK_VER}.a: ${OBJS} ++ rm -f libtk${SHORT_TK_VER}.a ++ ar cr libtk${SHORT_TK_VER}.a ${OBJS} ++ $(RANLIB) libtk${SHORT_TK_VER}.a ++ + ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} + rm -f ${STUB_LIB_FILE} + @MAKE_STUB_LIB@ +@@ -424,7 +438,7 @@ + # some ranlibs write to current directory, and this might not always be + # possible (e.g. if installing as root). + +-install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) wish ++install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) libtk${SHORT_TK_VER}.a wish + @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \ + do \ + if [ ! -d $$i ] ; then \ +@@ -442,12 +456,18 @@ + fi + @echo "Installing $(TK_LIB_FILE) to $(LIB_INSTALL_DIR)/" + @$(INSTALL_DATA) $(TK_LIB_FILE) $(LIB_INSTALL_DIR)/$(TK_LIB_FILE) ++ @ln -sf $(LIB_INSTALL_DIR)/$(TK_LIB_FILE) $(LIB_INSTALL_DIR)/libtk${SHORT_TK_VER}.so + @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TK_LIB_FILE)) + @chmod 555 $(LIB_INSTALL_DIR)/$(TK_LIB_FILE) ++ @echo "Installing libtk${SHORT_TK_VER}.a" ++ @$(INSTALL_DATA) libtk${SHORT_TK_VER}.a $(LIB_INSTALL_DIR)/libtk${SHORT_TK_VER}.a ++ @(cd $(LIB_INSTALL_DIR); $(RANLIB) libtk${SHORT_TK_VER}.a) ++ @chmod 555 $(LIB_INSTALL_DIR)/libtk${SHORT_TK_VER}.a + @echo "Installing wish as $(BIN_INSTALL_DIR)/wish$(VERSION)" + @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION) + @echo "Installing tkConfig.sh to $(LIB_INSTALL_DIR)/" +- @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tkConfig.sh ++ @mkdir -p $(LIB_INSTALL_DIR)/tk$(VERSION) ++ @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tk$(VERSION)/tkConfig.sh + @if test "$(TK_BUILD_EXP_FILE)" != ""; then \ + echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \ + $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \ +@@ -461,6 +481,7 @@ + + install-libraries: + @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \ ++ $(GENERIC_INCLUDE_INSTALL_DIR) $(UNIX_INCLUDE_INSTALL_DIR) \ + $(SCRIPT_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)/images; \ + do \ + if [ ! -d $$i ] ; then \ +@@ -474,10 +495,16 @@ + chmod +x $(UNIX_DIR)/install-sh; \ + fi + @echo "Installing header files"; +- @for i in $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkDecls.h ; \ ++ @for i in $(GENERIC_DIR)/*.h ; \ + do \ +- $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \ ++ $(INSTALL_DATA) $$i $(GENERIC_INCLUDE_INSTALL_DIR); \ + done; ++ @for i in $(UNIX_DIR)/*.h ; \ ++ do \ ++ $(INSTALL_DATA) $$i $(UNIX_INCLUDE_INSTALL_DIR); \ ++ done; ++ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tk.h $(INCLUDE_INSTALL_DIR)/tk.h ++ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tkDecls.h $(INCLUDE_INSTALL_DIR)/tkDecls.h + @echo "Installing library files to $(SCRIPT_INSTALL_DIR)"; + @for i in $(SRC_DIR)/library/*.tcl $(GENERIC_DIR)/prolog.ps \ + $(SRC_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \ +@@ -543,7 +570,6 @@ + chmod 444 $(MAN1_INSTALL_DIR)/$$i; \ + done; + @echo "Cross-linking top-level (.1) docs"; +- @$(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR) + @echo "Installing C API (.3) docs"; + @cd $(SRC_DIR)/doc; for i in *.3; \ + do \ +@@ -553,7 +579,6 @@ + chmod 444 $(MAN3_INSTALL_DIR)/$$i; \ + done; + @echo "Cross-linking top-level (.3) docs"; +- @$(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR) + @echo "Installing command (.n) docs"; + @cd $(SRC_DIR)/doc; for i in *.n; \ + do \ +@@ -563,7 +588,6 @@ + chmod 444 $(MANN_INSTALL_DIR)/$$i; \ + done; + @echo "Cross-linking command (.n) docs"; +- @$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR) + + Makefile: $(UNIX_DIR)/Makefile.in + $(SHELL) config.status +@@ -843,6 +867,9 @@ + + tkUnixFont.o: $(UNIX_DIR)/tkUnixFont.c + $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixFont.c ++ ++tkUnixIm.o: $(UNIX_DIR)/tkUnixIm.c ++ $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixIm.c + + tkUnixInit.o: $(UNIX_DIR)/tkUnixInit.c $(GENERIC_DIR)/tkInitScript.h tkConfig.sh + $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \ diff --git a/chinese/tk83/files/patch-ac b/chinese/tk83/files/patch-ac new file mode 100644 index 000000000000..2e75edd6df77 --- /dev/null +++ b/chinese/tk83/files/patch-ac @@ -0,0 +1,20 @@ +--- tkConfig.sh.in.orig Thu Feb 10 11:11:02 2000 ++++ tkConfig.sh.in Wed Feb 21 21:27:46 2001 +@@ -20,13 +20,16 @@ + TK_PATCH_LEVEL='@TK_PATCH_LEVEL@' + + # -D flags for use with the C compiler. +-TK_DEFS='@DEFS@' ++TK_DEFS='@DEFS@ @X11_IMAKE_FLAGS@ @I18N_FLAGS@' + + # Flag, 1: we built a shared lib, 0 we didn't + TK_SHARED_BUILD=@TK_SHARED_BUILD@ + + # This indicates if Tk was build with debugging symbols + TK_DBGX=@TK_DBGX@ ++ ++# I18n improvement flags ++TK_I18N_IMPROVE_FLAGS='@I18N_FLAGS@' + + # The name of the Tk library (may be either a .a file or a shared library): + TK_LIB_FILE='@TK_LIB_FILE@' diff --git a/chinese/tk83/files/patch-ad b/chinese/tk83/files/patch-ad new file mode 100644 index 000000000000..646c7b9685c0 --- /dev/null +++ b/chinese/tk83/files/patch-ad @@ -0,0 +1,34 @@ +--- tkUnixEvent.c.orig Fri Apr 16 01:51:46 1999 ++++ tkUnixEvent.c Wed Feb 21 22:51:52 2001 +@@ -161,7 +161,12 @@ + (void) XSync(dispPtr->display, False); + (void) XCloseDisplay(dispPtr->display); + } +- ++#ifdef I18N_IMPROVE ++ if (displayPtr->imEncoding != NULL) { ++ Tcl_FreeEncoding(displayPtr->imEncoding); ++ } ++#endif /* I18N_IMPROVE */ ++ + ckfree((char *) dispPtr); + } + +@@ -246,6 +251,17 @@ + + while (numFound > 0) { + XNextEvent(display, &event); ++#ifdef I18N_IMPROVE ++ /* ++ * To avoid Tk freezing by IM server's protocol bugs, ++ * Re-check queued event after an event is filterd. ++ * ++ */ ++ if (XFilterEvent(&event, None) == True) { ++ numFound = XEventsQueued(display, QueuedAlready); ++ continue; ++ } ++#endif /* I18N_IMPROVE */ + Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL); + numFound--; + } diff --git a/chinese/tk83/files/patch-ae b/chinese/tk83/files/patch-ae new file mode 100644 index 000000000000..0dd37176d73e --- /dev/null +++ b/chinese/tk83/files/patch-ae @@ -0,0 +1,261 @@ +--- tkUnixIm.c.orig Thu Feb 22 12:00:09 2001 ++++ tkUnixIm.c Thu Feb 22 12:01:30 2001 +@@ -0,0 +1,258 @@ ++/* ++ * tkUnixIm.c -- ++ * ++ * This file contains modules to implement the XIM protocol session. ++ * This is the shrinked version of tkXIM.c, worte for tk8.0jp. ++ * ++ * ++ * Copyright 1999, 2000 Software Research Associates, Inc. ++ * ++ * Permission to use, copy, modify, and distribute this software and its ++ * documentation for any purpose and without fee is hereby granted, provided ++ * that the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of Software Research Associates not be ++ * used in advertising or publicity pertaining to distribution of the ++ * software without specific, written prior permission. Software Research ++ * Associates makes no representations about the suitability of this software ++ * for any purpose. It is provided "as is" without express or implied ++ * warranty. ++ */ ++ ++#include "tkPort.h" ++#include "tkInt.h" ++ ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ ++static void TkpIMGenericHandler _ANSI_ARGS_((ClientData clientData, XEvent *eventPtr)); ++static TkWindow * GetToplevel _ANSI_ARGS_((TkWindow *winPtr)); ++static void TkpCreateIMGenericHandler _ANSI_ARGS_((Tk_Window tkwin)); ++static void TkpDeleteIMGenericHandler _ANSI_ARGS_((Tk_Window tkwin)); ++ ++static TkWindow * ++GetToplevel(winPtr) ++ TkWindow *winPtr; ++{ ++ while (!(winPtr->flags & TK_TOP_LEVEL)) { ++ winPtr = winPtr->parentPtr; ++ if (winPtr == NULL) { ++ return NULL; ++ } ++ } ++ return winPtr; ++} ++ ++ ++static void ++TkpIMGenericHandler(clientData, eventPtr) ++ ClientData clientData; ++ XEvent *eventPtr; ++{ ++ Tk_Window tkwin = (Tk_Window)clientData; ++ TkWindow *winPtr = (TkWindow *)clientData; ++ ++ if (eventPtr->xany.window != Tk_WindowId(tkwin) || ++ winPtr->inputContext == NULL || ++ !(winPtr->flags & TK_CHECKED_IC)) { ++ /* ++ * Why ME ??? ++ */ ++ return; ++ } ++ ++ /* ++ * Well, should I care about Enter/Leave ? ++ */ ++ ++ switch (eventPtr->type) { ++ case KeyPress: ++ case FocusIn: { ++ Window root, child; ++ int rootX, rootY; ++ int wX, wY; ++ unsigned int mask; ++ ++ /* ++ * Care about case mouse pointer is not on winPtr->window. ++ * In such a case, IM server can't fetch any events from Tk. ++ */ ++ ++ if (XQueryPointer(winPtr->display, ++ RootWindow(winPtr->display, winPtr->screenNum), ++ &root, &child, &rootX, &rootY, &wX, &wY, &mask) == True) { ++ TkWindow *pWin = (TkWindow *)Tk_CoordsToWindow(rootX, rootY, ++ (Tk_Window)winPtr); ++ if (pWin != NULL && (pWin->window != winPtr->window)) { ++#if 0 ++ /* ++ * Code belows are what I REALLY want to do. But, ++ * in XIMPreeditPosition mode, IM server use the ++ * focus window as key event source window and as ++ * PreeditArea window by X11 specification. I want ++ * IM server to use this focus window ONLY as key ++ * event source. Means: ++ * ++ * o PreeditArea and PreeditPosition take place ++ * within client window (winPtr->window). ++ * o KeyPress event source is the window in which ++ * mouse pointer is (pWin->window). ++ */ ++ ++ if (XSetICValues(winPtr->inputContext, XNFocusWindow, ++ pWin->window, NULL) != NULL) { ++ fprintf(stderr, "debugIC: can't set IC focus to pointer window 0x%08x\n", ++ pWin->window); ++ } else { ++ fprintf(stderr, "debugIC: set IC focus to pointer window 0x%08x\n", ++ pWin->window); ++ } ++#endif ++ /* ++ * Check pWin and winPtr are in same toplevel. ++ * If they are NOT, don't change focus. ++ */ ++ TkWindow *pTop = GetToplevel(pWin); ++ TkWindow *wTop = GetToplevel(winPtr); ++ if (pTop == wTop) { ++ TkpChangeFocus(winPtr, 1); ++ } ++ } ++ } ++ /* ++ * Get current focused window. ++ */ ++ if (winPtr->dispPtr->lastFocusedIC != winPtr->inputContext) { ++ winPtr->dispPtr->lastFocusedIC = winPtr->inputContext; ++ XSetICFocus(winPtr->inputContext); ++ } ++ break; ++ } ++ ++ case FocusOut: { ++ winPtr->dispPtr->lastFocusedIC = None; ++ XUnsetICFocus(winPtr->inputContext); ++ break; ++ } ++ ++ case DestroyNotify: { ++ winPtr->dispPtr->lastFocusedIC = NULL; ++ XUnsetICFocus(winPtr->inputContext); ++ TkpDeleteIMGenericHandler(tkwin); ++ break; ++ } ++ } ++} ++ ++ ++static void ++TkpCreateIMGenericHandler(tkwin) ++ Tk_Window tkwin; ++{ ++ Tk_CreateEventHandler(tkwin, FocusChangeMask|StructureNotifyMask|KeyPressMask ++#if 0 ++ EnterWindowMask|LeaveWindowMask, ++#else ++ , ++#endif ++ (Tk_EventProc *)TkpIMGenericHandler, ++ (ClientData)tkwin); ++} ++ ++ ++static void ++TkpDeleteIMGenericHandler(tkwin) ++ Tk_Window tkwin; ++{ ++ Tk_DeleteEventHandler(tkwin, FocusChangeMask|StructureNotifyMask|KeyPressMask ++#if 0 ++ EnterWindowMask|LeaveWindowMask, ++#else ++ , ++#endif ++ (Tk_EventProc *)TkpIMGenericHandler, ++ (ClientData)tkwin); ++} ++ ++ ++XIC ++TkpCreateIC(winPtr) ++ TkWindow *winPtr; ++{ ++ if (winPtr->dispPtr->inputMethod != NULL && ++ !(winPtr->flags & TK_CHECKED_IC)) { ++ winPtr->inputContext = ++ XCreateIC(winPtr->dispPtr->inputMethod, ++ XNInputStyle, XIMPreeditNothing|XIMStatusNothing, ++ XNClientWindow, winPtr->window, ++ XNFocusWindow, winPtr->window, ++ NULL); ++ if (winPtr->inputContext != NULL) { ++ TkpCreateIMGenericHandler((Tk_Window)winPtr); ++ } ++ } ++ winPtr->flags |= TK_CHECKED_IC; ++ return winPtr->inputContext; ++} ++ ++ ++void ++TkpDestroyIC(winPtr, needDestroy) ++ TkWindow *winPtr; ++ int needDestroy; ++{ ++ TkpDeleteIMGenericHandler((Tk_Window)winPtr); ++ if (winPtr->inputContext == winPtr->dispPtr->lastFocusedIC) { ++ winPtr->dispPtr->lastFocusedIC = None; ++ } ++ if (needDestroy == 1 && ++ winPtr->inputContext != NULL) { ++ XDestroyIC(winPtr->inputContext); ++ } ++ winPtr->flags &= ~(TK_CHECKED_IC); ++ winPtr->inputContext = NULL; ++} ++ ++ ++int ++Tk_ImconfigureObjCmd(clientData, interp, objc, objv) ++ ClientData clientData; /* Main window associated with ++ * interpreter. */ ++ Tcl_Interp *interp; /* Current interpreter. */ ++ int objc; /* Number of arguments. */ ++ Tcl_Obj *CONST objv[]; /* Argument objects. */ ++{ ++ Tk_Window tkwin = (Tk_Window)clientData; ++ Tcl_Obj *resultPtr = Tcl_GetObjResult(interp); ++ ++ if (objc < 2) { ++ Tcl_WrongNumArgs(interp, 1, objv, "path ?option? ?arg? ..."); ++ return TCL_ERROR; ++ } ++ ++ tkwin = Tk_NameToWindow(interp, Tcl_GetStringFromObj(objv[1], NULL), tkwin); ++ if (tkwin == NULL) { ++ return TCL_ERROR; ++ } ++ ++ if (((TkWindow *)tkwin)->dispPtr->useInputMethods == 0) { ++ /* ++ * Destroy XIC and leave. ++ */ ++ TkpDestroyIC((TkWindow *)tkwin, 1); ++ return TCL_OK; ++ } ++ ++ if (((TkWindow *)tkwin)->dispPtr->inputMethod == NULL) { ++ Tcl_AppendStringsToObj(resultPtr, "No IM server is available.", NULL); ++ return TCL_ERROR; ++ } ++ ++ Tcl_AppendStringsToObj(resultPtr, ++ (TkpCreateIC((TkWindow *)tkwin) != NULL) ? "1" : "0", ++ NULL); ++ return TCL_OK; ++} ++ ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ diff --git a/chinese/tk83/files/patch-af b/chinese/tk83/files/patch-af new file mode 100644 index 000000000000..8272362e08b8 --- /dev/null +++ b/chinese/tk83/files/patch-af @@ -0,0 +1,91 @@ +--- tkUnixKey.c.orig Wed Feb 9 02:13:54 2000 ++++ tkUnixKey.c Wed Feb 21 21:27:46 2001 +@@ -50,6 +50,10 @@ + int len; + Tcl_DString buf; + Status status; ++#if defined(I18N_IMPROVE) && defined(TK_USE_INPUT_METHODS) ++ Bool validString = False; ++ Bool usePreviousComposed = False; ++#endif /* I18N_IMPROVE && TK_USE_INPUT_METHODS */ + + /* + * Overallocate the dstring to the maximum stack amount. +@@ -59,8 +63,18 @@ + Tcl_DStringSetLength(&buf, TCL_DSTRING_STATIC_SIZE-1); + + #ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ /* ++ * If there is a valid XIC, must fetch strings here since some ++ * garbages still remain. After the fetching, if ++ * dispPtr->useInputMethods == 0, just trash the strings. ++ * m-hirano ++ */ ++ if ((winPtr->inputContext != NULL) ++#else + if (winPtr->dispPtr->useInputMethods + && (winPtr->inputContext != NULL) ++#endif /* I18N_IMPROVE */ + && (eventPtr->type == KeyPress)) { + len = XmbLookupString(winPtr->inputContext, &eventPtr->xkey, + Tcl_DStringValue(&buf), Tcl_DStringLength(&buf), +@@ -75,12 +89,27 @@ + Tcl_DStringValue(&buf), len, (KeySym *) NULL, &status); + } + if ((status != XLookupChars) && (status != XLookupBoth)) { ++#ifdef I18N_IMPROVE ++ if (winPtr->dispPtr->isComposed == 1 && ++ Tcl_DStringLength(&(winPtr->composedDStr)) > 0 && ++ winPtr->dispPtr->useInputMethods == 1) { ++ usePreviousComposed = True; ++ } ++#endif /* I18N_IMPROVE */ + len = 0; + } ++#ifdef I18N_IMPROVE ++ if (winPtr->dispPtr->useInputMethods == 1) { ++ validString = True; ++ } ++#endif /* I18N_IMPROVE */ + } else { + len = XLookupString(&eventPtr->xkey, Tcl_DStringValue(&buf), + Tcl_DStringLength(&buf), (KeySym *) NULL, + (XComposeStatus *) NULL); ++#ifdef I18N_IMPROVE ++ validString = True; ++#endif /* I18N_IMPROVE */ + } + #else /* TK_USE_INPUT_METHODS */ + len = XLookupString(&eventPtr->xkey, Tcl_DStringValue(&buf), +@@ -89,7 +118,30 @@ + #endif /* TK_USE_INPUT_METHODS */ + Tcl_DStringSetLength(&buf, len); + ++#if defined(I18N_IMPROVE) && defined(TK_USE_INPUT_METHODS) ++ if (validString == True) { ++ if (usePreviousComposed == False) { ++ Tcl_ExternalToUtfDString(winPtr->dispPtr->imEncoding, ++ Tcl_DStringValue(&buf), len, dsPtr); ++ Tcl_DStringFree(&(winPtr->composedDStr)); ++ Tcl_DStringInit(&(winPtr->composedDStr)); ++ Tcl_DStringAppend(&(winPtr->composedDStr), ++ Tcl_DStringValue(dsPtr), ++ Tcl_DStringLength(dsPtr)); ++ } else { ++ Tcl_DStringFree(dsPtr); ++ Tcl_DStringInit(dsPtr); ++ Tcl_DStringAppend(dsPtr, ++ Tcl_DStringValue(&(winPtr->composedDStr)), ++ Tcl_DStringLength(&(winPtr->composedDStr))); ++ } ++ } else { ++ Tcl_DStringFree(dsPtr); ++ Tcl_DStringInit(dsPtr); ++ } ++#else + Tcl_ExternalToUtfDString(NULL, Tcl_DStringValue(&buf), len, dsPtr); ++#endif /* I18N_IMPROVE && TK_USE_INPUT_METHODS */ + Tcl_DStringFree(&buf); + + return Tcl_DStringValue(dsPtr); diff --git a/chinese/tk83/files/patch-ag b/chinese/tk83/files/patch-ag new file mode 100644 index 000000000000..8920819aaa69 --- /dev/null +++ b/chinese/tk83/files/patch-ag @@ -0,0 +1,13 @@ +--- tkUnixPort.h.orig Fri Apr 16 01:51:47 1999 ++++ tkUnixPort.h Wed Feb 21 21:27:46 2001 +@@ -82,6 +82,10 @@ + #include <X11/Xresource.h> + #include <X11/Xutil.h> + ++#ifdef I18N_IMPROVE ++#include <X11/Xlocale.h> ++#endif /* I18N_IMPROVE */ ++ + /* + * The following macro defines the type of the mask arguments to + * select: diff --git a/chinese/tk83/files/patch-ah b/chinese/tk83/files/patch-ah new file mode 100644 index 000000000000..c865aa3e756f --- /dev/null +++ b/chinese/tk83/files/patch-ah @@ -0,0 +1,136 @@ +--- configure.in.orig Thu Feb 10 11:11:02 2000 ++++ configure.in Wed Feb 21 21:27:45 2001 +@@ -60,6 +60,12 @@ + SC_LOAD_TCLCONFIG + + #-------------------------------------------------------------------- ++# i18n improvement (also check it is specified in Tcl) ++#-------------------------------------------------------------------- ++ ++SC_ENABLE_I18N_IMPROVE ++ ++#-------------------------------------------------------------------- + # Recompute the necessary flags to run the compiler + #-------------------------------------------------------------------- + +@@ -372,6 +378,113 @@ + TK_SHARED_BUILD=${SHARED_BUILD} + + #-------------------------------------------------------------------- ++# Checking X lib for i18n related things. ++#-------------------------------------------------------------------- ++ ++X11_IMAKE_FLAGS="" ++tk_oldCflags=$CFLAGS ++tk_oldLibs=$LIBS ++CFLAGS="$CFLAGS $XINCLUDES" ++LIBS="$XLIBSW $LIBS" ++ ++AC_MSG_CHECKING([XRegisterIMInstantiateCallback]) ++AC_TRY_LINK([ ++#include <X11/Xlib.h> ++], [ ++XRegisterIMInstantiateCallback(0, 0, 0, 0, 0, 0); ++], [ ++AC_MSG_RESULT(yes) ++X11_IMAKE_FLAGS="-DHAVE_XIMREGINSTCB" ++], [ ++AC_MSG_RESULT(no) ++]) ++ ++AC_MSG_CHECKING([XIDProc]) ++AC_TRY_COMPILE([ ++#include <X11/Xlib.h> ++], [ ++XIDProc *a; ++], [ ++AC_MSG_RESULT(yes) ++], [ ++AC_MSG_RESULT(no) ++X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS -DNO_XIDPROC" ++]) ++ ++HAVE_XMKMF="" ++AC_PATH_PROG(HAVE_XMKMF, xmkmf, "", ${PATH}:/usr/X11R6/bin:/usr/X11R5/bin:/usr/local/X11R6/bin:/usr/local/X11R5/bin:/usr/openwin/bin:/usr/X11/bin:/usr/X386/bin:/usr/sww/bin:/usr/unsupported/bin) ++if test "X$HAVE_XMKMF" != "X"; then ++ IMAKE_FLAGS="" ++ if test -d ImakeCheck; then ++ rm -rf ImakeCheck ++ fi ++ mkdir ImakeCheck ++ cat << EOF > ImakeCheck/Imakefile ++SRCS = dummy.c ++OBJS = dummy.o ++ ++ComplexProgramTarget(dummy) ++EOF ++ cat << EOF > ImakeCheck/dummy.c ++static int justAnInt = 0; ++EOF ++ (cd ./ImakeCheck; rm -f Makefile Makefile.*; eval $HAVE_XMKMF) > /dev/null 2>&1 ++ for i in `(cd ./ImakeCheck; make -n dummy.o)` ++ do ++ case $i in -D*) IMAKE_FLAGS="$IMAKE_FLAGS $i";; esac ++ done ++ if test "X$IMAKE_FLAGS" != "X"; then ++ AC_MSG_RESULT(Add these flags for proper compile: $IMAKE_FLAGS) ++ X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS $IMAKE_FLAGS" ++ fi ++ rm -rf ImakeCheck ++fi ++ ++# At last check FreeBSD and have -lxpg4. ++AC_MSG_CHECKING([system version (for additional locale library)]) ++if test -f /usr/lib/NextStep/software_version; then ++ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` ++else ++ system=`uname -s`-`uname -r` ++ if test "$?" -ne 0 ; then ++ system=unknown ++ else ++ # Special check for weird MP-RAS system (uname returns weird ++ # results, and the version is kept in special file). ++ ++ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then ++ system=MP-RAS-`awk '{print $3}' /etc/.relid'` ++ fi ++ if test "`uname -s`" = "AIX" ; then ++ system=AIX-`uname -v`.`uname -r` ++ fi ++ fi ++fi ++ ++case $system in ++ FreeBSD-*) ++ LIBS="$XLIBSW -lxpg4 $tk_oldLibs" ++ CFLAGS="$CFLAGS $X11_IMAKE_FLAGS" ++ AC_TRY_COMPILE([ ++#include <locale.h> ++], [ ++(void)setlocale(LC_ALL, ""); ++], [ ++AC_MSG_RESULT(use xpg4 library.) ++XLIBSW="$XLIBSW -lxpg4" ++], [ ++AC_MSG_RESULT(no need other libraries.) ++]) ++ ;; ++ *) ++ AC_MSG_RESULT(No additional library is needed.) ++ ;; ++esac ++ ++CFLAGS=$tk_oldCflags ++LIBS=$tk_oldLibs ++ ++#-------------------------------------------------------------------- + # The statements below define various symbols relating to creating + # the stub'd version of the Tk library + # +@@ -453,5 +566,5 @@ + AC_SUBST(XINCLUDES) + AC_SUBST(XLIBSW) + AC_SUBST(TK_SHARED_BUILD) +- ++AC_SUBST(X11_IMAKE_FLAGS) + AC_OUTPUT(Makefile tkConfig.sh) diff --git a/chinese/tk83/files/patch-ai b/chinese/tk83/files/patch-ai new file mode 100644 index 000000000000..183ef6e4f7c8 --- /dev/null +++ b/chinese/tk83/files/patch-ai @@ -0,0 +1,14 @@ +--- ../generic/tk.h.orig Tue Feb 8 11:31:32 2000 ++++ ../generic/tk.h Wed Feb 21 21:27:44 2001 +@@ -688,6 +688,11 @@ + char *dummy17; + ClientData dummy18; + char *dummy19; ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ Tcl_DString dummy20DStr; ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ + } Tk_FakeWin; + + /* diff --git a/chinese/tk83/files/patch-aj b/chinese/tk83/files/patch-aj new file mode 100644 index 000000000000..2de556433809 --- /dev/null +++ b/chinese/tk83/files/patch-aj @@ -0,0 +1,26 @@ +--- ../generic/tkBind.c.orig Wed Feb 9 02:13:50 2000 ++++ ../generic/tkBind.c Wed Feb 21 21:27:44 2001 +@@ -1443,6 +1443,11 @@ + */ + + if (winPtr->pathName == NULL) { ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ winPtr->dispPtr->isComposed = 0; ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ + return; + } + +@@ -1678,6 +1683,11 @@ + Tcl_DStringAppend(&scripts, "", 1); + } + } ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ winPtr->dispPtr->isComposed = 0; ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ + if (Tcl_DStringLength(&scripts) == 0) { + return; + } diff --git a/chinese/tk83/files/patch-ak b/chinese/tk83/files/patch-ak new file mode 100644 index 000000000000..9049dcc37517 --- /dev/null +++ b/chinese/tk83/files/patch-ak @@ -0,0 +1,47 @@ +--- ../generic/tkEvent.c.orig Thu Dec 16 21:57:36 1999 ++++ ../generic/tkEvent.c Wed Feb 21 23:18:43 2001 +@@ -663,6 +663,17 @@ + } + + #ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ /* ++ * No need to create an input context for each and every window. ++ * ++ * Futhermore, XFilterEvent() should be called just after the ++ * event is fetched, since some IM server have protocol bugs that ++ * causes Tk freezing, so events EXCEPT THE INPUT METHODS THINGS ++ * should only be queued into Tcl event queue. ++ * ++ */ ++#else + /* + * Pass the event to the input method(s), if there are any, and + * discard the event if the input method(s) insist. Create the +@@ -684,6 +695,7 @@ + goto done; + } + } ++#endif /* I18N_IMPROVE */ + #endif /* TK_USE_INPUT_METHODS */ + + /* +@@ -936,6 +948,18 @@ + break; + } + } ++ ++#if defined(TK_USE_INPUT_METHODS) && defined(I18N_IMPROVE) ++ if (eventPtr->type == KeyPress && eventPtr->xkey.keycode == 0) { ++ /* ++ * No doubt this is a composed message from IM server. ++ * Tk can handle KeyPress event with zero keycode value ++ * if state of the event is zero. ++ */ ++ eventPtr->xkey.state = 0; ++ dispPtr->isComposed = 1; ++ } ++#endif /* TK_USE_INPUT_METHODS && I18N_IMPROVE */ + + if ((dispPtr->delayedMotionPtr != NULL) && (position == TCL_QUEUE_TAIL)) { + if ((eventPtr->type == MotionNotify) && (eventPtr->xmotion.window diff --git a/chinese/tk83/files/patch-al b/chinese/tk83/files/patch-al new file mode 100644 index 000000000000..d7560ddafa09 --- /dev/null +++ b/chinese/tk83/files/patch-al @@ -0,0 +1,73 @@ +--- ../generic/tkInt.h.orig Fri Jan 21 03:54:41 2000 ++++ ../generic/tkInt.h Wed Feb 21 21:27:44 2001 +@@ -499,6 +499,24 @@ + int warpX; + int warpY; + int useInputMethods; /* Whether to use input methods */ ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ Tcl_Encoding imEncoding; /* Tcl encoding when the first Tcl ++ * interp was created. ++ * For encoding conversion from ++ * XmbLookupString() to UTF. ++ */ ++ XIC lastFocusedIC; /* The last focused input context on ++ * the display. ++ */ ++ int isComposed; /* 1 if the latest KeyPress event is a ++ * "Compose message" from IM server, ++ * otherwise 0. */ ++#ifdef XNDestroyCallback ++ XIMCallback destroyCallback; ++#endif /* XNDestroyCallback */ ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ + } TkDisplay; + + /* +@@ -790,6 +808,13 @@ + */ + + struct TkWindowPrivate *privatePtr; ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ Tcl_DString composedDStr; /* To prepare successive "%A" in bind ++ * script, save a string from IM ++ * server. */ ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ + } TkWindow; + + /* +@@ -999,9 +1024,6 @@ + EXTERN int Tk_WmCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int argc, char **argv)); + +-void TkConsolePrint _ANSI_ARGS_((Tcl_Interp *interp, +- int devId, char *buffer, long size)); +- + EXTERN void TkEventInit _ANSI_ARGS_((void)); + + EXTERN int TkCreateMenuCmd _ANSI_ARGS_((Tcl_Interp *interp)); +@@ -1080,6 +1102,21 @@ + */ + EXTERN int TkUnsupported1Cmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int argc, char **argv)); ++ ++#if defined(TK_USE_INPUT_METHODS) && defined(I18N_IMPROVE) ++EXTERN XIC TkpCreateIC _ANSI_ARGS_((TkWindow *winPtr)); ++EXTERN void TkpDestroyIC _ANSI_ARGS_((TkWindow *winPtr, int needDestroy)); ++EXTERN int Tk_ImconfigureObjCmd _ANSI_ARGS_((ClientData clientData, ++ Tcl_Interp *interp, int objc, ++ Tcl_Obj *CONST objv[])); ++#endif /* TK_USE_INPUT_METHODS && I18N_IMPROVE */ ++ ++# undef TCL_STORAGE_CLASS ++# define TCL_STORAGE_CLASS ++ ++EXTERN int TkConsoleInit _ANSI_ARGS_((Tcl_Interp *interp)); ++EXTERN void TkConsolePrint _ANSI_ARGS_((Tcl_Interp *interp, ++ int devId, char *buffer, long size)); + + # undef TCL_STORAGE_CLASS + # define TCL_STORAGE_CLASS DLLIMPORT diff --git a/chinese/tk83/files/patch-am b/chinese/tk83/files/patch-am new file mode 100644 index 000000000000..015b4280715c --- /dev/null +++ b/chinese/tk83/files/patch-am @@ -0,0 +1,306 @@ +--- ../generic/tkWindow.c.orig Thu Dec 16 21:57:36 1999 ++++ ../generic/tkWindow.c Wed Feb 21 23:20:48 2001 +@@ -155,6 +155,9 @@ + #ifdef MAC_TCL + {"unsupported1", TkUnsupported1Cmd, NULL, 1, 1}, + #endif ++#if defined(TK_USE_INPUT_METHODS) && defined(I18N_IMPROVE) ++ {"imconfigure", NULL, Tk_ImconfigureObjCmd, 1, 1}, ++#endif /* TK_USE_INPUT_METHODS && I18N_IMPROVE */ + {(char *) NULL, (int (*) _ANSI_ARGS_((ClientData, Tcl_Interp *, int, char **))) NULL, NULL, 0} + }; + +@@ -209,6 +212,15 @@ + char *name)); + static void OpenIM _ANSI_ARGS_((TkDisplay *dispPtr)); + static void UnlinkWindow _ANSI_ARGS_((TkWindow *winPtr)); ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++static int CanInitiateIm _ANSI_ARGS_((void)); ++static void IMInstantiateCallback _ANSI_ARGS_ ((Display *display, ++ XPointer clientData, XPointer callData)); ++static void IMDestroyCallback _ANSI_ARGS_ ((XIM im, XPointer clientData, ++ XPointer callData)); ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ + + /* + *---------------------------------------------------------------------- +@@ -631,6 +643,9 @@ + winPtr->handlerList = NULL; + #ifdef TK_USE_INPUT_METHODS + winPtr->inputContext = NULL; ++#ifdef I18N_IMPROVE ++ Tcl_DStringInit(&(winPtr->composedDStr)); ++#endif /* I18N_IMPROVE */ + #endif /* TK_USE_INPUT_METHODS */ + winPtr->tagPtr = NULL; + winPtr->numTags = 0; +@@ -1275,8 +1290,16 @@ + TkBindDeadWindow(winPtr); + #ifdef TK_USE_INPUT_METHODS + if (winPtr->inputContext != NULL) { +- XDestroyIC(winPtr->inputContext); ++#ifdef I18N_IMPROVE ++ TkpDestroyIC(winPtr, 1); ++#else ++ XDestroyIC(winPtr->inputContext); ++#endif /* I18N_IMPROVE */ + } ++#ifdef I18N_IMPROVE ++ Tcl_DStringFree(&(winPtr->composedDStr)); ++ Tcl_DStringInit(&(winPtr->composedDStr)); ++#endif /* I18N_IMPROVE */ + #endif /* TK_USE_INPUT_METHODS */ + if (winPtr->tagPtr != NULL) { + TkFreeBindingTags(winPtr); +@@ -2427,6 +2450,180 @@ + { + return ((TkWindow *) tkwin)->mainPtr->strictMotif; + } ++#ifdef TK_USE_INPUT_METHODS ++#ifdef I18N_IMPROVE ++ ++static int ++CanInitiateIm() ++{ ++ static int inited = 0; ++ static int ret = 0; ++ char *locale; ++ ++ /* ++ * Determine the current encoding from the LC_* or LANG environment ++ * variables. We previously used setlocale() to determine the locale, ++ * but this does not work on some systems (e.g. Linux/i386 RH 5.0). ++ */ ++ ++ locale = getenv("LC_ALL"); ++ ++ if (locale == NULL || locale[0] == '\0') { ++ locale = getenv("LC_CTYPE"); ++ } ++ if (locale == NULL || locale[0] == '\0') { ++ locale = getenv("LANG"); ++ } ++ if (locale == NULL || locale[0] == '\0') { ++ return False; ++ } ++ ++ if (inited == 0) { ++ char *curSpec = setlocale(LC_ALL, NULL); ++ ++ inited = 1; ++ ++ if (strcmp(locale, "C") == 0 || ++ strcmp(locale, "POSIX") == 0) { ++ goto Checked; ++ } ++ ++ /* ++ * setlocale(3)/_Xsetlocale() VERY HERE. This is what the X ++ * input method wants. ++ * Note that X11's i18n implementation should be ONLY governed ++ * by LC_CTYPE. This is clearly/explicitly specified in X11 ++ * documente Chapter 13. Thus, If there are some X11 ++ * implementation that need using LC_ALL to initialize i18n ++ * subsystem, I won't care about such a X library. ++ * But, we are still on edge of darkside. ctype(3) routines ++ * are governed by LC_CTYPE.... Need to create "Locale ++ * independent ctype libraries" for Tcl/Tk... ++ * ++ */ ++ ++ /* ++ * OK, First of all, setting WHOLE locale to "C". ++ */ ++ (void)setlocale(LC_ALL, "C"); ++ if (setlocale(LC_CTYPE, locale) == NULL) { ++ /* ++ * Reset to old locale. ++ */ ++ if (setlocale(LC_ALL, curSpec) == NULL) { ++ (void)setlocale(LC_ALL, "C"); ++ } ++ goto Checked; ++ } else { ++ /* ++ * For insurance, reset LC_NUMERIC to "C" for Tcl numeric parsing. ++ */ ++ (void)setlocale(LC_NUMERIC, "C"); ++ } ++ if (XSupportsLocale() != True) { ++ goto Checked; ++ } ++ ++ ret = True; ++ /* ++ * At last, Setting the locale modifiers. ++ */ ++ (void)XSetLocaleModifiers(""); ++ } ++ ++ Checked: ++ return ret; ++} ++ ++/* ++ *---------------------------------------------------------------------- ++ * ++ * IMInstantiateCallback ++ * ++ * Whenever IM server become available, this function will be called. ++ * ++ * Results: ++ * OpenIM() is called. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++void ++IMInstantiateCallback(display, clientData, callData) ++ Display *display; ++ XPointer clientData; ++ XPointer callData; ++{ ++ TkDisplay *dispPtr = (TkDisplay *)clientData; ++ ++ if (display == dispPtr->display && ++ dispPtr->inputMethod == NULL) { ++ OpenIM(dispPtr); ++ } ++} ++ ++/* ++ *---------------------------------------------------------------------- ++ * ++ * IMDestroyCallback ++ * ++ * Whenever IM server stops the service, this function will be called. ++ * ++ * Results: ++ * the XIM opened before is marked as unusable. ++ * ++ * Side effects: ++ * XIC using this XIM will be useless. ++ * ++ *---------------------------------------------------------------------- ++ */ ++void ++IMDestroyCallback(im, clientData, callData) ++ XIM im; ++ XPointer clientData; ++ XPointer callData; ++{ ++ TkDisplay *dispPtr = (TkDisplay *)clientData; ++ if (im == dispPtr->inputMethod) { ++ Tcl_HashTable winTable = dispPtr->winTable; ++ Tcl_HashEntry *entry = NULL; ++ Tcl_HashSearch search; ++ TkWindow *winPtr; ++ ++ /* ++ * We must not call XCloseIM() or XDestroyIC(). ++ * because the XIM and XIC are destroyed by Xlib ++ * automatically. ++ */ ++ for (entry = Tcl_FirstHashEntry(&winTable, &search); entry != NULL; ++ entry = Tcl_NextHashEntry(&search)) { ++ winPtr = (TkWindow *)Tcl_GetHashValue(entry); ++ if (winPtr->dispPtr->display == dispPtr->display && ++ winPtr->dispPtr->inputMethod == im && ++ winPtr->inputContext != NULL) { ++ TkpDestroyIC(winPtr, 0); ++ } ++ Tcl_DStringFree(&(winPtr->composedDStr)); ++ Tcl_DStringInit(&(winPtr->composedDStr)); ++ } ++ dispPtr->inputMethod = NULL; ++ dispPtr->lastFocusedIC = NULL; ++#ifdef HAVE_XIMREGINSTCB ++#ifdef NO_XIDPROC ++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL, ++ (XIMProc)IMInstantiateCallback, (XPointer *)dispPtr); ++#else ++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL, ++ (XIDProc)IMInstantiateCallback, (XPointer)dispPtr); ++#endif /* NO_XIDPROC */ ++#endif /* HAVE_XIMREGINSTCB */ ++ } ++} ++#endif /* I18N_IMPROVE */ ++#endif /* TK_USE_INPUT_METHODS */ + + /* + *-------------------------------------------------------------- +@@ -2457,8 +2654,35 @@ + unsigned short i; + XIMStyles *stylePtr; + ++#ifdef I18N_IMPROVE ++ int styleFound = 0; ++ ++ dispPtr->inputMethod = NULL; ++ dispPtr->imEncoding = NULL; ++ dispPtr->lastFocusedIC = NULL; ++ dispPtr->isComposed = 0; ++ ++ if (CanInitiateIm() == False) { ++ return; ++ } ++#endif /* I18N_IMPROVE */ + dispPtr->inputMethod = XOpenIM(dispPtr->display, NULL, NULL, NULL); + if (dispPtr->inputMethod == NULL) { ++#ifdef I18N_IMPROVE ++#ifdef HAVE_XIMREGINSTCB ++ /* ++ * Maybe no IM server is available right now. ++ * Try to register instantiate callback. ++ */ ++#ifdef NO_XIDPROC ++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL, ++ (XIMProc)IMInstantiateCallback, (XPointer *)dispPtr); ++#else ++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL, ++ (XIDProc)IMInstantiateCallback, (XPointer)dispPtr); ++#endif /* NO_XIDPROC */ ++#endif /* HAVE_XIMREGINSTCB */ ++#endif /* I18N_IMPROVE */ + return; + } + +@@ -2469,11 +2693,30 @@ + for (i = 0; i < stylePtr->count_styles; i++) { + if (stylePtr->supported_styles[i] + == (XIMPreeditNothing|XIMStatusNothing)) { +- XFree(stylePtr); +- return; ++#ifdef I18N_IMPROVE ++ styleFound = 1; ++#else ++ XFree(stylePtr); ++ return; ++#endif /* I18N_IMPROVE */ + } + } + XFree(stylePtr); ++#ifdef I18N_IMPROVE ++ if (styleFound == 1) { ++ /* ++ * Create a Tcl_Encoding for XmbLookupString() conversion. ++ */ ++ dispPtr->imEncoding = Tcl_GetEncoding(NULL, Tcl_GetEncodingName(NULL)); ++#ifdef XNDestroyCallback ++ dispPtr->destroyCallback.client_data = (XPointer)dispPtr; ++ dispPtr->destroyCallback.callback = (XIMProc)IMDestroyCallback; ++ (void)XSetIMValues(dispPtr->inputMethod, ++ XNDestroyCallback, &(dispPtr->destroyCallback), NULL); ++#endif /* XNDestroyCallback */ ++ return; ++ } ++#endif /* I18N_IMPROVE */ + + error: + diff --git a/chinese/tk83/files/patch-an b/chinese/tk83/files/patch-an new file mode 100644 index 000000000000..47dcdff2bb00 --- /dev/null +++ b/chinese/tk83/files/patch-an @@ -0,0 +1,16 @@ +--- ../library/entry.tcl.orig Thu Jan 6 02:22:24 2000 ++++ ../library/entry.tcl Wed Feb 21 21:27:44 2001 +@@ -214,6 +214,13 @@ + } + } + ++# input method configuration binding (unix only) ++if {![string compare $tcl_platform(platform) "unix"]} { ++ if {[string compare [info commands imconfigure] {}]} { ++ bind Entry <FocusIn> {catch {imconfigure %W}} ++ } ++} ++ + # Additional emacs-like bindings: + + bind Entry <Control-a> { diff --git a/chinese/tk83/files/patch-ao b/chinese/tk83/files/patch-ao new file mode 100644 index 000000000000..823a8c5bdb08 --- /dev/null +++ b/chinese/tk83/files/patch-ao @@ -0,0 +1,16 @@ +--- ../library/text.tcl.orig Thu Feb 10 08:52:50 2000 ++++ ../library/text.tcl Wed Feb 21 21:27:44 2001 +@@ -378,6 +378,13 @@ + } + } + ++# UNIX only bindings: ++ ++if {[string equal $tcl_platform(platform) "unix"] && ++ [string compare [info commands imconfigure] {}]} { ++ bind Text <FocusIn> {catch {imconfigure %W}} ++} ++ + # Macintosh only bindings: + + # if text black & highlight black -> text white, other text the same diff --git a/chinese/tk83/pkg-comment b/chinese/tk83/pkg-comment new file mode 100644 index 000000000000..ff5ce674d034 --- /dev/null +++ b/chinese/tk83/pkg-comment @@ -0,0 +1 @@ +Graphical toolkit for TCL diff --git a/chinese/tk83/pkg-deinstall.wish b/chinese/tk83/pkg-deinstall.wish new file mode 100644 index 000000000000..1998d0efb780 --- /dev/null +++ b/chinese/tk83/pkg-deinstall.wish @@ -0,0 +1,22 @@ +#! /bin/sh +# +# Remove the ${PREFIX}/bin/wish script that gets installed by INSTALL.wish +# if we are the last wish installation to be pkg_delete'd. +# +# $FreeBSD: /tmp/pcvs/ports/chinese/tk83/Attic/pkg-deinstall.wish,v 1.1 2001-02-22 04:09:52 kevlo Exp $ +# + +# +# Explicitly listing /usr/X11R6/bin here is debatable. +# +BINDIR="${PKG_PREFIX}/bin /usr/X11R6/bin" +WISH=${PKG_PREFIX}/bin/wish + +wishes=$(/bin/ls ${BINDIR} 2> /dev/null | \ + egrep '^o?wish(step)?(x|([0-9]+\.[0-9]+))([a-z][a-z])?$') + +if [ "$wishes" = "" -a -f ${WISH} ] && \ + (head -3 ${WISH} | grep awieYJFnsuILOnfsYEW) > /dev/null 2>&1 +then + rm -f ${PKG_PREFIX}/bin/wish +fi diff --git a/chinese/tk83/pkg-descr b/chinese/tk83/pkg-descr new file mode 100644 index 000000000000..db7796ceca60 --- /dev/null +++ b/chinese/tk83/pkg-descr @@ -0,0 +1,6 @@ +This is Tk version 8.3, a GUI toolkit for Tcl. + +The best way to get started with Tcl is to read ``Tcl and the Tk +Toolkit'' by John K. Ousterhout, Addison-Wesley, ISBN 0-201-63337-X. + +WWW: http://dev.scriptics.com/software/tcltk/8.3.html diff --git a/chinese/tk83/pkg-install.wish b/chinese/tk83/pkg-install.wish new file mode 100644 index 000000000000..d526f076a498 --- /dev/null +++ b/chinese/tk83/pkg-install.wish @@ -0,0 +1,32 @@ +#!/bin/sh + +# The user may have a wish they want to preserve +ver=`grep -a awieYJFnsuILOnfsYEW ${PKG_PREFIX}/bin/wish 2> /dev/null \ + | sed -e 's/.*\*\*//'` +if [ ! -e ${PKG_PREFIX}/bin/wish ] || [ "$ver" != "" -a "$ver" -lt 001 ] +then + [ -f ${PKG_PREFIX}/bin/wish ] && chmod u+w ${PKG_PREFIX}/bin/wish + + mkdir -p ${PKG_PREFIX}/bin + cat > ${PKG_PREFIX}/bin/wish <<'EOF' +#!/bin/sh +# Installed by ports system. id: awieYJFnsuILOnfsYEW**001 + +( +echo "In FreeBSD, wish is named with a version number. This is because" +echo "different versions of wish are not compatible with each other and" +echo "they can not all be called \"wish\"! You may need multiple versions" +echo "installed because a given port may depend on a specific version." +echo +echo "On your system, wish is installed under at least the following names:" +echo +for name in $(/bin/ls $(echo $PATH | sed 's/:/ /g') 2> /dev/null | egrep '^wish(step)?(x|([0-9]+\.[0-9]+))([a-z][a-z])?$') +do + echo $name +done +[ "$name" = "" ] && echo "No wish installations found, sorry." +) 1>&2 +exit 1 +EOF + chmod a+rx ${PKG_PREFIX}/bin/wish +fi diff --git a/chinese/tk83/pkg-plist b/chinese/tk83/pkg-plist new file mode 100644 index 000000000000..4c490db894b5 --- /dev/null +++ b/chinese/tk83/pkg-plist @@ -0,0 +1,139 @@ +bin/wish%%TK_VER%% +include/tk%%TK_VER%%/generic/default.h +include/tk%%TK_VER%%/generic/ks_names.h +include/tk%%TK_VER%%/generic/tk.h +include/tk%%TK_VER%%/generic/tk3d.h +include/tk%%TK_VER%%/generic/tkButton.h +include/tk%%TK_VER%%/generic/tkCanvas.h +include/tk%%TK_VER%%/generic/tkColor.h +include/tk%%TK_VER%%/generic/tkDecls.h +include/tk%%TK_VER%%/generic/tkFileFilter.h +include/tk%%TK_VER%%/generic/tkFont.h +include/tk%%TK_VER%%/generic/tkInitScript.h +include/tk%%TK_VER%%/generic/tkInt.h +include/tk%%TK_VER%%/generic/tkIntDecls.h +include/tk%%TK_VER%%/generic/tkIntPlatDecls.h +include/tk%%TK_VER%%/generic/tkIntXlibDecls.h +include/tk%%TK_VER%%/generic/tkMenu.h +include/tk%%TK_VER%%/generic/tkMenubutton.h +include/tk%%TK_VER%%/generic/tkPlatDecls.h +include/tk%%TK_VER%%/generic/tkPort.h +include/tk%%TK_VER%%/generic/tkScale.h +include/tk%%TK_VER%%/generic/tkScrollbar.h +include/tk%%TK_VER%%/generic/tkSelect.h +include/tk%%TK_VER%%/generic/tkText.h +include/tk%%TK_VER%%/tk.h +include/tk%%TK_VER%%/tkDecls.h +include/tk%%TK_VER%%/unix/tkUnixDefault.h +include/tk%%TK_VER%%/unix/tkUnixInt.h +include/tk%%TK_VER%%/unix/tkUnixPort.h +lib/libtk%%SHORT_TK_VER%%.a +lib/libtk%%SHORT_TK_VER%%.so +lib/libtk%%SHORT_TK_VER%%.so.1 +lib/libtkstub%%SHORT_TK_VER%%.a +lib/tk%%TK_VER%%/bgerror.tcl +lib/tk%%TK_VER%%/button.tcl +lib/tk%%TK_VER%%/choosedir.tcl +lib/tk%%TK_VER%%/clrpick.tcl +lib/tk%%TK_VER%%/comdlg.tcl +lib/tk%%TK_VER%%/console.tcl +lib/tk%%TK_VER%%/demos/README +lib/tk%%TK_VER%%/demos/arrow.tcl +lib/tk%%TK_VER%%/demos/bind.tcl +lib/tk%%TK_VER%%/demos/bitmap.tcl +lib/tk%%TK_VER%%/demos/browse +lib/tk%%TK_VER%%/demos/button.tcl +lib/tk%%TK_VER%%/demos/check.tcl +lib/tk%%TK_VER%%/demos/clrpick.tcl +lib/tk%%TK_VER%%/demos/colors.tcl +lib/tk%%TK_VER%%/demos/cscroll.tcl +lib/tk%%TK_VER%%/demos/ctext.tcl +lib/tk%%TK_VER%%/demos/dialog1.tcl +lib/tk%%TK_VER%%/demos/dialog2.tcl +lib/tk%%TK_VER%%/demos/entry1.tcl +lib/tk%%TK_VER%%/demos/entry2.tcl +lib/tk%%TK_VER%%/demos/filebox.tcl +lib/tk%%TK_VER%%/demos/floor.tcl +lib/tk%%TK_VER%%/demos/form.tcl +lib/tk%%TK_VER%%/demos/hello +lib/tk%%TK_VER%%/demos/hscale.tcl +lib/tk%%TK_VER%%/demos/icon.tcl +lib/tk%%TK_VER%%/demos/image1.tcl +lib/tk%%TK_VER%%/demos/image2.tcl +lib/tk%%TK_VER%%/demos/images/earth.gif +lib/tk%%TK_VER%%/demos/images/earthris.gif +lib/tk%%TK_VER%%/demos/images/face.bmp +lib/tk%%TK_VER%%/demos/images/flagdown.bmp +lib/tk%%TK_VER%%/demos/images/flagup.bmp +lib/tk%%TK_VER%%/demos/images/gray25.bmp +lib/tk%%TK_VER%%/demos/images/letters.bmp +lib/tk%%TK_VER%%/demos/images/noletter.bmp +lib/tk%%TK_VER%%/demos/images/pattern.bmp +lib/tk%%TK_VER%%/demos/images/tcllogo.gif +lib/tk%%TK_VER%%/demos/images/teapot.ppm +lib/tk%%TK_VER%%/demos/items.tcl +lib/tk%%TK_VER%%/demos/ixset +lib/tk%%TK_VER%%/demos/label.tcl +lib/tk%%TK_VER%%/demos/license.terms +lib/tk%%TK_VER%%/demos/menu.tcl +lib/tk%%TK_VER%%/demos/menubu.tcl +lib/tk%%TK_VER%%/demos/msgbox.tcl +lib/tk%%TK_VER%%/demos/plot.tcl +lib/tk%%TK_VER%%/demos/puzzle.tcl +lib/tk%%TK_VER%%/demos/radio.tcl +lib/tk%%TK_VER%%/demos/rmt +lib/tk%%TK_VER%%/demos/rolodex +lib/tk%%TK_VER%%/demos/ruler.tcl +lib/tk%%TK_VER%%/demos/sayings.tcl +lib/tk%%TK_VER%%/demos/search.tcl +lib/tk%%TK_VER%%/demos/square +lib/tk%%TK_VER%%/demos/states.tcl +lib/tk%%TK_VER%%/demos/style.tcl +lib/tk%%TK_VER%%/demos/tclIndex +lib/tk%%TK_VER%%/demos/tcolor +lib/tk%%TK_VER%%/demos/text.tcl +lib/tk%%TK_VER%%/demos/timer +lib/tk%%TK_VER%%/demos/twind.tcl +lib/tk%%TK_VER%%/demos/vscale.tcl +lib/tk%%TK_VER%%/demos/widget +lib/tk%%TK_VER%%/dialog.tcl +lib/tk%%TK_VER%%/entry.tcl +lib/tk%%TK_VER%%/focus.tcl +lib/tk%%TK_VER%%/images/README +lib/tk%%TK_VER%%/images/logo.eps +lib/tk%%TK_VER%%/images/logo100.gif +lib/tk%%TK_VER%%/images/logo64.gif +lib/tk%%TK_VER%%/images/logoLarge.gif +lib/tk%%TK_VER%%/images/logoMed.gif +lib/tk%%TK_VER%%/images/pwrdLogo.eps +lib/tk%%TK_VER%%/images/pwrdLogo100.gif +lib/tk%%TK_VER%%/images/pwrdLogo150.gif +lib/tk%%TK_VER%%/images/pwrdLogo175.gif +lib/tk%%TK_VER%%/images/pwrdLogo200.gif +lib/tk%%TK_VER%%/images/pwrdLogo75.gif +lib/tk%%TK_VER%%/images/tai-ku.gif +lib/tk%%TK_VER%%/listbox.tcl +lib/tk%%TK_VER%%/menu.tcl +lib/tk%%TK_VER%%/msgbox.tcl +lib/tk%%TK_VER%%/obsolete.tcl +lib/tk%%TK_VER%%/optMenu.tcl +lib/tk%%TK_VER%%/palette.tcl +lib/tk%%TK_VER%%/prolog.ps +lib/tk%%TK_VER%%/safetk.tcl +lib/tk%%TK_VER%%/scale.tcl +lib/tk%%TK_VER%%/scrlbar.tcl +lib/tk%%TK_VER%%/tclIndex +lib/tk%%TK_VER%%/tearoff.tcl +lib/tk%%TK_VER%%/text.tcl +lib/tk%%TK_VER%%/tk.tcl +lib/tk%%TK_VER%%/tkAppInit.c +lib/tk%%TK_VER%%/tkConfig.sh +lib/tk%%TK_VER%%/tkfbox.tcl +lib/tk%%TK_VER%%/xmfbox.tcl +@dirrm lib/tk%%TK_VER%%/demos/images +@dirrm lib/tk%%TK_VER%%/demos +@dirrm lib/tk%%TK_VER%%/images +@dirrm lib/tk%%TK_VER%% +@dirrm include/tk%%TK_VER%%/unix +@dirrm include/tk%%TK_VER%%/generic +@dirrm include/tk%%TK_VER%% |