GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PROJECT_BIN (1)

.ds Aq ’

NAME

project_bin - Call a Dir::Project specific program

CONTENTS

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
Search for    or go to Top of page |  Section 1 |  Main Index


perl v5.20.3 PROJECT_BIN (1) 2014-04-13

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.