project_bin man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

PROJECT_BIN(1)	      User Contributed Perl Documentation	PROJECT_BIN(1)

NAME
       project_bin - Call a Dir::Project specific program

SYNOPSIS
	 [program] [program_arguments]
	 [program] --project_bin-help
	 [program] --project_bin-which
	 project_which [program]

	 # Example script dispatching
	 cd ~/project1
	 project_dir --project
	    /path/to/project1
	 my_tool my_args....   # Executes project1/.../my_tool

	 cd ~/project2
	 project_dir --project
	    /path/to/project2
	 my_tool my_args....   # Executes project2/.../my_tool

DESCRIPTION
       project_bin is used to call another project specific program under the
       current project as determined with project_dir.

       This program is not usually called directly.  Instead project_bin is
       symlinked as the name of the program to be executed.  project_bin then
       uses that name to determine the program to be called.  Alternatively
       the --project_bin-run option may be used to specify what to execute
       directly.

       This process enables multiple versions of a program to exist in
       different project directories.  The global path only contains a simple
       non-changing symlink which everyone can share.

EXAMPLE
       Assume "prog" is to be executed.	 The shell uses the standard PATH
       environment variable and finds "prog" under
       $DIRPROJECT_PREFIX/bin/prog.  $DIRPROJECT_PREFIX/bin/prog is installed
       as a simple symlink to project_bin.  Thus the shell executes
       project_bin.

       Project_bin then determines the current project and sets the DIRPROJECT
       environment variable, which has the link to the current project area.
       See Dir::Project program_bin() for more details.

       Project_bin then uses the DIRPROJECT directory in combination with the
       DIRPROJECT_PATH to search for "prog", the name project_bin was invoked
       under.  "prog" is then executed with all of the arguments passed
       through project_bin.

       If project_bin couldn't determine the project or find the binary using
       DIRPROJECT_PATH, it tries to execute
       $DIRPROJECT_PREFIX/bin/"prog"__notfound which is generally a link to a
       version of "prog" that is the default for when outside a project.

       Instead of symlinking, you can make a script to call project_bin.  This
       allows the name of the script to differ from the name of the linked
       program, and also allows it to work on systems without symlinks.

	 #!/usr/bin/perl -w
	 exec 'project_bin', '--project_bin-run', 'name_of_script', @ARGV;

ARGUMENTS
       --debug
	   The debug flag is passed to the application, and also enables
	   debugging messages from project_bin itself.

       --project_bin-debug
	   Strip this flag before passing to the application, and enable
	   debugging.

       --project_bin-help
	   Show this help message and exit.

       --project_bin-run program
	   Specify the program name to be executed.  If not specified,
	   presumes project_bin is symlinked, and $0 contains the name of the
	   program to execute.	See the example above.

       --project_bin-version
	   Show program version and exit.

       --project_bin-which
	   Instead of running the program, print the resolved path, similar to
	   the "which" program.	 If you symlink project_bin to project_which,
	   this will be the default action.

       ... All other arguments are passed through to the application.

ENVIRONMENT
       See Dir::Project for the list of relevant environment variables.

DISTRIBUTION
       Dir-Project is part of the <http://www.veripool.org/> free EDA software
       tool suite.  The latest version is available from CPAN and from
       <http://www.veripool.org/>.

       Copyright 2001-2014 by Wilson Snyder.  This package is free software;
       you can redistribute it and/or modify it under the terms of either the
       GNU Lesser General Public License Version 3 or the Perl Artistic
       License Version 2.0.

       This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       General Public License for more details.

AUTHORS
       Wilson Snyder <wsnyder@wsnyder.org>

SEE ALSO
       Dir::Project, project_dir

perl v5.20.2			  2014-04-13			PROJECT_BIN(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net