examples: linker requires that library dependencies follow use

On modern distributions, ld runs with the '--as-needed' option
enabled by default, meaning library dependencies must come after
files that require them. Also, this allows indirect linking so the
build commands can be simplified.

The alternative is to add the '-Wl,--no-as-needed' gcc option or
use the top-level Makefile.

Tested on:
 * Ubuntu 16.04.3 with gcc Ubuntu 5.4.1-8ubuntu1
 * Fedora 24 with gcc Red Hat 6.1.1-3

Signed-off-by: Lucas Magasweran <lucas.magasweran@ieee.org>

https://mail.gnome.org/archives/networkmanager-list/2017-September/msg00022.html
https://mail.gnome.org/archives/networkmanager-list/2017-September/msg00023.html
https://mail.gnome.org/archives/networkmanager-list/2017-September/msg00025.html
This commit is contained in:
Lucas Rangit Magasweran 2017-09-20 14:13:18 -07:00 committed by Thomas Haller
parent 8022ed3ab2
commit 843ea77e93
8 changed files with 8 additions and 8 deletions

View file

@ -24,7 +24,7 @@
* higher level because it uses libnm.
*
* Compile with:
* gcc -Wall `pkg-config --cflags libnm` `pkg-config --cflags --libs gio-2.0` -luuid add-connection-gdbus.c -o add-connection-gdbus
* gcc -Wall add-connection-gdbus.c -o add-connection-gdbus `pkg-config --cflags --libs libnm uuid`
*/
#include <gio/gio.h>

View file

@ -24,7 +24,7 @@
* much of the low-level stuff for you.
*
* Compile with:
* gcc -Wall `pkg-config --libs --cflags glib-2.0 libnm` add-connection-libnm.c -o add-connection-libnm
* gcc -Wall add-connection-libnm.c -o add-connection-libnm `pkg-config --libs --cflags libnm`
*/
#include <glib.h>

View file

@ -23,7 +23,7 @@
* a few defines from the NetworkManager headers.
*
* Compile with:
* gcc -Wall `pkg-config --cflags libnm` `pkg-config --cflags --libs gio-2.0` get-active-connections-gdbus.c -o get-active-connections-gdbus
* gcc -Wall get-active-connections-gdbus.c -o get-active-connections-gdbus `pkg-config --cflags --libs libnm`
*/
#include <string.h>

View file

@ -22,7 +22,7 @@
* libnm.
*
* Compile with:
* gcc -Wall `pkg-config --libs --cflags glib-2.0 libnm` get-ap-info-libnm.c -o get-ap-info-libnm
* gcc -Wall get-ap-info-libnm.c -o get-ap-info-libnm `pkg-config --libs --cflags libnm`
*/
#include <glib.h>

View file

@ -24,7 +24,7 @@
* level because it uses libnm.
*
* Compile with:
* gcc -Wall `pkg-config --cflags libnm` `pkg-config --cflags --libs gio-2.0` list-connections-gdbus.c -o list-connections-gdbus
* gcc -Wall list-connections-gdbus.c -o list-connections-gdbus `pkg-config --cflags --libs libnm`
*/
#include <gio/gio.h>

View file

@ -23,7 +23,7 @@
* using GDBus.
*
* Compile with:
* gcc -Wall `pkg-config --libs --cflags glib-2.0 libnm` list-connections-libnm.c -o list-connections-libnm
* gcc -Wall list-connections-libnm.c -o list-connections-libnm `pkg-config --cflags --libs libnm`
*/
#include <glib.h>

View file

@ -25,7 +25,7 @@
* See also http://developer.gnome.org/gio/stable/gio-Watching-Bus-Names.html
*
* Standalone compilation:
* gcc -Wall `pkg-config --libs --cflags glib-2.0 gio-2.0` monitor-nm-running-gdbus.c -o monitor-nm-running-gdbus
* gcc -Wall monitor-nm-running-gdbus.c -o monitor-nm-running-gdbus `pkg-config --libs --cflags gio-2.0`
*/
#include <gio/gio.h>

View file

@ -26,7 +26,7 @@
* grab nm-dbus-interface.h and put it in the path.
*
* Standalone compilation:
* gcc -Wall `pkg-config --libs --cflags glib-2.0 gio-2.0` `pkg-config --cflags libnm` monitor-nm-state-gdbus.c -o monitor-nm-state-gdbus
* gcc -Wall monitor-nm-state-gdbus.c -o monitor-nm-state-gdbus `pkg-config --cflags --libs libnm`
*/
#include <gio/gio.h>