[pulseaudio-discuss] [PATCH] build-sys: Stop using symdef headers for modules

Arun Raghavan arun at arunraghavan.net
Thu Dec 7 00:09:53 UTC 2017


This removes the symdef header generation m4 magic in favour of a
simpler macro method, allowing us to skip one unnecessary build step
while moving to meson, and removing an 11 year old todo!
---
 src/.gitignore                                    |   1 -
 src/Makefile.am                                   | 271 ++++++++--------------
 src/modules/alsa/module-alsa-card.c               |   1 -
 src/modules/alsa/module-alsa-sink.c               |   1 -
 src/modules/alsa/module-alsa-source.c             |   1 -
 src/modules/bluetooth/module-bluetooth-discover.c |   2 -
 src/modules/bluetooth/module-bluetooth-policy.c   |   2 -
 src/modules/bluetooth/module-bluez4-device.c      |   1 -
 src/modules/bluetooth/module-bluez4-discover.c    |   1 -
 src/modules/bluetooth/module-bluez5-device.c      |   2 -
 src/modules/bluetooth/module-bluez5-discover.c    |   2 -
 src/modules/dbus/module-dbus-protocol.c           |   2 -
 src/modules/echo-cancel/module-echo-cancel.c      |   2 -
 src/modules/gconf/module-gconf.c                  |   2 -
 src/modules/jack/module-jack-sink.c               |   2 -
 src/modules/jack/module-jack-source.c             |   2 -
 src/modules/jack/module-jackdbus-detect.c         |   2 -
 src/modules/macosx/module-bonjour-publish.c       |   2 -
 src/modules/macosx/module-coreaudio-detect.c      |   2 -
 src/modules/macosx/module-coreaudio-device.c      |   2 -
 src/modules/module-allow-passthrough.c            |   2 -
 src/modules/module-always-sink.c                  |   2 -
 src/modules/module-always-source.c                |   2 -
 src/modules/module-augment-properties.c           |   2 -
 src/modules/module-card-restore.c                 |   2 -
 src/modules/module-cli.c                          |   2 -
 src/modules/module-combine-sink.c                 |   2 -
 src/modules/module-combine.c                      |   2 -
 src/modules/module-console-kit.c                  |   2 -
 src/modules/module-default-device-restore.c       |   2 -
 src/modules/module-defs.h.m4                      |  35 ---
 src/modules/module-detect.c                       |   2 -
 src/modules/module-device-manager.c               |   2 -
 src/modules/module-device-restore.c               |   2 -
 src/modules/module-equalizer-sink.c               |   2 -
 src/modules/module-esound-compat-spawnfd.c        |   2 -
 src/modules/module-esound-compat-spawnpid.c       |   2 -
 src/modules/module-esound-sink.c                  |   2 -
 src/modules/module-filter-apply.c                 |   2 -
 src/modules/module-filter-heuristics.c            |   2 -
 src/modules/module-hal-detect-compat.c            |   2 -
 src/modules/module-intended-roles.c               |   2 -
 src/modules/module-ladspa-sink.c                  |   1 -
 src/modules/module-lirc.c                         |   2 -
 src/modules/module-loopback.c                     |   2 -
 src/modules/module-match.c                        |   2 -
 src/modules/module-mmkbd-evdev.c                  |   2 -
 src/modules/module-native-protocol-fd.c           |   2 -
 src/modules/module-null-sink.c                    |   2 -
 src/modules/module-null-source.c                  |   2 -
 src/modules/module-pipe-sink.c                    |   2 -
 src/modules/module-pipe-source.c                  |   2 -
 src/modules/module-position-event-sounds.c        |   2 -
 src/modules/module-protocol-stub.c                |  30 ---
 src/modules/module-remap-sink.c                   |   2 -
 src/modules/module-remap-source.c                 |   2 -
 src/modules/module-rescue-streams.c               |   2 -
 src/modules/module-role-cork.c                    |   2 -
 src/modules/module-role-ducking.c                 |   2 -
 src/modules/module-rygel-media-server.c           |   2 -
 src/modules/module-sine-source.c                  |   2 -
 src/modules/module-sine.c                         |   2 -
 src/modules/module-solaris.c                      |   2 -
 src/modules/module-stream-restore.c               |   2 -
 src/modules/module-suspend-on-idle.c              |   2 -
 src/modules/module-switch-on-connect.c            |   2 -
 src/modules/module-switch-on-port-available.c     |   2 -
 src/modules/module-systemd-login.c                |   2 -
 src/modules/module-tunnel-sink-new.c              |   2 -
 src/modules/module-tunnel-source-new.c            |   2 -
 src/modules/module-tunnel.c                       |   6 -
 src/modules/module-udev-detect.c                  |   2 -
 src/modules/module-virtual-sink.c                 |   2 -
 src/modules/module-virtual-source.c               |   2 -
 src/modules/module-virtual-surround-sink.c        |   2 -
 src/modules/module-volume-restore.c               |   2 -
 src/modules/module-waveout.c                      |   2 -
 src/modules/module-zeroconf-discover.c            |   2 -
 src/modules/module-zeroconf-publish.c             |   2 -
 src/modules/oss/module-oss.c                      |   1 -
 src/modules/raop/module-raop-discover.c           |   1 -
 src/modules/raop/module-raop-sink.c               |   2 -
 src/modules/rtp/module-rtp-recv.c                 |   2 -
 src/modules/rtp/module-rtp-send.c                 |   2 -
 src/modules/x11/module-x11-bell.c                 |   2 -
 src/modules/x11/module-x11-cork-request.c         |   2 -
 src/modules/x11/module-x11-publish.c              |   2 -
 src/modules/x11/module-x11-xsmp.c                 |   2 -
 src/pulsecore/module.h                            |  29 +++
 todo                                              |   1 -
 90 files changed, 124 insertions(+), 407 deletions(-)
 delete mode 100644 src/modules/module-defs.h.m4

diff --git a/src/.gitignore b/src/.gitignore
index f7ec1bcd3..d8c080eaf 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -25,7 +25,6 @@ pax11publish
 pulseaudio
 pulseaudio.service
 start-pulseaudio-x11
-*-symdef.h
 *-orc-gen.[ch]
 # tests
 alsa-mixer-path-test
diff --git a/src/Makefile.am b/src/Makefile.am
index 034825023..0573b2efa 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1476,115 +1476,6 @@ bin_SCRIPTS += utils/qpaeq
 endif
 endif
 
-# These are generated by an M4 script
-SYMDEF_FILES = \
-		module-cli-symdef.h \
-		module-cli-protocol-tcp-symdef.h \
-		module-cli-protocol-unix-symdef.h \
-		module-pipe-sink-symdef.h \
-		module-pipe-source-symdef.h \
-		module-simple-protocol-tcp-symdef.h \
-		module-simple-protocol-unix-symdef.h \
-		module-native-protocol-tcp-symdef.h \
-		module-native-protocol-unix-symdef.h \
-		module-native-protocol-fd-symdef.h \
-		module-sine-symdef.h \
-		module-combine-symdef.h \
-		module-combine-sink-symdef.h \
-		module-remap-sink-symdef.h \
-		module-remap-source-symdef.h \
-		module-ladspa-sink-symdef.h \
-		module-equalizer-sink-symdef.h \
-		module-match-symdef.h \
-		module-tunnel-sink-new-symdef.h \
-		module-tunnel-source-new-symdef.h \
-		module-tunnel-sink-symdef.h \
-		module-tunnel-source-symdef.h \
-		module-null-sink-symdef.h \
-		module-null-source-symdef.h \
-		module-sine-source-symdef.h \
-		module-zeroconf-publish-symdef.h \
-		module-zeroconf-discover-symdef.h \
-		module-bonjour-publish-symdef.h \
-		module-lirc-symdef.h \
-		module-mmkbd-evdev-symdef.h \
-		module-http-protocol-tcp-symdef.h \
-		module-http-protocol-unix-symdef.h \
-		module-rygel-media-server-symdef.h \
-		module-x11-bell-symdef.h \
-		module-x11-publish-symdef.h \
-		module-x11-xsmp-symdef.h \
-		module-x11-cork-request-symdef.h \
-		module-oss-symdef.h \
-		module-alsa-sink-symdef.h \
-		module-alsa-source-symdef.h \
-		module-alsa-card-symdef.h \
-		module-coreaudio-detect-symdef.h \
-		module-coreaudio-device-symdef.h \
-		module-solaris-symdef.h \
-		module-waveout-symdef.h \
-		module-detect-symdef.h \
-		module-rtp-send-symdef.h \
-		module-rtp-recv-symdef.h \
-		module-jackdbus-detect-symdef.h \
-		module-jack-sink-symdef.h \
-		module-jack-source-symdef.h \
-		module-volume-restore-symdef.h \
-		module-device-manager-symdef.h \
-		module-device-restore-symdef.h \
-		module-stream-restore-symdef.h \
-		module-card-restore-symdef.h \
-		module-default-device-restore-symdef.h \
-		module-always-sink-symdef.h \
-		module-always-source-symdef.h \
-		module-rescue-streams-symdef.h \
-		module-intended-roles-symdef.h \
-		module-suspend-on-idle-symdef.h \
-		module-echo-cancel-symdef.h \
-		module-hal-detect-symdef.h \
-		module-udev-detect-symdef.h \
-		module-systemd-login-symdef.h \
-		module-bluetooth-policy-symdef.h \
-		module-bluetooth-discover-symdef.h \
-		module-bluez4-discover-symdef.h \
-		module-bluez4-device-symdef.h \
-		module-bluez5-discover-symdef.h \
-		module-bluez5-device-symdef.h \
-		module-raop-sink-symdef.h \
-		module-raop-discover-symdef.h \
-		module-gconf-symdef.h \
-		module-position-event-sounds-symdef.h \
-		module-role-ducking-symdef.h \
-		module-augment-properties-symdef.h \
-		module-role-cork-symdef.h \
-		module-console-kit-symdef.h \
-		module-dbus-protocol-symdef.h \
-		module-loopback-symdef.h \
-		module-virtual-sink-symdef.h \
-		module-virtual-source-symdef.h \
-		module-virtual-surround-sink-symdef.h \
-		module-switch-on-connect-symdef.h \
-		module-switch-on-port-available-symdef.h \
-		module-filter-apply-symdef.h \
-		module-filter-heuristics-symdef.h \
-		module-allow-passthrough-symdef.h
-
-if HAVE_ESOUND
-SYMDEF_FILES += \
-		module-esound-protocol-tcp-symdef.h \
-		module-esound-protocol-unix-symdef.h \
-		module-esound-compat-spawnfd-symdef.h \
-		module-esound-compat-spawnpid-symdef.h \
-		module-esound-sink-symdef.h
-endif
-
-EXTRA_DIST += $(SYMDEF_FILES)
-BUILT_SOURCES += $(SYMDEF_FILES) builddirs
-
-$(SYMDEF_FILES): modules/module-defs.h.m4
-	$(AM_V_at)$(MKDIR_P) modules
-	$(AM_V_GEN)$(M4) -Dfname="$@" $< > $@
-
 .PHONY: builddirs
 builddirs:
 	$(AM_V_at)$(MKDIR_P) daemon modules
