meson.build

Cygport Reference Manual

### TABLE OF CONTENTS

- Cygclasses

- aspell-dict.cygclass

- ASPELL_COMPAT
- ASPELL_DATADIR
- ASPELL_DICTDIR
- ASPELL_LANG
- ASPELL_LANG_FULL
- CATEGORY (aspell-dict)
- SUMMARY (aspell-dict)
- DESCRIPTION (aspell-dict)
- HOMEPAGE (aspell-dict)
- SRC_URI (aspell-dict)
- aspell_dict_compile
- doaspelldict
- doaspelldata
- src_compile (aspell-dict)

- autotools.cygclass

- gnuconfigize
- cygautoreconf

- WANT_AUTOCONF
- WANT_AUTOMAKE
- NO_ACLOCAL
- NO_LIBTOOLIZE
- NO_AUTOCONF
- NO_AUTOHEADER
- NO_AUTOMAKE
- NO_AUTOPOINT
- ACLOCAL_FLAGS

- cygconf

- AUTOCONF_VERSION
- CYGCONF_SOURCE
- CYGCONF_ARGS

- src_compile (autotools)

- bzr.cygclass

- BZR_URI
- BZR_REV

- clang.cygclass
- cmake.cygclass

- cygcmake

- CYGCMAKE_SOURCE
- CYGCMAKE_ARGS
- CYGCMAKE_GENERATOR

- src_compile (cmake)
- src_test (cmake)
- src_install (cmake)

- cross.cygclass

- CROSS_HOST
- CROSS_SYSROOT
- CROSS_PREFIX
- CROSS_BINDIR
- CROSS_INCLUDEDIR
- CROSS_LIBDIR
- CROSS_DATADIR
- doelflib
- cross_sysrootize
- cross_desysrootize

- cvs.cygclass

- CVS_URI
- CVS_BRANCH
- CVS_DATE
- CVS_MODULE

- docbook.cygclass

- CATEGORY (docbook)
- SUMMARY (docbook)
- DESCRIPTION (docbook)
- HOMEPAGE (docbook)
- SRC_URI (docbook)
- docbook_install
- docbook_dsssl_postinst
- docbook_sgml_postinst
- docbook_xml_postinst
- src_compile (docbook)
- src_install (docbook)

- emacs.cygclass

- EMACS
- EMACS_SITE
- doemacs

- font.cygclass

- FONTSDIR
- sfd2ttf
- sfd2otf
- fontinto
- dofont
- dofontconf
- newfontconf

- fossil.cygclass

- FOSSIL_URI
- FOSSIL_REV

- fox.cygclass

- FOX_VERSION
- FOX_CONFIG
- FOX_CFLAGS
- FOX_LIBS
- fox-config

- git.cygclass

- GIT_URI
- GIT_BRANCH
- GIT_REV
- GIT_TAG

- gnome.org.cygclass

- GNOME_ORG_TARBALL_SUFFIX
- HOMEPAGE (gnome.org)
- SRC_URI (gnome.org)
- GIT_URI (gnome.org)

- gnome2.cygclass

- gnome2_autoreconf
- GNOME2_NO_AUTOGEN
- gnome2_configure
- gnome2_compile
- src_compile (gnome2)

- gst-plugins.cygclass

- GST_PLUGINS_ENABLE
- GST_PLUGINS_DISABLE
- SUMMARY (gst-plugins)
- gst_plugins_autoreconf
- gst_plugins_compile
- gst_plugins_install
- src_compile (gst-plugins)
- src_install (gst-plugins)

- gstreamer.cygclass

- HOMEPAGE (gstreamer)
- SRC_URI (gstreamer)
- GIT_URI (gstreamer)
- GST_PLUGINDIR
- gstreamer_autoreconf

- gtk2-perl.cygclass

- CATEGORY (gtk2-perl)
- SUMMARY (gtk2-perl)
- HOMEPAGE (gtk2-perl)
- SRC_URI (gtk2-perl)
- DEPS_PATH (gtk2-perl)

- gtkmm.cygclass

- CATEGORY (gtkmm)
- SUMMARY (gtkmm)
- HOMEPAGE (gtkmm)
- gtkmm_autoreconf
- gtkmm_compile
- gtkmm_test
- src_compile (gtkmm)
- src_test (gtkmm)

- hg.cygclass

- HG_URI
- HG_REV

- httpd.cygclass

