]> code.delx.au - pulseaudio/blobdiff - polyp/Makefile.am
new configuration subsystem
[pulseaudio] / polyp / Makefile.am
index 27ada2e19b23cb3e34afdb70ca1ba538c7345060..e9e1c295f81c7eba7d0d382e014dcbea59d4d39c 100644 (file)
 polypincludedir=$(includedir)/polyp
 polypconfdir=$(sysconfdir)/polyp
 
+modlibdir=$(libdir)/polypaudio-@PA_MAJORMINOR@
+
 AM_CFLAGS=-D_GNU_SOURCE -I$(top_srcdir) $(PTHREAD_CFLAGS)
-#AM_CFLAGS+= -DDLSEARCHDIR=\"$(pkglibdir)\" 
-AM_CFLAGS+="-DDEFAULT_CONFIG_FILE=\"$(polypconfdir)/polypaudio.pa\""
-AM_CFLAGS+="-DPOLYPAUDIO_BINARY=\"$(bindir)/polypaudio\""
+AM_CFLAGS+=-DDLSEARCHPATH=\"$(modlibdir)\"
+AM_CFLAGS+=-DDEFAULT_SCRIPT_FILE=\"$(polypconfdir)/default.pa\"
+AM_CFLAGS+=-DDEFAULT_CONFIG_FILE=\"$(polypconfdir)/config\"
+AM_CFLAGS+=-DPOLYPAUDIO_BINARY=\"$(bindir)/polypaudio\"
 
 AM_LDADD=$(PTHREAD_LIBS) -lm
 AM_LIBADD=$(PTHREAD_LIBS) -lm
 
-EXTRA_DIST = polypaudio.pa depmod.py esdcompat.sh.in
+EXTRA_DIST = default.pa config depmod.py esdcompat.sh.in
 bin_PROGRAMS = polypaudio pacat pactl
 bin_SCRIPTS = esdcompat.sh
-noinst_PROGRAMS = mainloop-test mainloop-test-glib mainloop-test-glib12 pacat-simple parec-simple cpulimit-test cpulimit-test2 
+noinst_PROGRAMS = \
+               mainloop-test \
+               pacat-simple \
+               parec-simple \
+               cpulimit-test \
+               cpulimit-test2
 
-polypconf_DATA=polypaudio.pa 
+polypconf_DATA=default.pa config
 
 BUILT_SOURCES=polyplib-version.h
 
-polypinclude_HEADERS=polyplib.h \
+polypinclude_HEADERS= \
+               polyplib.h \
                polyplib-def.h \
                polyplib-simple.h \
                polyplib-error.h \
@@ -55,13 +64,19 @@ polypinclude_HEADERS=polyplib.h \
                sample.h \
                glib-mainloop.h
 
-pkglib_LTLIBRARIES=libiochannel.la \
+### Warning! Due to an obscure bug in libtool/automake it is required
+### that the libraries in modlib_LTLIBRARIES are specified in-order,
+### i.e. libraries near the end of the list depend on libraries near
+### the head, and not the other way!
+
+modlib_LTLIBRARIES= \
+               libsocket-util.la \
+               libiochannel.la \
                libsocket-server.la \
                libsocket-client.la \
-               libpstream.la \
                libpacket.la \
+               libpstream.la \
                liboss-util.la \
-               libalsa-util.la \
                libioline.la \
                libcli.la \
                libprotocol-cli.la \
@@ -69,7 +84,6 @@ pkglib_LTLIBRARIES=libiochannel.la \
                libpstream-util.la \
                libpdispatch.la \
                libauthkey.la \
-               libsocket-util.la \
                libprotocol-simple.la \
                libprotocol-esound.la \
                libprotocol-native.la \
@@ -78,8 +92,6 @@ pkglib_LTLIBRARIES=libiochannel.la \
                module-cli-protocol-unix.la \
                module-pipe-sink.la \
                module-pipe-source.la \
