• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

MSVC_NMake/H22-Mar-2020-1,5191,182

build/H22-Mar-2020-26,72621,474

docs/H03-May-2022-78,35177,619

examples/H03-May-2022-5,0703,779

gio/H22-Mar-2020-236,002153,756

glib/H22-Mar-2020-161,497119,086

tests/H03-May-2022-7,0585,457

tools/H03-May-2022-17,25812,473

untracked/H22-Mar-2020-4032

AUTHORSH A D05-May-2019667 2117

COPYINGH A D05-May-201925.9 KiB515434

COPYING.toolsH A D05-May-201917.6 KiB340281

ChangeLogH A D22-Mar-2020784.8 KiB23,79615,450

INSTALLH A D21-Mar-202015.4 KiB369287

Makefile.amH A D12-Mar-20203.4 KiB10069

Makefile.inH A D03-May-202239.9 KiB1,1761,058

NEWSH A D21-Mar-2020137.9 KiB4,5563,766

READMEH A D21-Mar-20202.6 KiB9367

README.SUNH A D05-May-20192.6 KiB8863

README.win32H A D06-Mar-20205 KiB10883

aclocal.m4H A D21-Mar-202089.6 KiB2,9322,515

autogen.shH A D05-May-2019271 85

config.h.inH A D21-Mar-20204.9 KiB168113

configureH A D21-Mar-2020653.2 KiB21,56018,187

configure.acH A D21-Mar-20206.9 KiB181150

meson.buildH A D21-Mar-20209.5 KiB262230

README

1This is glibmm, a C++ API for parts of glib that are useful for C++.
2See http://www.gtkmm.org
3
4# Building
5
6Whenever possible, you should use the official binary packages approved by the
7supplier of your operating system, such as your Linux distribution.
8
9## Building on Windows
10
11See README.win32
12
13## Building from a release tarball
14
15Extract the tarball and go to the extracted directory:
16  $ tar xf glibmm-@GLIBMM_VERSION@.tar.xz
17  $ cd glibmm-@GLIBMM_VERSION@
18
19It's easiest to build with Meson, if the tarball was made with Meson,
20and to build with Autotools, if the tarball was made with Autotools.
21Then you don't have to use maintainer-mode.
22
23How do you know how the tarball was made? If it was made with Meson,
24it contains files in untracked/glib/glibmm/, untracked/gio/giomm/ and
25other subdirectories of untracked/.
26
27### Building from a tarball with Meson
28
29Don't call the builddir 'build'. There is a directory called 'build' with
30files used by Autotools.
31
32  $ meson --prefix /some_directory --libdir lib your_builddir .
33  $ cd your_builddir
34
35If the tarball was made with Autotools, you must enable maintainer-mode:
36  $ meson configure -Dmaintainer-mode=true
37
38Then, regardless of how the tarball was made:
39  $ ninja
40  $ ninja install
41You can run the tests like so:
42  $ ninja test
43
44### Building from a tarball with Autotools
45
46If the tarball was made with Autotools:
47  $ ./configure --prefix=/some_directory
48If the tarball was made with Meson, you must enable maintainer-mode:
49  $ ./autogen.sh --prefix=/some_directory
50
51Then, regardless of how the tarball was made:
52  $ make
53  $ make install
54You can build the examples and tests, and run the tests, like so:
55  $ make check
56
57## Building from git
58
59Building from git can be difficult so you should prefer building from
60a release tarball unless you need to work on the glibmm code itself.
61
62jhbuild can be a good help
63  https://gitlab.gnome.org/GNOME/jhbuild
64  https://wiki.gnome.org/Projects/Jhbuild
65
66### Building from git with Meson
67
68Maintainer-mode is enabled by default when you build from a git clone.
69
70Don't call the builddir 'build'. There is a directory called 'build' with
71files used by Autotools.
72
73  $ meson --prefix /some_directory --libdir lib your_builddir .
74  $ cd your_builddir
75  $ ninja
76  $ ninja install
77You can run the tests like so:
78  $ ninja test
79You can create a tarball like so:
80  $ ninja dist
81
82### Building from git with Autotools
83
84  $ ./autogen.sh --prefix=/some_directory
85  $ make
86  $ make install
87You can build the examples and tests, and run the tests, like so:
88  $ make check
89You can create a tarball like so:
90  $ make distcheck
91or
92  $ make dist
93