- CATEGORY (httpd)
- SUMMARY (httpd)
- HTTPD_APXS
- HTTPD
- HTTPD_VERSION
- HTTPD_INCLUDEDIR
- HTTPD_LIBEXECDIR
- HTTPD_SYSCONFDIR
- HTTPD_SYSCONFMODULESDIR
- HTTPD_CFLAGS
- HTTPD_LIBS
- APR_VERSION
- APR_CONFIG
- APU_CONFIG
- APR_CFLAGS
- APR_LIBS
- APR_LIBTOOL
- APREQ2_CONFIG
- APREQ2_CFLAGS
- APREQ2_LIBS
- httpd_mod_compile
- httpd_apxs_compile
- dohttpdconf
- dohttpdmod
- httpd_loadmodules

- kde.org.cygclass

- HOMEPAGE (kde.org)
- SRC_URI (kde.org)
- SVN_URI (kde.org)
- GIT_URI (kde.org)

- kde3.cygclass

- PATCH_URI (kde3)
- CXXFLAGS (kde3)
- kde3_autoreconf
- kde3_compile

- DO_NOT_COMPILE

- kde3_install
- KEEP_LA_FILES (kde3)
- src_compile (kde3)
- src_install (kde3)

- kde4.cygclass

- KDE4_EXTRAGEAR_VERSION
- kde4_cmake
- kde4_compile
- kde4_install
- src_compile (kde4)
- src_install (kde4)

- kf5.cygclass

- kf5_cmake
- kf5_compile
- kf5_install
- src_compile (kf5)
- src_install (kf5)

- lua.cygclass

- LUA
- LUAC
- LUA_VERSION
- LUA_INCLUDEDIR
- LUA_LIBDIR
- LUA_SCRIPTDIR
- LUA_CFLAGS
- LUA_LIBS
- luainto
- dolua
- lua_fix_shebang

- mate.cygclass

- HOMEPAGE (mate)
- SRC_URI (mate)
- GIT_URI (mate)
- mate_autoreconf
- MATE_NO_AUTOGEN
- mate_configure
- mate_compile
- src_compile (mate)

- meson.cygclass

- cygmeson

- CYGMESON_ARGS
- CYGMESON_TEST_ARGS

- meson_compile
- meson_test
- meson_install
- src_compile (meson)
- src_test (meson)
- src_install (meson)

- mtn.cygclass

- MTN_URI
- MTN_BRANCH
- MTN_REV

- multilib.cygclass

- multilib_precompile
- multilib_compile
- multilib_install
- multilib_postinstall

- ninja.cygclass

- cygninja
- ninja_test
- ninja_install

- ocaml-dune.cygclass

- OCAML_DUNE_BUILD_ARGS
- ocaml_dune_compile
- OCAML_DUNE_INSTALL_ARGS
- ocaml_dune_install
- OCAML_DUNE_TEST_TARGETS
- ocaml_dune_test
- src_compile (ocaml-dune)
- src_install (ocaml-dune)
- src_test (ocaml-dune)

- ocaml.cygclass

- OCAML
- OCAMLC
- OCAMLDOC
- OCAMLFIND
- OCAMLLEX
- OCAMLMKLIB
- OCAMLMKTOP
- OCAMLOPT
- OCAML_LIBDIR
- OCAML_INCLUDEDIR
- OCAML_SITEDIR
- OCAML_STUBDIR
- LIBCAMLRUN
- ocaml_install
- src_install (ocaml)

- octave.cygclass

- OCTAVE
- MKOCTFILE
- OCTAVE_CONFIG
- OCTAVE_VERSION
- OCTAVE_INCLUDEDIR
- OCTAVE_LIBDIR
- OCTAVE_CFLAGS
- OCTAVE_LIBS
- OCTAVE_M_DIR
- OCTAVE_OCTDIR
- OCTAVE_M_SITEDIR
- OCTAVE_OCT_SITEDIR

- perl.cygclass

- PERL
- PERL_VERSION
- PERL_LIB
- PERL_ARCHLIB
- PERL_VENDORLIB
- PERL_VENDORARCH
- LIBPERL
- CPAN_AUTHOR
- CPAN_SUBDIR
- CPAN_VERSION
- CATEGORY (perl)
- SUMMARY (perl)
- HOMEPAGE (perl)
- SRC_URI (perl)
- perl_compile
- perl_test
- perl_install
- perl_fix_shebang
- perl_sax_parser_register
- src_compile (perl)
- src_test (perl)
- src_install (perl)

- php.cygclass

