From fc360fc2080c27d8e284c373b1b68982b54f09a9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 15 Aug 2004 12:58:41 +0000 Subject: Autotoolification git-svn-id: file:///home/lennart/svn/public/paman/trunk@9 cdefa82f-4ce1-0310-97f5-ab6066f37c3c --- Makefile.am | 38 +++++++++++++++++++++++++++++++++++ bootstrap.sh | 46 +++++++++++++++++++++++++++++++++++++++++++ configure.ac | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile | 9 --------- src/Makefile.am | 13 ++++++++++++ src/ServerInfo.cc | 9 +++++++++ src/paman.cc | 2 ++ 7 files changed, 167 insertions(+), 9 deletions(-) create mode 100644 Makefile.am create mode 100755 bootstrap.sh create mode 100644 configure.ac delete mode 100644 src/Makefile create mode 100644 src/Makefile.am diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..516f7ce --- /dev/null +++ b/Makefile.am @@ -0,0 +1,38 @@ +# $Id$ +# +# This file is part of Polypaudio Manager. +# +# Polypaudio Manager is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Polypaudio Manager is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Polypaudio Manager; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +EXTRA_DIST = bootstrap.sh +SUBDIRS=src + +README: + rm -f README + $(MAKE) -C doc README + cd $(srcdir) && ln -s doc/README README + +homepage: all dist + test -d $$HOME/homepage/private + mkdir -p $$HOME/homepage/private/projects/Polypaudio Manager + cp *.tar.gz $$HOME/homepage/private/projects/Polypaudio Manager + cp doc/README.html doc/cli.html doc/daemon.html doc/modules.html doc/style.css $$HOME/homepage/private/projects/Polypaudio Manager + cp $$HOME/homepage/private/projects/Polypaudio Manager/README.html $$HOME/homepage/private/projects/Polypaudio Manager/index.html + +distcleancheck: + @: + +.PHONY: homepage distcleancheck diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..62135f7 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# $Id$ + +# This file is part of Polypaudio Manager. +# +# Polypaudio Manager is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Polypaudio Manager is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Polypaudio Manager; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +run_versioned() { + local P + type -p "$1-$2" &> /dev/null && P="$1-$2" || local P="$1" + + shift 2 + "$P" "$@" +} + +if [ "x$1" = "xam" ] ; then + set -ex + run_versioned automake 1.7 -a -c --foreign + ./config.status +else + set -ex + + rm -rf autom4te.cache + rm -f config.cache + + run_versioned aclocal 1.7 + autoheader + run_versioned automake 1.7 -a -c --foreign + autoconf -Wall + + CFLAGS="-g -O0" ./configure --sysconfdir=/etc "$@" + + make clean +fi diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..d2fb3bc --- /dev/null +++ b/configure.ac @@ -0,0 +1,59 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +# $Id$ + +# This file is part of Polypaudio Manager. +# +# Polypaudio Manager is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Polypaudio Manager is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Polypaudio Manager; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +AC_PREREQ(2.57) +AC_INIT([paman],[0.1],[mzcnzna (at) 0pointer (dot) de]) +AC_CONFIG_SRCDIR([src/paman.cc]) +AC_CONFIG_HEADERS([config.h]) +AM_INIT_AUTOMAKE([foreign -Wall]) + +AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/paman/]) + +if type -p stow > /dev/null && test -d /usr/local/stow ; then + AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***]) + ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" +fi + +# Checks for programs. +AC_PROG_CXX + +PKG_CHECK_MODULES(GUILIBS, [ gtkmm-2.4 libglademm-2.4 ]) +AC_SUBST(GUILIBS_CFLAGS) +AC_SUBST(GUILIBS_LIBS) + +if test -d ../polypaudio ; then + POLYP_CFLAGS='-I$(TOPDIR)/../polypaudio' + POLYP_LIBS='-L$(TOPDIR)/../polypaudio/polyp/.libs -lpolyp -lpolyp-mainloop-glib -lpolyp-mainloop-glib -lpolyp-error' + echo "*** Found polypaudio in ../polypaudio, using that version ***" +else + PKG_CHECK_MODULES(POLYP, [ polyplib polyplib-mainloop polyplib-mainloop-glib polyplib-error ]) +fi + +AC_SUBST(POLYP_LIBS) +AC_SUBST(POLYP_CFLAGS) + +# If using GCC specifiy some additional parameters +if test "x$GCC" = "xyes" ; then + CFLAGS="$CFLAGS -pipe -Wall -W -Wno-unused-parameter" +fi + +AC_CONFIG_FILES([Makefile src/Makefile]) +AC_OUTPUT diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 8a9cb3a..0000000 --- a/src/Makefile +++ /dev/null @@ -1,9 +0,0 @@ - -CXXFLAGS=`pkg-config gtkmm-2.4 libglademm-2.4 --cflags` -Wall -W -pipe -O0 -g -Wno-unused -I../polypaudio -LIBS=`pkg-config gtkmm-2.4 libglademm-2.4 --libs` -L../polypaudio/polyp/.libs -lpolyp -lpolyp-mainloop-glib -lpolyp-error - -paman: paman.o MainWindow.o SinkWindow.o SourceWindow.o ServerInfo.o ClientWindow.o ModuleWindow.o - $(CXX) $^ -o $@ $(LIBS) - -clean: - rm -rf *.o paman diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..3905db3 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,13 @@ + +bin_PROGRAMS=paman + +paman_SOURCES=MainWindow.cc MainWindow.hh \ + SinkWindow.cc SinkWindow.hh \ + SourceWindow.cc SourceWindow.hh \ + ServerInfo.cc ServerInfo.hh \ + paman.cc paman.hh \ + ClientWindow.cc ClientWindow.hh \ + ModuleWindow.cc ModuleWindow.hh + +paman_LDADD=$(AM_LDADD) $(GUILIBS_LIBS) $(POLYP_LIBS) +paman_CXXFLAGS=$(AM_CXXFLAGS) $(GUILIBS_CFLAGS) $(POLYP_CFLAGS) diff --git a/src/ServerInfo.cc b/src/ServerInfo.cc index fc7fe4e..8362f75 100644 --- a/src/ServerInfo.cc +++ b/src/ServerInfo.cc @@ -159,6 +159,15 @@ void ModuleInfo::showWindow() { } } +extern "C" { + static void server_info_callback(struct pa_context *c, const struct pa_server_info *i, void *userdata); + static void sink_info_callback(struct pa_context *c, const struct pa_sink_info *i, int is_last, void *userdata); + static void source_info_callback(struct pa_context *c, const struct pa_source_info *i, int is_last, void *userdata); + static void client_info_callback(struct pa_context *c, const struct pa_client_info *i, int is_last, void *userdata); + static void module_info_callback(struct pa_context *c, const struct pa_module_info *i, int is_last, void *userdata); + static void subscribe_callback(struct pa_context *c, enum pa_subscription_event_type t, uint32_t index, void *userdata); +}; + static void server_info_callback(struct pa_context *c, const struct pa_server_info *i, void *userdata) { ServerInfoManager *si = (ServerInfoManager*) userdata; diff --git a/src/paman.cc b/src/paman.cc index 0c1741d..4b9b364 100644 --- a/src/paman.cc +++ b/src/paman.cc @@ -16,6 +16,8 @@ ServerInfoManager *serverInfoManager = NULL; struct pa_context *context = NULL; struct pa_mainloop_api *mainloop_api = NULL; +extern "C" static void context_state_callback(struct pa_context *c, void *userdata); + static void context_state_callback(struct pa_context *c, void *userdata) { g_assert(c && mainWindow); -- cgit