1
1
libsigc++ -- The Typesafe Callback Framework for C++
2
2
3
-
4
3
General information:
5
4
6
5
libsigc++ implements a typesafe callback system for standard C++. It
@@ -14,15 +13,12 @@ General information:
14
13
Further information is available on the libsigc++ project home page:
15
14
https://libsigcplusplus.github.io/libsigcplusplus/
16
15
17
-
18
16
License information:
19
17
20
18
Distribution of library and components is under the LGPL as listed in the
21
19
file COPYING. Examples and tests are Public Domain.
22
20
23
-
24
21
Contact information:
25
- Maintainer: mailto: murrayc@murrayc.com
26
22
Maillist: mailto: libsigc-list@gnome.org
27
23
Homepage: https://libsigcplusplus.github.io/libsigcplusplus/
28
24
Online reference documentation: https://developer.gnome.org/libsigc++/unstable/
@@ -31,34 +27,94 @@ Contact information:
31
27
Git: https://github.com/libsigcplusplus/libsigcplusplus
32
28
Bug reports: https://github.com/libsigcplusplus/libsigcplusplus/issues
33
29
30
+ Compatibility:
34
31
35
- Overview of the distribution:
32
+ Compatible compilers must support C++11, such as the decltype() specifier.
36
33
37
- docs/ documentation on the signal system
38
- docs/reference/ reference documentation
39
-
40
- examples/ examples of various signal functions
41
-
42
- sigc++/ source for library
43
- sigc++/macros/ .m4 files used to auto-generate source files
44
- sigc++/functors/ source for library (various functors)
45
- sigc++/functors/macros/ .m4 files used to auto-generate source files
46
- sigc++/adaptors/ source for library (various adaptors)
47
- sigc++/adaptors/macros/ .m4 files used to auto-generate source files
48
-
49
- build/ auxiliary files for building with Autotools
34
+ All releases are tested with the gcc (g++) compiler.
50
35
51
- untracked/ auxiliary files for building with Meson
52
- See untracked/README
53
-
54
- tests/ programs testing and verifying proper behaviour
55
-
56
- MSVC_NMake/ NMake Makefiles for building the library with MSVC++ 2013 and later
57
- See MSVC_NMake/README.txt
36
+ # Building
58
37
38
+ Whenever possible, you should use the official binary packages approved by the
39
+ supplier of your operating system, such as your Linux distribution.
59
40
60
- Compatibility:
41
+ ## Building on Windows
61
42
62
- Compatible compilers must support C++11, such as the decltype() specifier .
43
+ See MSVC_NMake/README.txt .
63
44
64
- All releases are tested with the gcc (g++) compiler.
45
+ ## Building from a release tarball
46
+
47
+ It's easiest to build with Meson, if the tarball was made with Meson,
48
+ and to build with Autotools, if the tarball was made with Autotools.
49
+ Then you don't have to use maintainer-mode.
50
+
51
+ How do you know how the tarball was made? If it was made with Meson,
52
+ it contains files in untracked/build_scripts/, untracked/docs/ and possibly
53
+ other subdirectories of untracked/.
54
+
55
+ ### Building from a tarball with Meson
56
+
57
+ Don't call the builddir 'build'. There is a directory called 'build' with
58
+ files used by Autotools.
59
+
60
+ If the tarball was made with Autotools, you must enable maintainer-mode:
61
+ $ meson --prefix=/some_directory --libdir=lib -Dmaintainer-mode=true your_builddir .
62
+ If the tarball was made with Meson:
63
+ $ meson --prefix=/some_directory --libdir=lib your_builddir .
64
+
65
+ Then
66
+ $ cd your_builddir
67
+ $ ninja
68
+ $ ninja install
69
+ You can run the tests like so:
70
+ $ ninja test
71
+
72
+ ### Building from a tarball with Autotools
73
+
74
+ If the tarball was made with Autotools:
75
+ $ ./configure --prefix=/some_directory
76
+ If the tarball was made with Meson, you must enable maintainer-mode:
77
+ $ ./autogen.sh --prefix=/some_directory
78
+
79
+ Then
80
+ $ make
81
+ $ make install
82
+ You can build the examples and tests, and run the tests, like so:
83
+ $ make check
84
+
85
+ ## Building from git
86
+
87
+ Building from git can be difficult so you should prefer building from
88
+ a release tarball unless you need to work on the libsigc++ code itself.
89
+
90
+ jhbuild can be a good help
91
+ https://gitlab.gnome.org/GNOME/jhbuild
92
+ https://wiki.gnome.org/Projects/Jhbuild
93
+
94
+ ### Building from git with Meson
95
+
96
+ Maintainer-mode is enabled by default when you build from a git clone.
97
+
98
+ Don't call the builddir 'build'. There is a directory called 'build' with
99
+ files used by Autotools.
100
+
101
+ $ meson --prefix=/some_directory --libdir=lib your_builddir .
102
+ $ cd your_builddir
103
+ $ ninja
104
+ $ ninja install
105
+ You can run the tests like so:
106
+ $ ninja test
107
+ You can create a tarball like so:
108
+ $ ninja dist
109
+
110
+ ### Building from git with Autotools
111
+
112
+ $ ./autogen.sh --prefix=/some_directory
113
+ $ make
114
+ $ make install
115
+ You can build the examples and tests, and run the tests, like so:
116
+ $ make check
117
+ You can create a tarball like so:
118
+ $ make distcheck
119
+ or
120
+ $ make dist
0 commit comments