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)