]> code.delx.au - pulseaudio/blobdiff - polyp/Makefile.am
new configuration subsystem
[pulseaudio] / polyp / Makefile.am
index 1f982515c438734d098612e8781c88573e641c1e..e9e1c295f81c7eba7d0d382e014dcbea59d4d39c 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 # USA.
 
-AM_CFLAGS=-ansi -D_GNU_SOURCE -DDLSEARCHDIR=\"$(pkglibdir)\" -I$(srcdir)/.. $(PTHREAD_CFLAGS)
-AM_LDADD=$(PTHREAD_LIBS)
-AM_LIBADD=$(PTHREAD_LIBS)
-
 polypincludedir=$(includedir)/polyp
+polypconfdir=$(sysconfdir)/polyp
+
+modlibdir=$(libdir)/polypaudio-@PA_MAJORMINOR@
+
+AM_CFLAGS=-D_GNU_SOURCE -I$(top_srcdir) $(PTHREAD_CFLAGS)
+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\"
 
-EXTRA_DIST = polypaudio.pa depmod.py
+AM_LDADD=$(PTHREAD_LIBS) -lm
+AM_LIBADD=$(PTHREAD_LIBS) -lm
+
+EXTRA_DIST = default.pa config depmod.py esdcompat.sh.in
 bin_PROGRAMS = polypaudio pacat pactl
-noinst_PROGRAMS = mainloop-test mainloop-test-glib pacat-simple parec-simple 
+bin_SCRIPTS = esdcompat.sh
+noinst_PROGRAMS = \
+               mainloop-test \
+               pacat-simple \
+               parec-simple \
+               cpulimit-test \
+               cpulimit-test2
+
+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 \
@@ -37,6 +56,7 @@ polypinclude_HEADERS=polyplib.h \
                polyplib-subscribe.h \
                polyplib-operation.h \
                polyplib-scache.h \
+               polyplib-version.h \
                cdecl.h \
                mainloop-api.h \
                mainloop.h \
@@ -44,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 \
@@ -58,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 \
@@ -66,8 +91,7 @@ pkglib_LTLIBRARIES=libiochannel.la \
                module-cli-protocol-tcp.la \
                module-cli-protocol-unix.la \
                module-pipe-sink.la \
-               module-alsa-sink.la \
-               module-alsa-source.la \
+               module-pipe-source.la \
                module-oss.la \
                module-oss-mmap.la \
                module-simple-protocol-tcp.la \
@@ -75,17 +99,15 @@ pkglib_LTLIBRARIES=libiochannel.la \
                module-esound-protocol-tcp.la \
                module-esound-protocol-unix.la \
                module-native-protocol-tcp.la \
-               module-native-protocol-unix.la
+               module-native-protocol-unix.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-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 \
@@ -127,11 +149,18 @@ polypaudio_SOURCES = idxset.c idxset.h \
                autoload.c autoload.h \
                xmalloc.c xmalloc.h \
                subscribe.h subscribe.c \
-               debug.h
+               debug.h \
+               sound-file-stream.c sound-file-stream.h \
+               cpulimit.c cpulimit.h \
+               log.c log.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
@@ -168,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
@@ -232,6 +256,11 @@ module_native_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_NATIVE
 module_native_protocol_unix_la_LDFLAGS = -module -avoid-version
 module_native_protocol_unix_la_LIBADD = $(AM_LIBADD) libprotocol-native.la libsocket-server.la libsocket-util.la
 
+module_native_protocol_fd_la_SOURCES = module-native-protocol-fd.c
+module_native_protocol_fd_la_CFLAGS = $(AM_CFLAGS)
+module_native_protocol_fd_la_LDFLAGS = -module -avoid-version
+module_native_protocol_fd_la_LIBADD = $(AM_LIBADD) libprotocol-native.la libsocket-server.la libsocket-util.la
+
 module_esound_protocol_tcp_la_SOURCES = module-protocol-stub.c
 module_esound_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
 module_esound_protocol_tcp_la_LDFLAGS = -module -avoid-version
@@ -246,15 +275,9 @@ module_pipe_sink_la_SOURCES = module-pipe-sink.c
 module_pipe_sink_la_LDFLAGS = -module -avoid-version
 module_pipe_sink_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_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_oss_la_SOURCES = module-oss.c
 module_oss_la_LDFLAGS = -module -avoid-version
@@ -268,14 +291,11 @@ module_cli_la_SOURCES = module-cli.c
 module_cli_la_LDFLAGS = -module -avoid-version
 module_cli_la_LIBADD = $(AM_LIBADD) libcli.la libiochannel.la
 
-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) $(X_LIBS) $(X_EXTRA_LIB)
-endif
+module_sine_la_SOURCES = module-sine.c
+module_sine_la_LDFLAGS = -module -avoid-version
+module_sine_la_LIBADD = $(AM_LIBADD)
 
-libpolyp_la_SOURCES = polyplib.h \
+libpolyp_@PA_MAJORMINOR@_la_SOURCES = polyplib.h \
                polyplib-def.h \
                tagstruct.c tagstruct.h \
                iochannel.c iochannel.h \
@@ -302,56 +322,136 @@ libpolyp_la_SOURCES = polyplib.h \
                polyplib-introspect.c polyplib-introspect.h \
                polyplib-scache.c polyplib-scache.h \
                polyplib-subscribe.c polyplib-subscribe.h \
+               polyplib-internal.h \
                cdecl.h \
-               llist.h
-libpolyp_la_CFLAGS = $(AM_CFLAGS)
-libpolyp_la_LDFLAGS = -version-info 0:0:0
+               llist.h \
+               log.c log.h \
+               gcc-printf.h
 
-libpolyp_mainloop_la_SOURCES = mainloop-api.h mainloop-api.c \
+libpolyp_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS)
+libpolyp_@PA_MAJORMINOR@_la_LDFLAGS = -version-info 0:0:0
+
+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_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_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_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_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_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-@PA_MAJORMINOR@.la
+
+endif
+
+### libpolypcore (needs to be updated)
 
 if BUILD_LIBPOLYPCORE
 
@@ -422,3 +522,17 @@ libpolypcore_la_SOURCES = idxset.c idxset.h \
 
 endif
 
+### Some minor stuff
+
+suid: polypaudio
+       chown root:root $<
+       chmod u+s $<
+
+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