1GPT-SETUP(8)          User Contributed Perl Documentation         GPT-SETUP(8)
2
3
4

NAME

6       gpt-setup - Create automake and autoconf files to convert software into
7       a package
8

SYNOPSIS

10       gpt-setup name version [directory_containing_source_code]
11       [build_directory]
12

DESCRIPTION

14       gpt-setup creates Makefile.am files and a configure.in file as well as
15       other stuff that is used to convert a software distribution into a
16       globus package.  name is the name of the package. version is the
17       version of the package.  directory_containing_source_code is the top
18       source directory for the distribution (the default is the current
19       directory).  build_directory is the top level directory containing the
20       resulting binaries (default is the source directory).  The resulting
21       build depends on other files from the globus packaging tools (GPT) as
22       well as the globus_core package.  NOTE that the files that gpt-setup
23       creates need to be edited by hand in order for the packaging to be
24       complete. The idea behind gpt-setup is simple; "It is easier to edit
25       than to create.".
26

Description of the Files that gpt-setup Creates

28       Makefile.am.  gpt-setup creates a Makefile.am in the top level
29       directory and every subdirectory except for those called CVS or RCS.
30       The Makefile.am files contain a list of sources, subdirectories,
31       libraries, programs, and scripts.  All libraries will be built as
32       libtool libraries.  NOTE that all of the sources found will be included
33       in all of the targets found.  All libraries and executables have flags
34       from the autoconf variables GPT_INCLUDES, GPT_CFLAGS, GPT_LDFLAGS, and
35       GPT_LIBS added to them.  All of the Makefiles contain directives to
36       include files from globus_core that contain standard make targets and
37       rules.
38       configure.in gpt-setup creates a top level configure.in containing the
39       standard GLOBUS_* macros from globus_core. The script detects the
40       occurance of *.in files and headers and adds them to AM_CONFIG_HEADER
41       and AC_OUTPUT.
42       bootstrap gpt-setup creates a top level bootstrap script which is used
43       to invoke aclocal, automake, autoheader, and autoconf in the correct
44       order.
45       pkgdata gpt-setup creates a pkgdata directory that contains the
46       following:
47           pkg_data_src.gpt.in is a file that contains the packaging metadata
48           for the newly created package.  gpt-setup inserts the name and
49           version of the package as well as a list of all of the libraries
50           that the package provides.
51           MyFilelists.pm is a perl module that is used by gpt_sort_file_list
52           to sort the installed files from the source package into binary
53           packages.  The module can be modified to take care of special
54           files.
55           Makefile.am is a makefile that assembles the filelists and
56           packaging data into the various files.
57

Post gpt-setup Tasks (What is Left to the Developer)

59       gpt-setup does not do everything that is needed to compile a package.
60       Some tasks need a developer's touch.  Here is a checklist of tasks that
61       may need to be done by hand:
62
63       Dependencies need to be added to pkgdata/pkg_data_src.gpt.in
64           You can use the GUI tool gpt-edit or edit the file by hand.  The
65           format is explained in Package, SourceDependency, and Version.
66
67       Build Environment flags need to be added to configure.in
68           Use the autoconf macros GPT_SET_CFLAGS, GPT_SET_INCLUDES,
69           GPT_SET_LIBS pass build environment flags to both the Makefiles and
70           the packaging metadata. With the exception of GPT_SET_CFLAGS, these
71           flags will be included in the packaging metadata and used when
72           packages using this package are built.  See Package for details on
73           the build environment metadata.
74
75       Source needs to be assigned to programs and libraries in the
76       Makefile.am's.
77           gpt-edit automatically assigns all source found in a directory to
78           all of the targets found in a directory.  For example:
79
80             Sources = \
81                    foo.c \
82                    foo.h \
83                    fee.c \
84                    fee.h
85
86             bin_programs = foo fee
87
88             foo_SOURCES = $(Sources)
89             fee_SOURCES = $(Sources)
90
91           As you can see both programs fee and foo wind up being built with
92           the same set of sources.  This is of course wrong and needs to be
93           corrected for every directory where more than one program or
94           library is built.
95
96       Autoconf defines need to be tested for
97           Use gpt-undefines to identify all of the preprocesser macros that
98           are used in the source code which are not defined internally.  This
99           list will highlight the autoconf tests that need to be added to the
100           configure.in script.
101

SEE ALSO

103       gpt-edit(8) gpt-undefines(8) automake(1) autoconf(1) Package(3)
104       Version(3) SourceDependency(3)
105

AUTHOR

107       Michael Bletzinger <mbletzin.ncsa.uiuc.edu> and Eric Blau
108       <eblau.ncsa.uiuc.edu>
109
110
111
112perl v5.12.3                      2011-03-24                      GPT-SETUP(8)
Impressum