- PHP
- PHP_CONFIG
- PHPIZE
- PEAR
- PECL
- PHP_VERSION
- PHP_INI_DIR
- PHP_EXTENSION_DIR
- PHP_PEAR_PHP_DIR
- PHP_PEAR_METADATA_DIR
- LIBPHP
- PHP_CHANNEL
- CATEGORY (php)
- SUMMARY (php)
- HOMEPAGE (php)
- SRC_URI (php)
- php_autoreconf
- php_compile
- php_install
- php_postinst
- php_fix_shebang
- src_compile (php)
- src_install (php)

- python-wheel.cygclass

- PYTHON_WHEEL_VERSIONS
- PKG_NAMES (python-wheel)
- python_wheel_compile
- python_wheel_install
- dowheel
- src_compile (python-wheel)
- src_install (python-wheel)

- python.org.cygclass

- PYPI_NO_NORMALIZE
- HOMEPAGE (python.org)
- SRC_URI (python.org)

- python3-distutils.cygclass

- python3_distutils_compile
- python3_distutils_install
- src_compile (python3-distutils)
- src_install (python3-distutils)

- python3-wheel.cygclass

- PYTHON_WHEEL_VERSIONS
- python3_wheel_compile
- python3_wheel_install
- src_compile (python3-wheel)
- src_install (python3-wheel)

- python3.cygclass

- PYTHON3
- PYTHON3_CONFIG
- PYTHON3_VERSION
- PYTHON3_PKGVERSION
- PYTHON3_ABIFLAGS
- PYTHON3_INCLUDEDIR
- PYTHON3_LIB
- PYTHON3_SITELIB
- LIBPYTHON3
- python3into
- dopython3
- python3_optimize
- python3_fix_shebang

- qt3-qmake.cygclass

- cygqmake3
- qt3_qmake_compile
- qt3_qmake_install
- src_compile (qt3-qmake)
- src_install (qt3-qmake)

- qt3.cygclass

- QTDIR
- QT3_BINDIR
- QT3_INCLUDEDIR
- QT3_LIBDIR
- QT3_PLUGINSDIR
- QT3_DATADIR
- QT3_QMAKE
- QT3_MOC
- QT3_UIC
- doqt3inc
- doqt3lib
- qt3pluginto
- doqt3plugin

- qt4-cmake.cygclass

- qt4_cmake_compile
- src_compile (qt4-cmake)

- qt4-qmake.cygclass

- cygqmake4
- qt4_qmake_compile
- qt4_qmake_install
- src_compile (qt4-qmake)
- src_install (qt4-qmake)

- qt4.cygclass

- QT4_QTDIR
- QT4_BINDIR
- QT4_INCLUDEDIR
- QT4_LIBDIR
- QT4_PLUGINSDIR
- QT4_IMPORTSDIR
- QT4_DATADIR
- QT4_MKSPECSDIR
- QT4_QMAKE
- QT4_MOC
- QT4_RCC
- QT4_UIC
- QT4_UIC3
- QT4_LRELEASE
- doqt4inc
- doqt4lib
- qt4pluginto
- doqt4plugin

- qt5-qmake.cygclass

- cygqmake5
- qt5_qmake_compile
- qt5_qmake_install
- src_compile (qt5-qmake)
- src_install (qt5-qmake)

- qt5.cygclass

- QT5_QTDIR
- QT5_BINDIR
- QT5_INCLUDEDIR
- QT5_LIBDIR
- QT5_PLUGINSDIR
- QT5_IMPORTSDIR
- QT5_QMLDIR
- QT5_DATADIR
- QT5_MKSPECSDIR
- QT5_QMAKE
- QT5_MOC
- QT5_RCC
- QT5_UIC
- QT5_LRELEASE
- doqt5inc
- qt5pluginto
- doqt5plugin

- R.cygclass

- R
- R_CFLAGS
- R_LIBS
- R_HOME
- R_INCLUDEDIR
- R_SITELIB
- CATEGORY (R)
- SUMMARY (R)
- HOMEPAGE (R)
- SRC_URI (R)
- R_CONFIGURE_ARGS
- R_compile
- R_install
- src_compile (R)
- src_install (R)

- ruby.cygclass

- RUBY
- RUBY_VERSION
- RUBY_LIB
- RUBY_ARCH
- RUBY_HEADERDIR
- RUBY_VENDORLIB
- RUBY_VENDORARCH
- RI_SITEDIR
- LIBRUBY
- CATEGORY (ruby)
- SUMMARY (ruby)
- ruby_compile