-               module-alsa-sink.la \
-               module-alsa-source.la \
                module-oss.la \
                module-oss-mmap.la \
                module-simple-protocol-tcp.la \
@@ -91,16 +103,11 @@ pkglib_LTLIBRARIES=libiochannel.la \
                module-native-protocol-fd.la \
                module-sine.la
 
-if !X_DISPLAY_MISSING
-pkglib_LTLIBRARIES+=module-x11-bell.la
-endif
-
-lib_LTLIBRARIES=libpolyp.la \
-               libpolyp-error.la \
-               libpolyp-mainloop.la \
-               libpolyp-mainloop-glib.la \
-               libpolyp-mainloop-glib12.la \
-               libpolyp-simple.la
+lib_LTLIBRARIES= \
+               libpolyp-@PA_MAJORMINOR@.la \
+               libpolyp-error-@PA_MAJORMINOR@.la \
+               libpolyp-mainloop-@PA_MAJORMINOR@.la \
+               libpolyp-simple-@PA_MAJORMINOR@.la
 
 polypaudio_SOURCES = idxset.c idxset.h \
                queue.c queue.h \
@@ -146,11 +153,14 @@ polypaudio_SOURCES = idxset.c idxset.h \
                sound-file-stream.c sound-file-stream.h \
                cpulimit.c cpulimit.h \
                log.c log.h \
-               gcc-printf.h
+               gcc-printf.h \
+               modinfo.c modinfo.h \
+               conf.c conf.h \
+               dumpmodules.c dumpmodules.h
 
 polypaudio_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSNDFILE_CFLAGS)
 polypaudio_INCLUDES = $(INCLTDL)
-polypaudio_LDADD = $(AM_LDADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS)
+polypaudio_LDADD = $(AM_LDADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(LEXLIB)
 polypaudio_LDFLAGS=-export-dynamic
 
 libprotocol_simple_la_SOURCES = protocol-simple.c protocol-simple.h
@@ -187,11 +197,6 @@ libpacket_la_LDFLAGS = -avoid-version
 liboss_util_la_SOURCES = oss-util.c oss-util.h
 liboss_util_la_LDFLAGS = -avoid-version
 
-libalsa_util_la_SOURCES = alsa-util.c alsa-util.h
-libalsa_util_la_LDFLAGS = -avoid-version
-libalsa_util_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS)
-libalsa_util_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
-
 libioline_la_SOURCES = ioline.c ioline.h
 libioline_la_LDFLAGS = -avoid-version
 libioline_la_LIBADD = $(AM_LIBADD) libiochannel.la
@@ -274,16 +279,6 @@ module_pipe_source_la_SOURCES = module-pipe-source.c
 module_pipe_source_la_LDFLAGS = -module -avoid-version
 module_pipe_source_la_LIBADD = $(AM_LIBADD) libiochannel.la
 
-module_alsa_sink_la_SOURCES = module-alsa-sink.c
-module_alsa_sink_la_LDFLAGS = -module -avoid-version
-module_alsa_sink_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
-module_alsa_sink_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
-
-module_alsa_source_la_SOURCES = module-alsa-source.c
-module_alsa_source_la_LDFLAGS = -module -avoid-version
-module_alsa_source_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
-module_alsa_source_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
-
 module_oss_la_SOURCES = module-oss.c
 module_oss_la_LDFLAGS = -module -avoid-version
 module_oss_la_LIBADD = $(AM_LIBADD) libiochannel.la liboss-util.la
@@ -300,14 +295,7 @@ module_sine_la_SOURCES = module-sine.c
 module_sine_la_LDFLAGS = -module -avoid-version
 module_sine_la_LIBADD = $(AM_LIBADD)
 
-if !X_DISPLAY_MISSING
-module_x11_bell_la_SOURCES = module-x11-bell.c
-module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS)
-module_x11_bell_la_LDFLAGS = -module -avoid-version
-module_x11_bell_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIB)
-endif
-
-libpolyp_la_SOURCES = polyplib.h \
+libpolyp_@PA_MAJORMINOR@_la_SOURCES = polyplib.h \
                polyplib-def.h \
                tagstruct.c tagstruct.h \
                iochannel.c iochannel.h \
