Commit Graph

36 Commits

Author SHA1 Message Date
Martin Blanchard
19a6affd3a build: stop relying on intltool for i18n
Recent gettext version can extract and merge back strings from and to
various file formats, no need for intltool anymore.

https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/133

https://github.com/NetworkManager/NetworkManager/pull/303
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/96

Clarification about the use of AM_GNU_GETTEXT_REQUIRE_VERSION:

In configure.ac, specify the minimum gettext version we require, rather
than the exact one. This fixes a situation where the autoconf macros
used for gettext will be the latest available on the system (for
example, 0.20); but the copied-in Makefile.in.in will be for the exact
version specified in configure.ac (in this case, 0.19).

In that situation, the gettext build rules will error out at `make` time
with the message:
   *** error: gettext infrastructure mismatch: using a Makefile.in.in
   from gettext version 0.19 but the autoconf macros are from gettext
   version 0.20

Avoid that by specifying a minimum version dependency rather than an
exact one. This should not cause problems as we haven’t committed any
generated or external gettext files into git, so each developer will end
up regenerating the build system for their system’s version of gettext,
as expected.

See the subsection of
https://www.gnu.org/software/gettext/manual/html_node/Version-Control-Issues.html
for more information.

Note that autoreconf currently doesn’t recognise
AM_GNU_GETTEXT_REQUIRE_VERSION, so we must continue also using
AM_GNU_GETTEXT_VERSION. autopoint will ignore the latter if the former
is present. See
https://lists.gnu.org/archive/html/autoconf-patches/2015-10/msg00000.html.

[lkundrak@v3.sk: Fixed the meson build, adjusted autogen.sh:
droped "|| exit 1", dropped call to aclocal,
dropped --copy from gtkdocize.]
2022-06-27 13:40:09 +02:00
Thomas Haller
ac1a9e03e4
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.

Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.

We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.

As the name "src/" is already taken, that prevents any sensible
restructuring of the code.

As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".

For inspiration, look at systemd's "src/" directory.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-04 09:45:55 +01:00
Thomas Haller
12823f60af
format: replace tabs with spaces in sheell scripts 2020-09-29 09:19:29 +02:00
Lubomir Rintel
5801f89f4d all: goodbye libnm-glib
This removes libnm-glib, libnm-glib-vpn, and libnm-util for good.
The it has been replaced with libnm since NetworkManager 1.0, disabled
by default since 1.12 and no up-to-date distributions ship it for years
now.

Removing the libraries allows us to:

* Remove the horrible hacks that were in place to deal with accidental use
  of both the new and old library in a single process.
* Relief the translators of maintenance burden of similar yet different
  strings.
* Get rid of known bad code without chances of ever getting fixed
  (libnm-glib/nm-object.c and libnm-glib/nm-object-cache.c)
* Generally lower the footprint of the releases and our workspace

If there are some really really legacy users; they can just build
libnm-glib and friends from the NetworkManager-1.16 distribution. The
D-Bus API is stable and old libnm-glib will keep working forever.