- RDOC_SOURCE

- ruby_ext_compile
- ruby_install

- RDOC_MODULE

- rubyinto
- doruby
- ruby_fix_shebang
- src_compile (ruby)
- src_install (ruby)

- rubygem.cygclass

- RUBYGEM_NAME
- CATEGORY (rubygem)
- SUMMARY (rubygem)
- HOMEPAGE (rubygem)
- SRC_URI (rubygem)
- RUBYGEM_DIR
- RUBYGEM_INSTDIR
- RUBYGEM_SPEC
- RUBYGEM_DOCDIR
- RUBYGEM_EXTDIR
- rubygem_compile
- rubygem_install
- RUBYGEM_CONFIGURE_ARGS
- src_compile (rubygem)
- src_install (rubygem)

- svn.cygclass

- SVN_URI
- SVN_BRANCH
- SVN_REV
- SVN_DATE

- tcl.cygclass

- TCLSH
- TCL_VERSION
- TCL_INCLUDEDIR
- TCL_LIBDIR
- TK_INCLUDEDIR
- TK_LIBDIR
- LIBTCL
- LIBTK

- texlive.cygclass

- TEXLIVE_TEXMF_PKGS
- TEXLIVE_ARCH_PKGS
- TEXLIVE_DOC_PKGS
- TEXLIVE_PRETEST
- CATEGORY (texlive)
- SUMMARY (texlive)
- DESCRIPTION (texlive)
- HOMEPAGE (texlive)
- SRC_URI (texlive)
- texlive_install
- src_compile (texlive)
- src_install (texlive)

- toolchain.cygclass

- TOOLCHAIN_TARGET
- TOOLCHAIN_SYSROOT
- TOOLCHAIN_PREFIX
- TOOLCHAIN_BINDIR
- TOOLCHAIN_INCLUDEDIR
- TOOLCHAIN_LIBDIR
- TOOLCHAIN_DATADIR
- toolchain_compile
- src_compile (toolchain)

- utils.cygclass
- vim.cygclass

- VIM
- VIMFILES
- viminto
- dovim
- newvim

- waf.cygclass

- WAF
- waf_compile

- WAF_CONFIGURE_FLAGS
- WAF_BUILD_FLAGS

- waf_test

- WAF_TEST_FLAGS

- waf_install

- WAF_INSTALL_FLAGS

- src_compile (waf)
- src_install (waf)

- wxwidgets.cygclass

- WX_VERSION
- WX_TOOLKIT
- WX_CODESET
- WX_CONFIG
- WX_CFLAGS
- WX_LIBS
- wx-config

- xfce4.cygclass

- HOMEPAGE (xfce4)
- SRC_URI (xfce4)
- GIT_URI (xfce4)
- xfce4_autoreconf
- xfce4_compile
- src_compile (xfce4)

- xorg.cygclass

- CATEGORY (xorg)
- SUMMARY (xorg)
- HOMEPAGE (xorg)
- LICENSE (xorg)
- XORG_SRC_COMPRESSION
- SRC_URI (xorg)
- GIT_URI (xorg)

- xvfb.cygclass

- xvfb_run
- src_test (xvfb)

## Cygclasses

[ Top ] [ Chapter 14 ] [ Concepts ]

DESCRIPTION

Cygclasses serve as cygport's standard library, allowing cygport to support so many different types of packaging scenarios. They may accept variables to control their behaviour, provide definitions and/or functions for use in .cygport files, and some can completely control the build process without further intervention.

Cygclasses are imported via the inherit command at the top of your .cygport file. Because of the predominance of GNU autotools, the autotools.cygclass is automatically imported (as explained there).

These Cygclasses allow downloading from various servers and repositories:

- bzr.cygclass - For downloading sources from Bazaar repositories.
- cvs.cygclass - For downloading sources from CVS repositories.
- fossil.cygclass - For downloading sources from Fossil repositories.
- git.cygclass - For downloading sources from Git repositories.
- gnome.org.cygclass - For downloading sources from GNOME mirrors.
- hg.cygclass - For downloading sources from Mercurial repositories.
- kde.org.cygclass - For downloading sources from KDE mirrors.
- mtn.cygclass - For downloading sources from Monotone repositories.
- python.org.cygclass - For downloading sources from PyPI.
- svn.cygclass - For downloading sources from Subversion repositories.

These Cygclasses handle various buildsystems:

