autoproject - Online in the Cloud

This is the command autoproject that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


autoproject - create a skeleton source package for a new program

SYNOPSIS


autoproject [options] [name]

DESCRIPTION


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 "--quiet".

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.

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.)

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


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. autoproject 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.)

-L[DIR]
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).

--debug
Leave intermediate files.

-h, --help
Show summary of options.

-v, --version
Show version of program.

CUSTOMIZATION


The autoproject package includes a set of skeleton files which are usually installed under
/usr/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/share/autoproject/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.

#CAPNAME#
Program name in all caps.

#DESCRIPTION#
A short description of the program.

#AUTHOR#
Program author.

#EMAIL#
Author's email address.

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

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

#ISODATE#
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.

Use autoproject online using onworks.net services



Latest Linux & Windows online programs