home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / tcl / tcltk / tk4.0 / tk4.0.diff
Encoding:
Text File  |  1995-07-17  |  13.7 KB  |  392 lines

  1. diff -urN tk4.0.orig/Makefile.in tk4.0/Makefile.in
  2. --- tk4.0.orig/Makefile.in    Fri Jun 30 13:20:26 1995
  3. +++ tk4.0/Makefile.in    Fri Jun 30 21:13:22 1995
  4. @@ -11,6 +11,12 @@
  5.  
  6.  VERSION = 4.0
  7.  
  8. +SHARED = true
  9. +ifeq ($(SHARED),true)
  10. +SHVERSION = 1
  11. +SHCFLAGS = -fPIC
  12. +endif
  13. +
  14.  #----------------------------------------------------------------
  15.  # Things you can change to personalize the Makefile for your own
  16.  # site (you can make these changes in either Makefile.in or
  17. @@ -52,21 +58,24 @@
  18.  BIN_DIR =        $(exec_prefix)/bin
  19.  
  20.  # Directory in which to install the include file tk.h:
  21. -INCLUDE_INSTALL_DIR =    $(INSTALL_ROOT)$(prefix)/include
  22. +INCLUDE_INSTALL_DIR =    $(INSTALL_ROOT)$(prefix)/include/tcl
  23.  
  24.  # Top-level directory for manual entries:
  25.  MAN_INSTALL_DIR =    $(INSTALL_ROOT)$(prefix)/man
  26.  
  27.  # Directory in which to install manual entry for wish:
  28.  MAN1_INSTALL_DIR =    $(MAN_INSTALL_DIR)/man1
  29. +MAN1_EXT = 1tk
  30.  
  31.  # Directory in which to install manual entries for Tk's C library
  32.  # procedures:
  33.  MAN3_INSTALL_DIR =    $(MAN_INSTALL_DIR)/man3
  34. +MAN3_EXT = 3tk
  35.  
  36.  # Directory in which to install manual entries for the built-in
  37.  # Tcl commands implemented by Tk:
  38. -MANN_INSTALL_DIR =    $(MAN_INSTALL_DIR)/mann
  39. +MANN_INSTALL_DIR =    $(MAN_INSTALL_DIR)/man3
  40. +MANN_EXT = 3tk
  41.  
  42.  # The directory containing the Tcl sources and headers appropriate
  43.  # for this version of Tk ("srcdir" will be replaced or has already
  44. @@ -92,11 +101,11 @@
  45.  # and the math library (in that order).  The "LIBS" part will be
  46.  # replaced (or has already been replaced) with relevant libraries as
  47.  # determined by the configure script.
  48. -LIBS = libtk.a $(TCL_BIN_DIR)/libtcl.a $(X11_LIB_SWITCHES) @LIBS@ @MATH_LIBS@
  49. +LIBS = -L. -ltk -L$(TCL_BIN_DIR) -ltcl $(X11_LIB_SWITCHES) @LIBS@ @MATH_LIBS@
  50.  
  51.  # To change the compiler switches, for example to change from -O
  52.  # to -g, change the following line:
  53. -CFLAGS = -O
  54. +CFLAGS = -O2
  55.  
  56.  # To turn off the security checks that disallow incoming sends when
  57.  # the X server appears to be insecure, reverse the comments on the
  58. @@ -141,7 +150,7 @@
  59.  #----------------------------------------------------------------
  60.  
  61.  AC_FLAGS =        @DEFS@
  62. -INSTALL_PROGRAM =    @INSTALL_PROGRAM@
  63. +INSTALL_PROGRAM =    @INSTALL_PROGRAM@ -s
  64.  INSTALL_DATA =        @INSTALL_DATA@
  65.  RANLIB =        @RANLIB@
  66.  SRC_DIR =        @srcdir@
  67. @@ -157,7 +166,7 @@
  68.  CC =        @CC@
  69.  CC_SWITCHES =    ${CFLAGS} -I${SRC_DIR} -I${TCL_DIR} ${X11_INCLUDES} \
  70.  ${AC_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} \
  71. -${KEYSYM_FLAGS} -DTK_LIBRARY=\"${TK_LIBRARY}\"
  72. +${KEYSYM_FLAGS} -DTK_LIBRARY=\"${TK_LIBRARY}\" $(SHCFLAGS)
  73.  
  74.  WIDGOBJS = tkButton.o tkEntry.o tkFrame.o tkListbox.o \
  75.      tkMenu.o tkMenubutton.o tkMessage.o tkScale.o \
  76. @@ -207,6 +216,10 @@
  77.      rm -f libtk.a
  78.      ar cr libtk.a $(OBJS)
  79.      $(RANLIB) libtk.a
  80. +ifeq ($(SHARED),true)
  81. +    $(CC) -shared -o libtk.so.$(SHVERSION) -Wl,-soname,libtk.so.$(SHVERSION).$(VERSION) $(OBJS)
  82. +    ln -sf libtk.so.$(SHVERSION).$(VERSION) libtk.so.$(SHVERSION)
  83. +endif
  84.  
  85.  wish: tkAppInit.o libtk.a $(TCL_BIN_DIR)/libtcl.a
  86.      $(CC) $(CC_SWITCHES) tkAppInit.o $(LIBS) -o wish
  87. @@ -217,7 +230,9 @@
  88.  test: tktest
  89.      @cwd=`pwd`; \
  90.      cd $(TCL_DIR); TCL_LIBRARY=`pwd`/library; export TCL_LIBRARY; \
  91. +    export LD_LIBRARY_PATH=`pwd`:$$LD_LIBRARY_PATH; \
  92.      cd $$cwd; cd $(SRC_DIR); TK_LIBRARY=`pwd`/library; export TK_LIBRARY; \
  93. +    export LD_LIBRARY_PATH=`pwd`:$$LD_LIBRARY_PATH; \
  94.      cd $$cwd; ( echo cd $(SRC_DIR)/tests\; source all\; exit ) | ./tktest
  95.  
  96.  configInfo: Makefile
  97. @@ -243,12 +258,19 @@
  98.      @echo "Installing libtk.a"
  99.      @$(INSTALL_DATA) libtk.a $(LIB_INSTALL_DIR)/libtk$(VERSION).a
  100.      @$(RANLIB) $(LIB_INSTALL_DIR)/libtk$(VERSION).a
  101. +ifeq ($(SHARED),true)
  102. +    @echo "Installing libtk.so"
  103. +    @$(INSTALL_PROGRAM) libtk.so.$(SHVERSION).$(VERSION) $(LIB_INSTALL_DIR)/libtk.so.$(SHVERSION).$(VERSION)
  104. +    @echo "Running ldconfig"
  105. +    -@/sbin/ldconfig
  106. +endif
  107.      @echo "Installing wish"
  108.      @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION)
  109. +    @ln -sf wish$(VERSION) $(BIN_INSTALL_DIR)/wish
  110.  
  111.  install-libraries:
  112. -    @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
  113. -        $(SCRIPT_INSTALL_DIR) ; \
  114. +    @for i in $(INSTALL_ROOT)$(prefix)/include $(INSTALL_ROOT)$(prefix)/lib \
  115. +        $(INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR) ; \
  116.          do \
  117.          if [ ! -d $$i ] ; then \
  118.          echo "Making directory $$i"; \
  119. @@ -257,8 +279,11 @@
  120.          else true; \
  121.          fi; \
  122.          done;
  123. -    @echo "Installing tk.h"
  124. -    @$(INSTALL_DATA) $(SRC_DIR)/tk.h $(INCLUDE_INSTALL_DIR)
  125. +    @for i in tk.h tkInt.h tkCanvas.h tkPort.h tkText.h default.h ks_names.h; \
  126. +        do \
  127. +        echo "Installing $$i"; \
  128. +        $(INSTALL_DATA) $(SRC_DIR)/$$i $(INCLUDE_INSTALL_DIR); \
  129. +        done;
  130.      for i in $(SRC_DIR)/library/*.tcl $(SRC_DIR)/library/tclIndex $(SRC_DIR)/library/prolog.ps $(SRC_DIR)/tkAppInit.c; \
  131.          do \
  132.          echo "Installing $$i"; \
  133. @@ -309,37 +334,42 @@
  134.      @cd $(SRC_DIR)/doc; for i in *.1; \
  135.          do \
  136.          echo "Installing doc/$$i"; \
  137. -        rm -f $(MAN1_INSTALL_DIR)/$$i; \
  138. +        page=`basename $$i .1`.$(MAN1_EXT); \
  139. +        rm -f $(MAN1_INSTALL_DIR)/$$page; \
  140.          sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
  141. -            $$i > $(MAN1_INSTALL_DIR)/$$i; \
  142. -        chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
  143. +            $$i > $(MAN1_INSTALL_DIR)/$$page; \
  144. +        chmod 644 $(MAN1_INSTALL_DIR)/$$page; \
  145.          done;
  146.      @cd $(SRC_DIR)/doc; for i in *.3; \
  147.          do \
  148.          echo "Installing doc/$$i"; \
  149. -        rm -f $(MAN3_INSTALL_DIR)/$$i; \
  150. +        page=`basename $$i .3`.$(MAN3_EXT); \
  151. +        rm -f $(MAN3_INSTALL_DIR)/$$page; \
  152.          sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
  153. -            $$i > $(MAN3_INSTALL_DIR)/$$i; \
  154. -        chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
  155. +            $$i > $(MAN3_INSTALL_DIR)/$$page; \
  156. +        chmod 644 $(MAN3_INSTALL_DIR)/$$page; \
  157.          done;
  158. +    @sh @srcdir@/fixman3.sh $(MAN3_INSTALL_DIR) $(MAN3_EXT)
  159.      @cd $(SRC_DIR)/doc; for i in *.n; \
  160.          do \
  161.          echo "Installing doc/$$i"; \
  162. -        rm -f $(MANN_INSTALL_DIR)/$$i; \
  163. +        page=`basename $$i .n`.$(MANN_EXT); \
  164. +        rm -f $(MANN_INSTALL_DIR)/$$page; \
  165.          sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
  166. -            $$i > $(MANN_INSTALL_DIR)/$$i; \
  167. -        chmod 444 $(MANN_INSTALL_DIR)/$$i; \
  168. +            $$i > $(MANN_INSTALL_DIR)/$$page; \
  169. +        chmod 644 $(MANN_INSTALL_DIR)/$$page; \
  170.          done;
  171. +    @sh @srcdir@/fixmann.sh $(MANN_INSTALL_DIR) $(MANN_EXT)
  172.  
  173.  Makefile: $(SRC_DIR)/Makefile.in
  174.      $(SHELL) config.status
  175.  
  176.  clean:
  177. -    rm -f *.a *.o core errs *~ \#* TAGS *.E a.out errors tktest wish \
  178. +    rm -f *.a *.so *.so.* *.o core errs *~ \#* TAGS *.E a.out errors tktest wish \
  179.          config.info
  180.  
  181.  distclean: clean
  182. -    rm -f Makefile config.status config.cache
  183. +    rm -f Makefile config.status config.cache config.log
  184.  
  185.  depend:
  186.      makedepend -- $(CC_SWITCHES) -- $(SRCS)
  187. diff -urN tk4.0.orig/README.linux tk4.0/README.linux
  188. --- tk4.0.orig/README.linux    Wed Dec 31 18:00:00 1969
  189. +++ tk4.0/README.linux    Fri Jun 30 21:12:54 1995
  190. @@ -0,0 +1,27 @@
  191. +Linux-Related Changes:
  192. +
  193. +  Support for ELF shared libraries.
  194. +  Install manual pages under all relevant names.
  195. +
  196. +Required Packages (later versions should also work):
  197. +
  198. +  gcc-2.6.3 (ELF)
  199. +  binutils-2.5.2l.17
  200. +  libc-5.0.9
  201. +  make-3.71
  202. +  ld.so-1.7.4
  203. +  Tcl7.4
  204. +
  205. +How to Build and Install:
  206. +
  207. +  ./configure   (optionally specify your favorite --prefix= option)
  208. +  make
  209. +  make install
  210. +
  211. +In Case of Problems:
  212. +
  213. +  Send email to the address listed below.  It may take me a while
  214. +  sometimes, but I will answer eventually.
  215. +
  216. +David Engel
  217. +david@ods.com
  218. diff -urN tk4.0.orig/fixman3.sh tk4.0/fixman3.sh
  219. --- tk4.0.orig/fixman3.sh    Wed Dec 31 18:00:00 1969
  220. +++ tk4.0/fixman3.sh    Fri Jun 30 21:10:59 1995
  221. @@ -0,0 +1,102 @@
  222. +#!/bin/sh
  223. +
  224. +if [ $# -ne 2 ]; then
  225. +    echo usage: $0 directory extension
  226. +    exit 1
  227. +fi
  228. +
  229. +if ! cd $1; then
  230. +    echo $0: can not cd to $1
  231. +    exit 1
  232. +fi
  233. +
  234. +ext=$2
  235. +
  236. +function fixman {
  237. +    if [ $# -lt 2 ]; then
  238. +        echo fixman: called with too few args
  239. +        exit 1
  240. +    fi
  241. +
  242. +    local base=$1
  243. +    shift 1
  244. +
  245. +    for f in $*; do
  246. +        if ! ln -sf $base.$ext $f.$ext; then
  247. +            echo fixman: cant ln $base.$ext to $f.$ext
  248. +        fi
  249. +    done
  250. +}
  251. +
  252. +fixman 3DBorder Tk_Get3DBorder Tk_Draw3DRectangle Tk_Fill3DRectangle Tk_Draw3DPolygon Tk_Fill3DPolygon Tk_3DVerticalBevel Tk_3DHorizontalBevel Tk_SetBackgroundFromBorder Tk_NameOf3DBorder Tk_3DBorderColor Tk_3DBorderGC Tk_Free3DBorder
  253. +fixman BackgdErr Tk_BackgroundError
  254. +fixman BindTable Tk_CreateBindingTable Tk_DeleteBindingTable Tk_CreateBinding Tk_DeleteBinding Tk_GetBinding Tk_GetAllBindings Tk_DeleteAllBindings Tk_BindEvent
  255. +fixman CanvPsY Tk_CanvasPsY Tk_CanvasPsBitmap Tk_CanvasPsColor Tk_CanvasPsFont Tk_CanvasPsPath Tk_CanvasPsStipple
  256. +fixman CanvTkwin Tk_CanvasTkwin Tk_CanvasGetCoord Tk_CanvasDrawableCoords Tk_CanvasSetStippleOrigin Tk_CanvasWindowCoords Tk_CanvasEventuallyRedraw
  257. +fixman CanvTxtInfo Tk_CanvasTextInfo
  258. +fixman Clipboard Tk_ClipboardClear Tk_ClipboardAppend
  259. +fixman ClrSelect Tk_ClearSelection
  260. +fixman ConfigWidg Tk_ConfigureWidget Tk_Offset Tk_ConfigureInfo Tk_ConfigureValue Tk_FreeOptions
  261. +fixman ConfigWind Tk_ConfigureWindow Tk_MoveWindow Tk_ResizeWindow Tk_MoveResizeWindow Tk_SetWindowBorderWidth Tk_ChangeWindowAttributes Tk_SetWindowBackground Tk_SetWindowBackgroundPixmap Tk_SetWindowBorder Tk_SetWindowBorderPixmap Tk_SetWindowColormap Tk_DefineCursor Tk_UndefineCursor
  262. +fixman CoordToWin Tk_CoordsToWindow
  263. +fixman CrtErrHdlr Tk_CreateErrorHandler Tk_DeleteErrorHandler
  264. +fixman CrtGenHdlr Tk_CreateGenericHandler Tk_DeleteGenericHandler
  265. +fixman CrtImgType Tk_CreateImageType
  266. +fixman CrtItemType Tk_CreateItemType Tk_GetItemTypes
  267. +fixman CrtMainWin Tk_CreateMainWindow Tk_CreateWindow Tk_CreateWindowFromPath Tk_DestroyWindow Tk_MakeWindowExist
  268. +fixman CrtPhImgFmt Tk_CreatePhotoImageFormat
  269. +fixman CrtSelHdlr Tk_CreateSelHandler Tk_DeleteSelHandler
  270. +fixman DeleteImg Tk_DeleteImage
  271. +fixman DoOneEvent Tk_DoOneEvent Tk_MainLoop Tk_HandleEvent
  272. +fixman DoWhenIdle Tk_DoWhenIdle Tk_CancelIdleCall
  273. +fixman DrawFocHlt Tk_DrawFocusHighlight
  274. +fixman EventHndlr Tk_CreateEventHandler Tk_DeleteEventHandler
  275. +fixman EventInit Tk_EventInit
  276. +fixman FileHndlr Tk_CreateFileHandler Tk_CreateFileHandler2 Tk_DeleteFileHandler
  277. +fixman FindPhoto Tk_FindPhoto Tk_PhotoPutBlock Tk_PhotoPutZoomedBlock Tk_PhotoGetImage Tk_PhotoBlank Tk_PhotoExpand Tk_PhotoGetSize Tk_PhotoSetSize
  278. +fixman FreeXId Tk_FreeXId
  279. +fixman GeomReq Tk_GeometryRequest Tk_SetInternalBorder
  280. +fixman GetAnchor Tk_GetAnchor Tk_NameOfAnchor
  281. +fixman GetBitmap Tk_GetBitmap Tk_DefineBitmap Tk_NameOfBitmap Tk_SizeOfBitmap Tk_FreeBitmap Tk_GetBitmapFromData
  282. +fixman GetCapStyl Tk_GetCapStyle Tk_NameOfCapStyle
  283. +fixman GetClrmap Tk_GetColormap Tk_FreeColormap
  284. +fixman GetColor Tk_GetColor Tk_GetColorByValue Tk_NameOfColor Tk_FreeColor
  285. +fixman GetCursor Tk_GetCursor Tk_GetCursorFromData Tk_NameOfCursor Tk_FreeCursor
  286. +fixman GetFontStr Tk_GetFontStruct Tk_NameOfFontStruct Tk_FreeFontStruct
  287. +fixman GetGC Tk_GetGC Tk_FreeGC
  288. +fixman GetImage Tk_GetImage Tk_RedrawImage Tk_SizeOfImage Tk_FreeImage
  289. +fixman GetJoinStl Tk_GetJoinStyle Tk_NameOfJoinStyle
  290. +fixman GetJustify Tk_GetJustify Tk_NameOfJustify
  291. +fixman GetOption Tk_GetOption
  292. +fixman GetPixels Tk_GetPixels Tk_GetScreenMM
  293. +fixman GetPixmap Tk_GetPixmap Tk_FreePixmap
  294. +fixman GetRelief Tk_GetRelief Tk_NameOfRelief
  295. +fixman GetRootCrd Tk_GetRootCoords
  296. +fixman GetScroll Tk_GetScrollInfo
  297. +fixman GetSelect Tk_GetSelection
  298. +fixman GetUid Tk_GetUid Tk_Uid
  299. +fixman GetVRoot Tk_GetVRootGeometry
  300. +fixman GetVisual Tk_GetVisual
  301. +fixman IdToWindow Tk_IdToWindow
  302. +fixman ImgChanged Tk_ImageChanged
  303. +fixman InternAtom Tk_InternAtom Tk_GetAtomName
  304. +fixman MainWin Tk_MainWindow
  305. +fixman MaintGeom Tk_MaintainGeometry Tk_UnmaintainGeometry
  306. +fixman ManageGeom Tk_ManageGeometry
  307. +fixman MapWindow Tk_MapWindow Tk_UnmapWindow
  308. +fixman MoveToplev Tk_MoveToplevelWindow
  309. +fixman Name Tk_Name Tk_PathName Tk_NameToWindow
  310. +fixman NameOfImg Tk_NameOfImage
  311. +fixman OwnSelect Tk_OwnSelection
  312. +fixman ParseArgv Tk_ParseArgv
  313. +fixman Preserve Tk_Preserve Tk_Release Tk_EventuallyFree
  314. +fixman Restack Tk_RestackWindow
  315. +fixman RestrictEv Tk_RestrictEvents
  316. +fixman SetAppName Tk_SetAppName
  317. +fixman SetClass Tk_SetClass Tk_Class
  318. +fixman SetGrid Tk_SetGrid Tk_UnsetGrid
  319. +fixman SetVisual Tk_SetWindowVisual
  320. +fixman Sleep Tk_Sleep
  321. +fixman StrictMotif Tk_StrictMotif
  322. +fixman TimerHndlr Tk_CreateTimerHandler Tk_DeleteTimerHandler
  323. +fixman WindowId Tk_WindowId Tk_Parent Tk_Display Tk_DisplayName Tk_ScreenNumber Tk_Screen Tk_X Tk_Y Tk_Width Tk_Height Tk_Changes Tk_Attributes Tk_IsMapped Tk_IsTopLevel Tk_ReqWidth Tk_ReqHeight Tk_InternalBorderWidth Tk_Visual Tk_Depth Tk_Colormap
  324. diff -urN tk4.0.orig/fixmann.sh tk4.0/fixmann.sh
  325. --- tk4.0.orig/fixmann.sh    Wed Dec 31 18:00:00 1969
  326. +++ tk4.0/fixmann.sh    Fri Jun 30 21:10:59 1995
  327. @@ -0,0 +1,36 @@
  328. +#!/bin/sh
  329. +
  330. +if [ $# -ne 2 ]; then
  331. +    echo usage: $0 directory extension
  332. +    exit 1
  333. +fi
  334. +
  335. +if ! cd $1; then
  336. +    echo $0: can not cd to $1
  337. +    exit 1
  338. +fi
  339. +
  340. +ext=$2
  341. +
  342. +function fixman {
  343. +    if [ $# -lt 2 ]; then
  344. +        echo fixman: called with too few args
  345. +        exit 1
  346. +    fi
  347. +
  348. +    local base=$1
  349. +    shift 1
  350. +
  351. +    for f in $*; do
  352. +        if ! ln -sf $base.$ext $f.$ext; then
  353. +            echo fixman: cant ln $base.$ext to $f.$ext
  354. +        fi
  355. +    done
  356. +}
  357. +
  358. +fixman dialog tk_dialog
  359. +fixman focusNext tk_focusNext tk_focusPrev tk_focusFollowsMouse
  360. +fixman menubar tk_menuBar tk_bindForTraversal
  361. +fixman optionMenu tk_optionMenu
  362. +fixman popup tk_popup
  363. +fixman tkvars tk_library tk_patchLevel tkPriv tk_strictMotif tk_version
  364. diff -urN tk4.0.orig/tkAppInit.c tk4.0/tkAppInit.c
  365. --- tk4.0.orig/tkAppInit.c    Wed Jun 28 15:14:31 1995
  366. +++ tk4.0/tkAppInit.c    Fri Jun 30 21:10:59 1995
  367. @@ -22,8 +22,10 @@
  368.   * Sun shared libraries to be used for Tcl.
  369.   */
  370.  
  371. +#ifdef NEED_MATHERR
  372.  extern int matherr();
  373.  int *tclDummyMathPtr = (int *) matherr;
  374. +#endif
  375.  
  376.  /*
  377.   *----------------------------------------------------------------------
  378. diff -urN tk4.0.orig/tkTest.c tk4.0/tkTest.c
  379. --- tk4.0.orig/tkTest.c    Thu Jun  8 13:43:05 1995
  380. +++ tk4.0/tkTest.c    Fri Jun 30 21:10:59 1995
  381. @@ -23,8 +23,10 @@
  382.   * Sun shared libraries to be used for Tcl.
  383.   */
  384.  
  385. +#ifdef NEED_MATHERR
  386.  extern int matherr();
  387.  int *tclDummyMathPtr = (int *) matherr;
  388. +#endif
  389.  
  390.  /*
  391.   * The table below describes events and is used by the "testevent"
  392.