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