aboutsummaryrefslogtreecommitdiff
path: root/chinese
diff options
context:
space:
mode:
authorKevin Lo <kevlo@FreeBSD.org>2001-02-22 04:09:59 +0000
committerKevin Lo <kevlo@FreeBSD.org>2001-02-22 04:09:59 +0000
commit2c54b710d9304bed2dc776de771525e8583aa48b (patch)
tree2cb95b9f084222de0265b008c26e8cd9eefd54eb /chinese
parent38a6e47643ac8745ed951d28903283b474b25023 (diff)
downloadports-2c54b710d9304bed2dc776de771525e8583aa48b.tar.gz
ports-2c54b710d9304bed2dc776de771525e8583aa48b.zip
Notes
Diffstat (limited to 'chinese')
-rw-r--r--chinese/Makefile1
-rw-r--r--chinese/tk83/Makefile316
-rw-r--r--chinese/tk83/distinfo1
-rw-r--r--chinese/tk83/files/patch-aa1606
-rw-r--r--chinese/tk83/files/patch-ab174
-rw-r--r--chinese/tk83/files/patch-ac20
-rw-r--r--chinese/tk83/files/patch-ad34
-rw-r--r--chinese/tk83/files/patch-ae261
-rw-r--r--chinese/tk83/files/patch-af91
-rw-r--r--chinese/tk83/files/patch-ag13
-rw-r--r--chinese/tk83/files/patch-ah136
-rw-r--r--chinese/tk83/files/patch-ai14
-rw-r--r--chinese/tk83/files/patch-aj26
-rw-r--r--chinese/tk83/files/patch-ak47
-rw-r--r--chinese/tk83/files/patch-al73
-rw-r--r--chinese/tk83/files/patch-am306
-rw-r--r--chinese/tk83/files/patch-an16
-rw-r--r--chinese/tk83/files/patch-ao16
-rw-r--r--chinese/tk83/pkg-comment1
-rw-r--r--chinese/tk83/pkg-deinstall.wish22
-rw-r--r--chinese/tk83/pkg-descr6
-rw-r--r--chinese/tk83/pkg-install.wish32
-rw-r--r--chinese/tk83/pkg-plist139
23 files changed, 3351 insertions, 0 deletions
diff --git a/chinese/Makefile b/chinese/Makefile
index 45d6c24a35de..e1a620f75c28 100644
--- a/chinese/Makefile
+++ b/chinese/Makefile
@@ -59,6 +59,7 @@
SUBDIR += telnet
SUBDIR += tin
SUBDIR += tintin++
+ SUBDIR += tk83
SUBDIR += tocps
SUBDIR += ttfm
SUBDIR += ve
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%%