https://github.com/NetworkManager/NetworkManager/pull/308
2019-04-16 15:52:27 +02:00
Lubomir Rintel
b027723e00 Revert "all: goodbye libnm-glib"
We need this for a little little longer :(

This reverts commit 1de8383ad9.
2019-04-03 08:52:38 +02:00
Lubomir Rintel
1de8383ad9 all: goodbye libnm-glib
This removes libnm-glib, libnm-glib-vpn, and libnm-util for good.
The it has been replaced with libnm since NetworkManager 1.0, disabled
by default since 1.12 and no up-to-date distributions ship it for years
now.

Removing the libraries allows us to:

* Remove the horrible hacks that were in place to deal with accidental use
  of both the new and old library in a single process.
* Relief the translators of maintenance burden of similar yet different
  strings.
* Get rid of known bad code without chances of ever getting fixed
  (libnm-glib/nm-object.c and libnm-glib/nm-object-cache.c)
* Generally lower the footprint of the releases and our workspace

If there are some really really legacy users; they can just build
libnm-glib and friends from the NetworkManager-1.16 distribution. The
D-Bus API is stable and old libnm-glib will keep working forever.

https://github.com/NetworkManager/NetworkManager/pull/308
2019-03-19 17:15:15 +01:00
Lubomir Rintel
df58895fb3 build: disable libnm-glib by default
It's deprecated and has been replaced by libnm for 6 major releases now.

Its use in modern distributions has faded to the point it can probably
be safely removed.
2018-06-15 13:07:53 +02:00
Thomas Haller
a80ba4ea09 build: fix gtk-doc/introspection handling for build
- `make dist` requires --enable-gtk-doc --enable-introspection --with-libnm-glib
- --enable-gtk-doc requires --enable-introspection
- --with-nmcli requires either --enable-introspection or pregenerated
   settings-docs.c files from the dist tarball. It does not require
   --enable-gtk-doc.

There is a bit of a problem in that --enable-introspection requires
now xsltproc. However, gobject-introspection does itself not depend
on xsltproc. So, more correct might be a special --enable-doc argument,
that combines --enable-introspection --with-xsltproc. Anyway, that
seems to make it more complicated then it already is so just implicitly
(and surprisingly?) require xsltproc with --enable-introspection.

https://bugzilla.gnome.org/show_bug.cgi?id=775003
2016-11-28 12:43:51 +01:00
Thomas Haller
33e8da438e build: enable --with-introspection in default configure options of autogen.sh 2016-11-24 15:59:19 +01:00
Lubomir Rintel
f2afabe610 build: enable gtk-doc by default 2016-11-21 18:34:50 +01:00
Thomas Haller
fa6b1070fc Revert "build: fix autogen.sh for builddir != srcdir"
This breaks build with older versions of gtkdocize that don't understand
yet --srcdir.

This reverts commit ed7ee64d4e.
2016-06-06 13:52:57 +02:00
Bastien Nocera
ed7ee64d4e build: fix autogen.sh for builddir != srcdir
https://bugzilla.gnome.org/show_bug.cgi?id=767207
2016-06-06 12:35:35 +02:00
Petr Vorel
ac497ccd6c autogen.sh: print errors to stderr, printf instead echo -n
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
2015-07-02 09:55:32 +02:00
Lubomir Rintel
84021454eb build: don't default to -Werror
It seems like a poor default for various downstream toolchains. We can't
anticipate the compiler warnings for future compiler versions and older
ones are prone to false positives. Also, older gdbus-codegen is known
to generate code that triggers compiler warnings.

Let's keep it enabled for maintainer builds and distcheck so that we're
sure a tool chain that builds releases without warnings exists.
2015-06-02 12:30:03 +02:00
Thomas Haller
51bd942575 build: remove setup of git-submodules in autogen.sh
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-07-15 22:50:36 +02:00
Dan Winship
dd58d9c703 build: drop the libndp submodule
libndp has existed for a while now. 1.0 was released six months
ago. So drop the submodule and just require an installed package.
2014-02-03 12:13:41 +01:00
Dan Winship
cfa4117ebb autogen.sh: pass --enable-static=libndp
jhbuild (in the suggested configuration) passes --disable-static, but
we need static libndp at least. So tweak autogen.sh to ensure that
happens.
2013-07-30 13:16:16 -04:00
Colin Walters
fe4e11c8d6 autogen: use set -e to propagate errors
Previously we'd just blindly continue if e.g. autoreconf failed.
2013-06-20 16:14:08 -05:00
Colin Walters
805fc3a864 autogen.sh: only set up submodules if we have a .git directory
This way we do the right thing for tarball builds.
2013-06-20 16:14:08 -05:00
Alban Browaeys
290c51da68 build: out of src build directory fix.
Split srcdir work and builddir work more explicitely,
and fixes a newly introduced issue (git work done out
of the srcdir section).
2013-06-15 01:06:59 +02:00
Pavel Šimerda
f2e5f38f6c build: always init and update submodules in ./autogen.sh 2013-05-30 17:18:59 +02:00
Colin Walters
468c08511c core: add libgsystem as a git submodule
And change src/main.c to use the local allocation macros.  This
results in much cleaner code, as one can see from the diff.

Because libgsystem is designed for nonrecursive make, it fits best in
the current recursive setup if we build . first.  This will be a lot
nicer when we switch NM to a nonrecursive setup.
2013-05-16 14:08:09 -05:00
Evan Nemerson
208c53e5d6 build: quote $@ in autogen.sh
https://bugzilla.gnome.org/show_bug.cgi?id=689512
2012-12-03 16:04:35 -05:00
Pavel Šimerda
e7b6fb2630 build: autogen.sh can now configure from another directory
Example:

$ mkdir -p _build
$ cd _build
$ ../autogen.sh ...configure-options...
$ make
2012-11-13 21:11:50 +01:00
Colin Walters
833bc16d12 build: honor NOCONFIGURE (bgo #659354) 2011-09-19 16:45:43 -05:00
Javier Jardón
6fcd9fe8a9 build: use upstream gettext instead of glib one (bgo #644264) 2011-03-14 10:58:58 -05:00
Jiří Klimeš
bfe58b26fb trivial: replace NetworkManager.c occurence after renaming to main.c 2010-03-03 09:57:28 +01:00
Michael Biebl
afaf110d56 Update autogen.sh for configure.ac 2009-05-02 18:00:50 -04:00
Dan Williams
725a9825a7 2008-08-18 Dan Williams <dcbw@redhat.com>
Patch from Robert Buchholz <rbu@gentoo.org>

	* autogen.sh
	  configure.in
		- Change to automake 1.9 and 'ustar' tar format defined by POSIX
			1003.1-1988, allowing for file names longer than 99 characters



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3982 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-18 15:29:21 +00:00
Tambet Ingo
0f534a9f8f 2008-08-12 Tambet Ingo <tambet@gmail.com>
Start documenting libnm-glib public API using gtk-doc.

	* libnm-glib/nm-serial-device.c:
	* libnm-glib/nm-object.c:
	* libnm-glib/nm-gsm-device.c:
	* libnm-glib/nm-device.c:
	* libnm-glib/nm-device-wifi.c:
	* libnm-glib/nm-device-ethernet.c:
	* libnm-glib/nm-client.c:
	* libnm-glib/nm-cdma-device.c: Document the public API.

	* docs/libnm-glib/libnm-glib.types: Implement.

	* docs/libnm-glib/Makefile.am: Implement.

	* autogen.sh:
	* configure.in:
	* Makefile.am: Add gtk-doc support.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3932 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 08:05:21 +00:00
Dan Williams
31823c92b9 2008-03-06 Dan Williams <dcbw@redhat.com>
* autogen.sh
		- Die gnome-common, die



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3383 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-07 00:45:34 +00:00
Tambet Ingo
cf46bf9de4 2007-09-13 Tambet Ingo <tambet@gmail.com>
* autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2799 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-13 08:04:41 +00:00
Bryan W. Clark
f8daee7ed9 Dan is stupid
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@262 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-10-21 18:22:25 +00:00
Jonathan Blandford
d3aff52822 Thu Aug 26 15:12:36 2004 Jonathan Blandford <jrb@redhat.com>
* Makefile.am: add po as a supdir

        * autogen.sh: use gnome-autogen.sh

        * initscript/Gentoo/.cvsignore:
        * initscript/RedHat/.cvsignore: Shut up cvs

        * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.

        * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
        (nmwa_fill): Use gettext.

        * configure.in: add gettext support
        * po/.cvsignore:
        * po/NetworkManager.pot:
        * po/POTFILES.in:


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@80 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-26 19:14:26 +00:00
Seth Nickell
528a111490 2004-08-06 Seth Nickell <seth@gnome.org>
* aclocal.m4:

	Autogenerated, remove from CVS.

	* autogen.sh:

	Don't hardcode automake version.

	* configure.in:
	* info-daemon/Makefile.am:
	* info-daemon/NetworkManagerInfo.c: (main):

	Use GnomeProgram et al. for doing session management.
	Use popt stuff for argument parsing rather than doing
	it manugally.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@38 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-06 15:37:43 +00:00
Dan Williams
c39587c1c2 Initial revision
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-06-24 14:18:37 +00:00