- autotools.cygclass - For packages using the autoconf/automake/libtool buildsystem.
- cmake.cygclass - For packages using the CMake buildsystem.
- meson.cygclass - For packages using the Meson buildsystem.
- ninja.cygclass - For packages using the Ninja buildsystem.
- qt3-qmake.cygclass - For packages which depend on Qt 3.x and use the qmake buildsystem.
- qt4-cmake.cygclass - For packages which depend on Qt 4.x and use the CMake buildsystem.
- qt4-qmake.cygclass - For packages which depend on Qt 4.x and use the qmake buildsystem.
- qt5-qmake.cygclass - For packages which depend on Qt 5.x and use the qmake buildsystem.
- waf.cygclass - For packages which use the Waf buildsystem.

These Cygclasses deal with certain types of dependencies:

- fox.cygclass - For packages which depend on the FOX Toolkit.
- python2.cygclass - For packages which depend on Python 2.x.
- python3.cygclass - For packages which depend on Python 3.x.
- qt3.cygclass - For packages which depend on Qt 3.x.
- qt4.cygclass - For packages which depend on Qt 4.x.
- qt5.cygclass - For packages which depend on Qt 5.x.
- tcl.cygclass - For packages which depend on Tcl.
- wxwidgets.cygclass - For packages which depend on wxWidgets.

These Cygclasses are used for packaging desktop software components:

- gnome2.cygclass - For GNOME 2.x/3.x packages.
- kde3.cygclass - For KDE 3.x packages.
- kde4.cygclass - For KDE 4.x packages.
- kf5.cygclass - For KDE Frameworks 5.x packages.
- mate.cygclass - For MATE Desktop packages.
- xfce4.cygclass - For Xfce Desktop packages.

These Cygclasses are used for packaging specific groups of software:

- aspell-dict.cygclass - For Aspell dictionary packages.
- docbook.cygclass - For packaging DocBook SGML/XML DTDs.
- gst-plugins.cygclass - For GStreamer plugin packages.
- gstreamer.cygclass - For GStreamer core packages.
- gtk2-perl.cygclass - For Perl bindings of GTK+/GNOME libraries.
- gtkmm.cygclass - For GTKmm C++ bindings of GTK+/GNOME libraries.
- httpd.cygclass - For Apache HTTP Server DSO packages.
- pygtk.cygclass - For Python bindings of GTK+/GNOME libraries.
- texlive.cygclass - For TeX Live packages.
- xorg.cygclass - For X.Org X11 components.

These Cygclasses are used for building extension modules for various subsystems:

- lua.cygclass - For packages which depend on Lua or provide Lua modules.
- ocaml.cygclass - For packages which depend on OCaml or provide OCaml libraries.
- ocaml-dune.cygclass - For OCaml packages which use the Dune buildsystem.
- octave.cygclass - For packages which depend on Octave or provide Octave modules.
- perl.cygclass - For packages which depend on Perl or provide Perl (CPAN) modules.
- php.cygclass - For packages which depend on PHP or provide PHP (PEAR/PECL) modules.
- python-wheel.cygclass - For Python 2 and 3 packages which are built and installed as wheels.
- python2-distutils.cygclass - For Python 2.x packages which use the Distutils buildsystem.
- python2-wheel.cygclass - For Python 2.x packages which are built and installed as wheels.
- python3-distutils.cygclass - For Python 3.x packages which use the Distutils buildsystem.
- python3-wheel.cygclass - For Python 3.x packages which are built and installed as wheels.
- R.cygclass - For packages which depend on R or provide R modules.
- ruby.cygclass - For packages which depend on Ruby or provide non-gem Ruby modules.
- rubygem.cygclass - For Ruby modules which use the RubyGems buildsystem.

These Cygclasses deal with compiler and cross-compiler toolchains:

- clang.cygclass - For using Clang as a compiler instead of GCC.
- cross.cygclass - For packaging libraries to be used with cross-compiler toolchains.
- multilib.cygclass - For packaging libraries for cross-compiler toolchains which support multiple ABIs.
- toolchain.cygclass - For creating compilers and cross-compilers (binutils, gcc, gdb, newlib).

These Cygclasses provide install commands for certain types of data:

- emacs.cygclass - For manual installation of Emacs modes.
- font.cygclass - For manual installation of fonts.
- vim.cygclass - For manual installation of Vim macros.

These Cygclasses provide utility functions:

- utils.cygclass - Assorted checking functions.
- xvfb.cygclass - For executing commands which require a running X server.