[Patch] Fix console link error for hyper.exe

Mo DeJong supermo@bayarea.net
Sat Feb 23 17:27:00 GMT 2002


Here is a patch that fixes the linker error when building SN under Windows.
There is a new API in Tk 8.3 that removes the need for this console hack,
so we can simply use that.

Note that I split out the ChangeLog entry for the nast rerun of automake
that is required. The patch does not include the generated Makefile.in files.

cheers
Mo


2002-02-23  Mo DeJong  <supermo@bayarea.net>

	* Makefile.in:
	* bitmaps/Makefile.in:
	* db/Makefile.in:
	* demo/Makefile.in:
	* doc/Makefile.in:
	* doc/html/Makefile.in:
	* etc/Makefile.in:
	* etc/sn_toolchains/Makefile.in:
	* gui/Makefile.in:
	* hyper/Makefile.in:
	* install/Makefile.in:
	* misc/Makefile.in:
	* misc/libutils/Makefile.in:
	* packages/Makefile.in:
	* parsers/Makefile.in:
	* parsers/assembly/Makefile.in:
	* parsers/chill/Makefile.in:
	* parsers/cobol/Makefile.in:
	* parsers/common/Makefile.in:
	* parsers/cpp/Makefile.in:
	* parsers/cpp/cpplib/Makefile.in:
	* parsers/fortran/Makefile.in:
	* parsers/gcj/Makefile.in:
	* parsers/java/Makefile.in:
	* parsers/libjcreuse/Makefile.in:
	* parsers/m4/Makefile.in:
	* parsers/python/Makefile.in:
	* parsers/sendmail/Makefile.in:
	* parsers/tcl/Makefile.in:
	* parsers/toolbox/Makefile.in:
	* sdk/Makefile.in:
	* sdk/api/Makefile.in:
	* sdk/api/c/Makefile.in:
	* sdk/api/c/database/Makefile.in:
	* sdk/api/c/database/examples/Makefile.in:
	* sdk/api/tcl/Makefile.in:
	* sdk/api/tcl/database/Makefile.in:
	* sdk/api/tcl/database/examples/Makefile.in:
	* sdk/api/tcl/misc/Makefile.in:
	* sdk/parsers/Makefile.in:
	* sdk/parsers/examples/Makefile.in:
	* sdk/parsers/examples/assembly/Makefile.in:
	* sdk/parsers/examples/elf/Makefile.in:
	* snavigator/Makefile.in:
	* snavigator/unix/Makefile.in:
	* snavigator/win/Makefile.in: Regenerate with automake.

2002-02-23  Mo DeJong  <supermo@bayarea.net>

	* configure.in: Don't set HYPER_CONSOLE.
	* hyper/Makefile.am: Don't use HYPER_CONSOLE
	when linking hyper.exe.
	* hyper/win/winMain.c (WinMain, Tcl_AppInit):
	Use public Tk_CreateConsoleWindow instead of
	internal TkConsoleCreate and TkConsoleInit
	functions. This removes the need to link
	to the HYPER_CONSOLE object from tk which
	should make it easier to build with an
	already installed version of Tk.

Index: configure.in
===================================================================
RCS file: /cvs/sourcenav/src/snavigator/configure.in,v
retrieving revision 1.2
diff -u -r1.2 configure.in
--- configure.in	2002/02/01 21:04:12	1.2
+++ configure.in	2002/02/23 23:03:09
@@ -359,14 +359,11 @@
 
 if test x$ac_win_build = xyes ; then
   HYPER_MAIN='winMain.$(OBJEXT)'
-  HYPER_CONSOLE='$(top_builddir)/../tk/win/tkConsole.$(OBJEXT)'
 else
   HYPER_MAIN=
-  HYPER_CONSOLE=
 fi
 
 AC_SUBST(HYPER_MAIN)
-AC_SUBST(HYPER_CONSOLE)
 
 tmp="`cd $srcdir/gui; pwd`"
 if test x$ac_win_build = xyes ; then
Index: hyper/Makefile.am
===================================================================
RCS file: /cvs/sourcenav/src/snavigator/hyper/Makefile.am,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile.am
--- Makefile.am	2001/09/25 22:51:10	1.1.1.1
+++ Makefile.am	2002/02/23 23:03:09
@@ -59,15 +59,15 @@
 
 hyper_LDFLAGS = $(WIN32LDAPP)
 if MSVC
-hyper_LDADD = @HYPER_CONSOLE@ @HYPER_MAIN@ $(LibUtilsDir)/libutils.a \
+hyper_LDADD = @HYPER_MAIN@ $(LibUtilsDir)/libutils.a \
 $(DBUtilsLibDir)/libdbutils.a $(DB_LIBDIR)/libdb.a \
 $(top_builddir)/../libgui/src/libgui.a \
 $(WIN32LIBS) \
 $(ITCL_BUILD_LIB_SPEC) $(ITK_BUILD_LIB_SPEC) \
 $(TIX_BUILD_LIB_SPEC) \
-$(TK_BUILD_LIB_SPEC) $(TCL_BUILD_LIB_SPEC) $(TCL_BUILD_STUB_LIB_SPEC)
+$(TK_BUILD_LIB_SPEC) $(TCL_BUILD_LIB_SPEC)
 else
-hyper_LDADD = @HYPER_CONSOLE@ @HYPER_MAIN@ -L$(LibUtilsDir) -lutils \
+hyper_LDADD = @HYPER_MAIN@ -L$(LibUtilsDir) -lutils \
 -L$(DBUtilsLibDir) -ldbutils -L$(DB_LIBDIR) -ldb \
 -L$(top_builddir)/../libgui/src -lgui \
 $(WIN32LIBS) \
Index: hyper/win/winMain.c
===================================================================
RCS file: /cvs/sourcenav/src/snavigator/hyper/win/winMain.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 winMain.c
--- winMain.c	2001/09/25 22:51:10	1.1.1.1
+++ winMain.c	2002/02/23 23:03:10
@@ -53,14 +53,6 @@
 #include "mxfuncs.h"
 
 /*
- * The following declarations refer to internal Tk routines.  These
- * interfaces are available for use, but are not supported.
- */
-
-EXTERN void		TkConsoleCreate _ANSI_ARGS_((void));
-EXTERN int		TkConsoleInit _ANSI_ARGS_((Tcl_Interp *interp));
-
-/*
  * Forward declarations for procedures defined later in this file:
  */
 
@@ -194,15 +186,13 @@
 
     /*
      * Create the console channels and install them as the standard
-     * channels.  All I/O will be discarded until TkConsoleInit is
+     * channels.  All I/O will be discarded until Tcl_CreateConsoleWindow is
      * called to attach the console to a text widget.
      */
 
     useWinConsole = TkpWinConsoleTest();
     if ( useWinConsole ) {
         TkpWinConsoleCreate();
-    } else {
-        TkConsoleCreate();
     }
 
     /*
@@ -414,7 +404,7 @@
 
     if ((strcmp(Tcl_GetVar(interp, "tcl_interactive", TCL_GLOBAL_ONLY), "1")
 	    == 0) || ( ! useWinConsole )) {
-	if (TkConsoleInit(interp) == TCL_ERROR) {
+	if (Tk_CreateConsoleWindow(interp) == TCL_ERROR) {
 	goto error;
 	}
 #ifdef WIN32



More information about the Sourcenav mailing list