Tcl Source Code

Artifact [fa06016214]
Login

Artifact fa06016214932a17388fbd72d5b5cb49c60d72c3:

Attachment "tclConfig.vc.patch" to ticket [909911ffff] added by patthoyts 2004-03-04 23:36:02.
Index: makefile.vc
===================================================================
RCS file: /cvsroot/tcl/tcl/win/makefile.vc,v
retrieving revision 1.124
diff -u -r1.124 makefile.vc
--- makefile.vc	3 Mar 2004 10:47:22 -0000	1.124
+++ makefile.vc	4 Mar 2004 16:25:38 -0000
@@ -17,7 +17,7 @@
 
 !if "$(MSDEVDIR)" == ""
 MSG = ^
-You'll need to run vcvars32.bat from Developer Studio, first, to setup^
+You will need to run vcvars32.bat from Developer Studio, first, to setup^
 the environment.  Jump to this line to read the new instructions.
 !error $(MSG)
 !endif
@@ -179,7 +179,7 @@
 DOTVERSION	= 9.0
 !elseif [nmakehlp -g ../generic/tcl.h TCL_VERSION] == 0
 MSG =^
-Can't get version string from ../generic/tcl.h
+Cant get version string from ../generic/tcl.h
 !error $(MSG)
 !endif
 VERSION = $(DOTVERSION:.=)
@@ -453,11 +453,11 @@
 # Project specific targets
 #---------------------------------------------------------------------
 
-release:    setup $(TCLSH) $(TCLSTUBLIB) dlls
-core:	    setup $(TCLLIB) $(TCLSTUBLIB)
-shell:	    setup $(TCLSH)
+release:    setup $(TCLSH) $(TCLSTUBLIB) dlls tclConfig
+core:	    setup $(TCLLIB) $(TCLSTUBLIB) tclConfig
+shell:	    setup $(TCLSH) tclConfig
 dlls:	    setup $(TCLPIPEDLL) $(TCLREGLIB) $(TCLDDELIB)
-all:	    setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) 
+all:	    setup $(TCLSH) $(TCLSTUBLIB) dlls tclConfig $(CAT32) 
 tcltest:    setup $(TCLTEST) dlls $(CAT32)
 install:    install-binaries install-libraries install-docs
 
@@ -785,6 +785,7 @@
 !endif
 	@echo installing $(TCLSTUBLIBNAME)
 	@$(CPY) "$(TCLSTUBLIB)" "$(LIB_INSTALL_DIR)\"
+	@$(CPY) "$(OUT_DIR)\tclConfig.sh" "$(LIB_INSTALL_DIR)\"
 
 install-libraries:
 	@echo installing http1.0
@@ -835,6 +836,76 @@
 	@$(CPY) "$(ROOT)\library\word.tcl"     "$(SCRIPT_INSTALL_DIR)\"
 	@$(CPY) "$(ROOT)\library\auto.tcl"     "$(SCRIPT_INSTALL_DIR)\"
 
