Skip to content

Commit 27bcd70

Browse files
committed
Convert README to README.md
1 parent 8be9a62 commit 27bcd70

File tree

2 files changed

+135
-120
lines changed

2 files changed

+135
-120
lines changed

README

Lines changed: 0 additions & 120 deletions
This file was deleted.

README.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# libsigc++ : The Typesafe Callback Framework for C++
2+
3+
## Introduction
4+
5+
libsigc++ implements a typesafe callback system for standard C++. It
6+
allows you to define signals and to connect those signals to any
7+
callback function, either global or a member function, regardless of
8+
whether it is static or virtual.
9+
10+
libsigc++ is used by gtkmm to wrap the GTK signal system. It does not
11+
depend on GTK or gtkmm.
12+
13+
sigc++-2.0 and sigc++-3.0 are different parallel-installable ABIs.
14+
This file describes sigc++-2.0.
15+
16+
See the [libsigc++ web site](https://libsigcplusplus.github.io/libsigcplusplus/)
17+
18+
## License
19+
20+
Distribution of library and components is under the LGPL as listed in the
21+
file COPYING. Examples and tests are Public Domain.
22+
23+
## Compatibility
24+
25+
Compatible compilers must support C++11, such as the decltype() specifier.
26+
27+
## Build
28+
29+
Whenever possible, you should use the official binary packages approved by the
30+
supplier of your operating system, such as your Linux distribution. For
31+
instance, Ubuntu Linux, Debian Linux and Fedora Linux have official libsigc++
32+
packages.
33+
34+
## Building from a release tarball
35+
36+
Building from the [libsigc++ release tarball](https://github.com/libsigcplusplus/libsigcplusplus/releases)
37+
is easier than building from git.
38+
39+
It's easiest to build with Meson, if the tarball was made with Meson,
40+
and to build with Autotools, if the tarball was made with Autotools.
41+
Then you don't have to use maintainer-mode.
42+
43+
How do you know how the tarball was made? If it was made with Meson,
44+
it contains files in untracked/build_scripts/, untracked/docs/ and possibly
45+
other subdirectories of untracked/.
46+
47+
### Building from a tarball with Meson
48+
49+
Don't call the builddir 'build'. There is a directory called 'build' with
50+
files used by Autotools.
51+
52+
For instance:
53+
```sh
54+
# If the tarball was made with Autotools, you must enable maintainer-mode:
55+
$ meson --prefix=/some_directory --libdir=lib -Dmaintainer-mode=true your_builddir .
56+
57+
# If the tarball was made with Meson:
58+
$ meson --prefix=/some_directory --libdir=lib your_builddir .
59+
60+
# then:
61+
$ cd your_builddir
62+
$ ninja
63+
$ ninja install
64+
# You can run the tests like so:
65+
$ ninja test
66+
```
67+
68+
### Building from a tarball with Autotools
69+
70+
For instance:
71+
```sh
72+
# If the tarball was made with Autotools:
73+
$ ./configure --prefix=/some_directory
74+
75+
# If the tarball was made with Meson, you must enable maintainer-mode:
76+
$ ./autogen.sh --prefix=/some_directory
77+
78+
# then:
79+
$ make
80+
$ make install
81+
# You can build the examples and tests, and run the tests, like so:
82+
$ make check
83+
```
84+
85+
## Building from git
86+
87+
Building from git can be difficult so you should prefer building from a release
88+
tarball unless you need to work on the libsigc++ code itself.
89+
90+
jhbuild can be a good help. See the [jhbuild repo](https://gitlab.gnome.org/GNOME/jhbuild),
91+
the [jhbuild wiki](https://wiki.gnome.org/Projects/Jhbuild) and
92+
the [jhbuild manual](https://gnome.pages.gitlab.gnome.org/jhbuild).
93+
94+
### Building from git with Meson
95+
96+
You must have Meson properly installed (meson, ninja, etc) and you
97+
will also need [mm-common](https://gitlab.gnome.org/GNOME/mm-common/)
98+
version 1.0.0 or higher.
99+
100+
Maintainer-mode is enabled by default when you build from a git clone.
101+
102+
Don't call the builddir 'build'. There is a directory called 'build' with
103+
files used by Autotools.
104+
105+
```sh
106+
$ meson --prefix=/some_directory --libdir=lib your_builddir .
107+
$ cd your_builddir
108+
$ ninja
109+
$ ninja install
110+
# You can run the tests like so:
111+
$ ninja test
112+
# You can create a tarball like so:
113+
$ ninja dist
114+
```
115+
116+
### Building from git with Autotools
117+
118+
You must have Autotools properly installed (autoconf, automake, etc) and you
119+
will also need [mm-common](https://gitlab.gnome.org/GNOME/mm-common/).
120+
121+
```sh
122+
$ ./autogen.sh --prefix=/some_directory
123+
$ make
124+
$ make install
125+
# You can build the examples and tests, and run the tests, like so:
126+
$ make check
127+
# You can create a tarball like so:
128+
$ make distcheck
129+
# or
130+
$ make dist
131+
```
132+
133+
## Building with Microsoft Visual C++
134+
135+
See MSVC_NMake/README.txt.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy