Skip to content

Commit ac4440f

Browse files
committed
README: Describe building with Meson and Autotools
and remove the description of the directory structure, which is not very useful.
1 parent d66bc03 commit ac4440f

File tree

1 file changed

+84
-28
lines changed

1 file changed

+84
-28
lines changed

README

Lines changed: 84 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
libsigc++ -- The Typesafe Callback Framework for C++
22

3-
43
General information:
54

65
libsigc++ implements a typesafe callback system for standard C++. It
@@ -14,15 +13,12 @@ General information:
1413
Further information is available on the libsigc++ project home page:
1514
https://libsigcplusplus.github.io/libsigcplusplus/
1615

17-
1816
License information:
1917

2018
Distribution of library and components is under the LGPL as listed in the
2119
file COPYING. Examples and tests are Public Domain.
2220

23-
2421
Contact information:
25-
Maintainer: mailto: murrayc@murrayc.com
2622
Maillist: mailto: libsigc-list@gnome.org
2723
Homepage: https://libsigcplusplus.github.io/libsigcplusplus/
2824
Online reference documentation: https://developer.gnome.org/libsigc++/unstable/
@@ -31,34 +27,94 @@ Contact information:
3127
Git: https://github.com/libsigcplusplus/libsigcplusplus
3228
Bug reports: https://github.com/libsigcplusplus/libsigcplusplus/issues
3329

30+
Compatibility:
3431

35-
Overview of the distribution:
32+
Compatible compilers must support C++11, such as the decltype() specifier.
3633

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.
5035

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
5837

38+
Whenever possible, you should use the official binary packages approved by the
39+
supplier of your operating system, such as your Linux distribution.
5940

60-
Compatibility:
41+
## Building on Windows
6142

62-
Compatible compilers must support C++11, such as the decltype() specifier.
43+
See MSVC_NMake/README.txt.
6344

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

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