|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| MSVC_NMake/ | H | 22-Mar-2020 | - | 1,519 | 1,182 |
| build/ | H | 22-Mar-2020 | - | 26,726 | 21,474 |
| docs/ | H | 03-May-2022 | - | 78,351 | 77,619 |
| examples/ | H | 03-May-2022 | - | 5,070 | 3,779 |
| gio/ | H | 22-Mar-2020 | - | 236,002 | 153,756 |
| glib/ | H | 22-Mar-2020 | - | 161,497 | 119,086 |
| tests/ | H | 03-May-2022 | - | 7,058 | 5,457 |
| tools/ | H | 03-May-2022 | - | 17,258 | 12,473 |
| untracked/ | H | 22-Mar-2020 | - | 40 | 32 |
| AUTHORS | H A D | 05-May-2019 | 667 | 21 | 17 |
| COPYING | H A D | 05-May-2019 | 25.9 KiB | 515 | 434 |
| COPYING.tools | H A D | 05-May-2019 | 17.6 KiB | 340 | 281 |
| ChangeLog | H A D | 22-Mar-2020 | 784.8 KiB | 23,796 | 15,450 |
| INSTALL | H A D | 21-Mar-2020 | 15.4 KiB | 369 | 287 |
| Makefile.am | H A D | 12-Mar-2020 | 3.4 KiB | 100 | 69 |
| Makefile.in | H A D | 03-May-2022 | 39.9 KiB | 1,176 | 1,058 |
| NEWS | H A D | 21-Mar-2020 | 137.9 KiB | 4,556 | 3,766 |
| README | H A D | 21-Mar-2020 | 2.6 KiB | 93 | 67 |
| README.SUN | H A D | 05-May-2019 | 2.6 KiB | 88 | 63 |
| README.win32 | H A D | 06-Mar-2020 | 5 KiB | 108 | 83 |
| aclocal.m4 | H A D | 21-Mar-2020 | 89.6 KiB | 2,932 | 2,515 |
| autogen.sh | H A D | 05-May-2019 | 271 | 8 | 5 |
| config.h.in | H A D | 21-Mar-2020 | 4.9 KiB | 168 | 113 |
| configure | H A D | 21-Mar-2020 | 653.2 KiB | 21,560 | 18,187 |
| configure.ac | H A D | 21-Mar-2020 | 6.9 KiB | 181 | 150 |
| meson.build | H A D | 21-Mar-2020 | 9.5 KiB | 262 | 230 |
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