From: SourceForge.net <no...@so...> - 2003-11-13 09:02:01
|
Bugs item #635107, was opened at 2002-11-07 10:40 Message generated for change (Comment added) made by davygrvy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=635107&group_id=10894 Category: 51. Configure and Build Tools Group: obsolete: 8.4.1 Status: Open Resolution: None Priority: 7 Submitted By: David Gravereaux (davygrvy) Assigned to: David Gravereaux (davygrvy) Summary: debug suffix changed to 'g', was 'd' Initial Comment: 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. ---------------------------------------------------------------------- >Comment By: David Gravereaux (davygrvy) Date: 2003-11-13 01:01 Message: 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. ---------------------------------------------------------------------- Comment By: Kevin B KENNY (kennykb) Date: 2003-07-18 13:04 Message: 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? ---------------------------------------------------------------------- Comment By: Jeffrey Hobbs (hobbs) Date: 2003-07-16 16:25 Message: Logged In: YES user_id=72656 Didn't Kevin correct these? ---------------------------------------------------------------------- Comment By: David Gravereaux (davygrvy) Date: 2003-03-01 17:39 Message: 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). ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2003-02-28 03:23 Message: Logged In: YES user_id=32170 Yes, it should go into 8.4.2, otherwise debug builds are broken! ---------------------------------------------------------------------- Comment By: Jeffrey Hobbs (hobbs) Date: 2003-02-27 16:11 Message: 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). ---------------------------------------------------------------------- Comment By: Jeffrey Hobbs (hobbs) Date: 2003-02-27 16:05 Message: 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? ---------------------------------------------------------------------- Comment By: Andreas Kupries (andreas_kupries) Date: 2003-02-24 13:26 Message: 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. ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2003-02-24 13:16 Message: 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? ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2003-01-27 03:27 Message: 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? ---------------------------------------------------------------------- Comment By: David Gravereaux (davygrvy) Date: 2002-11-17 11:17 Message: 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? ---------------------------------------------------------------------- Comment By: David Gravereaux (davygrvy) Date: 2002-11-16 11:03 Message: 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 ---------------------------------------------------------------------- Comment By: Jeffrey Hobbs (hobbs) Date: 2002-11-13 17:49 Message: 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 ... ---------------------------------------------------------------------- Comment By: Andreas Kupries (andreas_kupries) Date: 2002-11-07 10:46 Message: 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. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=635107&group_id=10894 |