@@ -340,72 +328,130 @@ libpolyp_la_SOURCES = polyplib.h \
                log.c log.h \
                gcc-printf.h
 
-libpolyp_la_CFLAGS = $(AM_CFLAGS)
-libpolyp_la_LDFLAGS = -version-info 0:0:0
+libpolyp_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS)
+libpolyp_@PA_MAJORMINOR@_la_LDFLAGS = -version-info 0:0:0
 
-libpolyp_mainloop_la_SOURCES = mainloop-api.h mainloop-api.c \
+libpolyp_mainloop_@PA_MAJORMINOR@_la_SOURCES = mainloop-api.h mainloop-api.c \
                mainloop.c mainloop.h \
                mainloop-signal.c mainloop-signal.h
-libpolyp_mainloop_la_CFLAGS = $(AM_CFLAGS)
-libpolyp_mainloop_la_LIBADD = $(AM_LIBADD) libpolyp.la
-libpolyp_mainloop_la_LDFLAGS = -version-info 0:0:0
-
-libpolyp_error_la_SOURCES = polyplib-error.c polyplib-error.h
-libpolyp_error_la_CFLAGS = $(AM_CFLAGS)
-libpolyp_error_la_LIBADD = $(AM_LIBADD) libpolyp.la
-libpolyp_error_la_LDFLAGS = -version-info 0:0:0
-
-libpolyp_simple_la_SOURCES = polyplib-simple.c polyplib-simple.h 
-libpolyp_simple_la_CFLAGS = $(AM_CFLAGS)
-libpolyp_simple_la_LIBADD = $(AM_LIBADD) libpolyp.la libpolyp-mainloop.la
-libpolyp_simple_la_LDFLAGS = -version-info 0:0:0
-
-libpolyp_mainloop_glib_la_SOURCES = glib-mainloop.h glib-mainloop.c
-libpolyp_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
-libpolyp_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpolyp-mainloop.la $(GLIB20_LIBS)
-libpolyp_mainloop_glib_la_LDFLAGS = -version-info 0:0:0
-
-libpolyp_mainloop_glib12_la_SOURCES = glib-mainloop.h glib12-mainloop.c
-libpolyp_mainloop_glib12_la_CFLAGS = $(AM_CFLAGS) $(GLIB12_CFLAGS)
-libpolyp_mainloop_glib12_la_LIBADD = $(AM_LIBADD) libpolyp-mainloop.la $(GLIB12_LIBS)
-libpolyp_mainloop_glib12_la_LDFLAGS = -version-info 0:0:0
+libpolyp_mainloop_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS)
+libpolyp_mainloop_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) libpolyp-@PA_MAJORMINOR@.la
+libpolyp_mainloop_@PA_MAJORMINOR@_la_LDFLAGS = -version-info 0:0:0
+
+libpolyp_error_@PA_MAJORMINOR@_la_SOURCES = polyplib-error.c polyplib-error.h
+libpolyp_error_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS)
+libpolyp_error_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) libpolyp-@PA_MAJORMINOR@.la
+libpolyp_error_@PA_MAJORMINOR@_la_LDFLAGS = -version-info 0:0:0
+
+libpolyp_simple_@PA_MAJORMINOR@_la_SOURCES = polyplib-simple.c polyplib-simple.h 
+libpolyp_simple_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS)
+libpolyp_simple_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) libpolyp-@PA_MAJORMINOR@.la libpolyp-mainloop-@PA_MAJORMINOR@.la
+libpolyp_simple_@PA_MAJORMINOR@_la_LDFLAGS = -version-info 0:0:0
 
 pacat_SOURCES = pacat.c
