digitalmars.D.bugs - [Issue 767] New: compiler shall print dependencies and pragma(lib)
- d-bugmail puremagic.com Dec 29 2006
- d-bugmail puremagic.com May 22 2010
- d-bugmail puremagic.com May 22 2010
- d-bugmail puremagic.com May 22 2010
- d-bugmail puremagic.com May 23 2010
- d-bugmail puremagic.com May 23 2010
- d-bugmail puremagic.com May 23 2010
- d-bugmail puremagic.com Nov 26 2010
http://d.puremagic.com/issues/show_bug.cgi?id=767 Summary: compiler shall print dependencies and pragma(lib) Product: D Version: 0.178 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P3 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: benoit tionex.de Let the compiler have a new commandline switch: -bldinfo -bldinfo=filename Prints the bldinfo either to the console or into the given file. The bldinfo contains informations about found dependencies and pragma(lib) statements. Every bldinfo line has the format: "bldinfo <recordtype>: <info>" Every active import from a module will be printed like this: "bldinfo import: %s(\"%s\") => %s(\"%s\")", moduleFQN, moduleFileName, importedModuleFQN, importedModuleFileName Every active pragma(lib) is printed like this: "bldinfo pragma-lib: %s(\"%s\") => \"%s\"", moduleFQN, moduleFileName, stringFromPragma "Active" here means, the statement is relevant for compilation. It is not deactivated through version/debug/static-if conditions. Filenames are printed as absolute paths. Filenames and strings are escaped like the D string literals and they are double quoted. If printed to the console, the bldinfo is printed in between the other messages. The bldinfo is printed without any special order. The bldinfo is printed for all modules given on the command line. The bldinfo is also printed recursively for all modules that are imported. --
Dec 29 2006
http://d.puremagic.com/issues/show_bug.cgi?id=767 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug yahoo.com.au --- Comment #1 from Don <clugdbug yahoo.com.au> 2010-05-22 07:07:36 PDT --- I believe this is mostly implemented in the -deps flag. Is anything left to do? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 22 2010
http://d.puremagic.com/issues/show_bug.cgi?id=767 nfxjfg gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nfxjfg gmail.com --- Comment #2 from nfxjfg gmail.com 2010-05-22 07:24:09 PDT --- You still can't get the libs requested by pragma(lib ...). dmd -v will print the libs, but that's not comfortable enough. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 22 2010
http://d.puremagic.com/issues/show_bug.cgi?id=767 Rainer Schuetze <r.sagitario gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |r.sagitario gmx.de --- Comment #3 from Rainer Schuetze <r.sagitario gmx.de> 2010-05-22 23:58:12 PDT --- I would like too see string imports to be shown in the dependencies: c:\>type test.d int ver=mixin(import("Version")); c:\>type version 42 c:\>dmd -c -J. -deps=deps test.d c:\>type deps test (test.d) : public : object (m:\\s\\d\\phobos\\druntime\\import\\object.di) This should show "version", too. Libraries "imported" by pragma(lib) to be shown would be nice, but this is not complete for a building tool, anyway, because pre-built libraries might force the inclusion of more libraries. I'd like the linker to supply a list of searched libraries. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 22 2010
http://d.puremagic.com/issues/show_bug.cgi?id=767 --- Comment #4 from nfxjfg gmail.com 2010-05-23 00:09:23 PDT --- I figure dmd doesn't report these string imports because it would re -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 23 2010
http://d.puremagic.com/issues/show_bug.cgi?id=767 --- Comment #5 from nfxjfg gmail.com 2010-05-23 00:14:12 PDT --- I figure dmd doesn't report these string imports because it would require full semantic analysis of the code. Which would be much slower, making the -deps mode less useful. Maybe the compiler should provide an "-a" flag, which automatically builds all imported modules? Incremental building is broken anyway (at least due to bug 3274, other reasons include CTFE, which subverts module dependencies, and some types of out-of-declaration bugs [forward refs]). Then dmd would need to run semantically analysis only once to build a program. To facilitate building relatively independent packages as libraries, another flag could be added to dmd to exclude certain package paths using glob patterns. Sorry for the previous comment, I think I accidentally hit soem key combination, that made the browser to submit the form. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 23 2010
http://d.puremagic.com/issues/show_bug.cgi?id=767 --- Comment #6 from Rainer Schuetze <r.sagitario gmx.de> 2010-05-23 04:01:44 PDT --- -deps does not enable a different mode, it just tells dmd to output any file imported to the given dependency file during the normal compilation process. There is no need for an extra compilation step, just use the info in the dependency file from the last compile to figure out if an update is necessary. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 23 2010
http://d.puremagic.com/issues/show_bug.cgi?id=767 Andrei Alexandrescu <andrei metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |andrei metalanguage.com AssignedTo|nobody puremagic.com |bugzilla digitalmars.com -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 26 2010









d-bugmail puremagic.com 