From 2b0a23e8644635b9826853213a6579784bffa170 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 19 Feb 2014 20:16:31 +0100
Subject: [PATCH] build-sys: export experimental symbols only with
 --enable-kdbus

---
 Makefile.am                                       | 15 ++++++++++-----
 src/libsystemd/.gitignore                         |  1 +
 .../{libsystemd.sym => libsystemd.sym.m4}         |  3 ++-
 3 files changed, 13 insertions(+), 6 deletions(-)
 rename src/libsystemd/{libsystemd.sym => libsystemd.sym.m4} (99%)

diff --git a/Makefile.am b/Makefile.am
index 724e89b626..d275021a6c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1925,7 +1925,6 @@ systemd_tty_ask_password_agent_LDADD = \
 
 # ------------------------------------------------------------------------------
 libsystemd_internal_la_SOURCES = \
-	src/libsystemd/libsystemd.sym \
 	src/systemd/sd-bus.h \
 	src/systemd/sd-bus-protocol.h \
 	src/systemd/sd-bus-vtable.h \
@@ -1991,6 +1990,7 @@ libsystemd_internal_la_SOURCES = \
 	src/login/login-shared.h
 
 nodist_libsystemd_internal_la_SOURCES = \
+	src/libsystemd/libsystemd.sym \
 	src/libsystemd/sd-bus/bus-error-mapping.c
 
 libsystemd_internal_la_CFLAGS = \
@@ -2012,14 +2012,19 @@ noinst_LTLIBRARIES += \
 	libsystemd-dump.la
 
 EXTRA_DIST += \
+	src/libsystemd/libsystemd.sym.m4 \
+	src/libsystemd/libsystemd.pc.in \
 	src/libsystemd/sd-bus/bus-error-mapping.gperf \
 	src/libsystemd/sd-bus/DIFFERENCES \
-	src/libsystemd/sd-bus/GVARIANT-SERIALIZATION \
-	src/libsystemd/libsystemd.pc.in
+	src/libsystemd/sd-bus/GVARIANT-SERIALIZATION
 
 CLEANFILES += \
+	src/libsystemd/libsystemd.sym \
 	src/libsystemd/sd-bus/bus-error-mapping.c
 
+BUILT_SOURCES += \
+	src/libsystemd/libsystemd.sym
+
 libsystemd_la_SOURCES = \
 	$(libsystemd_internal_la_SOURCES) \
 	$(libsystemd_journal_internal_la_SOURCES)
@@ -2034,7 +2039,7 @@ libsystemd_la_CFLAGS = \
 libsystemd_la_LDFLAGS = \
 	$(AM_LDFLAGS) \
 	-version-info $(LIBSYSTEMD_CURRENT):$(LIBSYSTEMD_REVISION):$(LIBSYSTEMD_AGE) \
-	-Wl,--version-script=$(top_srcdir)/src/libsystemd/libsystemd.sym
+	-Wl,--version-script=$(top_builddir)/src/libsystemd/libsystemd.sym
 
 libsystemd_la_LIBADD = \
 	libsystemd-shared.la \
@@ -4879,7 +4884,7 @@ define generate-sym-test
 endef
 
 test-libsystemd-sym.c: \
-		src/libsystemd/libsystemd.sym \
+		$(top_builddir)/src/libsystemd/libsystemd.sym \
 		src/systemd/sd-journal.h \
 		src/systemd/sd-daemon.h \
 		src/systemd/sd-login.h \
diff --git a/src/libsystemd/.gitignore b/src/libsystemd/.gitignore
index 50a1692374..d48e1cdd13 100644
--- a/src/libsystemd/.gitignore
+++ b/src/libsystemd/.gitignore
@@ -1 +1,2 @@
+/libsystemd.sym
 /libsystemd.pc
diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym.m4
similarity index 99%
rename from src/libsystemd/libsystemd.sym
rename to src/libsystemd/libsystemd.sym.m4
index dda0447cf3..2ba02073e3 100644
--- a/src/libsystemd/libsystemd.sym
+++ b/src/libsystemd/libsystemd.sym.m4
@@ -123,6 +123,7 @@ global:
         sd_session_get_remote_user;
         sd_session_get_remote_host;
 
+m4_ifdef(`HAVE_KDBUS',
         /* sd-bus */
         sd_bus_default;
         sd_bus_default_user;
@@ -376,7 +377,7 @@ global:
         /* sd-utf8 */
         sd_utf8_is_valid;
         sd_ascii_is_valid;
-
+)
 local:
        *;
 };