@@ -1592,12 +1483,12 @@ builddirs:
 # Simple protocol
 
 module_simple_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
-module_simple_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
+module_simple_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS) -DPA_MODULE_NAME=module_simple_protocol_tcp
 module_simple_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_simple_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-simple.la
 
 module_simple_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
-module_simple_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
+module_simple_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS) -DPA_MODULE_NAME=module_simple_protocol_unix
 module_simple_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_simple_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-simple.la
 
@@ -1606,26 +1497,27 @@ module_simple_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-simple.la
 module_cli_la_SOURCES = modules/module-cli.c
 module_cli_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_cli_la_LIBADD = $(MODULE_LIBADD) libcli.la
+module_cli_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_cli
 
 module_cli_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
-module_cli_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
+module_cli_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS) -DPA_MODULE_NAME=module_cli_protocol_tcp
 module_cli_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_cli_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-cli.la
 
 module_cli_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
-module_cli_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
+module_cli_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS) -DPA_MODULE_NAME=module_cli_protocol_unix
 module_cli_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_cli_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-cli.la
 
 # HTTP protocol
 
 module_http_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
-module_http_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
+module_http_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS) -DPA_MODULE_NAME=module_http_protocol_tcp
 module_http_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_http_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-http.la
 
 module_http_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
-module_http_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
+module_http_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS) -DPA_MODULE_NAME=module_http_protocol_unix
 module_http_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_http_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-http.la
 
@@ -1643,24 +1535,24 @@ module_dbus_protocol_la_SOURCES = \
 		modules/dbus/iface-sample.c modules/dbus/iface-sample.h \
 		modules/dbus/iface-stream.c modules/dbus/iface-stream.h \
 		modules/dbus/module-dbus-protocol.c
-module_dbus_protocol_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+module_dbus_protocol_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_dbus_protocol
 module_dbus_protocol_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_dbus_protocol_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
 
 # Native protocol
 
 module_native_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
-module_native_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
+module_native_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS) -DPA_MODULE_NAME=module_native_protocol_tcp
 module_native_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_native_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
 
 module_native_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
-module_native_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
+module_native_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS) -DPA_MODULE_NAME=module_native_protocol_unix
 module_native_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_native_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
 
 module_native_protocol_fd_la_SOURCES = modules/module-native-protocol-fd.c
-module_native_protocol_fd_la_CFLAGS = $(AM_CFLAGS)
+module_native_protocol_fd_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_native_protocol_fd
 module_native_protocol_fd_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_native_protocol_fd_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
 
@@ -1668,24 +1560,27 @@ module_native_protocol_fd_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
 
 if HAVE_ESOUND
 module_esound_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
-module_esound_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
+module_esound_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_protocol_tcp
 module_esound_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_esound_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-esound.la
 
 module_esound_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
-module_esound_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
+module_esound_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_protocol_uniix
 module_esound_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_esound_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-esound.la
 
 module_esound_compat_spawnfd_la_SOURCES = modules/module-esound-compat-spawnfd.c
+module_esound_compat_spawnfd_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_compat_spawnfd
 module_esound_compat_spawnfd_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_esound_compat_spawnfd_la_LIBADD = $(MODULE_LIBADD)
 
 module_esound_compat_spawnpid_la_SOURCES = modules/module-esound-compat-spawnpid.c
+module_esound_compat_spawnpid_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_compat_spawnpid
 module_esound_compat_spawnpid_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_esound_compat_spawnpid_la_LIBADD = $(MODULE_LIBADD)
 
 module_esound_sink_la_SOURCES = modules/module-esound-sink.c
+module_esound_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_sink
 module_esound_sink_la_LDFLAGS = $(MODULE_LDFLAGS) $(WINSOCK_LIBS)
 module_esound_sink_la_LIBADD = $(MODULE_LIBADD)
 endif
@@ -1695,65 +1590,79 @@ endif
 module_pipe_sink_la_SOURCES = modules/module-pipe-sink.c
 module_pipe_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_pipe_sink_la_LIBADD = $(MODULE_LIBADD)
+module_pipe_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_pipe_sink
 
 module_pipe_source_la_SOURCES = modules/module-pipe-source.c
 module_pipe_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_pipe_source_la_LIBADD = $(MODULE_LIBADD)
+module_pipe_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_pipe_source
 
 # Fake sources/sinks
 
 module_sine_la_SOURCES = modules/module-sine.c
 module_sine_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_sine_la_LIBADD = $(MODULE_LIBADD)
+module_sine_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_sine
 
 module_null_sink_la_SOURCES = modules/module-null-sink.c
 module_null_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_null_sink_la_LIBADD = $(MODULE_LIBADD)
+module_null_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_null_sink
 
 module_null_source_la_SOURCES = modules/module-null-source.c
 module_null_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_null_source_la_LIBADD = $(MODULE_LIBADD)
+module_null_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_null_source
 
 module_sine_source_la_SOURCES = modules/module-sine-source.c
 module_sine_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_sine_source_la_LIBADD = $(MODULE_LIBADD)
+module_sine_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_sine_source
 
 # Couplings
 
 module_combine_la_SOURCES = modules/module-combine.c
 module_combine_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_combine_la_LIBADD = $(MODULE_LIBADD)
+module_combine_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_combine
 
 module_combine_sink_la_SOURCES = modules/module-combine-sink.c
 module_combine_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_combine_sink_la_LIBADD = $(MODULE_LIBADD)
+module_combine_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_combine_sink
 
 module_switch_on_connect_la_SOURCES = modules/module-switch-on-connect.c
 module_switch_on_connect_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_switch_on_connect_la_LIBADD = $(MODULE_LIBADD)
+module_switch_on_connect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_switch_on_connect
 
 module_switch_on_port_available_la_SOURCES = modules/module-switch-on-port-available.c
 module_switch_on_port_available_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_switch_on_port_available_la_LIBADD = $(MODULE_LIBADD)
+module_switch_on_port_available_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_switch_on_port_available
 
 module_filter_apply_la_SOURCES = modules/module-filter-apply.c
 module_filter_apply_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_filter_apply_la_LIBADD = $(MODULE_LIBADD)
+module_filter_apply_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_filter_apply
 
 module_filter_heuristics_la_SOURCES = modules/module-filter-heuristics.c
 module_filter_heuristics_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_filter_heuristics_la_LIBADD = $(MODULE_LIBADD)
+module_filter_heuristics_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_filter_heuristics
 
 module_remap_sink_la_SOURCES = modules/module-remap-sink.c
 module_remap_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_remap_sink_la_LIBADD = $(MODULE_LIBADD)
+module_remap_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_remap_sink
 
 module_remap_source_la_SOURCES = modules/module-remap-source.c
 module_remap_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_remap_source_la_LIBADD = $(MODULE_LIBADD)
+module_remap_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_remap_source
 
 module_ladspa_sink_la_SOURCES = modules/module-ladspa-sink.c modules/ladspa.h
-module_ladspa_sink_la_CFLAGS = -DLADSPA_PATH="$(libdir)/ladspa:/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa" $(AM_CFLAGS) $(SERVER_CFLAGS)
+module_ladspa_sink_la_CFLAGS = -DLADSPA_PATH="$(libdir)/ladspa:/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa" $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_ladspa_sink
 module_ladspa_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_ladspa_sink_la_LIBADD = $(MODULE_LIBADD) $(LIBLTDL)
 
@@ -1763,69 +1672,74 @@ module_ladspa_sink_la_LIBADD += $(DBUS_LIBS)
 endif
 
 module_equalizer_sink_la_SOURCES = modules/module-equalizer-sink.c
-module_equalizer_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(DBUS_CFLAGS) $(FFTW_CFLAGS)
+module_equalizer_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(DBUS_CFLAGS) $(FFTW_CFLAGS) -DPA_MODULE_NAME=module_equalizer_sink
 module_equalizer_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_equalizer_sink_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(FFTW_LIBS)
 
 module_match_la_SOURCES = modules/module-match.c
 module_match_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_match_la_LIBADD = $(MODULE_LIBADD)
+module_match_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_match
 
 module_tunnel_sink_new_la_SOURCES = modules/module-tunnel-sink-new.c
 module_tunnel_sink_new_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_tunnel_sink_new_la_LIBADD = $(MODULE_LIBADD)
+module_tunnel_sink_new_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_tunnel_sink_new
 
 module_tunnel_source_new_la_SOURCES = modules/module-tunnel-source-new.c
 module_tunnel_source_new_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_tunnel_source_new_la_LIBADD = $(MODULE_LIBADD)
+module_tunnel_source_new_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_tunnel_source_new
 
 module_tunnel_sink_la_SOURCES = modules/module-tunnel.c
-module_tunnel_sink_la_CFLAGS = -DTUNNEL_SINK=1 $(AM_CFLAGS) $(X11_CFLAGS)
+module_tunnel_sink_la_CFLAGS = -DTUNNEL_SINK=1 $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_tunnel_sink
 module_tunnel_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_tunnel_sink_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
 
 module_tunnel_source_la_SOURCES = modules/module-tunnel.c
 module_tunnel_source_la_LDFLAGS = $(MODULE_LDFLAGS) $(X11_CFLAGS)
 module_tunnel_source_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
+module_tunnel_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_tunnel_source
 
 module_loopback_la_SOURCES = modules/module-loopback.c
 module_loopback_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_loopback_la_LIBADD = $(MODULE_LIBADD)
+module_loopback_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_loopback
 
 module_virtual_sink_la_SOURCES = modules/module-virtual-sink.c
-module_virtual_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
+module_virtual_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_virtual_sink
 module_virtual_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_virtual_sink_la_LIBADD = $(MODULE_LIBADD)
 
 module_virtual_source_la_SOURCES = modules/module-virtual-source.c
-module_virtual_source_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
+module_virtual_source_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_virtual_source
 module_virtual_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_virtual_source_la_LIBADD = $(MODULE_LIBADD)
 
 module_virtual_surround_sink_la_SOURCES = modules/module-virtual-surround-sink.c
-module_virtual_surround_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
+module_virtual_surround_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_virtual_surround_sink
 module_virtual_surround_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_virtual_surround_sink_la_LIBADD = $(MODULE_LIBADD)
 
 # X11
 
 module_x11_bell_la_SOURCES = modules/x11/module-x11-bell.c
-module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
+module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_bell
 module_x11_bell_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_x11_bell_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
 
 module_x11_publish_la_SOURCES = modules/x11/module-x11-publish.c
-module_x11_publish_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
+module_x11_publish_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_publish
 module_x11_publish_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_x11_publish_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la $(X11_LIBS)
 
 module_x11_xsmp_la_SOURCES = modules/x11/module-x11-xsmp.c
-module_x11_xsmp_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
+module_x11_xsmp_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_xsmp
 module_x11_xsmp_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_x11_xsmp_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
 
 module_x11_cork_request_la_SOURCES = modules/x11/module-x11-cork-request.c
-module_x11_cork_request_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
+module_x11_cork_request_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_cork_request
 module_x11_cork_request_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_x11_cork_request_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
 
@@ -1838,6 +1752,7 @@ liboss_util_la_LIBADD = $(MODULE_LIBADD)
 module_oss_la_SOURCES = modules/oss/module-oss.c
 module_oss_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_oss_la_LIBADD = $(MODULE_LIBADD) liboss-util.la
+module_oss_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_oss
 
 # COREAUDIO
 
@@ -1846,12 +1761,14 @@ module_coreaudio_detect_la_LDFLAGS = $(MODULE_LDFLAGS) \
 		-Wl,-framework -Wl,Cocoa -framework CoreAudio \
 		-Wl,-framework -Wl,AudioUnit -framework AudioUnit
 module_coreaudio_detect_la_LIBADD = $(MODULE_LIBADD)
+module_coreaudio_detect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_coreaudio_detect
 
 module_coreaudio_device_la_SOURCES = modules/macosx/module-coreaudio-device.c
 module_coreaudio_device_la_LDFLAGS = $(MODULE_LDFLAGS) \
 		-Wl,-framework -Wl,Cocoa -framework CoreAudio \
 		-Wl,-framework -Wl,AudioUnit -framework AudioUnit
 module_coreaudio_device_la_LIBADD = $(MODULE_LIBADD)
+module_coreaudio_device_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_coreaudio_device
 
 # ALSA
 
@@ -1881,35 +1798,36 @@ endif
 module_alsa_sink_la_SOURCES = modules/alsa/module-alsa-sink.c
 module_alsa_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_alsa_sink_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
-module_alsa_sink_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+module_alsa_sink_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) -DPA_MODULE_NAME=module_alsa_sink
 
 module_alsa_source_la_SOURCES = modules/alsa/module-alsa-source.c
 module_alsa_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_alsa_source_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
-module_alsa_source_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+module_alsa_source_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) -DPA_MODULE_NAME=module_alsa_source
 
 module_alsa_card_la_SOURCES = modules/alsa/module-alsa-card.c
 module_alsa_card_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_alsa_card_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
-module_alsa_card_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+module_alsa_card_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) -DPA_MODULE_NAME=module_alsa_card
 
 # Solaris
 
 module_solaris_la_SOURCES = modules/module-solaris.c
 module_solaris_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_solaris_la_LIBADD = $(MODULE_LIBADD)
+module_solaris_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_solaris
 
 # Avahi
 
 module_zeroconf_publish_la_SOURCES = modules/module-zeroconf-publish.c
 module_zeroconf_publish_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_zeroconf_publish_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) $(DBUS_LIBS) libavahi-wrap.la libprotocol-native.la
-module_zeroconf_publish_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) $(DBUS_CFLAGS)
+module_zeroconf_publish_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_zeroconf_publish
 
 module_zeroconf_discover_la_SOURCES = modules/module-zeroconf-discover.c
 module_zeroconf_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_zeroconf_discover_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la
-module_zeroconf_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
+module_zeroconf_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) -DPA_MODULE_NAME=module_zeroconf_discover
 
 # Bonjour
 
@@ -1917,13 +1835,14 @@ module_bonjour_publish_la_SOURCES = modules/macosx/module-bonjour-publish.c
 module_bonjour_publish_la_LDFLAGS = $(MODULE_LDFLAGS) \
 			-Wl,-framework -Wl,CoreFoundation -framework CoreFoundation
 module_bonjour_publish_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+module_bonjour_publish_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_bonjour_publish
 
 # LIRC
 
 module_lirc_la_SOURCES = modules/module-lirc.c
 module_lirc_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_lirc_la_LIBADD = $(MODULE_LIBADD) $(LIRC_LIBS)
-module_lirc_la_CFLAGS = $(AM_CFLAGS) $(LIRC_CFLAGS)
+module_lirc_la_CFLAGS = $(AM_CFLAGS) $(LIRC_CFLAGS) -DPA_MODULE_NAME=module_lirc
 
 
 # Linux evdev
@@ -1931,64 +1850,64 @@ module_lirc_la_CFLAGS = $(AM_CFLAGS) $(LIRC_CFLAGS)
 module_mmkbd_evdev_la_SOURCES = modules/module-mmkbd-evdev.c
 module_mmkbd_evdev_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_mmkbd_evdev_la_LIBADD = $(MODULE_LIBADD)
-module_mmkbd_evdev_la_CFLAGS = $(AM_CFLAGS)
+module_mmkbd_evdev_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_mmkbd_evdev
 
 # Windows waveout
 module_waveout_la_SOURCES = modules/module-waveout.c
 module_waveout_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_waveout_la_LIBADD = $(MODULE_LIBADD) -lwinmm
-module_waveout_la_CFLAGS = $(AM_CFLAGS)
+module_waveout_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_waveout
 
 # Hardware autodetection module
 module_detect_la_SOURCES = modules/module-detect.c
 module_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_detect_la_LIBADD = $(MODULE_LIBADD)
-module_detect_la_CFLAGS = $(AM_CFLAGS)
+module_detect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_detect
 
 # Volume restore module
 module_volume_restore_la_SOURCES = modules/module-volume-restore.c
 module_volume_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_volume_restore_la_LIBADD = $(MODULE_LIBADD)
-module_volume_restore_la_CFLAGS = $(AM_CFLAGS)
+module_volume_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_volume_restore
 
 # Position event sounds in space
 module_position_event_sounds_la_SOURCES = modules/module-position-event-sounds.c
 module_position_event_sounds_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_position_event_sounds_la_LIBADD = $(MODULE_LIBADD)
-module_position_event_sounds_la_CFLAGS = $(AM_CFLAGS)
+module_position_event_sounds_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_position_event_sounds
 
 # Ducking effect based on stream roles
 module_role_ducking_la_SOURCES = modules/module-role-ducking.c \
                                  modules/stream-interaction.c modules/stream-interaction.h
 module_role_ducking_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_role_ducking_la_LIBADD = $(MODULE_LIBADD)
-module_role_ducking_la_CFLAGS = $(AM_CFLAGS)
+module_role_ducking_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_role_ducking
 
 # Augment properties from XDG .desktop files
 module_augment_properties_la_SOURCES = modules/module-augment-properties.c
 module_augment_properties_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_augment_properties_la_LIBADD = $(MODULE_LIBADD)
 #module_augment_properties_la_CFLAGS = $(AM_CFLAGS) -DDESKTOPFILEDIR=\"$(datadir)/applications\"
-module_augment_properties_la_CFLAGS = $(AM_CFLAGS) -DDESKTOPFILEDIR=\"/usr/share/applications\"
+module_augment_properties_la_CFLAGS = $(AM_CFLAGS) -DDESKTOPFILEDIR=\"/usr/share/applications\" -DPA_MODULE_NAME=module_augment_properties
 
 # Cork certain streams while others are active (e.g. cork music when phone streams appear)
 module_role_cork_la_SOURCES = modules/module-role-cork.c \
                               modules/stream-interaction.c modules/stream-interaction.h
 module_role_cork_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_role_cork_la_LIBADD = $(MODULE_LIBADD)
-module_role_cork_la_CFLAGS = $(AM_CFLAGS)
+module_role_cork_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_role_cork
 
 # Device description restore module
 module_device_manager_la_SOURCES = modules/module-device-manager.c
 module_device_manager_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_device_manager_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
-module_device_manager_la_CFLAGS = $(AM_CFLAGS)
+module_device_manager_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_device_manager
 
 # Device volume/muted restore module
 module_device_restore_la_SOURCES = modules/module-device-restore.c
 module_device_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_device_restore_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
-module_device_restore_la_CFLAGS = $(AM_CFLAGS)
+module_device_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_device_restore
 
 if HAVE_DBUS
 module_device_restore_la_LIBADD += $(DBUS_LIBS)
@@ -1999,7 +1918,7 @@ endif
 module_stream_restore_la_SOURCES = modules/module-stream-restore.c
 module_stream_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_stream_restore_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
-module_stream_restore_la_CFLAGS = $(AM_CFLAGS)
+module_stream_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_stream_restore
 
 if HAVE_DBUS
 module_stream_restore_la_LIBADD += $(DBUS_LIBS)
@@ -2010,43 +1929,43 @@ endif
 module_card_restore_la_SOURCES = modules/module-card-restore.c
 module_card_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_card_restore_la_LIBADD = $(MODULE_LIBADD)
-module_card_restore_la_CFLAGS = $(AM_CFLAGS)
+module_card_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_card_restore
 
 # Default sink/source restore module
 module_default_device_restore_la_SOURCES = modules/module-default-device-restore.c
 module_default_device_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_default_device_restore_la_LIBADD = $(MODULE_LIBADD)
-module_default_device_restore_la_CFLAGS = $(AM_CFLAGS)
+module_default_device_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_device_restore
 
 # Always Sink module
 module_always_sink_la_SOURCES = modules/module-always-sink.c
 module_always_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_always_sink_la_LIBADD = $(MODULE_LIBADD)
-module_always_sink_la_CFLAGS = $(AM_CFLAGS)
+module_always_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_always_sink
 
 # Always Source module
 module_always_source_la_SOURCES = modules/module-always-source.c
 module_always_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_always_source_la_LIBADD = $(MODULE_LIBADD)
-module_always_source_la_CFLAGS = $(AM_CFLAGS)
+module_always_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_always_source
 
 # Rescue streams module
 module_rescue_streams_la_SOURCES = modules/module-rescue-streams.c
 module_rescue_streams_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_rescue_streams_la_LIBADD = $(MODULE_LIBADD)
-module_rescue_streams_la_CFLAGS = $(AM_CFLAGS)
+module_rescue_streams_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_rescue_streams
 
 # Automatically move streams to devices that are intended for their roles
 module_intended_roles_la_SOURCES = modules/module-intended-roles.c
 module_intended_roles_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_intended_roles_la_LIBADD = $(MODULE_LIBADD)
-module_intended_roles_la_CFLAGS = $(AM_CFLAGS)
+module_intended_roles_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_intended_roles
 
 # Suspend-on-idle module
 module_suspend_on_idle_la_SOURCES = modules/module-suspend-on-idle.c
 module_suspend_on_idle_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_suspend_on_idle_la_LIBADD = $(MODULE_LIBADD)
-module_suspend_on_idle_la_CFLAGS = $(AM_CFLAGS)
+module_suspend_on_idle_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_suspend_on_idle
 
 # echo-cancel module
 module_echo_cancel_la_SOURCES = \
@@ -2055,7 +1974,7 @@ module_echo_cancel_la_SOURCES = \
 		modules/echo-cancel/echo-cancel.h
 module_echo_cancel_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_echo_cancel_la_LIBADD = $(MODULE_LIBADD)
-module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
+module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_echo_cancel
 if HAVE_ADRIAN_EC
 module_echo_cancel_la_SOURCES += \
 		modules/echo-cancel/adrian-aec.c modules/echo-cancel/adrian-aec.h \
@@ -2093,55 +2012,55 @@ endif
 module_rtp_send_la_SOURCES = modules/rtp/module-rtp-send.c
 module_rtp_send_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_rtp_send_la_LIBADD = $(MODULE_LIBADD) librtp.la
-module_rtp_send_la_CFLAGS = $(AM_CFLAGS)
+module_rtp_send_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_rtp_send
 
 module_rtp_recv_la_SOURCES = modules/rtp/module-rtp-recv.c
 module_rtp_recv_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_rtp_recv_la_LIBADD = $(MODULE_LIBADD) librtp.la
-module_rtp_recv_la_CFLAGS = $(AM_CFLAGS)
+module_rtp_recv_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_rtp_recv
 
 # JACK
 
 module_jackdbus_detect_la_SOURCES = modules/jack/module-jackdbus-detect.c
 module_jackdbus_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_jackdbus_detect_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(JACK_LIBS)
-module_jackdbus_detect_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(JACK_CFLAGS)
+module_jackdbus_detect_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(JACK_CFLAGS) -DPA_MODULE_NAME=module_jackdbus_detect
 
 module_jack_sink_la_SOURCES = modules/jack/module-jack-sink.c
 module_jack_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_jack_sink_la_LIBADD = $(MODULE_LIBADD) $(JACK_LIBS)
-module_jack_sink_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS)
+module_jack_sink_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS) -DPA_MODULE_NAME=module_jack_sink
 
 module_jack_source_la_SOURCES = modules/jack/module-jack-source.c
 module_jack_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_jack_source_la_LIBADD = $(MODULE_LIBADD) $(JACK_LIBS)
-module_jack_source_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS)
+module_jack_source_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS) -DPA_MODULE_NAME=module_jack_source
 
 module_hal_detect_la_SOURCES = modules/module-hal-detect-compat.c
 module_hal_detect_la_LIBADD = $(MODULE_LIBADD)
-module_hal_detect_la_CFLAGS = $(AM_CFLAGS)
+module_hal_detect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_hal_detect
 module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
 
 module_udev_detect_la_SOURCES = modules/module-udev-detect.c
 module_udev_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_udev_detect_la_LIBADD = $(MODULE_LIBADD) $(UDEV_LIBS)
-module_udev_detect_la_CFLAGS = $(AM_CFLAGS) $(UDEV_CFLAGS)
+module_udev_detect_la_CFLAGS = $(AM_CFLAGS) $(UDEV_CFLAGS) -DPA_MODULE_NAME=module_udev_detect
 
 module_console_kit_la_SOURCES = modules/module-console-kit.c
 module_console_kit_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_console_kit_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
-module_console_kit_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+module_console_kit_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_console_kit
 
 module_systemd_login_la_SOURCES = modules/module-systemd-login.c
 module_systemd_login_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_systemd_login_la_LIBADD = $(MODULE_LIBADD) $(SYSTEMD_LIBS) $(SYSTEMDLOGIN_LIBS)
-module_systemd_login_la_CFLAGS = $(AM_CFLAGS) $(SYSTEMD_CFLAGS) $(SYSTEMDLOGIN_CFLAGS)
+module_systemd_login_la_CFLAGS = $(AM_CFLAGS) $(SYSTEMD_CFLAGS) $(SYSTEMDLOGIN_CFLAGS) -DPA_MODULE_NAME=module_systemd_login
 
 # GConf support
 module_gconf_la_SOURCES = modules/gconf/module-gconf.c
 module_gconf_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_gconf_la_LIBADD = $(MODULE_LIBADD)
-module_gconf_la_CFLAGS = $(AM_CFLAGS) -DPA_GCONF_HELPER=\"$(pulselibexecdir)/gconf-helper\"
+module_gconf_la_CFLAGS = $(AM_CFLAGS) -DPA_GCONF_HELPER=\"$(pulselibexecdir)/gconf-helper\" -DPA_MODULE_NAME=module_gconf
 
 gconf_helper_SOURCES = modules/gconf/gconf-helper.c
 gconf_helper_LDADD = $(AM_LDADD) libpulsecore- at PA_MAJORMINOR@.la libpulsecommon- at PA_MAJORMINOR@.la libpulse.la $(GCONF_LIBS)
@@ -2152,19 +2071,19 @@ gconf_helper_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 module_bluetooth_policy_la_SOURCES = modules/bluetooth/module-bluetooth-policy.c
 module_bluetooth_policy_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_bluetooth_policy_la_LIBADD = $(MODULE_LIBADD)
-module_bluetooth_policy_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+module_bluetooth_policy_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_bluetooth_policy
 
 # Bluetooth discover
 module_bluetooth_discover_la_SOURCES = modules/bluetooth/module-bluetooth-discover.c
 module_bluetooth_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_bluetooth_discover_la_LIBADD = $(MODULE_LIBADD)
-module_bluetooth_discover_la_CFLAGS = $(AM_CFLAGS)
+module_bluetooth_discover_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_bluetooth_discover
 
 # Bluetooth BlueZ 4 sink / source
 module_bluez4_discover_la_SOURCES = modules/bluetooth/module-bluez4-discover.c
 module_bluez4_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_bluez4_discover_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libbluez4-util.la
-module_bluez4_discover_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+module_bluez4_discover_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_bluez4_discover
 
 libbluez4_util_la_SOURCES = \
 		modules/bluetooth/a2dp-codecs.h \
@@ -2177,7 +2096,7 @@ libbluez4_util_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
 module_bluez4_device_la_SOURCES = modules/bluetooth/module-bluez4-device.c modules/bluetooth/rtp.h
 module_bluez4_device_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_bluez4_device_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(SBC_LIBS) libbluez4-util.la
-module_bluez4_device_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(SBC_CFLAGS)
+module_bluez4_device_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(SBC_CFLAGS) -DPA_MODULE_NAME=module_bluez4_device
 
 # Bluetooth BlueZ 5 sink / source
 libbluez5_util_la_SOURCES = \
@@ -2200,35 +2119,35 @@ libbluez5_util_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
 module_bluez5_discover_la_SOURCES = modules/bluetooth/module-bluez5-discover.c
 module_bluez5_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_bluez5_discover_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libbluez5-util.la
-module_bluez5_discover_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+module_bluez5_discover_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_bluez5_discover
 
 module_bluez5_device_la_SOURCES = modules/bluetooth/module-bluez5-device.c
 module_bluez5_device_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_bluez5_device_la_LIBADD = $(MODULE_LIBADD) $(SBC_LIBS) libbluez5-util.la
-module_bluez5_device_la_CFLAGS = $(AM_CFLAGS) $(SBC_CFLAGS)
+module_bluez5_device_la_CFLAGS = $(AM_CFLAGS) $(SBC_CFLAGS) -DPA_MODULE_NAME=module_bluez5_device
 
 # Apple Airtunes/RAOP
 module_raop_sink_la_SOURCES = modules/raop/module-raop-sink.c
 module_raop_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_raop_sink_la_LIBADD = $(MODULE_LIBADD) librtp.la libraop.la
-module_raop_sink_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/src/modules/rtp
+module_raop_sink_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/src/modules/rtp -DPA_MODULE_NAME=module_raop_sink
 
 module_raop_discover_la_SOURCES = modules/raop/module-raop-discover.c
 module_raop_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_raop_discover_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la
-module_raop_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
+module_raop_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) -DPA_MODULE_NAME=module_raop_discover
 
 # Rygel
 module_rygel_media_server_la_SOURCES = modules/module-rygel-media-server.c
 module_rygel_media_server_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_rygel_media_server_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libprotocol-http.la
-module_rygel_media_server_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+module_rygel_media_server_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_rygel_media_server
 
 # Allow passthrough module
 module_allow_passthrough_la_SOURCES = modules/module-allow-passthrough.c
 module_allow_passthrough_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_allow_passthrough_la_LIBADD = $(MODULE_LIBADD)
-module_allow_passthrough_la_CFLAGS = $(AM_CFLAGS)
+module_allow_passthrough_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_allow_passthrough
 
 ###################################
 #        Some minor stuff         #
diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c
index 4f1236ecd..804b4f872 100644
--- a/src/modules/alsa/module-alsa-card.c
+++ b/src/modules/alsa/module-alsa-card.c
@@ -38,7 +38,6 @@
 #include "alsa-ucm.h"
 #include "alsa-sink.h"
 #include "alsa-source.h"
-#include "module-alsa-card-symdef.h"
 
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("ALSA Card");
diff --git a/src/modules/alsa/module-alsa-sink.c b/src/modules/alsa/module-alsa-sink.c
index 854d08045..4d4beb3cd 100644
--- a/src/modules/alsa/module-alsa-sink.c
+++ b/src/modules/alsa/module-alsa-sink.c
@@ -28,7 +28,6 @@
 
 #include "alsa-util.h"
 #include "alsa-sink.h"
-#include "module-alsa-sink-symdef.h"
 
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("ALSA Sink");
diff --git a/src/modules/alsa/module-alsa-source.c b/src/modules/alsa/module-alsa-source.c
index 45fb1aca8..af6800dd2 100644
--- a/src/modules/alsa/module-alsa-source.c
+++ b/src/modules/alsa/module-alsa-source.c
@@ -37,7 +37,6 @@
 
 #include "alsa-util.h"
 #include "alsa-source.h"
-#include "module-alsa-source-symdef.h"
 
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("ALSA Source");
diff --git a/src/modules/bluetooth/module-bluetooth-discover.c b/src/modules/bluetooth/module-bluetooth-discover.c
index 509db443f..49718c0c9 100644
--- a/src/modules/bluetooth/module-bluetooth-discover.c
+++ b/src/modules/bluetooth/module-bluetooth-discover.c
@@ -25,8 +25,6 @@
 #include <pulsecore/macro.h>
 #include <pulsecore/module.h>
 
-#include "module-bluetooth-discover-symdef.h"
-
 PA_MODULE_AUTHOR("João Paulo Rechi Vita");
 PA_MODULE_DESCRIPTION("Detect available Bluetooth daemon and load the corresponding discovery module");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/bluetooth/module-bluetooth-policy.c b/src/modules/bluetooth/module-bluetooth-policy.c
index 24930450e..a6a812b57 100644
--- a/src/modules/bluetooth/module-bluetooth-policy.c
+++ b/src/modules/bluetooth/module-bluetooth-policy.c
@@ -31,8 +31,6 @@
 #include <pulsecore/source.h>
 #include <pulsecore/core-util.h>
 
-#include "module-bluetooth-policy-symdef.h"
-
 PA_MODULE_AUTHOR("Frédéric Dalleau, Pali Rohár");
 PA_MODULE_DESCRIPTION("Policy module to make using bluetooth devices out-of-the-box easier");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/bluetooth/module-bluez4-device.c b/src/modules/bluetooth/module-bluez4-device.c
index b3f7790c1..ff1782264 100644
--- a/src/modules/bluetooth/module-bluez4-device.c
+++ b/src/modules/bluetooth/module-bluez4-device.c
@@ -51,7 +51,6 @@
 
 #include <sbc/sbc.h>
 
-#include "module-bluez4-device-symdef.h"
 #include "a2dp-codecs.h"
 #include "rtp.h"
 #include "bluez4-util.h"
diff --git a/src/modules/bluetooth/module-bluez4-discover.c b/src/modules/bluetooth/module-bluez4-discover.c
index a4eaee3c9..2813cd54f 100644
--- a/src/modules/bluetooth/module-bluez4-discover.c
+++ b/src/modules/bluetooth/module-bluez4-discover.c
@@ -32,7 +32,6 @@
 #include <pulsecore/core-util.h>
 #include <pulsecore/dbus-shared.h>
 
-#include "module-bluez4-discover-symdef.h"
 #include "bluez4-util.h"
 
 PA_MODULE_AUTHOR("João Paulo Rechi Vita");
diff --git a/src/modules/bluetooth/module-bluez5-device.c b/src/modules/bluetooth/module-bluez5-device.c
index fb9914727..7970dda70 100644
--- a/src/modules/bluetooth/module-bluez5-device.c
+++ b/src/modules/bluetooth/module-bluez5-device.c
@@ -49,8 +49,6 @@
 #include "bluez5-util.h"
 #include "rtp.h"
 
-#include "module-bluez5-device-symdef.h"
-
 PA_MODULE_AUTHOR("João Paulo Rechi Vita");
 PA_MODULE_DESCRIPTION("BlueZ 5 Bluetooth audio sink and source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/bluetooth/module-bluez5-discover.c b/src/modules/bluetooth/module-bluez5-discover.c
index 495da7627..44578214c 100644
--- a/src/modules/bluetooth/module-bluez5-discover.c
+++ b/src/modules/bluetooth/module-bluez5-discover.c
@@ -30,8 +30,6 @@
 
 #include "bluez5-util.h"
 
-#include "module-bluez5-discover-symdef.h"
-
 PA_MODULE_AUTHOR("João Paulo Rechi Vita");
 PA_MODULE_DESCRIPTION("Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/dbus/module-dbus-protocol.c b/src/modules/dbus/module-dbus-protocol.c
index 2cd206e30..259eb9f09 100644
--- a/src/modules/dbus/module-dbus-protocol.c
+++ b/src/modules/dbus/module-dbus-protocol.c
@@ -41,8 +41,6 @@
 #include "iface-client.h"
 #include "iface-core.h"
 
-#include "module-dbus-protocol-symdef.h"
-
 PA_MODULE_DESCRIPTION("D-Bus interface");
 PA_MODULE_USAGE(
         "access=local|remote|local,remote "
diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c
index 7df5a4f61..0702f2fd6 100644
--- a/src/modules/echo-cancel/module-echo-cancel.c
+++ b/src/modules/echo-cancel/module-echo-cancel.c
@@ -51,8 +51,6 @@
 #include <pulsecore/sample-util.h>
 #include <pulsecore/ltdl-helper.h>
 
-#include "module-echo-cancel-symdef.h"
-
 PA_MODULE_AUTHOR("Wim Taymans");
 PA_MODULE_DESCRIPTION("Echo Cancellation");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/gconf/module-gconf.c b/src/modules/gconf/module-gconf.c
index 7a2b975cf..df397797f 100644
--- a/src/modules/gconf/module-gconf.c
+++ b/src/modules/gconf/module-gconf.c
@@ -38,8 +38,6 @@
 #include <pulsecore/core-error.h>
 #include <pulsecore/start-child.h>
 
-#include "module-gconf-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("GConf Adapter");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/jack/module-jack-sink.c b/src/modules/jack/module-jack-sink.c
index 82bfccd91..eb1d1b15b 100644
--- a/src/modules/jack/module-jack-sink.c
+++ b/src/modules/jack/module-jack-sink.c
@@ -41,8 +41,6 @@
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/sample-util.h>
 
-#include "module-jack-sink-symdef.h"
-
 /* General overview:
  *
  * Because JACK has a very inflexible event loop management which
diff --git a/src/modules/jack/module-jack-source.c b/src/modules/jack/module-jack-source.c
index 1f020c070..43cb0e15d 100644
--- a/src/modules/jack/module-jack-source.c
+++ b/src/modules/jack/module-jack-source.c
@@ -41,8 +41,6 @@
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/sample-util.h>
 
-#include "module-jack-source-symdef.h"
-
 /* See module-jack-sink for a few comments how this module basically
  * works */
 
diff --git a/src/modules/jack/module-jackdbus-detect.c b/src/modules/jack/module-jackdbus-detect.c
index 20db21842..662810269 100644
--- a/src/modules/jack/module-jackdbus-detect.c
+++ b/src/modules/jack/module-jackdbus-detect.c
@@ -32,8 +32,6 @@
 #include <pulsecore/core-util.h>
 #include <pulsecore/dbus-shared.h>
 
-#include "module-jackdbus-detect-symdef.h"
-
 PA_MODULE_AUTHOR("David Henningsson");
 PA_MODULE_DESCRIPTION("Adds JACK sink/source ports when JACK is started");
 PA_MODULE_LOAD_ONCE(true);
diff --git a/src/modules/macosx/module-bonjour-publish.c b/src/modules/macosx/module-bonjour-publish.c
index b28d74ecf..8f8a53087 100644
--- a/src/modules/macosx/module-bonjour-publish.c
+++ b/src/modules/macosx/module-bonjour-publish.c
@@ -43,8 +43,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/protocol-native.h>
 
-#include "module-bonjour-publish-symdef.h"
-
 PA_MODULE_AUTHOR("Daniel Mack");
 PA_MODULE_DESCRIPTION("Mac OS X Bonjour Service Publisher");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/macosx/module-coreaudio-detect.c b/src/modules/macosx/module-coreaudio-detect.c
index eebca1f49..1fd2ede70 100644
--- a/src/modules/macosx/module-coreaudio-detect.c
+++ b/src/modules/macosx/module-coreaudio-detect.c
@@ -31,8 +31,6 @@
 
 #include <CoreAudio/CoreAudio.h>
 
-#include "module-coreaudio-detect-symdef.h"
-
 #define DEVICE_MODULE_NAME "module-coreaudio-device"
 
 PA_MODULE_AUTHOR("Daniel Mack");
diff --git a/src/modules/macosx/module-coreaudio-device.c b/src/modules/macosx/module-coreaudio-device.c
index 2e02630d3..73e332a31 100644
--- a/src/modules/macosx/module-coreaudio-device.c
+++ b/src/modules/macosx/module-coreaudio-device.c
@@ -48,8 +48,6 @@
 #include <CoreAudio/CoreAudioTypes.h>
 #include <CoreAudio/AudioHardware.h>
 
-#include "module-coreaudio-device-symdef.h"
-
 #define DEFAULT_FRAMES_PER_IOPROC 512
 
 PA_MODULE_AUTHOR("Daniel Mack");
diff --git a/src/modules/module-allow-passthrough.c b/src/modules/module-allow-passthrough.c
index aea81cb52..16b421d79 100644
--- a/src/modules/module-allow-passthrough.c
+++ b/src/modules/module-allow-passthrough.c
@@ -34,8 +34,6 @@
 #include <pulsecore/namereg.h>
 #include <pulsecore/core-util.h>
 
-#include "module-allow-passthrough-symdef.h"
-
 PA_MODULE_AUTHOR("Guillaume Desmottes");
 PA_MODULE_DESCRIPTION("When a passthrough stream is requested, route all the other streams to a dummy device");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-always-sink.c b/src/modules/module-always-sink.c
index 246cb94c1..0660bc25e 100644
--- a/src/modules/module-always-sink.c
+++ b/src/modules/module-always-sink.c
@@ -30,8 +30,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/log.h>
 
-#include "module-always-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Colin Guthrie");
 PA_MODULE_DESCRIPTION(_("Always keeps at least one sink loaded even if it's a null one"));
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-always-source.c b/src/modules/module-always-source.c
index 5c1f22aa2..728d7b9ca 100644
--- a/src/modules/module-always-source.c
+++ b/src/modules/module-always-source.c
@@ -31,8 +31,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/log.h>
 
-#include "module-always-source-symdef.h"
-
 PA_MODULE_AUTHOR("Sebastian Dröge");
 PA_MODULE_DESCRIPTION(_("Always keeps at least one source loaded even if it's a null one"));
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-augment-properties.c b/src/modules/module-augment-properties.c
index f0584328d..1db1ef611 100644
--- a/src/modules/module-augment-properties.c
+++ b/src/modules/module-augment-properties.c
@@ -34,8 +34,6 @@
 #include <pulsecore/client.h>
 #include <pulsecore/conf-parser.h>
 
-#include "module-augment-properties-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Augment the property sets of streams with additional static information");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-card-restore.c b/src/modules/module-card-restore.c
index b7189ad53..014e75435 100644
--- a/src/modules/module-card-restore.c
+++ b/src/modules/module-card-restore.c
@@ -44,8 +44,6 @@
 #include <pulsecore/database.h>
 #include <pulsecore/tagstruct.h>
 
-#include "module-card-restore-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Automatically restore profile of cards");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-cli.c b/src/modules/module-cli.c
index a69ad4a67..547c81884 100644
--- a/src/modules/module-cli.c
+++ b/src/modules/module-cli.c
@@ -35,8 +35,6 @@
 #include <pulsecore/macro.h>
 #include <pulsecore/core-util.h>
 
-#include "module-cli-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Command line interface");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-combine-sink.c b/src/modules/module-combine-sink.c
index ce6eb7766..baaac44d5 100644
--- a/src/modules/module-combine-sink.c
+++ b/src/modules/module-combine-sink.c
@@ -45,8 +45,6 @@
 #include <pulsecore/time-smoother.h>
 #include <pulsecore/strlist.h>
 
-#include "module-combine-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Combine multiple sinks to one");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c
index 0c56071bc..303724366 100644
--- a/src/modules/module-combine.c
+++ b/src/modules/module-combine.c
@@ -27,8 +27,6 @@
 #include <pulsecore/module.h>
 #include <pulsecore/log.h>
 
-#include "module-combine-symdef.h"
-
 PA_MODULE_AUTHOR("Colin Guthrie");
 PA_MODULE_DESCRIPTION("Compatibility module (module-combine rename)");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-console-kit.c b/src/modules/module-console-kit.c
index 7997c4f96..c79388499 100644
--- a/src/modules/module-console-kit.c
+++ b/src/modules/module-console-kit.c
@@ -37,8 +37,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/dbus-shared.h>
 
-#include "module-console-kit-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Create a client for each ConsoleKit session of this user");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-default-device-restore.c b/src/modules/module-default-device-restore.c
index adf19ff94..c4dbad99f 100644
--- a/src/modules/module-default-device-restore.c
+++ b/src/modules/module-default-device-restore.c
@@ -34,8 +34,6 @@
 #include <pulsecore/namereg.h>
 #include <pulsecore/core-error.h>
 
-#include "module-default-device-restore-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Automatically restore the default sink and source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-defs.h.m4 b/src/modules/module-defs.h.m4
deleted file mode 100644
index 838b8e8f9..000000000
--- a/src/modules/module-defs.h.m4
+++ /dev/null
@@ -1,35 +0,0 @@
-changecom(`/*', `*/')dnl
-define(`module_name', patsubst(patsubst(patsubst(fname, `-symdef.h$'), `^.*/'), `[^0-9a-zA-Z]', `_'))dnl
-define(`c_symbol', patsubst(module_name, `[^0-9a-zA-Z]', `_'))dnl
-define(`c_macro', patsubst(module_name, `[^0-9a-zA-Z]', `'))dnl
-define(`incmacro', `foo'c_macro`symdeffoo')dnl
-define(`gen_symbol', `#define $1 'module_name`_LTX_$1')dnl
-#ifndef incmacro
-#define incmacro
-
-#include <pulsecore/core.h>
-#include <pulsecore/module.h>
-#include <pulsecore/macro.h>
-
-gen_symbol(pa__init)
-gen_symbol(pa__done)
-gen_symbol(pa__get_author)
-gen_symbol(pa__get_description)
-gen_symbol(pa__get_usage)
-gen_symbol(pa__get_version)
-gen_symbol(pa__get_deprecated)
-gen_symbol(pa__load_once)
-gen_symbol(pa__get_n_used)
-
-int pa__init(pa_module*m);
-void pa__done(pa_module*m);
-int pa__get_n_used(pa_module*m);
-
-const char* pa__get_author(void);
-const char* pa__get_description(void);
-const char* pa__get_usage(void);
-const char* pa__get_version(void);
-const char* pa__get_deprecated(void);
-bool pa__load_once(void);
-
-#endif
diff --git a/src/modules/module-detect.c b/src/modules/module-detect.c
index 91951640a..230cd9d47 100644
--- a/src/modules/module-detect.c
+++ b/src/modules/module-detect.c
@@ -39,8 +39,6 @@
 #include <pulsecore/core-util.h>
 #include <pulsecore/macro.h>
 
-#include "module-detect-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Detect available audio hardware and load matching drivers");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-device-manager.c b/src/modules/module-device-manager.c
index c2f11d9bb..abc7f94e8 100644
--- a/src/modules/module-device-manager.c
+++ b/src/modules/module-device-manager.c
@@ -49,8 +49,6 @@
 #include <pulsecore/database.h>
 #include <pulsecore/tagstruct.h>
 
-#include "module-device-manager-symdef.h"
-
 PA_MODULE_AUTHOR("Colin Guthrie");
 PA_MODULE_DESCRIPTION("Keep track of devices (and their descriptions) both past and present and prioritise by role");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-device-restore.c b/src/modules/module-device-restore.c
index 8d7b34b43..d15d9ffa3 100644
--- a/src/modules/module-device-restore.c
+++ b/src/modules/module-device-restore.c
@@ -52,8 +52,6 @@
 #include <pulsecore/database.h>
 #include <pulsecore/tagstruct.h>
 
-#include "module-device-restore-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Automatically restore the volume/mute state of devices");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-equalizer-sink.c b/src/modules/module-equalizer-sink.c
index 737453ca9..d35511530 100644
--- a/src/modules/module-equalizer-sink.c
+++ b/src/modules/module-equalizer-sink.c
@@ -64,8 +64,6 @@
 #include <pulsecore/protocol-dbus.h>
 #include <pulsecore/dbus-util.h>
 
-#include "module-equalizer-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Jason Newton");
 PA_MODULE_DESCRIPTION(_("General Purpose Equalizer"));
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-esound-compat-spawnfd.c b/src/modules/module-esound-compat-spawnfd.c
index 61c91a2f7..76cf608f8 100644
--- a/src/modules/module-esound-compat-spawnfd.c
+++ b/src/modules/module-esound-compat-spawnfd.c
@@ -30,8 +30,6 @@
 #include <pulsecore/core-util.h>
 #include <pulsecore/log.h>
 
-#include "module-esound-compat-spawnfd-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("ESOUND compatibility module: -spawnfd emulation");
 PA_MODULE_LOAD_ONCE(true);
diff --git a/src/modules/module-esound-compat-spawnpid.c b/src/modules/module-esound-compat-spawnpid.c
index 9aad2d0be..901405924 100644
--- a/src/modules/module-esound-compat-spawnpid.c
+++ b/src/modules/module-esound-compat-spawnpid.c
@@ -31,8 +31,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/log.h>
 
-#include "module-esound-compat-spawnpid-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("ESOUND compatibility module: -spawnpid emulation");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-esound-sink.c b/src/modules/module-esound-sink.c
index 59bef4838..d93ad9c5b 100644
--- a/src/modules/module-esound-sink.c
+++ b/src/modules/module-esound-sink.c
@@ -65,8 +65,6 @@
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/poll.h>
 
-#include "module-esound-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("ESOUND Sink");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-filter-apply.c b/src/modules/module-filter-apply.c
index 6d4475dd1..102d90d35 100644
--- a/src/modules/module-filter-apply.c
+++ b/src/modules/module-filter-apply.c
@@ -35,8 +35,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/proplist-util.h>
 
-#include "module-filter-apply-symdef.h"
-
 #define PA_PROP_FILTER_APPLY_PARAMETERS PA_PROP_FILTER_APPLY".%s.parameters"
 #define PA_PROP_FILTER_APPLY_MOVING     "filter.apply.moving"
 #define PA_PROP_FILTER_APPLY_SET_BY_MFA "filter.apply.set_by_mfa"
diff --git a/src/modules/module-filter-heuristics.c b/src/modules/module-filter-heuristics.c
index 423e87387..2a13c0326 100644
--- a/src/modules/module-filter-heuristics.c
+++ b/src/modules/module-filter-heuristics.c
@@ -30,8 +30,6 @@
 #include <pulsecore/sink-input.h>
 #include <pulsecore/modargs.h>
 
-#include "module-filter-heuristics-symdef.h"
-
 #define PA_PROP_FILTER_APPLY_MOVING "filter.apply.moving"
 #define PA_PROP_FILTER_HEURISTICS "filter.heuristics"
 
diff --git a/src/modules/module-hal-detect-compat.c b/src/modules/module-hal-detect-compat.c
index e326340c6..4402e9751 100644
--- a/src/modules/module-hal-detect-compat.c
+++ b/src/modules/module-hal-detect-compat.c
@@ -28,8 +28,6 @@
 #include <pulsecore/log.h>
 #include <pulsecore/core-util.h>
 
-#include "module-hal-detect-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Compatibility module");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-intended-roles.c b/src/modules/module-intended-roles.c
index 733568cde..da7366a6a 100644
--- a/src/modules/module-intended-roles.c
+++ b/src/modules/module-intended-roles.c
@@ -31,8 +31,6 @@
 #include <pulsecore/source-output.h>
 #include <pulsecore/namereg.h>
 
-#include "module-intended-roles-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Automatically set device of streams based on intended roles of devices");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c
index 0493da894..4140196c6 100644
--- a/src/modules/module-ladspa-sink.c
+++ b/src/modules/module-ladspa-sink.c
@@ -44,7 +44,6 @@
 #include <pulsecore/dbus-util.h>
 #endif
 
-#include "module-ladspa-sink-symdef.h"
 #include "ladspa.h"
 
 PA_MODULE_AUTHOR("Lennart Poettering");
diff --git a/src/modules/module-lirc.c b/src/modules/module-lirc.c
index d63fdbd66..be3e67d97 100644
--- a/src/modules/module-lirc.c
+++ b/src/modules/module-lirc.c
@@ -37,8 +37,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/macro.h>
 
-#include "module-lirc-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("LIRC volume control");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-loopback.c b/src/modules/module-loopback.c
index 9d9b4ba3a..aecac0ab9 100644
--- a/src/modules/module-loopback.c
+++ b/src/modules/module-loopback.c
@@ -36,8 +36,6 @@
 #include <pulse/rtclock.h>
 #include <pulse/timeval.h>
 
-#include "module-loopback-symdef.h"
-
 PA_MODULE_AUTHOR("Pierre-Louis Bossart");
 PA_MODULE_DESCRIPTION("Loopback from source to sink");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-match.c b/src/modules/module-match.c
index 559687c17..76f71256c 100644
--- a/src/modules/module-match.c
+++ b/src/modules/module-match.c
@@ -44,8 +44,6 @@
 #include <pulsecore/sink-input.h>
 #include <pulsecore/core-util.h>
 
-#include "module-match-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Playback stream expression matching module");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-mmkbd-evdev.c b/src/modules/module-mmkbd-evdev.c
index 6c9cf342b..31693bb28 100644
--- a/src/modules/module-mmkbd-evdev.c
+++ b/src/modules/module-mmkbd-evdev.c
@@ -40,8 +40,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/core-util.h>
 
-#include "module-mmkbd-evdev-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Multimedia keyboard support via Linux evdev");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-native-protocol-fd.c b/src/modules/module-native-protocol-fd.c
index 5fd7f6a70..d93f328cc 100644
--- a/src/modules/module-native-protocol-fd.c
+++ b/src/modules/module-native-protocol-fd.c
@@ -31,8 +31,6 @@
 #include <pulsecore/protocol-native.h>
 #include <pulsecore/log.h>
 
-#include "module-native-protocol-fd-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Native protocol autospawn helper");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c
index 9237656a3..25b0f3091 100644
--- a/src/modules/module-null-sink.c
+++ b/src/modules/module-null-sink.c
@@ -41,8 +41,6 @@
 #include <pulsecore/thread-mq.h>
 #include <pulsecore/rtpoll.h>
 
-#include "module-null-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION(_("Clocked NULL sink"));
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-null-source.c b/src/modules/module-null-source.c
index 5bfa1e189..41f17bd98 100644
--- a/src/modules/module-null-source.c
+++ b/src/modules/module-null-source.c
@@ -41,8 +41,6 @@
 #include <pulsecore/thread-mq.h>
 #include <pulsecore/thread.h>
 
-#include "module-null-source-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering & Marc-Andre Lureau");
 PA_MODULE_DESCRIPTION("Clocked NULL source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c
index 8396a632b..64ef80783 100644
--- a/src/modules/module-pipe-sink.c
+++ b/src/modules/module-pipe-sink.c
@@ -46,8 +46,6 @@
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/poll.h>
 
-#include "module-pipe-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("UNIX pipe sink");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-pipe-source.c b/src/modules/module-pipe-source.c
index 411f1fd69..f8284c161 100644
--- a/src/modules/module-pipe-source.c
+++ b/src/modules/module-pipe-source.c
@@ -46,8 +46,6 @@
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/poll.h>
 
-#include "module-pipe-source-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("UNIX pipe source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-position-event-sounds.c b/src/modules/module-position-event-sounds.c
index fb9f5b3b6..dcdfb3002 100644
--- a/src/modules/module-position-event-sounds.c
+++ b/src/modules/module-position-event-sounds.c
@@ -37,8 +37,6 @@
 #include <pulsecore/log.h>
 #include <pulsecore/sink-input.h>
 
-#include "module-position-event-sounds-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Position event sounds between L and R depending on the position on screen of the widget triggering them.");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-protocol-stub.c b/src/modules/module-protocol-stub.c
index 5a183c89f..a228208dc 100644
--- a/src/modules/module-protocol-stub.c
+++ b/src/modules/module-protocol-stub.c
@@ -59,12 +59,6 @@
 #  define UNIX_SOCKET "simple"
 #  define MODULE_ARGUMENTS "rate", "format", "channels", "sink", "source", "playback", "record",
 
-#  if defined(USE_TCP_SOCKETS)
-#    include "module-simple-protocol-tcp-symdef.h"
-#  else
-#    include "module-simple-protocol-unix-symdef.h"
-#  endif
-
   PA_MODULE_DESCRIPTION("Simple protocol "SOCKET_DESCRIPTION);
   PA_MODULE_USAGE("rate=<sample rate> "
                   "format=<sample format> "
@@ -81,12 +75,6 @@
 #  define UNIX_SOCKET "cli"
 #  define MODULE_ARGUMENTS
 
-#  ifdef USE_TCP_SOCKETS
-#    include "module-cli-protocol-tcp-symdef.h"
-#  else
-#   include "module-cli-protocol-unix-symdef.h"
-#  endif
-
   PA_MODULE_DESCRIPTION("Command line interface protocol "SOCKET_DESCRIPTION);
   PA_MODULE_USAGE(SOCKET_USAGE);
 #elif defined(USE_PROTOCOL_HTTP)
@@ -96,12 +84,6 @@
 #  define UNIX_SOCKET "http"
 #  define MODULE_ARGUMENTS
 
-#  ifdef USE_TCP_SOCKETS
-#    include "module-http-protocol-tcp-symdef.h"
-#  else
-#    include "module-http-protocol-unix-symdef.h"
-#  endif
-
   PA_MODULE_DESCRIPTION("HTTP "SOCKET_DESCRIPTION);
   PA_MODULE_USAGE(SOCKET_USAGE);
 #elif defined(USE_PROTOCOL_NATIVE)
@@ -111,12 +93,6 @@
 #  define UNIX_SOCKET PA_NATIVE_DEFAULT_UNIX_SOCKET
 #  define MODULE_ARGUMENTS_COMMON "cookie", "auth-cookie", "auth-cookie-enabled", "auth-anonymous",
 
-#  ifdef USE_TCP_SOCKETS
-#    include "module-native-protocol-tcp-symdef.h"
-#  else
-#    include "module-native-protocol-unix-symdef.h"
-#  endif
-
 #  if defined(HAVE_CREDS) && !defined(USE_TCP_SOCKETS)
 #    define MODULE_ARGUMENTS MODULE_ARGUMENTS_COMMON "auth-group", "auth-group-enable", "srbchannel",
 #    define AUTH_USAGE "auth-group=<system group to allow access> auth-group-enable=<enable auth by UNIX group?> "
@@ -145,12 +121,6 @@
 #  define IPV4_PORT ESD_DEFAULT_PORT
 #  define MODULE_ARGUMENTS_COMMON "sink", "source", "auth-anonymous", "cookie", "auth-cookie", "auth-cookie-enabled",
 
-#  ifdef USE_TCP_SOCKETS
-#    include "module-esound-protocol-tcp-symdef.h"
-#  else
-#    include "module-esound-protocol-unix-symdef.h"
-#  endif
-
 #  if defined(USE_TCP_SOCKETS)
 #    define MODULE_ARGUMENTS MODULE_ARGUMENTS_COMMON "auth-ip-acl",
 #    define AUTH_USAGE "auth-ip-acl=<IP address ACL to allow access> "
diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c
index 44372d0c0..1599e160f 100644
--- a/src/modules/module-remap-sink.c
+++ b/src/modules/module-remap-sink.c
@@ -31,8 +31,6 @@
 #include <pulsecore/log.h>
 #include <pulsecore/rtpoll.h>
 
-#include "module-remap-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Virtual channel remapping sink");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-remap-source.c b/src/modules/module-remap-source.c
index 4f27aedbd..109c913ca 100644
--- a/src/modules/module-remap-source.c
+++ b/src/modules/module-remap-source.c
@@ -38,8 +38,6 @@
 #include <pulsecore/ltdl-helper.h>
 #include <pulsecore/mix.h>
 
-#include "module-remap-source-symdef.h"
-
 PA_MODULE_AUTHOR("Stefan Huber");
 PA_MODULE_DESCRIPTION("Virtual channel remapping source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-rescue-streams.c b/src/modules/module-rescue-streams.c
index d3c9953ec..39549782c 100644
--- a/src/modules/module-rescue-streams.c
+++ b/src/modules/module-rescue-streams.c
@@ -31,8 +31,6 @@
 #include <pulsecore/namereg.h>
 #include <pulsecore/core-util.h>
 
-#include "module-rescue-streams-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("When a sink/source is removed, try to move its streams to the default sink/source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-role-cork.c b/src/modules/module-role-cork.c
index d71cc383c..b3c9d5f92 100644
--- a/src/modules/module-role-cork.c
+++ b/src/modules/module-role-cork.c
@@ -25,8 +25,6 @@
 #include <pulsecore/core.h>
 #include <stream-interaction.h>
 
-#include "module-role-cork-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Mute & cork streams with certain roles while others exist");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-role-ducking.c b/src/modules/module-role-ducking.c
index add2d36ac..a1308c2a7 100644
--- a/src/modules/module-role-ducking.c
+++ b/src/modules/module-role-ducking.c
@@ -25,8 +25,6 @@
 #include <pulsecore/core.h>
 #include <stream-interaction.h>
 
-#include "module-role-ducking-symdef.h"
-
 PA_MODULE_AUTHOR("Flavio Ceolin <flavio.ceolin at profusion.mobi>");
 PA_MODULE_DESCRIPTION("Apply a ducking effect based on streams roles");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-rygel-media-server.c b/src/modules/module-rygel-media-server.c
index e2c2e6fd0..7f7fd502e 100644
--- a/src/modules/module-rygel-media-server.c
+++ b/src/modules/module-rygel-media-server.c
@@ -44,8 +44,6 @@
 #include <pulsecore/protocol-http.h>
 #include <pulsecore/parseaddr.h>
 
-#include "module-rygel-media-server-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("UPnP MediaServer Plugin for Rygel");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-sine-source.c b/src/modules/module-sine-source.c
index 3f275e2ae..f4c297384 100644
--- a/src/modules/module-sine-source.c
+++ b/src/modules/module-sine-source.c
@@ -39,8 +39,6 @@
 #include <pulsecore/thread-mq.h>
 #include <pulsecore/rtpoll.h>
 
-#include "module-sine-source-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Sine wave generator source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-sine.c b/src/modules/module-sine.c
index e03eb9687..656a69222 100644
--- a/src/modules/module-sine.c
+++ b/src/modules/module-sine.c
@@ -31,8 +31,6 @@
 #include <pulsecore/namereg.h>
 #include <pulsecore/log.h>
 
-#include "module-sine-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Sine wave generator");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-solaris.c b/src/modules/module-solaris.c
index f44bc7c79..880aa43e7 100644
--- a/src/modules/module-solaris.c
+++ b/src/modules/module-solaris.c
@@ -62,8 +62,6 @@
 #include <pulsecore/thread.h>
 #include <pulsecore/time-smoother.h>
 
-#include "module-solaris-symdef.h"
-
 PA_MODULE_AUTHOR("Pierre Ossman");
 PA_MODULE_DESCRIPTION("Solaris Sink/Source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c
index d99bb5814..7ee533407 100644
--- a/src/modules/module-stream-restore.c
+++ b/src/modules/module-stream-restore.c
@@ -56,8 +56,6 @@
 #include <pulsecore/protocol-dbus.h>
 #endif
 
-#include "module-stream-restore-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Automatically restore the volume/mute/device state of streams");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-suspend-on-idle.c b/src/modules/module-suspend-on-idle.c
index 90d356fe8..37ba659e4 100644
--- a/src/modules/module-suspend-on-idle.c
+++ b/src/modules/module-suspend-on-idle.c
@@ -32,8 +32,6 @@
 #include <pulsecore/modargs.h>
 #include <pulsecore/log.h>
 
-#include "module-suspend-on-idle-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("When a sink/source is idle for too long, suspend it");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-switch-on-connect.c b/src/modules/module-switch-on-connect.c
index 0e2b32a97..34fffafec 100644
--- a/src/modules/module-switch-on-connect.c
+++ b/src/modules/module-switch-on-connect.c
@@ -33,8 +33,6 @@
 #include <pulsecore/namereg.h>
 #include <pulsecore/core-util.h>
 
-#include "module-switch-on-connect-symdef.h"
-
 PA_MODULE_AUTHOR("Michael Terry");
 PA_MODULE_DESCRIPTION("When a sink/source is added, switch to it or conditionally switch to it");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c
index b28e60bfd..7d2c596cf 100644
--- a/src/modules/module-switch-on-port-available.c
+++ b/src/modules/module-switch-on-port-available.c
@@ -27,8 +27,6 @@
 #include <pulsecore/device-port.h>
 #include <pulsecore/hashmap.h>
 
-#include "module-switch-on-port-available-symdef.h"
-
 PA_MODULE_AUTHOR("David Henningsson");
 PA_MODULE_DESCRIPTION("Switches ports and profiles when devices are plugged/unplugged");
 PA_MODULE_LOAD_ONCE(true);
diff --git a/src/modules/module-systemd-login.c b/src/modules/module-systemd-login.c
index d15bee55d..879815927 100644
--- a/src/modules/module-systemd-login.c
+++ b/src/modules/module-systemd-login.c
@@ -38,8 +38,6 @@
 #include <pulsecore/idxset.h>
 #include <pulsecore/modargs.h>
 
-#include "module-systemd-login-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Create a client for each login session of this user");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-tunnel-sink-new.c b/src/modules/module-tunnel-sink-new.c
index 7962a5afa..8a67b81f1 100644
--- a/src/modules/module-tunnel-sink-new.c
+++ b/src/modules/module-tunnel-sink-new.c
@@ -41,8 +41,6 @@
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/proplist-util.h>
 
-#include "module-tunnel-sink-new-symdef.h"
-
 PA_MODULE_AUTHOR("Alexander Couzens");
 PA_MODULE_DESCRIPTION("Create a network sink which connects via a stream to a remote PulseAudio server");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-tunnel-source-new.c b/src/modules/module-tunnel-source-new.c
index f547911bf..7ad077111 100644
--- a/src/modules/module-tunnel-source-new.c
+++ b/src/modules/module-tunnel-source-new.c
@@ -41,8 +41,6 @@
 #include <pulsecore/rtpoll.h>
 #include <pulsecore/proplist-util.h>
 
-#include "module-tunnel-source-new-symdef.h"
-
 PA_MODULE_AUTHOR("Alexander Couzens");
 PA_MODULE_DESCRIPTION("Create a network source which connects via a stream to a remote PulseAudio server");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-tunnel.c b/src/modules/module-tunnel.c
index 94ea4fb47..e54a8242f 100644
--- a/src/modules/module-tunnel.c
+++ b/src/modules/module-tunnel.c
@@ -62,12 +62,6 @@
 #include <pulsecore/x11prop.h>
 #endif
 
-#ifdef TUNNEL_SINK
-#include "module-tunnel-sink-symdef.h"
-#else
-#include "module-tunnel-source-symdef.h"
-#endif
-
 #define ENV_DEFAULT_SINK "PULSE_SINK"
 #define ENV_DEFAULT_SOURCE "PULSE_SOURCE"
 #define ENV_DEFAULT_SERVER "PULSE_SERVER"
diff --git a/src/modules/module-udev-detect.c b/src/modules/module-udev-detect.c
index 6ea6034ac..beac9d424 100644
--- a/src/modules/module-udev-detect.c
+++ b/src/modules/module-udev-detect.c
@@ -36,8 +36,6 @@
 #include <pulsecore/ratelimit.h>
 #include <pulsecore/strbuf.h>
 
-#include "module-udev-detect-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Detect available audio hardware and load matching drivers");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-virtual-sink.c b/src/modules/module-virtual-sink.c
index 14aa13fc4..d477fb21d 100644
--- a/src/modules/module-virtual-sink.c
+++ b/src/modules/module-virtual-sink.c
@@ -36,8 +36,6 @@
 #include <pulsecore/sample-util.h>
 #include <pulsecore/ltdl-helper.h>
 
-#include "module-virtual-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Pierre-Louis Bossart");
 PA_MODULE_DESCRIPTION(_("Virtual sink"));
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-virtual-source.c b/src/modules/module-virtual-source.c
index 8d8b20ae0..df0f4cb38 100644
--- a/src/modules/module-virtual-source.c
+++ b/src/modules/module-virtual-source.c
@@ -39,8 +39,6 @@
 #include <pulsecore/ltdl-helper.h>
 #include <pulsecore/mix.h>
 
-#include "module-virtual-source-symdef.h"
-
 PA_MODULE_AUTHOR("Pierre-Louis Bossart");
 PA_MODULE_DESCRIPTION("Virtual source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-virtual-surround-sink.c b/src/modules/module-virtual-surround-sink.c
index fa304c1fa..143b5caca 100644
--- a/src/modules/module-virtual-surround-sink.c
+++ b/src/modules/module-virtual-surround-sink.c
@@ -41,8 +41,6 @@
 
 #include <math.h>
 
-#include "module-virtual-surround-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Niels Ole Salscheider");
 PA_MODULE_DESCRIPTION(_("Virtual surround sink"));
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-volume-restore.c b/src/modules/module-volume-restore.c
index e2b95cad1..b9fdebbea 100644
--- a/src/modules/module-volume-restore.c
+++ b/src/modules/module-volume-restore.c
@@ -28,8 +28,6 @@
 #include <pulsecore/log.h>
 #include <pulsecore/core-util.h>
 
-#include "module-volume-restore-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Compatibility module");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-waveout.c b/src/modules/module-waveout.c
index 8d32e7b43..08b44aff8 100644
--- a/src/modules/module-waveout.c
+++ b/src/modules/module-waveout.c
@@ -39,8 +39,6 @@
 #include <pulsecore/thread.h>
 #include <pulsecore/thread-mq.h>
 
-#include "module-waveout-symdef.h"
-
 PA_MODULE_AUTHOR("Pierre Ossman");
 PA_MODULE_DESCRIPTION("Windows waveOut Sink/Source");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-zeroconf-discover.c b/src/modules/module-zeroconf-discover.c
index a170380cb..612e2ed49 100644
--- a/src/modules/module-zeroconf-discover.c
+++ b/src/modules/module-zeroconf-discover.c
@@ -42,8 +42,6 @@
 #include <pulsecore/namereg.h>
 #include <pulsecore/avahi-wrap.h>
 
-#include "module-zeroconf-discover-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("mDNS/DNS-SD Service Discovery");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/module-zeroconf-publish.c b/src/modules/module-zeroconf-publish.c
index 482881c5b..5fafa6e1c 100644
--- a/src/modules/module-zeroconf-publish.c
+++ b/src/modules/module-zeroconf-publish.c
@@ -54,8 +54,6 @@
 #define HOSTNAME_DBUS_ICON_PROPERTY "IconName"
 #endif
 
-#include "module-zeroconf-publish-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("mDNS/DNS-SD Service Publisher");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/oss/module-oss.c b/src/modules/oss/module-oss.c
index 4631ff3ac..93b55ad8b 100644
--- a/src/modules/oss/module-oss.c
+++ b/src/modules/oss/module-oss.c
@@ -71,7 +71,6 @@
 #endif
 
 #include "oss-util.h"
-#include "module-oss-symdef.h"
 
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("OSS Sink/Source");
diff --git a/src/modules/raop/module-raop-discover.c b/src/modules/raop/module-raop-discover.c
index 52919e652..8760956e2 100644
--- a/src/modules/raop/module-raop-discover.c
+++ b/src/modules/raop/module-raop-discover.c
@@ -43,7 +43,6 @@
 #include <pulsecore/namereg.h>
 #include <pulsecore/avahi-wrap.h>
 
-#include "module-raop-discover-symdef.h"
 #include "raop-util.h"
 
 PA_MODULE_AUTHOR("Colin Guthrie");
diff --git a/src/modules/raop/module-raop-sink.c b/src/modules/raop/module-raop-sink.c
index d6826572d..745b1d0d0 100644
--- a/src/modules/raop/module-raop-sink.c
+++ b/src/modules/raop/module-raop-sink.c
@@ -28,8 +28,6 @@
 
 #include "raop-sink.h"
 
-#include "module-raop-sink-symdef.h"
-
 PA_MODULE_AUTHOR("Colin Guthrie");
 PA_MODULE_DESCRIPTION("RAOP Sink");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/rtp/module-rtp-recv.c b/src/modules/rtp/module-rtp-recv.c
index 8224163bd..79e712d86 100644
--- a/src/modules/rtp/module-rtp-recv.c
+++ b/src/modules/rtp/module-rtp-recv.c
@@ -53,8 +53,6 @@
 #include <pulsecore/poll.h>
 #include <pulsecore/arpa-inet.h>
 
-#include "module-rtp-recv-symdef.h"
-
 #include "rtp.h"
 #include "sdp.h"
 #include "sap.h"
diff --git a/src/modules/rtp/module-rtp-send.c b/src/modules/rtp/module-rtp-send.c
index ab594ac07..ceb6df502 100644
--- a/src/modules/rtp/module-rtp-send.c
+++ b/src/modules/rtp/module-rtp-send.c
@@ -46,8 +46,6 @@
 #include <pulsecore/socket-util.h>
 #include <pulsecore/arpa-inet.h>
 
-#include "module-rtp-send-symdef.h"
-
 #include "rtp.h"
 #include "sdp.h"
 #include "sap.h"
diff --git a/src/modules/x11/module-x11-bell.c b/src/modules/x11/module-x11-bell.c
index 7b2be57bf..020035984 100644
--- a/src/modules/x11/module-x11-bell.c
+++ b/src/modules/x11/module-x11-bell.c
@@ -34,8 +34,6 @@
 #include <pulsecore/log.h>
 #include <pulsecore/x11wrap.h>
 
-#include "module-x11-bell-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("X11 bell interceptor");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/x11/module-x11-cork-request.c b/src/modules/x11/module-x11-cork-request.c
index 5c76711f2..ab391c66a 100644
--- a/src/modules/x11/module-x11-cork-request.c
+++ b/src/modules/x11/module-x11-cork-request.c
@@ -38,8 +38,6 @@
 #include <pulsecore/x11wrap.h>
 #include <pulsecore/core-util.h>
 
-#include "module-x11-cork-request-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("Synthesize X11 media key events when cork/uncork is requested");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/x11/module-x11-publish.c b/src/modules/x11/module-x11-publish.c
index 553b3417e..e6735eca0 100644
--- a/src/modules/x11/module-x11-publish.c
+++ b/src/modules/x11/module-x11-publish.c
@@ -41,8 +41,6 @@
 #include <pulsecore/strlist.h>
 #include <pulsecore/protocol-native.h>
 
-#include "module-x11-publish-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("X11 credential publisher");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/modules/x11/module-x11-xsmp.c b/src/modules/x11/module-x11-xsmp.c
index 7c6fb2308..0238e5167 100644
--- a/src/modules/x11/module-x11-xsmp.c
+++ b/src/modules/x11/module-x11-xsmp.c
@@ -35,8 +35,6 @@
 #include <pulsecore/log.h>
 #include <pulsecore/x11wrap.h>
 
-#include "module-x11-xsmp-symdef.h"
-
 PA_MODULE_AUTHOR("Lennart Poettering");
 PA_MODULE_DESCRIPTION("X11 session management");
 PA_MODULE_VERSION(PACKAGE_VERSION);
diff --git a/src/pulsecore/module.h b/src/pulsecore/module.h
index ec2de0b94..b5a7fad77 100644
--- a/src/pulsecore/module.h
+++ b/src/pulsecore/module.h
@@ -92,4 +92,33 @@ void pa_module_hook_connect(pa_module *m, pa_hook *hook, pa_hook_priority_t prio
     bool pa__load_once(void) { return b; }                 \
     struct __stupid_useless_struct_to_allow_trailing_semicolon
 
+/* Check if we're defining a module (usually defined via compiler flags) */
+#ifdef PA_MODULE_NAME
+
+/* Jump through some double-indirection hoops to get PA_MODULE_NAME substituted before the concatenation */
+#define _MACRO_CONCAT1(a, b) a ## b
+#define _MACRO_CONCAT(a, b) _MACRO_CONCAT1(a, b)
+
+#define pa__init _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__init)
+#define pa__done _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__done)
+#define pa__get_author _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__get_author)
+#define pa__get_description _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__get_description)
+#define pa__get_usage _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__get_usage)
+#define pa__get_version _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__get_version)
+#define pa__get_deprecated _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__get_deprecated)
+#define pa__load_once _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__load_once)
+#define pa__get_n_used _MACRO_CONCAT(PA_MODULE_NAME, _LTX_pa__get_n_used)
+
+int pa__init(pa_module*m);
+void pa__done(pa_module*m);
+int pa__get_n_used(pa_module*m);
+
+const char* pa__get_author(void);
+const char* pa__get_description(void);
+const char* pa__get_usage(void);
+const char* pa__get_version(void);
+const char* pa__get_deprecated(void);
+bool pa__load_once(void);
+#endif /* PA_MODULE_NAME */
+
 #endif
diff --git a/todo b/todo
index 653bedc47..11a7e51cf 100644
--- a/todo
+++ b/todo
@@ -1,5 +1,4 @@
 Build System:
-- Remove symdef files and use macros (like most other projects)
 - Use own name mangling scheme instead of ltdl's, which will eliminate the
   need for .la files or extra trickery.
 
-- 
2.14.3



More information about the pulseaudio-discuss mailing list