1 ################################################################################
3 # gtkmm.cygclass - functions for building GTKmm C++ bindings
5 # Part of cygport - Cygwin packaging application
6 # Copyright (C) 2006-2020 Cygport authors
7 # Provided by the Cygwin project <https://cygwin.com/>
9 # cygport is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation, either version 3 of the License, or
12 # (at your option) any later version.
14 # cygport is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with cygport. If not, see <https://www.gnu.org/licenses/>.
22 ################################################################################
24 #****h* Cygclasses/gtkmm.cygclass
28 # The GTKmm project provides C++ bindings for most of the GNOME library
29 # stack. Packages are autotools-based with some custom aclocal macros and
30 # Makefile segments. Doxygen API documentation is included in most packages.
32 # This cygclass builds the GTKmm binding packages.
34 # autotools.cygclass, gnome.org.cygclass
37 ORIG_PN=${ORIG_PN:-${PN/[0-9]*/}}
38 SRC_DIR=${ORIG_PN}-${PV}
42 #****o* gtkmm.cygclass/CATEGORY (gtkmm)
46 #****o* gtkmm.cygclass/SUMMARY (gtkmm)
48 SUMMARY="GNOME C++ bindings for ${ORIG_PN/mm/}-${PV_MAJ}.x"
50 #****o* gtkmm.cygclass/HOMEPAGE (gtkmm)
52 HOMEPAGE="https://www.gtkmm.org/"
55 # .rc files are removed for regeneration by configure
56 DIFF_EXCLUDES+=" Doxyfile MSVC_Net200*"
58 #****C* gtkmm.cygclass/gtkmm_autoreconf
63 # Updates the autotool build system with cygautoreconf.
65 # Skipping this step is strongly discouraged. Patches to configure.ac, aclocal
66 # macros, or Makefile.am files will not take effect until their tools have been
67 # regenerated. Also, Cygwin's libtool package often includes patches which
68 # are not yet available in the latest upstream release, so libraries may not
69 # be built optimally, or even correctly, without this step having been run.
71 # autoconf, automake, libtool, mm-common, pkg-config
74 # make sure mm-common is installed (for the aclocal macros)
75 check_prog_req mm-common-prepare mm-common
77 __config_set with_aclocal 1
78 __config_set with_autoconf 1
79 __config_set with_autoheader 1
80 __config_set with_automake 1
81 __config_set with_libtool 1
85 ACLOCAL_FLAGS+=" -I scripts"
90 sed -i -e '/^SUBDIRS = .*/s/tests//' Makefile.in
93 #****C* gtkmm.cygclass/gtkmm_compile
96 # gtkmm_compile [CONFIGURE_FLAGS]
98 # Calls cygconf, followed by cygmake. All arguments to gtkmm_compile are
99 # passed to cygconf as configure flags.
103 cygmake LDFLAGS="${LDFLAGS} -no-undefined"
106 #****T* gtkmm.cygclass/gtkmm_test
111 # Runs the test programs with "make check".
113 # Not all GTKmm bindings include tests.
124 #****o* gtkmm.cygclass/src_compile (gtkmm)
134 #****o* gtkmm.cygclass/src_test (gtkmm)
142 readonly -f gtkmm_autoreconf gtkmm_compile gtkmm_test