Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.329.597 Times

whouses 0.15

  Date Added: February 05, 2010  |  Visits: 807

whouses

Report Broken Link
Printer Friendly Version


Product Homepage
Download (87 downloads)



whouses Perl module is an impact analysis in a clearmake build environment. SYNOPSIS Run this script with the -help option for usage details. Here are some additional sample usages with explanations: whouses foobar.h Shows all DOs that make use of any file matching /foobar.h/. whouses -recurse foobar.h Same as above but follows the chain of derived files recursively. whouses -exact foobar.h Shows all DOs that make use of the specified file. The -exact flag suppresses pattern matching and shows only DOs which reference the exact file. Whouses provides a limited form of "impact analysis" in a clearmake build environment. This is different from traditional impact analysis (see TRUE CODE ANALYSIS COMPARED below for details). In particular, it operates at the granularity of files rather than language elements. Whouses is best described by example. Imagine you have a VOB /vobs_sw in which you build the incredibly simple application foo from foo.c. You have a Makefile which compiles foo.c to foo.o and then links it to produce foo. And lets further assume youve just done a build using clearmake. Thus, foo is a derived object (DO) which has a config record (CR) showing how it was made. Whouses analyzes that CR and prints the data in easy-to-read indented textual format. For instance: % whouses -do foo foo.c /vobs_sw/src/foo.c => /vobs_sw/src/foo.o The -do foo points to the derived object from which to extract and analyze the CR; it will be implicit in the remaining examples. The output indicates that foo.o uses foo.c, or in other words that foo.c is a contributor to foo.o. If we add the -recurse flag: % whouses -r foo.c /vobs_sw/src/foo.c => /vobs_sw/src/foo.o /vobs_sw/src/foo We see all files to which foo.c contributes, indented according to how many generations removed they are. If we now add -terminals % whouses -r -t foo.c /vobs_sw/src/foo.c => /vobs_sw/src/foo Intermediate targets such as foo.o are suppressed so we see only the "final" targets descended from foo.c. We can also go in the other direction using -backward: % whouses -b -e foo /vobs_sw/src/foo <= /vobs_sw/src/foo.o Which shows foo.o as a progenitor of foo. Note that the arrow (<=) is turned around to indicate -backward mode. We also introduced the -exact flag here. By default, arguments to whouses are treated as patterns, not file names, and since foo has no extension it would have matched foo.c and foo.o as well. Use of -exact suppresses pattern matching. Of course we can go backward recursively as well: % whouses -back -exact -recurse foo /vobs_sw/src/foo <= /vobs_sw/src/foo.o /vobs_sw/src/foo.c /vobs_sw/src/foo.h /vobs_sw/src/bar.h And discover that foo.h and bar.h were also used. When used recursively in the forward direction, this script answers the question "if I change file X, which derived files will need to be rebuilt"? This is the classic use, the one for which it was written. When used recursively in the backward direction it can depict the entire dependency tree in an easily readable format. Because extracting a recursive CR can be quite slow for large build systems, whouses provides ways of dumping the CR data to a file representation for speed. Use of -save: % whouses -do foo -save ... will write out the data to foo.crdb. Subsequently, if foo.crdb exists it will be used unless a new the -do flag is used. See also the -db and -fmt flags. The default save format is that of Data::Dumper. It was chosen because it results in a nicely indented, human-readable text format file..

Requirements: No special requirements
Platforms: Linux
Keyword: Analysis Build Cr Dos Foo Impact Impact Analysis Libraries Module Perl Perl Module Programming Whouses
Users rating: 0/10

License: Freeware Size: 21.5 KB
USER REVIEWS
More Reviews or Write Review


WHOUSES RELATED
Programming  -  Eclipse Plugins/Tools 2.2.9
Provide a group of useful Eclipse plugins; such as Ant build tool view and a Robocode documentation help module. Currently supporting Eclipse R2.0
163.31 KB  
Libraries  -  Module::Build::Authoring 0.2805
Module::Build::Authoring are authoring Module::Build modules. When creating a Build.PL script for a module, something like the following code will typically be used: use Module::Build; my $build = Module::Build->new ( module_name =>...
184.32 KB  
Libraries  -  Module::Build 0.2808
Module::Build is a Perl module for build and install Perl modules. SYNOPSIS Standard process for building & installing modules: perl Build.PL ./Build ./Build test ./Build install Or, if youre on a platform (like DOS or Windows) that...
184.32 KB  
Modules  -  Drupal SEO Tools 6.x-1.0-beta4
The Drupal SEO Tools module seamlessly integrates a sophisticated suite of search engine reporting, analysis and optimization tools into your website. It provides a dashboard that integrates analytics reports with links to webmaster tools and...
20.48 KB  
Libraries  -  Module::Build::TestReporter 1.00
Module::Build::TestReporter is a Perl module to help users report test failures. SYNOPSIS use Module::Build::TestReporter; my $build = Module::Build::TestReporter->new( # normal Module::Build code here ); # or, in your own M::B subclass...
8.19 KB  
Utilities  -  kdesvn-build 1.3
kdesvn-build script builds KDE from its Subversion source repository. Well, that and a *LOT* more... It builds qt-copy, automatically includes unsermake in the build, easily supports being run from cron, allows module-specific options such as...
44.03 KB  
Modules  -  Buy Me a Beer Taxonomy Token 6.x-1.0
The Taxonomy Token module allows the user to set vocabularies for which there will be created specific tokens. It's main use is together with the Pathauto module.FeaturesIt can create two types of per vocabulary tokens: single term and full term...
10 KB  
Libraries  -  Class::DBI::FormTools 0.0.4
Class::DBI::FormTools is a Perl module to build forms with multiple interconnected objects. SYNOPSIS package MyApp::Film; use base Class::DBI::FormTools; Mason example my $o = Film->retrieve(42); < input...
9.22 KB  
Libraries  -  Apache::MyConfig 1.30
Apache::MyConfig is a Perl module created to build options access. SYNOPSIS use Apache::MyConfig; die unless $Apache::MyConfig::Setup{PERL_FILE_API}; Apache::MyConfig module provides access to the various hooks and features set when...
389.12 KB  
Programming  -  Ant-Eclipse 1.0
Ant-Eclipse is a task for the Java build tool Ant generating Eclipse projects to be just imported and used easily. Ant build scripts are used as a central place for the configuration of sources and libraries which the generated projects are based...
34.82 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB