Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For instance, there are options for making gdb-enabled binaries. These could be passed to SimDist by adding this option to slic's package.gmk file.{{

No Format

...


PACKAGE_CONFIG_OPTS="--enable-gdb=yes"

...


Each package has different possible options for this variable. The above examples will not work on other packages with SimDist, only the slic package.

Package Explanation and Standard Variables

The core of the SimDist build system is in build/package.gmk where a standard set of build procedures is defined for each package. This includes automation of the normal procedure of getting sources, configuring them, executing the build command (usually 'make'), and installing the binaries or headers.

Each package may have some or all of the following defined. The Make fragment is pretty flexible about working around missing information.

Variable

Meaning

PACKAGE_NAME

short name of package

PACKAGE_BASEDIR

base directory

PACKAGE_BUILDDIR

build directory

PACKAGE_CONFIG

configure command if not standard

PACKAGE_CONFIG_OPTS

extra options to configure command

PACKAGE_CVSMODULE

name of the package's cvs module

PACKAGE_CVSROOT

the CVSROOT for the package's cvs repository

PACKAGE_DIR

directory name

PACKAGE_DIR_ORIG

original directory name e.g. if downloaded from tarball

PACKAGE_DOWNLOAD

URL of package tarball

PACKAGE_TGZ_LOCAL

name of the tarball locally

PACKAGE_VERSION

version tag of the package or HEAD for its cvs head

PACKAGE_DIST_TGZ

name of tarball if distributing this package

PACKAGE_DIST_FILES

list of files to be included in distribution of this package

These variables can be overridden or added by editing the file package.gmk within each package's SimDist directory (see above example for slic).

Additionally, each package includes variables necessary for its build in the file env.gmk. This should generally not be edited by hand, whereas editing package.gmk can sometimes be useful.

Both the package.gmk and env.gmk files are rewritten when a global configure command is executed from the SimDist base directory. This is by design, following the convention of Autoconf. If you really want changes to stay, the .in files can be edited. But only a few of the variables are likely going to be useful, such as PACKAGE_CONFIG_OPTS, for passing options to the package's configure script.

...