*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> autoproject (1)              



NAME    [Toc]    [Back]

       autoproject - create a skeleton source package for a new program

SYNOPSIS    [Toc]    [Back]

       autoproject  [options] [name]

DESCRIPTION    [Toc]    [Back]

       autoproject  simplifies the creation of a source package for a new program.
  The idea is that you execute  autoproject  just  once  when  you
       start  a  new  project.	It will create a new directory and populate it
       with standard files, customized for the new project.

       autoproject asks for the name of the new program (unless it is given on
       the  command  line), a program description and other data. It then creates
 a subdirectory and populates it with a C program with command line
       parsing,  a  simple  manual  page  and texinfo page, and other standard
       files.  The package is intended to follow  the  GNU  programming  standards.
	It  uses  autoconf(1)  to configure itself, and automake(1) to
       create the Makefile.

       The new program will always support the options	"--help"  and  "--version",
  and  will  optionally  support certain standard options such as

       Optionally, autoproject can set the new project up to use the argp command
 line parsing interface that is included in GNU C library 2.1.

       Alternatively, the new project can use a command line parser generator.
       autoproject will create an appropriate options  description  file,  and
       the  generated  Makefile will include the commands to invoke the parser
       generator as needed.  Currently, autogen(1) and clig(1) are  supported.

       The  version number for the new program is initialized as 0.1.0, and is
       set in configure.in (only).  It is available in C programs as the macro
       VERSION, and in the Makefile as $(VERSION).

       If, after populating the new directory, there exists an executable file
       named postinst, then it is executed.  If it executes successfully, then
       autoproject  deletes it.  Currently, autoproject does not supply a file
       postinst.  However, a user can install one  to  perform	any  necessary
       actions.  (See CUSTOMIZATION, below.)

OPTIONS    [Toc]    [Back]

       If  the	GNU version of getopt(1) is installed, autoproject will accept
       the following options.  Otherwise, autoproject will use	getopts(1)  to
       parse  its  arguments,  and  it	will not longer accept long options or
       options with optional arguments.  If autoproject is used to generate  a
       shell-based project, it will still be dependent on GNU getopt.

       -a, --author name
	      Supply the name of the new program's author.

       -e, --email addr
	      Supply the email address of the author.

       -o, --option opt
	      Add  opt	to  the  list of long options accepted by the program.
	      Only these standard options are accepted here:  dry-run  no-warn
	      output brief quiet verbose directory cd interactive.

       -d, --description text
	      Supply the short program description

       -i, --interface type
	      Specify  the  type  of  user interface.  The default is cli, for
	      command line interface.  (Currently, only cli is supported.)

       -l, --language lang
	      Add lang to the list of languages  used.	 These	languages  are
	      supported  to some extent: c sh c++ fortran lex yacc awk.  auto-
	      project supports languages in two ways.  It  assumes  the  first
	      language	mentioned  will  be  used  for	the  main program, and
	      searches for a skeleton program file in the  corresponding  section
  of the library.  At present autoproject supports main programs
 only in c, sh, or c++.   For  other  languages  mentioned,
	      autoproject only adds macros in configure.in so autoconf(1) will
	      look for the relevant compilers.	(You may  add  skeleton  files
	      supporting other languages.  See CUSTOMIZATION, below.)

	      Prepend  DIR  to	the list of directories to search for skeleton
	      files.  (See CUSTOMIZATION, below.)  If DIR is missing, then the
	      path is cleared.

       -n, --name name
	      Specify the name of the new program.

       -p, --parser prog
	      Use  the	external command line parser or parser generator prog.
	      Currently, these are supported: argp, autogen(1) and clig(1).

	      Leave intermediate files.

       -h, --help
	      Show summary of options.

       -v, --version
	      Show version of program.

CUSTOMIZATION    [Toc]    [Back]

       The autoproject package includes a set of skeleton files which are usually
  installed	under  /usr/local/share/autoproject.  It selects which
       subdirectories to use based on the interface  type,  primary  language,
       and parser generator chosen by the user.

       The  user may create a similar directory tree under $HOME/.autoproject,
       and populate it with additional files and/or replacements for the standard
  files.   The system administrator may create a similar tree under
       /etc/autoproject.  autoproject searches	in  $HOME/.autoproject	first,
       then  /etc/autoproject, and finally in the standard tree.  It uses only
       the first file it finds of a given name.

       For example, if a user wants to add a paragraph to  every  README  file
       that  points  to  his web page, he could copy /usr/local/share/autopro-
       ject/all/all/all/README to ~/.autoproject/all/all/all/README  and  make
       that  change.   Of  course,  any  file  overridden in this way will not
       inherit updates when the next version of autoproject is installed.

       If a skeleton file contains any of these  variables,  autoproject  will
       substitute the corresponding value:

       #NAME# Program name in lower case.

	      Program name in all caps.

	      A short description of the program.

	      Program author.

	      Author's email address.

	      Author's	email  address	with  the  `@' doubled (necessary in a
	      .texinfo file).

       #DATE# Today's date, in this format: "November 24, 2001".

	      Today's date, in ISO 8601 format: "2001-11-24".

       #YEAR# The four digit year.

       Note that these substitutions are made when autoproject runs.   Substitutions
	can  also  be  made  at program configuration or build time by
       suitable makefile commands (for example, using  the  makefile  variable
       VERSION, or the output of date(1)).

       If  you write a generally applicable skeleton file, such as a main program
 for a language currently not supported, please consider contributing
 it to autoproject.

FILES    [Toc]    [Back]

       Directory trees containing skeleton files.

SEE ALSO    [Toc]    [Back]

       autoconf(1), automake(1), autogen(1), clig(1), `Parsing Program Options
       with Argp' in `The GNU C Library Reference  Manual'  (type  `info  libc

AUTHOR    [Toc]    [Back]

       James R. Van Zandt <jrv@vanzandt.mv.com>.

			       December 12, 2000		AUTOPROJECT(1)
[ Back ]
 Similar pages
Name OS Title
dpkg-source Linux Debian source package tools
ctm FreeBSD source code mirror program
indent FreeBSD indent and format C program source
indent OpenBSD indent and format C program source
whereis IRIX locate source, binary, and or manual for program
whereis HP-UX locate source, binary, and/or manual for program
DtDndCreateSourceIcon HP-UX create a drag source icon
pkg_create OpenBSD create binary software package for distribution
dh_installdirs Linux create subdirectories in package build directories
dh_link Linux create symlinks in package build directories
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service