+tclConfig:
+!if !exist($(TCLSH))
+	@echo Build tclsh first!
+!else
+	@echo Creating tclConfig.sh
+        @$(TCLSH) <<
+        set debug $(DEBUG)
+        set thread $(TCL_THREADS)
+        set static $(STATIC_BUILD)
+	set config(@TCL_DLL_FILE@)       {$(TCLLIBNAME)}
+	set config(@TCL_VERSION@)        [info tcl]
+	set config(@TCL_MAJOR_VERSION@)  [lindex [split [info tclversion] .] 0]
+	set config(@TCL_MINOR_VERSION@)  [lindex [split [info tclversion] .] 1]
+	set config(@TCL_PATCH_LEVEL@)    [string range [info patchlevel] [string length [info tclversion]] end]
+	set config(@CC@)                 {$(CC)}
+	set config(@DEFS@)               {}
+	if {$$static} {lappend config(@DEFS@) "-DSTATIC_BUILD=1"}
+	if {$$thread} {lappend config(@DEFS@) "-DTHREAD=1"}
+	set config(@TCL_DBGX@)           {$(DBGX)}
+	set config(@CFLAGS_DEBUG@)       {-nologo -c -W3 -YX -Fp$(TMP_DIR)\ -MDd}
+	set config(@CFLAGS_OPTIMIZE@)    {-nologo -c -W3 -YX -Fp$(TMP_DIR)\ -MD}
+	set config(@LDFLAGS_DEBUG@)      {-nologo -machine:$(MACHINE) -debug:full -debugtype:cv}
+	set config(@LDFLAGS_OPTIMIZE@)   {-nologo -machine:$(MACHINE) -release -opt:ref -opt:icf,3}
+	set config(@TCL_SHARED_BUILD@)   [expr {$$static ? 0 : 1}]
+	set config(@TCL_LIB_FILE@)       {$(PROJECT)$(VERSION)$(SUFX).lib}
+	set config(@TCL_NEEDS_EXP_FILE@) {}
+	set config(@CFG_TCL_EXPORT_FILE_SUFFIX@) {$${NODOT_VERSION}$${DBGX}.lib}
+	set config(@LIBS@)               {$(baselibs)}
+	set config(@prefix@)             {$(_INSTALLDIR)}
+	set config(@exec_prefix@)        {$(BIN_INSTALL_DIR)}
+	set config(@SHLIB_CFLAGS@)       {}
+	set config(@STLIB_CFLAGS@)       {}
+	set config(@CFLAGS_WARNING@)     {-W3}
+	set config(@EXTRA_CFLAGS@)       {-YX}
+	set config(@SHLIB_LD@)           {$(link32) $(dlllflags)}
+        set config(@STLIB_LD@)           {$(lib32) -nologo}
+	set config(@SHLIB_LD_LIBS@)      {$(baselibs)}
+	set config(@SHLIB_SUFFIX@)       {.dll}
+	set config(@DL_LIBS@)            {}
+	set config(@LDFLAGS@)            {}
+	set config(@TCL_LD_SEARCH_FLAGS@) {}
+	set config(@LIBOBJS@)            {}
+	set config(@RANLIB@)             {}
+	set config(@TCL_LIB_FLAG@)       {}
+	set config(@TCL_BUILD_LIB_SPEC@) {}
+	set config(@TCL_LIB_SPEC@)       {$(LIB_INSTALL_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib}
+	set config(@TCL_INCLUDE_SPEC@)   {-I$(INCLUDE_INSTALL_DIR)}
+	set config(@TCL_LIB_VERSIONS_OK@)  {}
+	set config(@CFG_TCL_SHARED_LIB_SUFFIX@) {$${NODOT_VERSION}$${DBGX}.dll}
+	set config(@CFG_TCL_UNSHARED_LIB_SUFFIX@) {$${NODOT_VERSION}$${DBGX}.lib}
+	set config(@TCL_SRC_DIR@)        [file nativename [file normalize {$(ROOT)}]]
+	set config(@TCL_PACKAGE_PATH@)   {}
+	set config(@TCL_STUB_LIB_FILE@)   {$(TCLSTUBLIBNAME)}
+	set config(@TCL_STUB_LIB_FLAG@)  {$(TCLSTUBLIBNAME)}
+	set config(@TCL_BUILD_STUB_LIB_SPEC@) "-L[file nativename [file normalize {$(OUT_DIR)}]] $(TCLSTUBLIBNAME)"
+	set config(@TCL_STUB_LIB_SPEC@)  {-L$(LIB_INSTALL_DIR) $(TCLSTUBLIBNAME)}
+	set config(@TCL_BUILD_STUB_LIB_PATH@) [file nativename [file normalize {$(TCLSTUBLIB)}]]
+	set config(@TCL_STUB_LIB_PATH@) [file nativename [file normalize {$(LIB_INSTALL_DIR)\\$(TCLSTUBLIBNAME)}]]
+	set config(@TCL_THREADS@)       {$(TCL_THREADS)}
+	set f [open tclConfig.sh.in r]
+        set data [read $$f]
+        close $$f
+	foreach {anchor subst} [array get config] {
+	   regsub -all $$anchor $$data $$subst data
+	}
+	set f [open [file join [file normalize {$(OUT_DIR)}] tclConfig.sh] w]
+        puts $$f $$data
+        close $$f
+<<
+!endif
 
 #---------------------------------------------------------------------
 # Clean up