-pacat_LDADD = $(AM_LDADD) libpolyp.la libpolyp-error.la libpolyp-mainloop.la
+pacat_LDADD = $(AM_LDADD) libpolyp-@PA_MAJORMINOR@.la libpolyp-error-@PA_MAJORMINOR@.la libpolyp-mainloop-@PA_MAJORMINOR@.la
 pacat_CFLAGS = $(AM_CFLAGS) 
 
 pactl_SOURCES = pactl.c
-pactl_LDADD = $(AM_LDADD) libpolyp.la libpolyp-error.la libpolyp-mainloop.la $(LIBSNDFILE_LIBS)
+pactl_LDADD = $(AM_LDADD) libpolyp-@PA_MAJORMINOR@.la libpolyp-error-@PA_MAJORMINOR@.la libpolyp-mainloop-@PA_MAJORMINOR@.la $(LIBSNDFILE_LIBS)
 pactl_CFLAGS = $(AM_CFLAGS) $(LIBSDNFILE_CFLAGS)
 
 pacat_simple_SOURCES = pacat-simple.c
-pacat_simple_LDADD = $(AM_LDADD) libpolyp.la libpolyp-simple.la libpolyp-error.la
+pacat_simple_LDADD = $(AM_LDADD) libpolyp-@PA_MAJORMINOR@.la libpolyp-simple-@PA_MAJORMINOR@.la libpolyp-error-@PA_MAJORMINOR@.la
 pacat_simple_CFLAGS = $(AM_CFLAGS)
 
 parec_simple_SOURCES = parec-simple.c
-parec_simple_LDADD = $(AM_LDADD) libpolyp.la libpolyp-simple.la libpolyp-error.la
+parec_simple_LDADD = $(AM_LDADD) libpolyp-@PA_MAJORMINOR@.la libpolyp-simple-@PA_MAJORMINOR@.la libpolyp-error-@PA_MAJORMINOR@.la
 parec_simple_CFLAGS = $(AM_CFLAGS)
 
 mainloop_test_SOURCES = mainloop-test.c
 mainloop_test_CFLAGS = $(AM_CFLAGS)
-mainloop_test_LDADD = $(AM_LDADD) libpolyp-mainloop.la libpolyp.la
+mainloop_test_LDADD = $(AM_LDADD) libpolyp-mainloop-@PA_MAJORMINOR@.la libpolyp-@PA_MAJORMINOR@.la
+
+cpulimit_test_SOURCES = cpulimit-test.c cpulimit.c util.c log.c
+cpulimit_test_CFLAGS = $(AM_CFLAGS)
+cpulimit_test_LDADD = $(AM_LDADD) libpolyp-mainloop-@PA_MAJORMINOR@.la
+
+cpulimit_test2_SOURCES = cpulimit-test.c cpulimit.c util.c log.c
+cpulimit_test2_CFLAGS = $(AM_CFLAGS) -DTEST2
+cpulimit_test2_LDADD = $(AM_LDADD) libpolyp-mainloop-@PA_MAJORMINOR@.la
+
+### X11 stuff
+
+if HAVE_X11
+modlib_LTLIBRARIES+= \
+               module-x11-bell.la
+
+module_x11_bell_la_SOURCES = module-x11-bell.c
+module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS)
+module_x11_bell_la_LDFLAGS = -module -avoid-version
+module_x11_bell_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIB)
+endif
+
+### ALSA modules
+
+if HAVE_ALSA
+modlib_LTLIBRARIES+= \
+               libalsa-util.la \
+               module-alsa-sink.la \
+               module-alsa-source.la
+
+libalsa_util_la_SOURCES = alsa-util.c alsa-util.h
+libalsa_util_la_LDFLAGS = -avoid-version
+libalsa_util_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS)
+libalsa_util_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+
+module_alsa_sink_la_SOURCES = module-alsa-sink.c
+module_alsa_sink_la_LDFLAGS = -module -avoid-version
+module_alsa_sink_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
+module_alsa_sink_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+
+module_alsa_source_la_SOURCES = module-alsa-source.c
+module_alsa_source_la_LDFLAGS = -module -avoid-version
+module_alsa_source_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
+module_alsa_source_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+endif
+
+### GLIB 2.0 support
+
+if HAVE_GLIB20
+lib_LTLIBRARIES+= \
+               libpolyp-mainloop-glib-@PA_MAJORMINOR@.la
+
+noinst_PROGRAMS+= \
+               mainloop-test-glib12 
+
+libpolyp_mainloop_glib_@PA_MAJORMINOR@_la_SOURCES = glib-mainloop.h glib-mainloop.c
+libpolyp_mainloop_glib_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
+libpolyp_mainloop_glib_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) libpolyp-mainloop-@PA_MAJORMINOR@.la $(GLIB20_LIBS)
+libpolyp_mainloop_glib_@PA_MAJORMINOR@_la_LDFLAGS = -version-info 0:0:0
 
 mainloop_test_glib_SOURCES = $(mainloop_test_SOURCES)
 mainloop_test_glib_CFLAGS = $(mainloop_test_CFLAGS) $(GLIB20_CFLAGS) -DGLIB_MAIN_LOOP