README.SUN

1Building gtkmm under Sun Solaris
2================================
3
4This README refers currently only to Sun Forte[tm] C++ compiler (WS6U2)
5under Solaris 8/Sparc.
6
7The described procedure to compile gtkmm with Sun's commercial C++
8compiler assumes the default compiler installation of Forte[tm] C++ 6
9update 2. Furthermore all currently available product and adequate SunOS
10patches for Forte[tm] C++ 6 update 2, which can be donwload from the
11links given at http://access1.sun.com/sundev/fdp6u2-patches.html, have
12to be applied. After that your compiler should give the following
13version information:
14
15  $ CC -V
16  CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-10 2002/09/16
17
18You will not be able to compile gtkmm with the unpatched compiler
19installation. Also, it is important to hide any gcc installation
20from your PATH.
21
22
23The installation procedure:
24
25* Recent version of the following GNU utilities should be avalaible in
26  your PATH:
27
28    make        (3.79.1)
29    libtool     (1.4.2)
30    m4          (1.4)
31    perl        (5.6.1)
32
33    The version information (in brackets) apply to my GNU installation.
34
35* Assumed your compiler installation is in /opt/SUNWspro, the following
36  environment changes are required:
37
38    PATH=/opt/SUNWspro/bin:$PATH
39    LD_LIBRARY_PATH=/opt/SUNWspro/bin:$LD_LIBRARY_PATH
40    export PATH LD_LIBRARY_PATH
41
42    CC="cc"
43    CXX="CC"
44    LD="CC"
45    CFLAGS="-g"         or "-g -xO3" for better optimization
46    CXXFLAGS="-g"       or "-g -O3" for better optimization
47    export CC CXX LD CFLAGS CXXFLAGS
48
49* Select an installation directory ($PREFIX).
50
51* The image libraries jpeg-6b, libpng-1.2.5 and tiff-v3.5.7 are pre-
52  requisites to build gtk+ libraries. They can be obtained from
53  www.sunfreeware.com or build from source. Compiling from source
54  requires some manual corrections (basically prefix settings in the
55  makefiles), because their build mechanism are rather old. All three
56  libraries should be build as shared libraries and installed to the
57  choosen installation directory.
58
59* gtk+-Installation. For each package of pkgconfig-0.12.0, glib-2.0.6,
60  atk-1.0.3, pango-1.0.4, gtk+-2.0.6 do:
61
62    cd <package-path>
63    CPPFLAGS=-I$PREFIX/include CFLAGS="-I$PREFIX/include $CFLAGS" \
64    ./configure --prefix=$PREFIX
65    make
66    make install
67
68* gtkmm-Installation. For each package of libsigc++-1.2.x, gtkmm-2.0.x do:
69
70    cd <package-path>
71    ./configure --prefix=$PREFIX
72    make
73    make install
74
75* Verification can easily done by
76
77    cd gtkmm-1.2.x/examples
78    make
79
80    and testing all built executables.
81
82
83Feel free to contact the gtkmm mailing list in case of problems compiling gtkmm under Sun
84Solaris.
85
86
87Michael v. Szombathely, 31-Oct-02
88<szombath@bifab.de>

README.win32

