Description: |
OriginalBugID: 4235 RFE
Version: 8.3
SubmitDate: '2000-02-23'
LastModified: '2000-06-13'
Severity: MED
Status: Closed
Submitter: techsupp
ChangedBy: ericm
RelatedBugIDs: 5844
OS: All Windows
FixedDate: '2000-06-13'
Name:
Jan Nijtmans
DesiredBehavior:
Here are the patches from Mumit Khan <[email protected]> submitted through the official bug form.
Patch:
*** win/Makefile.in.origThu Feb 10 12:11:05 2000
--- win/Makefile.inWed Feb 23 20:21:11 2000
***************
*** 85,93 ****
# names based on the platform.
PATHTYPE= @PATHTYPE@
# The name of the Tcl library.
! TCL_LIB_FILE = "$(shell cygpath $(PATHTYPE) '@TCL_BIN_DIR@/@TCL_LIB_FILE@')"
! TCL_STUB_LIB_FILE = "$(shell cygpath $(PATHTYPE) '@TCL_BIN_DIR@/@TCL_STUB_LIB_FILE@')"
SRC_DIR= @srcdir@
ROOT_DIR= $(SRC_DIR)/..
--- 85,96 ----
# names based on the platform.
PATHTYPE= @PATHTYPE@
+ # This program converts between Windows native and Cygwin POSIX pathnames.
+ CYGPATH= @CYGPATH@
+
# The name of the Tcl library.
! TCL_LIB_FILE = "$(shell $(CYGPATH) $(PATHTYPE) '@TCL_BIN_DIR@/@TCL_LIB_FILE@')"
! TCL_STUB_LIB_FILE = "$(shell $(CYGPATH) $(PATHTYPE) '@TCL_BIN_DIR@/@TCL_STUB_LIB_FILE@')"
SRC_DIR= @srcdir@
ROOT_DIR= $(SRC_DIR)/..
***************
*** 98,111 ****
XLIB_DIR= $(ROOT_DIR)/xlib
RC_DIR= $(WIN_DIR)/rc
! ROOT_DIR_NATIVE = $(shell cygpath $(PATHTYPE) '$(ROOT_DIR)')
! WIN_DIR_NATIVE = $(shell cygpath $(PATHTYPE) '$(WIN_DIR)')
! GENERIC_DIR_NATIVE = $(shell cygpath $(PATHTYPE) '$(GENERIC_DIR)')
! BITMAP_DIR_NATIVE= $(shell cygpath $(PATHTYPE) '$(ROOT_DIR)/bitmaps')
! XLIB_DIR_NATIVE= $(shell cygpath $(PATHTYPE) '$(ROOT_DIR)/xlib')
! TCL_GENERIC_NATIVE= $(shell cygpath $(PATHTYPE) '$(TCL_GENERIC_DIR)')
! TCL_SRC_DIR_NATIVE = $(shell cygpath $(PATHTYPE) '$(TCL_SRC_DIR)')
! TCL_BIN_DIR_NATIVE = $(shell cygpath $(PATHTYPE) '$(TCL_BIN_DIR)')
DLLSUFFIX= @DLLSUFFIX@
LIBSUFFIX= @LIBSUFFIX@
--- 101,114 ----
XLIB_DIR= $(ROOT_DIR)/xlib
RC_DIR= $(WIN_DIR)/rc
! ROOT_DIR_NATIVE = $(shell $(CYGPATH) $(PATHTYPE) '$(ROOT_DIR)')
! WIN_DIR_NATIVE = $(shell $(CYGPATH) $(PATHTYPE) '$(WIN_DIR)')
! GENERIC_DIR_NATIVE = $(shell $(CYGPATH) $(PATHTYPE) '$(GENERIC_DIR)')
! BITMAP_DIR_NATIVE= $(shell $(CYGPATH) $(PATHTYPE) '$(ROOT_DIR)/bitmaps')
! XLIB_DIR_NATIVE= $(shell $(CYGPATH) $(PATHTYPE) '$(ROOT_DIR)/xlib')
! TCL_GENERIC_NATIVE= $(shell $(CYGPATH) $(PATHTYPE) '$(TCL_GENERIC_DIR)')
! TCL_SRC_DIR_NATIVE = $(shell $(CYGPATH) $(PATHTYPE) '$(TCL_SRC_DIR)')
! TCL_BIN_DIR_NATIVE = $(shell $(CYGPATH) $(PATHTYPE) '$(TCL_BIN_DIR)')
DLLSUFFIX= @DLLSUFFIX@
LIBSUFFIX= @LIBSUFFIX@
***************
*** 120,126 ****
WISH= wish$(VER)${EXESUFFIX}
TKTEST= tktest${EXEEXT}
! CAT32= cat32
MAN2TCL= man2tcl$(EXEEXT)
@SET_MAKE@
--- 123,129 ----
WISH= wish$(VER)${EXESUFFIX}
TKTEST= tktest${EXEEXT}
! CAT32= cat32${EXEEXT}
MAN2TCL= man2tcl$(EXEEXT)
@SET_MAKE@
***************
*** 128,140 ****
# Macro that expands to the first dependency argument with the appropriate
# path type already resolved.
! DEPARG = "$(shell cygpath $(PATHTYPE) $<)"
# Setting the VPATH variable to a list of paths will cause the
# makefile to look into these paths when resolving .c to .obj
! # dependencies.
! VPATH = $(GENERIC_DIR);$(WIN_DIR);$(UNIX_DIR);$(XLIB_DIR);$(RC_DIR)
# warning flags
CFLAGS_WARNING= @CFLAGS_WARNING@
--- 131,144 ----
# Macro that expands to the first dependency argument with the appropriate
# path type already resolved.
! DEPARG = "$(shell $(CYGPATH) $(PATHTYPE) $<)"
# Setting the VPATH variable to a list of paths will cause the
# makefile to look into these paths when resolving .c to .obj
! # dependencies. Note the ':' to avoid autoconf's habit of deleting
! # all VPATH lines without an explicit ':' in it.
! VPATH = $(GENERIC_DIR)@VPSEP@$(WIN_DIR)@VPSEP@$(UNIX_DIR)@VPSEP@$(XLIB_DIR)@VPSEP@$(RC_DIR) # :
# warning flags
CFLAGS_WARNING= @CFLAGS_WARNING@
***************
*** 168,179 ****
EXEEXT= @EXEEXT@
OBJEXT= @OBJEXT@
SHLIB_LD= @SHLIB_LD@
! SHLIB_LD_LIBS= @SHLIB_LD_LIBS@ $(TCL_STUB_LIB_FILE) gdi32.lib comdlg32.lib
SHLIB_CFLAGS= @SHLIB_CFLAGS@
SHLIB_SUFFIX= @SHLIB_SUFFIX@
VER= @TK_MAJOR_VERSION@@TK_MINOR_VERSION@
DOTVER= @TK_MAJOR_VERSION@.@TK_MINOR_VERSION@
! LIBS= @LIBS@ gdi32.lib comdlg32.lib
RMDIR= rm -rf
MKDIR= mkdir -p
SHELL= @SHELL@
--- 172,183 ----
EXEEXT= @EXEEXT@
OBJEXT= @OBJEXT@
SHLIB_LD= @SHLIB_LD@
! SHLIB_LD_LIBS= @SHLIB_LD_LIBS@ $(TCL_STUB_LIB_FILE) @LIBS_GUI@
SHLIB_CFLAGS= @SHLIB_CFLAGS@
SHLIB_SUFFIX= @SHLIB_SUFFIX@
VER= @TK_MAJOR_VERSION@@TK_MINOR_VERSION@
DOTVER= @TK_MAJOR_VERSION@.@TK_MINOR_VERSION@
! LIBS= @LIBS@ @LIBS_GUI@
RMDIR= rm -rf
MKDIR= mkdir -p
SHELL= @SHELL@
***************
*** 474,492 ****
$(WISH): $(TK_LIB_FILE) $(WISH_OBJS) wish.res
! $(CC) $(CFLAGS) $(WISH_OBJS) $(TCL_LIB_FILE) $(TK_LIB_FILE) $(LIBS) ! wish.res $(CC_EXENAME) -link $(LDFLAGS_WINDOW)
tktest : $(TKTEST)
$(TKTEST): $(TK_LIB_FILE) $(TKTEST_OBJS) wish.res $(CAT32)
! $(CC) $(CFLAGS) $(TKTEST_OBJS_NATIVE) $(TCL_LIB_FILE) ! $(TK_LIB_FILE) $(LIBS) ! wish.res $(CC_EXENAME) -link $(LDFLAGS_WINDOW)
! $(CAT32): $(TCL_SRC_DIR)/cat.c
$(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME)
! $(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) -link $(LDFLAGS_CONSOLE)
# The following targets are configured by autoconf to generate either
# a shared library or static library
--- 478,498 ----
$(WISH): $(TK_LIB_FILE) $(WISH_OBJS) wish.res
! $(CC) $(CFLAGS) $(WISH_OBJS) wish.res $(CC_EXENAME) ! $(TK_LIB_FILE) $(TCL_LIB_FILE) $(LIBS) $(LDFLAGS_WINDOW)
tktest : $(TKTEST)
$(TKTEST): $(TK_LIB_FILE) $(TKTEST_OBJS) wish.res $(CAT32)
! $(CC) $(CFLAGS) $(TKTEST_OBJS_NATIVE) $(TK_LIB_FILE) ! $(TCL_LIB_FILE) $(LIBS) ! wish.res $(CC_EXENAME) $(LDFLAGS_WINDOW)
! cat32.${OBJEXT}: $(TCL_SRC_DIR)/cat.c
$(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME)
!
! $(CAT32): cat32.${OBJEXT}
! $(CC) $(CFLAGS) cat32.${OBJEXT} $(CC_EXENAME) $(LDFLAGS_CONSOLE)
# The following targets are configured by autoconf to generate either
# a shared library or static library
***************
*** 497,503 ****
${TK_DLL_FILE}: ${TK_OBJS} tk.res
@$(RM) ${TK_DLL_FILE}
! @MAKE_DLL@ ${TK_OBJS} tk.res
${TK_LIB_FILE}: ${TK_OBJS}
@$(RM) ${TK_LIB_FILE}
--- 503,509 ----
${TK_DLL_FILE}: ${TK_OBJS} tk.res
@$(RM) ${TK_DLL_FILE}
! @MAKE_DLL@ ${TK_OBJS} tk.res ${SHLIB_LD_LIBS}
${TK_LIB_FILE}: ${TK_OBJS}
@$(RM) ${TK_LIB_FILE}
***************
*** 532,538 ****
--- 538,548 ----
$(CC) -c $(STUB_CC_SWITCHES) -DBUILD_tk ${DEPARG} $(CC_OBJNAME)
.rc.res:
+ ifeq "$(findstring windres, $(RC))" ""
$(RC) -fo $@ -r -i "$(GENERIC_DIR_NATIVE)" -i "$(TCL_GENERIC_NATIVE)" $(DEPARG)
+ else
+ $(RC) -O coff -o $@ --include "$(GENERIC_DIR_NATIVE)" --include "$(TCL_GENERIC_NATIVE)" --include "$(RC_DIR)" $(DEPARG)
+ endif
depend:
*** win/Makefile.mingw.origWed Feb 23 20:21:11 2000
--- win/Makefile.mingwWed Feb 23 20:21:11 2000
***************
*** 0 ****
--- 1,600 ----
+ # GCC/MinGW makefile
+ #
+ # See the file "license.terms" for information on usage and redistribution
+ # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ #
+ # Copyright (c) 1995-1997 Sun Microsystems, Inc.
+ # RCS: @(#) $Id: Makefile.mingw,v 1.1 2000/02/17 20:23:24 khan Exp $
+
+ # Does not depend on the presence of any environment variables in
+ # order to compile tcl; all needed information is derived from
+ # location of the compiler directories.
+
+ #
+ # Project directories
+ #
+ # ROOT = top of source tree
+ #
+ # TMPDIR = location where .o files should be stored during build
+ #
+ # TOOLS32 = location of VC++ 32-bit development tools. Note that the
+ # VC++ 2.0 header files are broken, so you need to use the
+ # ones that come with the developer network CD's, or later
+ # versions of VC++.
+ #
+ # TCLDIR = location of top of Tcl source heirarchy
+ #
+
+ VPATH = .:$(XLIBDIR):$(WINDIR):$(GENERICDIR):$(ROOT)/unix:$(RCDIR)
+
+ ROOT= ..
+ TCLDIR= ../../tcl8.3
+ INSTALLDIR = c:/progra~1/tcl
+
+ # Set this to the appropriate value of /MACHINE: for your platform
+ MACHINE= IX86
+
+ # Yes, Mingw will support IA64!
+ #!IF "$(MACHINE)" == "IA64"
+ #TOOLS32= c:/mingw64
+ #TOOLS32_rc= c:/mingw64
+ #!ELSE
+ TOOLS32= c:/mingw32
+ TOOLS32_rc= c:/mingw32
+ #!ENDIF
+
+ # Uncomment the following line to compile with thread support
+ #THREADDEFINES = -DTCL_THREADS=1
+
+ # Set NODEBUG to 0 to compile with symbols
+ NODEBUG = 1
+
+ # uncomment the following two lines to compile with TCL_MEM_DEBUG
+ #DEBUGDEFINES=-DTCL_MEM_DEBUG
+
+ ######################################################################
+ # Do not modify below this line
+ ######################################################################
+
+ TCLNAMEPREFIX = tcl
+ TKNAMEPREFIX = tk
+ WISHNAMEPREFIX = wish
+ VERSION = 83
+ DOTVERSION = 8.3
+
+ TCLSTUBPREFIX = $(TCLNAMEPREFIX)stub
+ TKSTUBPREFIX = $(TKNAMEPREFIX)stub
+
+
+ BINROOT= .
+ #!IF "$(NODEBUG)" == "1"
+ #TMPDIRNAME= Release
+ #DBGX=
+ #!ELSE
+ #TMPDIRNAME= Debug
+ #DBGX= d
+ #!ENDIF
+ TMPDIR= $(BINROOT)/$(TMPDIRNAME)
+ OUTDIRNAME= $(TMPDIRNAME)
+ OUTDIR= $(TMPDIR)
+
+ TCLLIB = lib$(TCLNAMEPREFIX)$(VERSION)$(DBGX).a
+ TCLPLUGINLIB = lib$(TCLNAMEPREFIX)$(VERSION)p.a
+ TCLSTUBLIB= lib$(TCLSTUBPREFIX)$(VERSION)$(DBGX).a
+ TKDLLNAME= $(TKNAMEPREFIX)$(VERSION)$(DBGX).dll
+ TKDLL = $(OUTDIR)/$(TKDLLNAME)
+ TKLIB = $(OUTDIR)/lib$(TKNAMEPREFIX)$(VERSION)$(DBGX).a
+ TKSTUBLIBNAME= lib$(TKSTUBPREFIX)$(VERSION)$(DBGX).a
+ TKSTUBLIB= $(OUTDIR)/$(TKSTUBLIBNAME)
+ TKPLUGINDLLNAME= $(TKNAMEPREFIX)$(VERSION)p$(DBG).dll
+ TKPLUGINDLL = $(OUTDIR)/$(TKPLUGINDLLNAME)
+ TKPLUGINLIB = $(OUTDIR)/lib$(TKNAMEPREFIX)$(VERSION)p$(DBGX).a
+
+ WISH = $(OUTDIR)/$(WISHNAMEPREFIX)$(VERSION)$(DBGX).exe
+ WISHC = $(OUTDIR)/$(WISHNAMEPREFIX)c$(VERSION)$(DBGX).exe
+ WISHP = $(OUTDIR)/$(WISHNAMEPREFIX)p$(VERSION)$(DBGX).exe
+ TKTEST = $(OUTDIR)/$(TKNAMEPREFIX)test.exe
+ CAT32 = $(TMPDIR)/cat32.exe
+
+ #RMDIR= ./rmd.bat
+ #MKDIR= ./mkd.bat
+ #RM= del
+ #XCOPY= xcopy
+ RMDIR= rm -rf
+ MKDIR= mkdir -p
+ RM= rm -f
+ COPY= cp
+ XCOPY= cp -r
+
+ BIN_INSTALL_DIR = $(INSTALLDIR)/bin
+ INCLUDE_INSTALL_DIR = $(INSTALLDIR)/include
+ LIB_INSTALL_DIR = $(INSTALLDIR)/lib
+ SCRIPT_INSTALL_DIR = $(LIB_INSTALL_DIR)/tk$(DOTVERSION)
+
+ WISHOBJS = + $(TMPDIR)/winMain.o
+
+ TKTESTOBJS = + $(TMPDIR)/tkTest.o + $(TMPDIR)/tkSquare.o + $(TMPDIR)/testMain.o + $(TCLLIBDIR)/tclThreadTest.o
+
+ XLIBOBJS = + $(TMPDIR)/xcolors.o + $(TMPDIR)/xdraw.o + $(TMPDIR)/xgc.o + $(TMPDIR)/ximage.o + $(TMPDIR)/xutil.o
+
+ TKOBJS = + $(TMPDIR)/tkConsole.o + $(TMPDIR)/tkUnixMenubu.o + $(TMPDIR)/tkUnixScale.o + $(XLIBOBJS) + $(TMPDIR)/tkWin3d.o + $(TMPDIR)/tkWin32Dll.o + $(TMPDIR)/tkWinButton.o + $(TMPDIR)/tkWinClipboard.o + $(TMPDIR)/tkWinColor.o + $(TMPDIR)/tkWinConfig.o + $(TMPDIR)/tkWinCursor.o + $(TMPDIR)/tkWinDialog.o + $(TMPDIR)/tkWinDraw.o + $(TMPDIR)/tkWinEmbed.o + $(TMPDIR)/tkWinFont.o + $(TMPDIR)/tkWinImage.o + $(TMPDIR)/tkWinInit.o + $(TMPDIR)/tkWinKey.o + $(TMPDIR)/tkWinMenu.o + $(TMPDIR)/tkWinPixmap.o + $(TMPDIR)/tkWinPointer.o + $(TMPDIR)/tkWinRegion.o + $(TMPDIR)/tkWinScrlbr.o + $(TMPDIR)/tkWinSend.o + $(TMPDIR)/tkWinTest.o + $(TMPDIR)/tkWinWindow.o + $(TMPDIR)/tkWinWm.o + $(TMPDIR)/tkWinX.o + $(TMPDIR)/stubs.o + $(TMPDIR)/tk3d.o + $(TMPDIR)/tkArgv.o + $(TMPDIR)/tkAtom.o + $(TMPDIR)/tkBind.o + $(TMPDIR)/tkBitmap.o + $(TMPDIR)/tkButton.o + $(TMPDIR)/tkCanvArc.o + $(TMPDIR)/tkCanvBmap.o + $(TMPDIR)/tkCanvImg.o + $(TMPDIR)/tkCanvLine.o + $(TMPDIR)/tkCanvPoly.o + $(TMPDIR)/tkCanvPs.o + $(TMPDIR)/tkCanvText.o + $(TMPDIR)/tkCanvUtil.o + $(TMPDIR)/tkCanvWind.o + $(TMPDIR)/tkCanvas.o + $(TMPDIR)/tkClipboard.o + $(TMPDIR)/tkCmds.o + $(TMPDIR)/tkColor.o + $(TMPDIR)/tkConfig.o + $(TMPDIR)/tkCursor.o + $(TMPDIR)/tkEntry.o + $(TMPDIR)/tkError.o + $(TMPDIR)/tkEvent.o + $(TMPDIR)/tkFileFilter.o + $(TMPDIR)/tkFocus.o + $(TMPDIR)/tkFont.o + $(TMPDIR)/tkFrame.o + $(TMPDIR)/tkGC.o + $(TMPDIR)/tkGeometry.o + $(TMPDIR)/tkGet.o + $(TMPDIR)/tkGrab.o + $(TMPDIR)/tkGrid.o + $(TMPDIR)/tkImage.o + $(TMPDIR)/tkImgBmap.o + $(TMPDIR)/tkImgGIF.o + $(TMPDIR)/tkImgPPM.o + $(TMPDIR)/tkImgPhoto.o + $(TMPDIR)/tkImgUtil.o + $(TMPDIR)/tkListbox.o + $(TMPDIR)/tkMacWinMenu.o + $(TMPDIR)/tkMain.o + $(TMPDIR)/tkMenu.o + $(TMPDIR)/tkMenubutton.o + $(TMPDIR)/tkMenuDraw.o + $(TMPDIR)/tkMessage.o + $(TMPDIR)/tkObj.o + $(TMPDIR)/tkOldConfig.o + $(TMPDIR)/tkOption.o + $(TMPDIR)/tkPack.o + $(TMPDIR)/tkPlace.o + $(TMPDIR)/tkPointer.o + $(TMPDIR)/tkRectOval.o + $(TMPDIR)/tkScale.o + $(TMPDIR)/tkScrollbar.o + $(TMPDIR)/tkSelect.o + $(TMPDIR)/tkText.o + $(TMPDIR)/tkTextBTree.o + $(TMPDIR)/tkTextDisp.o + $(TMPDIR)/tkTextImage.o + $(TMPDIR)/tkTextIndex.o + $(TMPDIR)/tkTextMark.o + $(TMPDIR)/tkTextTag.o + $(TMPDIR)/tkTextWind.o + $(TMPDIR)/tkTrig.o + $(TMPDIR)/tkUtil.o + $(TMPDIR)/tkVisual.o + $(TMPDIR)/tkStubInit.o + $(TMPDIR)/tkStubLib.o + $(TMPDIR)/tkWindow.o
+
+ TKSTUBOBJS = $(TMPDIR)/tkStubLib.o + $(TMPDIR)/tkStubImg.o
+
+
+ #cc32= "$(TOOLS32)/bin/cl.exe"
+ #link32= "$(TOOLS32)/bin/link.exe"
+ #lib32= "$(TOOLS32)/bin/lib.exe"
+ #rc32= "$(TOOLS32_rc)/bin/rc.exe"
+ #include32= -I"$(TOOLS32)/include"
+
+ # Say yes if you have gcc-2.95.2-1 and binutils-19990818-1 or later, which
+ # contains support for `gcc -shared' and `ld --shared'.
+ LD_SUPPORTS_SHARED = no
+
+ cc32= $(CROSS)gcc
+ link32= $(cc32)
+ rc32= $(CROSS)windres
+ include32=
+ libpath32=
+ lib32= $(CROSS)ar
+ # Needed if LD_SUPPORTS_SHARED is "no". GNU ld supports --shared on
+ # x86-windows starting from binutils-19990818-1 release.
+ dllwrap= $(CROSS)dllwrap
+
+ # Needed for cross-compilation only.
+ ifneq "$(strip $(CROSS))" ""
+ rc32_flags= --preprocessor "$(cc32) -c -E -xc-header -DRC_INVOKED"
+ dllwrap_flags= --as=$(CROSS)as --dlltool-name=$(CROSS)dlltool + --driver-name=$(cc32)
+ endif
+
+ WINDIR = $(ROOT)/win
+ GENERICDIR= $(ROOT)/generic
+ XLIBDIR= $(ROOT)/xlib
+ BITMAPDIR= $(ROOT)/bitmaps
+ TCLLIBDIR = $(TCLDIR)/win/$(OUTDIRNAME)
+ RCDIR= $(WINDIR)/rc
+
+ TK_INCLUDES= -I$(WINDIR) -I$(GENERICDIR) -I$(BITMAPDIR) -I$(XLIBDIR) + -I$(TCLDIR)/generic
+ TK_DEFINES= -D__WIN32__ $(DEBUGDEFINES) $(THREADDEFINES)
+
+ ######################################################################
+ # Compile flags
+ ######################################################################
+
+ #!IF "$(NODEBUG)" == "1"
+ #!IF "$(MACHINE)" == "ALPHA"
+ ## MSVC on Alpha doesn't understand -Ot
+ #cdebug= -O2i -Gs -GD
+ #!ELSE
+ ## NOTE: Due to a bug in MSVC, we cannot use -O2 here or Tk starts to misbehave.
+ #cdebug= -Oti -Gs -GD
+ #!ENDIF
+ #!ELSE
+ #!IF "$(MACHINE)" == "IA64"
+ #cdebug= -Od -Zi
+ #!ELSE
+ #cdebug= -Z7 -Od -WX
+ #!ENDIF
+ #!ENDIF
+
+ ifeq "$(NODEBUG)" "1"
+ # This cranks the optimization level to maximize speed
+ cdebug = -O2
+ else
+ ifeq "$(MACHINE)" "IA64"
+ cdebug = -g
+ else
+ cdebug = -g
+ endif
+ endif
+
+ # declarations common to all compiler options
+ #cflags= -c -W3 -nologo -Fp$(TMPDIR)/ -YX
+ #cvarsdll = -MD$(DBGX)
+ cflags = -c -Wall
+ cvarsdll =
+
+ CON_CFLAGS= $(cdebug) $(cflags) $(include32) -DCONSOLE
+ TK_CFLAGS= $(cdebug) $(cflags) $(cvarsdll) $(include32) + $(TK_INCLUDES) $(TK_DEFINES) -DUSE_TCL_STUBS
+ WISH_CFLAGS= $(cdebug) $(cflags) $(cvarsdll) $(include32) + $(TK_INCLUDES) $(TK_DEFINES)
+
+ ######################################################################
+ # Link flags
+ ######################################################################
+
+ #!IF "$(NODEBUG)" == "1"
+ #ldebug= /RELEASE
+ #!ELSE
+ #ldebug= -debug:full -debugtype:cv
+ #!ENDIF
+
+ # declarations common to all linker options
+ #lcommon= /NODEFAULTLIB /RELEASE /NOLOGO
+ #lflags= $(lcommon) /MACHINE:$(MACHINE)
+ lcommon=
+ lflags= $(lcommon)
+
+ # declarations for use on Intel i386, i486, and Pentium systems
+ #!IF "$(MACHINE)" == "IX86"
+ #DLLENTRY = @12
+ #!ENDIF
+
+ #conlflags= $(lflags) -subsystem:console -entry:mainCRTStartup
+ #guilflags= $(lflags) -subsystem:windows -entry:WinMainCRTStartup
+ #dlllflags= $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll
+ conlflags= $(lflags)
+ guilflags= $(lflags) -mwindows
+
+ ifeq "$(strip $(LD_SUPPORTS_SHARED))" "yes"
+ dlllflags = $(lflags) -shared
+ else
+ dlllflags = $(lflags)
+ endif
+
+ #!IF "$(MACHINE)" == "PPC"
+ #libc = libc$(DBGX).lib
+ #libcdll = crtdll$(DBGX).lib
+ #!ELSE
+ #libc = libc$(DBGX).lib oldnames.lib
+ #libcdll = msvcrt$(DBGX).lib oldnames.lib
+ #!ENDIF
+
+ #baselibs = kernel32.lib $(optlibs) advapi32.lib
+ #winlibs = $(baselibs) user32.lib gdi32.lib comdlg32.lib winspool.lib
+
+ baselibs =
+ winlibs = -mwindows -lwinspool
+
+ guilibs = $(libc) $(winlibs)
+ conlibs = $(libc) $(baselibs)
+ guilibsdll = $(libcdll) $(winlibs)
+
+ ######################################################################
+ # Project specific targets
+ ######################################################################
+
+ all: setup $(WISH) $(CAT32)
+ install: install-binaries install-libraries
+ plugin:setup $(TKPLUGINDLL) $(WISHP)
+ tktest: setup $(TKTEST) $(CAT32)
+ test:setup $(TKTEST) $(TKLIB) $(CAT32)
+ set TCL_LIBRARY=$(TCLDIR)/library
+ set PATH=$(TCLDIR)\\win\\$(TMPDIRNAME);$(PATH)
+ $(TKTEST) $(ROOT)/tests/all.tcl | $(CAT32)
+
+ runtest: setup $(TKTEST) $(TKLIB) $(CAT32)
+ set TCL_LIBRARY=$(TCLDIR)/library
+ set PATH=$(TCLDIR)\\win\\$(TMPDIRNAME);$(PATH)
+ $(TKTEST)
+
+ console-wish : all $(WISHC)
+
+ stubs:
+ $(TCLDIR)/win/$(TMPDIRNAME)/tclsh$(VERSION)$(DBGX) + $(TCLDIR)/tools/genStubs.tcl $(GENERICDIR) + $(GENERICDIR)/tk.decls $(GENERICDIR)/tkInt.decls
+
+ setup:
+ @$(MKDIR) $(TMPDIR)
+ @$(MKDIR) $(OUTDIR)
+
+ install-binaries:
+ @$(MKDIR) "$(BIN_INSTALL_DIR)"
+ $(COPY) $(TKDLL) "$(BIN_INSTALL_DIR)"
+ $(COPY) $(WISH) "$(BIN_INSTALL_DIR)"
+ @$(MKDIR) "$(LIB_INSTALL_DIR)"
+ $(COPY) $(TKLIB) "$(LIB_INSTALL_DIR)"
+
+ install-libraries:
+ @$(MKDIR) "$(INCLUDE_INSTALL_DIR)"
+ @$(MKDIR) "$(INCLUDE_INSTALL_DIR)/X11"
+ $(COPY) "$(ROOT)/generic/tk.h" "$(INCLUDE_INSTALL_DIR)"
+ $(COPY) "$(ROOT)/generic/tkDecls.h" "$(INCLUDE_INSTALL_DIR)"
+ $(COPY) "$(ROOT)/generic/tkIntXlibDecls.h" "$(INCLUDE_INSTALL_DIR)"
+ ifeq "$(findstring xcopy, $(XCOPY))" ""
+ -$(MKDIR) "$(INCLUDE_INSTALL_DIR)/X11"
+ $(COPY) "$(ROOT)"/xlib/X11/*.h "$(INCLUDE_INSTALL_DIR)/X11"
+ else
+ $(XCOPY) "$(ROOT)"/xlib/X11/*.h "$(INCLUDE_INSTALL_DIR)/X11"
+ endif
+ @$(MKDIR) "$(SCRIPT_INSTALL_DIR)"
+ @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/images"
+ @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/demos"
+ @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/demos/images"
+ ifneq "$(findstring xcopy, $(XCOPY))" ""
+ $(XCOPY) "$(ROOT)/library" "$(SCRIPT_INSTALL_DIR)"
+ else
+ $(COPY) "$(ROOT)"/library/*.tcl "$(SCRIPT_INSTALL_DIR)"
+ $(COPY) "$(ROOT)"/library/tclIndex "$(SCRIPT_INSTALL_DIR)"
+ $(COPY) "$(GENERICDIR)"/prolog.ps "$(SCRIPT_INSTALL_DIR)"
+ $(COPY) "$(ROOT)"/unix/tkAppInit.c "$(SCRIPT_INSTALL_DIR)"
+ $(XCOPY) "$(ROOT)/library/images" "$(SCRIPT_INSTALL_DIR)"
+ $(XCOPY) "$(ROOT)/library/demos" "$(SCRIPT_INSTALL_DIR)"
+ endif
+
+ $(TKLIB): $(TKDLL) $(TKSTUBLIB)
+
+ #$(TKSTUBLIB): $(TKSTUBOBJS)
+ # $(lib32) /out:$@ $(TKSTUBOBJS)
+
+ $(TKSTUBLIB): $(TKSTUBOBJS)
+ $(lib32) crv $@ $(TKSTUBOBJS)
+
+ #$(TKDLL): $(TKOBJS) $(TMPDIR)/tk.res
+ #set LIB=$(TOOLS32)/lib
+ # $(link32) $(ldebug) $(dlllflags) + #-out:$@ $(TMPDIR)/tk.res $(TCLLIBDIR)/$(TCLSTUBLIB) + #$(guilibsdll) @<<
+ #$(TKOBJS)
+ #<<
+
+ ifeq "$(strip $(LD_SUPPORTS_SHARED))" "yes"
+ $(TKDLL): $(TKOBJS) $(TMPDIR)/tk.res.o
+ $(link32) $(ldebug) $(dlllflags) + -o $@ $(TMPDIR)/tk.res.o + -Wl,--out-implib,$(TKLIB) + -Wl,--output-def,tk83.def + $(TKOBJS) + $(TCLLIBDIR)/$(TCLSTUBLIB) + $(guilibsdll)
+ else
+ $(TKDLL): $(TKOBJS) $(TMPDIR)/tk.res.o
+ $(dllwrap) $(dllwrap_flags) $(ldebug) $(dlllflags) + -o $@ $(TMPDIR)/tk.res.o + --output-lib $(TKLIB) + --output-def tk83.def + $(TKOBJS) + $(TCLLIBDIR)/$(TCLSTUBLIB) + $(guilibsdll)
+ endif
+
+ $(TKPLUGINLIB): $(TKPLUGINDLL)
+
+ #$(TKPLUGINDLL): $(TKOBJS) $(TMPDIR)/tk.res
+ #set LIB=$(TOOLS32)/lib
+ # $(link32) $(ldebug) $(dlllflags) + #-out:$@ $(TMPDIR)/tk.res $(TCLLIBDIR)/$(TCLPLUGINLIB) + #$(guilibsdll) @<<
+ #$(TKOBJS)
+ #<<
+
+ $(WISH): $(WISHOBJS) $(TKLIB) $(TMPDIR)/wish.res.o
+ $(link32) $(ldebug) $(guilflags) $(TMPDIR)/wish.res.o -o $@ + $(WISHOBJS) $(TCLLIBDIR)/$(TCLLIB) $(TKLIB) $(guilibsdll)
+
+ $(WISHC): $(WISHOBJS) $(TKLIB) $(TMPDIR)/wish.res.o
+ $(link32) $(ldebug) $(conlflags) $(TMPDIR)/wish.res.o -o $@ + $(WISHOBJS) $(TCLLIBDIR)/$(TCLLIB) $(TKLIB) $(guilibsdll)
+
+ $(WISHP): $(WISHOBJS) $(TKPLUGINLIB) $(TMPDIR)/wish.res.o
+ $(link32) $(ldebug) $(guilflags) $(TMPDIR)/wish.res.o -o $@ + $(guilibsdll) $(TCLLIBDIR)/$(TCLPLUGINLIB) + $(TKPLUGINLIB) $(WISHOBJS)
+
+ $(TKTEST): $(TKTESTOBJS) $(TKLIB) $(TMPDIR)/wish.res.o
+ $(link32) $(ldebug) $(guilflags) $(TMPDIR)/wish.res.o -o $@ + $(guilibsdll) $(TCLLIBDIR)/$(TCLLIB) $(TKLIB) $(TKTESTOBJS)
+
+ $(CAT32): $(TCLDIR)/win/cat.c
+ $(cc32) $(CON_CFLAGS) -o $(TMPDIR)/cat.o $?
+ $(link32) $(conlflags) -o $@ -Wl,--stack,0x16384 + $(TMPDIR)/cat.o $(conlibs)
+
+ #
+ # Regenerate the stubs files.
+ #
+
+ genstubs:
+ tclsh$(VERSION) $(TCLDIR)/tools/genStubs.tcl $(GENERICDIR) + $(GENERICDIR)/tk.decls $(GENERICDIR)/tkInt.decls
+
+ #
+ # Special case object file targets
+ #
+
+ $(TMPDIR)/testMain.o: $(ROOT)/win/winMain.c
+ $(cc32) $(WISH_CFLAGS) -DTK_TEST -o $@ $?
+
+ $(TMPDIR)/tkTest.o: $(ROOT)/generic/tkTest.c
+ $(cc32) $(WISH_CFLAGS) -o $@ $?
+
+ $(TMPDIR)/tkSquare.o: $(ROOT)/generic/tkSquare.c
+ $(cc32) $(WISH_CFLAGS) -o $@ $?
+
+ $(TMPDIR)/winMain.o: $(ROOT)/win/winMain.c
+ $(cc32) $(WISH_CFLAGS) -o $@ $?
+
+ $(TMPDIR)/tkStubLib.o : $(GENERICDIR)/tkStubLib.c
+ $(cc32) $(TK_CFLAGS) -DSTATIC_BUILD -o $@ $?
+
+ #
+ # Implicit rules
+ #
+
+ #{$(XLIBDIR)}.c{$(TMPDIR)}.o:
+ #$(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)/ $<
+ #
+ #{$(GENERICDIR)}.c{$(TMPDIR)}.o:
+ #$(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)/ $<
+ #
+ #{$(WINDIR)}.c{$(TMPDIR)}.o:
+ #$(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)/ $<
+ #
+ #{$(ROOT)/unix}.c{$(TMPDIR)}.o:
+ #$(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)/ $<
+ #
+ #{$(RCDIR)}.rc{$(TMPDIR)}.res:
+ #$(rc32) -fo $@ -r -i "$(GENERICDIR)" -i "$(TOOLS32)/include" + #-i "$(TCLDIR)/generic" $<
+
+ %.o : %.c
+ $(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -o $@ $<
+
+ %.res.o : %.rc
+ $(rc32) $(rc32_flags) -o $@ --include "$(GENERICDIR)" + --include $(RCDIR) + --include "$(TCLDIR)/generic" $<
+
+ clean:
+ -@$(RM) $(OUTDIR)/*.exp
+ -@$(RM) $(OUTDIR)/*.lib
+ -@$(RM) $(OUTDIR)/*.dll
+ -@$(RM) $(OUTDIR)/*.exe
+ -@$(RM) $(OUTDIR)/*.pdb
+ -@$(RM) $(TMPDIR)/*.pch
+ -@$(RM) $(TMPDIR)/*.o
+ -@$(RM) $(TMPDIR)/*.res.o
+ -@$(RM) $(TMPDIR)/*.exe
+
+ # dependencies
+
+ $(TMPDIR)/tk.res.o: + $(RCDIR)/buttons.bmp + $(RCDIR)/cursor*.cur + $(RCDIR)/tk.ico
+
+ $(GENERICDIR)/default.h: $(WINDIR)/tkWinDefault.h
+ $(GENERICDIR)/tkButton.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkCanvas.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkEntry.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkFrame.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkListbox.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkMenu.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkMenubutton.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkMessage.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkScale.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkScrollbar.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkText.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkTextIndex.c: $(GENERICDIR)/default.h
+ $(GENERICDIR)/tkTextTag.c: $(GENERICDIR)/default.h
+
+ $(GENERICDIR)/tkText.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextBTree.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextDisp.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextDisp.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextImage.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextIndex.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextMark.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextTag.c: $(GENERICDIR)/tkText.h
+ $(GENERICDIR)/tkTextWind.c: $(GENERICDIR)/tkText.h
+
+ $(GENERICDIR)/tkMacWinMenu.c: $(GENERICDIR)/tkMenu.h
+ $(GENERICDIR)/tkMenu.c: $(GENERICDIR)/tkMenu.h
+ $(GENERICDIR)/tkMenuDraw.c: $(GENERICDIR)/tkMenu.h
+ $(WINDIR)/tkWinMenu.c: $(GENERICDIR)/tkMenu.h
+
*** win/aclocal.m4.origThu Feb 10 12:11:05 2000
--- win/aclocal.m4Wed Feb 23 20:21:11 2000
***************
*** 171,177 ****
AC_ARG_ENABLE(gcc, [ --enable-gcc allow use of gcc if available [--disable-gcc]],
[ok=$enableval], [ok=no])
if test "$ok" = "yes"; then
! CC=gcc
AC_PROG_CC
else
CC=cl
--- 171,180 ----
AC_ARG_ENABLE(gcc, [ --enable-gcc allow use of gcc if available [--disable-gcc]],
[ok=$enableval], [ok=no])
if test "$ok" = "yes"; then
! # Let user override.
! if test -z "$CC"; then
! CC=gcc
! fi
AC_PROG_CC
else
CC=cl
***************
*** 297,303 ****
fi
])
-
#--------------------------------------------------------------------
# SC_CONFIG_CFLAGS
#
--- 300,305 ----
***************
*** 320,339 ****
# CFLAGS_WARNING
# LDFLAGS_DEBUG
# LDFLAGS_OPTIMIZE
! # PATHTYPE
# CC_OBJNAME
# CC_EXENAME
#
- #Defines the following vars for non-gcc compilers
# SHLIB_LD
# SHLIB_LD_LIBS
# LIBS
# AR
# MAKE_LIB
# MAKE_EXE
# MAKE_DLL
#
# LIBSUFFIX
# LIBRARIES
# EXESUFFIX
# DLLSUFFIX
--- 322,346 ----
# CFLAGS_WARNING
# LDFLAGS_DEBUG
# LDFLAGS_OPTIMIZE
! #LDFLAGS_CONSOLE
! #LDFLAGS_WINDOW
# CC_OBJNAME
# CC_EXENAME
+ # PATHTYPE
+ #VPSEP
+ #CYGPATH
#
# SHLIB_LD
# SHLIB_LD_LIBS
# LIBS
+ #LIBS_GUI
# AR
# MAKE_LIB
# MAKE_EXE
# MAKE_DLL
#
# LIBSUFFIX
+ # LIBPREFIX
# LIBRARIES
# EXESUFFIX
# DLLSUFFIX
***************
*** 346,369 ****
# set various compiler flags depending on whether we are using gcc or cl
if test "${GCC}" = "yes" ; then
CFLAGS_DEBUG=-g
! CFLAGS_OPTIMIZE=-O
CFLAGS_WARNING="-Wall -Wconversion"
LDFLAGS_DEBUG=-g
! LDFLAGS_OPTIMIZE=-O
! PATHTYPE=-u
# Specify the CC output file names based on the target name
CC_OBJNAME="-o \[$]@"
CC_EXENAME="-o \[$]@"
else
SHLIB_LD="link -dll -nologo"
SHLIB_LD_LIBS="user32.lib advapi32.lib"
LIBS="user32.lib advapi32.lib"
AR="lib -nologo"
RC="rc"
MAKE_LIB="\${AR} -out:\[$]@"
MAKE_EXE="\${CC} -Fe\[$]@"
if test "${SHARED_BUILD}" = "0" ; then
# static
--- 353,466 ----
# set various compiler flags depending on whether we are using gcc or cl
if test "${GCC}" = "yes" ; then
+ SHLIB_LD=""
+ SHLIB_LD_LIBS=""
+ LIBS=""
+ LIBS_GUI="-lgdi32 -lcomdlg32"
+ AR="${AR-ar}"
+ STLIB_LD="${AR-ar}"
+ RC="${WINDRES-windres}"
+ MAKE_LIB="\${AR} crv \[$]@"
+ MAKE_EXE="\${CC} -o \[$]@"
+ LIBPREFIX="lib"
+
+ if "$CC" -v 2>&1 | egrep '\/gcc-lib\/i[[3-6]]86[[^\/]]*-cygwin' >/dev/null; then
+ mno_cygwin="yes"
+ extra_cflags="-mno-cygwin"
+ extra_ldflags="-mno-cygwin"
+ else
+ mno_cygwin="no"
+ extra_cflags=""
+ extra_ldflags=""
+ fi
+
+ if test "$cross_compiling" = "yes" -o "$mno_cygwin" = "yes"; then
+ PATHTYPE=''
+ CYGPATH='echo '
+ VPSEP=':'
+ else
+ PATHTYPE='-w'
+ CYGPATH='cygpath'
+ VPSEP=';'
+ fi
+
+ if test "${SHARED_BUILD}" = "0" ; then
+ # static
+ AC_MSG_RESULT([using static flags])
+ runtime=
+ MAKE_DLL="echo "
+ LIBSUFFIX="s\${DBGX}.a"
+ LIBRARIES="\${STATIC_LIBRARIES}"
+ EXESUFFIX="s\${DBGX}.exe"
+ DLLSUFFIX=""
+ else
+ # dynamic
+ AC_MSG_RESULT([using shared flags])
+
+ # check to see if ld supports --shared. Libtool does a much
+ # more extensive test, but not really needed in this case.
+ if test -z "$LD"; then
+ ld_prog="`(${CC} -print-prog-name=ld) 2>/dev/null`"
+ if test -z "$ld_prog"; then
+ ld_prog=ld
+ else
+ # get rid of the potential '\r' from ld_prog.
+ ld_prog="`(echo $ld_prog | tr -d '\015' | sed 's,\\\\,\\/,g')`"
+ fi
+ LD="$ld_prog"
+ fi
+
+ AC_MSG_CHECKING([whether $ld_prog supports -shared option])
+
+ # now the ad-hoc check to see if GNU ld supports --shared.
+ if "$LD" --shared 2>&1 | egrep ': -shared not supported' >/dev/null; then
+ ld_supports_shared="no"
+ SHLIB_LD="${DLLWRAP-dllwrap}"
+ else
+ ld_supports_shared="yes"
+ SHLIB_LD="${CC} -shared"
+ fi
+ AC_MSG_RESULT([$ld_supports_shared])
+
+ runtime=
+ # Add SHLIB_LD_LIBS to the Make rule, not here.
+ MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -o \[$]@ ${extra_ldflags}"
+ if test "${ld_supports_shared}" = "yes"; then
+ MAKE_DLL="${MAKE_DLL} -Wl,--out-implib,\$(patsubst %.dll,lib%.a,\[$]@)"
+ else
+ MAKE_DLL="${MAKE_DLL} --output-lib \$(patsubst %.dll,lib%.a,\[$]@)"
+ fi
+ LIBSUFFIX="\${DBGX}.a"
+ DLLSUFFIX="\${DBGX}.dll"
+ EXESUFFIX="\${DBGX}.exe"
+ LIBRARIES="\${SHARED_LIBRARIES}"
+ fi
+
+ EXTRA_CFLAGS="${extra_cflags}"
CFLAGS_DEBUG=-g
! CFLAGS_OPTIMIZE=-O2
CFLAGS_WARNING="-Wall -Wconversion"
LDFLAGS_DEBUG=-g
! LDFLAGS_OPTIMIZE=
# Specify the CC out
PatchFiles:
Makefile.in Makefile.ming (new file) aclocal.m4 configure.in
I'm marking this RFE as duplicate with respect to 5844.
- eric
-- 06/13/2000 ericm
|