-mainloop_test_glib_LDADD = $(mainloop_test_LDADD) $(GLIB20_LIBS) libpolyp-mainloop-glib.la
+mainloop_test_glib_LDADD = $(mainloop_test_LDADD) $(GLIB20_LIBS) libpolyp-mainloop-glib-@PA_MAJORMINOR@.la
+endif
+
+### GLIB 1.2 support
+
+if HAVE_GLIB12
+
+lib_LTLIBRARIES+= \
+               libpolyp-mainloop-glib12-@PA_MAJORMINOR@.la
+
+noinst_PROGRAMS+= \
+               mainloop-test-glib
+libpolyp_mainloop_glib12_@PA_MAJORMINOR@_la_SOURCES = glib-mainloop.h glib12-mainloop.c
+libpolyp_mainloop_glib12_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(GLIB12_CFLAGS)
+libpolyp_mainloop_glib12_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) libpolyp-mainloop-@PA_MAJORMINOR@.la $(GLIB12_LIBS)
+libpolyp_mainloop_glib12_@PA_MAJORMINOR@_la_LDFLAGS = -version-info 0:0:0
 
 mainloop_test_glib12_SOURCES = $(mainloop_test_SOURCES)
 mainloop_test_glib12_CFLAGS = $(mainloop_test_CFLAGS) $(GLIB12_CFLAGS) -DGLIB_MAIN_LOOP
-mainloop_test_glib12_LDADD = $(mainloop_test_LDADD) $(GLIB12_LIBS) libpolyp-mainloop-glib12.la
+mainloop_test_glib12_LDADD = $(mainloop_test_LDADD) $(GLIB12_LIBS) libpolyp-mainloop-glib12-@PA_MAJORMINOR@.la
 
-cpulimit_test_SOURCES = cpulimit-test.c cpulimit.c util.c
-cpulimit_test_CFLAGS = $(AM_CFLAGS)
-cpulimit_test_LDADD = $(AM_LDADD) libpolyp-mainloop.la
-
-cpulimit_test2_SOURCES = cpulimit-test.c cpulimit.c util.c
-cpulimit_test2_CFLAGS = $(AM_CFLAGS) -DTEST2
-cpulimit_test2_LDADD = $(AM_LDADD) libpolyp-mainloop.la
+endif
 
+### libpolypcore (needs to be updated)
 
 if BUILD_LIBPOLYPCORE
 
@@ -476,6 +522,7 @@ libpolypcore_la_SOURCES = idxset.c idxset.h \
 
 endif
 
+### Some minor stuff
 
 suid: polypaudio
        chown root:root $<
@@ -485,3 +532,7 @@ esdcompat.sh: esdcompat.sh.in Makefile
        sed -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
                -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
                -e 's,@POLYPAUDIO_BINARY\@,$(bindir)/polypaudio,g' < $< > $@
+
+install-exec-hook:
+       chown root:root $(DESTDIR)$(bindir)/polypaudio
+       chmod u+s $(DESTDIR)$(bindir)/polypaudio