1Building glibmm on Win32
2===========================
3
4Currently, both the mingw (native win32) gcc compiler and MS Visual
5Studio 2015 and later are supported. glibmm can be built with
6mingw32-gcc using the gnu autotools (automake, autoconf, libtool).
7As explicitly stated in the gtk+ for win32 distribution
8(http://www.gimp.org/win32/), the gcc compiler provided by the cygwin
9distribution should not be used to build glib/glibmm libraries and/or
10applications (see the README.win32 that comes with the gtk+ DLLs).
11This MIGHT cause conflicts between the cygwin and msvcrt runtime
12environments.
13
141. Mingw
15
16The mingw distribution which has been tested with this release is the
17following :
18
19* MinGW-4.1 as the base distribution.
20
21The bare mingw distribution does not provide the necessary tools (sh, perl, m4
22, autoconf, automake, ..) to run the provided configure script "as is". One
23(currently non supported) solution is to use mingw in conjunction with msys,
24which is readily available on the mingw website (http://www.mingw.org/).
25
26The preferred method is to combine the cygwin distribution (for the unix tools
27that were mentioned above) with mingw by making sure that the mingw
28tools (gcc, ld, dlltool, ..) are called first.
29
30First, make sure that you have working distribution of the native port
31of both libsigc++-2.10.x and glib-2.0 on win32 (see
32http://www.gimp.org/win32). If you can't compile a simple glib example
33using gcc and `pkg-config --cflags --libs`, you should not even think
34about trying to compile glibmm, let alone using precompiled libglibmm
35DLLs to port your glibmm application !
36
37The configure script can then be called using (as an example) the
38following options
39
40./configure --prefix=/target --build=i386-pc-mingw32 --disable-static
41
42then
43
44make
45make check
46make install
47
482. MS Visual Studio 2015
49
50In a Visual Studio command prompt, navigate to the MSVC_NMake directory.
51Run 'nmake /f Makefile.vc CFG=[release|debug]' to build the glibmm and
52giomm DLLs, along with their example programs.  If a prefix other than
53$(srcroot)\..\vs$(VSVER)\$(Platform) is desired, pass in PREFIX=$(your_prefix)
54in the NMake command line.  In order to build the giomm settings example
55program, the glib-compile-schemas needs to reside in $(PREFIX)\bin, or
56it must be specified via passing in GLIB_COMPILE_SCHEMAS.  If you are using
57C++ dependencies that are built with Meson, specify USE_MESON_LIBS=1 in
58your NMake command line.
59
60Note that $(VSVER) refers to 14 for Visual Studio 2015 and 15 for Visual
61Studio 2017.
62
63A 'tests' target will build the test programs for glibmm and giomm, an
64'install' target is provided to copy the built DLLs and LIBs, along with
65with the public headers to appropriate subdirs of $(PREFIX).  A 'clean'
66target is also provided to remove all the built files.
67
68The NMake Makefiles now support building the glibmm libraries directly from a GIT checkout
69with a few manual steps required, namely to:
70
71-Ensure that you have a copy of Cygwin or MSYS/MSYS64 installed, including
72 m4.exe and sh.exe.  You should also have a PERL for Windows installation
73 as well, and your PATH should contain the paths to your PERL interpreter
74 and the bin\ directory of your Cygwin or MSYS/MSYS64 installation, and
75 it is recommended that these paths are towards the end of your PATH.  You need
76 to install the XML::Parser PERL module as well, which requires libexpat.
77
78-Make a new copy of the entire source tree to some location, where the build
79 is to be done; then in $(srcroot)\MSVC_NMake run
80 nmake /f Makefile.vc CFG=[release|debug] prep-git-build, which will copy and generate
81 the following files with the proper info (this step may also be needed if the following
82 files are not present in the unpacked source tarball):
83 --$(srcroot)\MSVC_NMake\glibmm\glibmmconfig.h
84 --$(srcroot)\MSVC_NMake\giomm\giommconfig.h
85 --$(srcroot)\MSVC_NMake\glibmm\glibmm.rc
86 --$(srcroot)\MSVC_NMake\giomm\giomm.rc
87 --$(srcroot)\tools\gmmproc
88 --$(srcroot)\tools\generate_wrap_init.pl
89
90After copying the above 6 files, you need to ensure that they reflect on the package version
91that best matches your checkout status and the paths in $(srcroot)\tools\gmmproc and
92$(srcroot)\tools\generate_wrap_init.pl (the items enclosed between the @...@'s) should reflect
93on where you intend for nmake /f Makefile.vc CFG=$(CFG) install to install to (i.e. $(PREFIX)).
94For giommconfig.h, it is recommended to keep GIOMM_STATIC_LIB and GIOMM_DISABLE_DEPRECATED
95undefined unless you know what you are doing (remember, the NMake Makefiles only support DLL
96builds out-of-the-box).  For builds from the release tarballs, running
97nmake /f Makefile.vc CFG=[release|debug] gen-perl-scripts-real will also generate
98$(srcroot)\tools\gmmproc and $(srcroot)\tools\generate_wrap_init.pl for you.
99
100Note that the prep-git-build and the gen-perl-scripts-real targets will require a working PERL
101installation.
102
103
1043. Glibmm methods and signals not available on win32
105
106All glibmm methods and signals are available on win32.
107
108