Ticket UUID: | 635107 | |||
Title: | debug suffix changed to 'g', was 'd' | |||
Type: | Bug | Version: | obsolete: 8.4.1 | |
Submitter: | davygrvy | Created on: | 2002-11-07 18:40:03 | |
Subsystem: | 53. Configuration and Build Tools | Assigned To: | davygrvy | |
Priority: | 7 High | Severity: | ||
Status: | Closed | Last Modified: | 2004-01-29 07:44:40 | |
Resolution: | Wont Fix | Closed By: | davygrvy | |
Closed on: | 2004-01-29 00:44:40 | |||
Description: |
According to the naming conventions used in TclPro, the 'd' suffix denotes executables files (exe, dll, lib) built for symbols. Is this now different. Are there any other upcoming naming convention changes such as 'r' to denote a threaded build? makefile.vc uses 't' for threaded. No suffix was added for memory debugging, but win/tcl.m4 is adding one. | |||
User Comments: |
davygrvy added on 2004-01-29 07:44:40:
Logged In: YES user_id=7549 Let's call this closed and just accept the odd behavior. davygrvy added on 2003-11-13 16:01:57: Logged In: YES user_id=7549 I haven't check lately, but TEA with --enable-threads should suffix with 't'. I like the idea, myself. memdbg only without symbols might be still suffixing with 'g' and when loaded, $tcl_plaform(debug) is 0, so the wrong type extensions are loaded to match the options. kennykb added on 2003-07-19 03:04:55: Logged In: YES user_id=99768 The 'd' appears to be changed to the 'g' throughout. All that I did was to make 'makefile.vc' (and 'rules.vc') track Mo's change to 'Makefile.in'. Whether this fixes the problem, I can't say. I really don't want to get into the arguments about what's right. The 'd' didn't mean 'symbols' as much as it meant, 'linked with msvcrtd, don't mix with stuff linked with msvcrt or libc or libcd'. David, is this resolved? If so, can we close it out? hobbs added on 2003-07-17 06:25:54: Logged In: YES user_id=72656 Didn't Kevin correct these? davygrvy added on 2003-03-02 08:39:06: Logged In: YES user_id=7549 Oh now things are really messed up. At the next import I do at work, I'm undecided whether I have to change everything to now to conform to this new 'g' thing. And that's not just a days work. I can rename all the TclPro1.4.1 library files... and redo all the 2 dozen .dsp files... Oie vei! THIS SHOULD HAVE BEEN DONE SIX YEARS AGO! I don't like this change. I really don't. It's too much pain for no gain. At least no gain for me. Andreas: >TclPro used the 's' modifier for the true static libraries. I >don't the exact meaning of the 'x' TclPro uses in some > places. A static library but compiled to use the dynamic runtime. IOW, itcl32x.lib is a static library but wants to link with msvcrt.lib (the import library for the dynamic runtime). vincentdarley added on 2003-02-28 18:23:06: Logged In: YES user_id=32170 Yes, it should go into 8.4.2, otherwise debug builds are broken! hobbs added on 2003-02-28 07:11:39: Logged In: YES user_id=72656 Additionally, Andreas notes that configure.in uses a check of DBGX = "d" (line 342 and just under) to set the debug stuff for the rc building (which is minor, but should also be corrected). hobbs added on 2003-02-28 07:05:19: Logged In: YES user_id=72656 OK, the easiest solution is to correct tcl/win/rules.vc to use 'g' instead of 'd' for debug builds. That doesn't address other issues, but it makes things homogeneic across build types. Is this something that should squeeze into 8.4.2? andreas_kupries added on 2003-02-25 04:26:39: Logged In: YES user_id=75003 static - No. If on windows TEA2 currently builds itcl32.lib, this can either be the import library for the DLLL in a shared build, or the name of the static itcl library in a static build. TclPro used the 's' modifier for the true static libraries. I don't the exact meaning of the 'x' TclPro uses in some places. dkf added on 2003-02-25 04:16:58: Logged In: YES user_id=79902 Ugh. We need a policy here. I reckon "distinguish if we *must* but otherwise not" should be our guiding principle. We must distinguish debug on Windows. It's almost certainly a good idea to distinguish threaded on all platforms (purists might argue not, but the realist in me is suspicious we can't be pure here.) Anything else seems unnecessary to me (static is obvious from the extension, yes? And the 'x' specifier feels like something that is so ugly we should pretend it doesn't exist...) Given the above, we need a 'd' suffix on Windows only, and a 't' suffix everywhere. Yes? vincentdarley added on 2003-01-27 18:27:39: Logged In: YES user_id=32170 Can we resolve this before 8.4.2 is released, so debug builds actually work and can run against the test suite? davygrvy added on 2002-11-18 02:17:06: Logged In: YES user_id=7549 If compiled for memdbg, tclreg11g.dll gets made, but because tcl_platform(debug) won't be set in this case, tclreg11g.dll won't get loaded by it's pkgIndex.tcl. Is this proper behaviour or a bug? davygrvy added on 2002-11-17 02:03:25: Logged In: YES user_id=7549 I can make the 'd' to 'g' change in makefile.vc quite easily, but we might want to take some of my ideas over to the TEA build, too. ${DBGX} could be more generalized to mean "the name suffix which give the output executables special meaning". I think it might be benificial to add a suffix for --enable-threads so both threaded and non-threaded can live in the same install point. I propose the following: tcl84tsgx.(a|lib) The 'tsgx' part broken down means: t = has thread support s = static library g = symbols, compstats or memdbg x = use the dynamic msvcrt.dll instead of the static libcmt.lib hobbs added on 2002-11-14 08:49:51: Logged In: YES user_id=72656 'g' has always denoted the debug builds on Unix, and 'd' on Windows. I don't know why they couldn't agree upon a convention when first creating the TEA stuff ... andreas_kupries added on 2002-11-08 01:46:09: Logged In: YES user_id=75003 Jeff did the work on the build system introducing the change. He can answer the questions better than I. I was just tripped on this when I created debug builds of ActiveTcl, etc. and did partial updates of some files. davygrvy added on 2002-11-08 01:40:04: File Added - 34869: patch.txt |
Attachments:
- patch.txt [download] added by davygrvy on 2002-11-08 01:40:03. [details]