Commit Graph

362 Commits

Author SHA1 Message Date
Max Kellermann
d20a8258b4 configure.ac: added variable $enable_encoder
$enable_encoder specifies whether one or more encoder plugins are
enabled.  This simplifies several checks, and allows easier
integration of more encoder plugins.
2009-04-01 21:54:38 +02:00
Max Kellermann
67e0a71ab3 configure.ac: moved encoder checks to separate encoder section 2009-04-01 21:06:53 +02:00
Max Kellermann
a3823c7657 Merge branch 'master' of git://git.musicpd.org/jrk/mpd 2009-04-01 15:36:24 +02:00
Avuton Olrich
85cecbddde configure: remove --*-mp3, it is broken and not worth supporting 2009-04-01 06:06:06 -07:00
Jochen Keil
192e29107d Configure/Make dependencies for cue/cue_tag.h/.c
Autoconf/automake support for libcue which
is needed for cue/cue_tag.h/.c.
Libcue will have/has pkg-config support
so this is fairly straightforward.
2009-03-31 22:17:56 +02:00
Max Kellermann
cd2d47b01c configure.ac: use more MPD_AUTO_PKG() 2009-03-28 21:48:09 +01:00
Max Kellermann
87e0b1adc4 configure.ac: added M4 function MPD_AUTO_PKG() for ALSA
MPD_AUTO_PKG() runs pkg-config and then forwards control to
MPD_AUTO_RESULT().  This is a commonly used short cut.
2009-03-28 21:48:07 +01:00
Max Kellermann
33aeac4fcb Makefile.am: use PULSE_CFLAGS and PULSE_LIBS
Don't add those to MPD_CFLAGS and MPD_LIBS.
2009-03-28 21:39:26 +01:00
Max Kellermann
5164cc1ff8 Makefile.am: use JACK_CFLAGS and JACK_LIBS
Don't add those to MPD_CFLAGS and MPD_LIBS.
2009-03-28 21:38:53 +01:00
Max Kellermann
50c53e4b24 Makefile.am: use SAMPLERATE_CFLAGS and SAMPLERATE_LIBS
Don't add those to MPD_CFLAGS and MPD_LIBS.
2009-03-28 21:38:44 +01:00
Max Kellermann
de7c16d1be configure.ac: removed debug line 2009-03-28 11:12:09 +01:00
Max Kellermann
53ed647b22 configure.ac: fail when ALSA is enabled but not found
This patch adds a small autoconf M4 library which deals with
auto-detected features.  The default for those features is "auto",
which is like the old default: if the library is present on the
system, enable the feature, disable otherwise.  If the user explicitly
enables that feature (--enable-alsa), and the library is not present,
configure must fail, because it cannot fulfill the request.
2009-03-28 11:10:40 +01:00
Max Kellermann
f5548a8654 mpcdec: support the new libmpcdec SV8 API 2009-03-27 19:51:59 +01:00
Max Kellermann
8fa44d53ab configure.ac: require GLib 2.6
We're using GLib macros which were introduced in GLib 2.6, like
G_GNUC_MALLOC.  Let's just drop support for GLib versions older than
2.6 instead of adding more complicated compatibility hacks.
2009-03-27 18:04:34 +01:00
Max Kellermann
bba127a392 solaris: new audio output plugin for Solaris /dev/audio 2009-03-16 09:55:10 +01:00
Avuton Olrich
f35432af5a configure: Merge lame*encoder to lame 2009-03-16 08:44:48 +01:00
Avuton Olrich
b356bcf6fa configure: don't warn just because we don't have an optional library. 2009-03-16 08:44:46 +01:00
Avuton Olrich
e773cfa32b configure: error out against streaming output, not encoder. 2009-03-16 08:44:44 +01:00
Avuton Olrich
f1fb4e99a6 configure: Always run pkg-config for shout, define AC_DEFINE if enabled
[mk: don't run pkg-config when shout is disabled]
2009-03-16 08:44:41 +01:00
Avuton Olrich
04b092bbfe configure: add shout autoconf argument. 2009-03-15 12:37:24 -07:00
Avuton Olrich
7b5c658f7e configure: Fail if trying to build with streaming output and no encoder 2009-03-15 12:17:11 -07:00
Avuton Olrich
f5c75d8846 configure: Move encoders to their own report section. 2009-03-15 12:02:43 -07:00
Avuton Olrich
a672cf1c63 configure: replace all instances shout*[mp3|ogg] with [lame|oggvorbis]*encoder 2009-03-15 11:46:44 -07:00
Avuton Olrich
50c2dde5b5 configure.ac: Enable ENCODER if httpd_output, even if SHOUT is disabled. 2009-03-15 19:05:32 +01:00
Max Kellermann
e62580db0b httpd: new output plugin to replace "shout"
Let's get rid of the "shout" plugin, and the awfully complicated
icecast daemon setup!  MPD can do better if it's doing the HTTP server
stuff on its own.  This new plugin has several advantages:

- easier to set up - only one daemon, no password settings, no mount
  settings
- MPD controls the encoder and thus already knows the packet
  boundaries - icecast has to parse them
- MPD doesn't bother to encode data while nobody is listening

This implementation is very experimental (no header parsing, ignores
request URI, no icy-metadata, ...).  It should be able to suport
several encoders in parallel in the future (with different bit rates,
different codec, ...), to make MPD the perfect streaming server.  Once
MPD gets multi-player support, we can even mount several different
radio stations on one server.
2009-03-15 03:32:34 +01:00
Max Kellermann
a7318a6476 configure.ac: add -pg to MPD_LIBS with --enable-gprof 2009-03-11 09:20:29 +01:00
Max Kellermann
940af669b3 poison: added valgrind support
If the header valgrind/memcheck.h is available, add
VALGRIND_MAKE_MEM_NOACCESS() and VALGRIND_MAKE_MEM_UNDEFINED()
support, which enables nice warnings in the valgrind memory checker.
2009-03-09 19:10:18 +01:00
Max Kellermann
2ba5278440 configure.ac: fix --enable-bzip2 and --enable-iso9660 variable name
Another "remove redundant explicit $enableval assignments" breakage.
2009-03-07 23:05:25 +01:00
Max Kellermann
9ed409cdcc configure.ac: fix --enable-X variable names
The patch "remove redundant explicit $enableval assignments" broke
several options with non-standard variable names.
2009-03-07 15:50:19 +01:00
Avuton Olrich
55b0fed293 configure: global indention and trim line wc to 80 when practical. 2009-03-06 08:30:59 -08:00
Avuton Olrich
771c061964 configure: Move the faad stuff to m4/faad.m4 2009-03-06 08:30:59 -08:00
Avuton Olrich
aebb522639 configure: No capitalization on beginning of help strings.
Most strings have no capitalization at the beinning, make all strings
non-capital.
2009-03-06 08:30:59 -08:00
Avuton Olrich
67cecf4e95 configure: specify that faad2 prefix is optional in the help string 2009-03-06 08:30:59 -08:00
Avuton Olrich
cf1c27a232 configure: trim down the line length for the faad help strings 2009-03-06 08:30:59 -08:00
Avuton Olrich
775a277a10 configure: trim down the line length for the zeroconf help string 2009-03-06 08:30:59 -08:00
Avuton Olrich
7c907b9d9d configure: trim down the Tremor AC_ARG_WITH() statements 2009-03-06 08:30:59 -08:00
Avuton Olrich
bc65890abf configure: Group libmad stuff together, rename --enable-mp3 --enable-mad 2009-03-06 08:30:59 -08:00
Avuton Olrich
721b6f3e61 configure: remove redundant explicit $enableval assignments. 2009-03-06 08:30:59 -08:00
Avuton Olrich
38ead091f9 configure: remove duplicate LAME report, unify rest under SHOUTcast header. 2009-03-05 23:25:50 -08:00
Avuton Olrich
7cd9dbd574 configure: make all tests the same, when possible. 2009-03-05 23:17:00 -08:00
Avuton Olrich
cd52258211 configure: Add 'Streaming Support' section to the configure display.
Add 'Streaming Support section to the configure display, clarify
the text and unify with the rest of the display.
2009-03-06 06:51:00 +01:00
Avuton Olrich
6ab53cf62a configure: display the status of lastfm protocol support 2009-03-06 06:50:50 +01:00
Avuton Olrich
f6413d2d5f configure: Fix configure warning presented by lastfm radio.
The configure problem was:
./configure: line 6934: ,: command not found
2009-03-05 16:46:19 -08:00
Max Kellermann
4220e6b0ad input_lastfm: new input plugin for last.fm radio
The lastfm input plugin enables MPD to play lastfm:// URLs.  This
plugin is not complete yet: it plays only the first song in the
last.fm playlist, and the playlist parser isn't even implemented
properly.
2009-03-02 23:11:31 +01:00
Max Kellermann
b4f84fab34 configure.ac: make "xmlto" optional
Even when --enable-documentation is passed, don't abort if "xmlto" was
not found.
2009-03-01 01:26:04 +01:00
Avuton Olrich
88793c7189 configure: don't fail if pipe_output is the only output plugin. 2009-02-28 08:13:31 -08:00
Avuton Olrich
731cc8cf08 configure: move id3 and lame to 'Other Features' 2009-02-28 08:09:43 -08:00
Avuton Olrich
d1d4c3245c configure: don't fail if mp4 is the only enabled input plugin. 2009-02-28 07:55:39 -08:00
Avuton Olrich
a31f3c89fb configure: move the configure status stuff in alphabetical order. 2009-02-28 07:50:13 -08:00
Avuton Olrich
374e090985 pipe: Fix wording in configure and add configure status. 2009-02-28 07:41:05 -08:00
Michal Nazarewicz
cabbf7ab4a pipe: new audio output plugin which runs a command
[mk: adapted to new output plugin API]
2009-02-28 16:11:59 +01:00
Max Kellermann
bdb3129f18 configure.ac: declare AM_CFLAGS
Moved generic compiler options to AM_CFLAGS.  MPD_CFLAGS/MPD_LIBS will
hopefully fade away one day, in favor of more fine-grained variables.
2009-02-25 16:46:07 +01:00
Max Kellermann
d89ba3bcce configure.ac: fix comma errors
Removed superfluous commas.
2009-02-24 10:00:21 +01:00
Max Kellermann
3b1a9aeca0 Makefile.am: no recursive makefiles
Recursive Makefiles are inefficient and error prone (no proper way to
declare dependencies).  Since there's no disadvantage in having one
single Makefile, let's do it.
2009-02-23 10:04:51 +01:00
Max Kellermann
f6e5c00726 shout: use the new encoder API
Removed shout's encoder plugin API in favor of the new generic encoder
plugin API.
2009-02-22 17:18:28 +01:00
Max Kellermann
f7c685f1ab encoder: added lame mp3 encoder
This new LAME encoder plugin is based on the existing shout_mp3.c
plugin.
2009-02-22 17:18:03 +01:00
Max Kellermann
3a6619d62c encoder: added vorbis encoder
This new vorbis encoder plugin is based on the existing shout_ogg.c
plugin.
2009-02-22 17:17:26 +01:00
Max Kellermann
a9dde676be added the encoder API
The new generic encoder API will replace shout's custom encoder API.
2009-02-22 17:11:14 +01:00
Max Kellermann
9f8740a0d6 configure.ac: check ${host_os} instead of ${host}
The configure.ac script does not care about the host architecture, it
only cares about the OS.  Use ${host_os} instead of ${host} to
simplify the matching expressions.
2009-02-18 23:07:13 +01:00
Max Kellermann
f2717a7139 configure.ac: added AC_CANONICAL_HOST
Without AC_CANONICAL_HOST, ${host_os} etc. are not defined.
2009-02-18 23:01:08 +01:00
Max Kellermann
54387d1451 configure.ac: added switch for test programs
The switch syntax is "--enable-test".  There are no test programs yet.
2009-02-18 19:27:05 +01:00
Max Kellermann
51c59f6228 mp4ff: use faacDecInit2() to find the AAC track
Use faacDecInit2() instead of AudioSpecificConfig() to detect the AAC
track in the MP4 file.  This has a great advantage: it initializes the
libfaad decoder, which the caller would normally do anyway - but now
we can go without the AudioSpecificConfig() call.  When decoder==NULL
(called from mp4_tag_dup()), fall back to a mp4ff_get_track_type()==1
check, like other audio players do.
2009-02-18 18:39:12 +01:00
Max Kellermann
ef64449cb6 doc: generate API documentation with doxygen
When configured with --enable-documentation, use doxygen.
2009-02-13 09:11:22 +01:00
Max Kellermann
f6c8dd4961 configure.ac: always check for C++ compiler
Currently, only the sidplay decoder plugin requires C++, and in all
other cases, MPD could build well without a C++ compiler.
Unfortunately, autoconf/automake are confused when we have a
conditional AC_PROG_CXX check.  We could add lots of workarounds for
individual problems, but let's just always require a C++ compiler, and
forget about this autotools limitation.
2009-02-12 18:14:14 +01:00
Max Kellermann
1492339463 wildmidi: new decoder plugin for MIDI files 2009-02-12 16:43:18 +01:00
Max Kellermann
e56a90f3b3 fluidsynth: new decoder plugin for MIDI files
There are a few problems left in this plugin:

- fluidsynth decodes in real time, while MPD prefers to buffer as
  quickly as possible; as a workaround, this plugin uses a timer
  object to synchronize with real-time playback

- I don't know yet how fluidsynth tells me when the song has ended

- the "soundfont" configuration setting is not yet documented, and it
  will likely change soon (in favor of a per-decoder configuration
  block)
2009-02-12 08:43:26 +01:00
Max Kellermann
de2e13cafe configure.ac: define conditional am__fastdepCXX
When the sidplay plugin is disabled, "./configure" does not look for
the C++ compiler.  This creates an odd situation: automake requires
the am__fastdepCXX conditional, although configure did not generate
it.  Work around this autotools limitation by manually disabling
am__fastdepCXX.
2009-02-11 22:05:46 +01:00
Max Kellermann
1136f6fb7a sidplay: new decoder plugin for playing C64 SID files 2009-02-11 20:31:17 +01:00
Max Kellermann
82fee1390c configure.ac: removed misplaced comma 2009-02-11 19:58:53 +01:00
Max Kellermann
bee688e99a configure.ac: define HAVE_FFMPEG after all checks
Don't define HAVE_FFMPEG if the ffmpeg libraries were found via
pkg-config, but ffmpeg support was disabled because
avcodec_decode_audio2() is not available.
2009-02-09 22:22:54 +01:00
Max Kellermann
b6e5c24878 configure.ac: raised protocol version to "0.15.0"
The protocol has been extended since MPD 0.14: playlist ranges,
stickers.  About time to give the protocol a new version number!
2009-02-04 18:52:34 +01:00
Max Kellermann
cd98a72ca6 configure.ac: make DocBook processing optional
Disable the HTML documentation generator by default.  Most users will
pick it from the web site.
2009-02-04 15:25:57 +01:00
Max Kellermann
5900827675 configure.ac: detect jack_set_info_function()
jack_set_info_function() is not provided by older libjack versions.
Attempt to detect if it is available.
2009-01-30 19:43:25 +01:00
Max Kellermann
864dee823d configure.ac: disable MMS by default
MMS streaming is experimental; sync the default value with the help
text.
2009-01-29 23:44:24 +01:00
Max Kellermann
caa4d28f04 added support for the MMS protocol
This patch implements the MMS protocol, by using libmms.  It is quite
experimental: it does not support seeking yet, and it is currently
using synchronous I/O, which causes MPD to hang while waiting for the
server.
2009-01-29 21:42:10 +01:00
Max Kellermann
c77c61bf3f oggvorbis: define HAVE_OGGVORBIS when tremor is enabled
When tremor (libvorbisidec) is used, HAVE_OGGVORBIS was not defined.
2009-01-15 22:54:31 +01:00
Max Kellermann
9069a244a4 configure.ac: added the --enable-sqlite option
MPD will (optionall) use sqlite databases in the future.  Add a
configure option to enable that.  There is no code yet to really use
sqlite, so the practical use of this patch is limited.
2009-01-12 09:56:14 +01:00
Max Kellermann
c057af6cea configure.ac: removed duplicate PKG_PROG_PKG_CONFIG 2009-01-11 17:39:23 +01:00
Max Kellermann
ad7b7a1664 configure.ac: declare MPD_LIBS and MPD_CFLAGS first
Declare and initialize MPD_LIBS and MPD_CFLAGS before the "OS specific
defaults" section.
2009-01-06 09:07:02 +01:00
Max Kellermann
b8a1cf30e8 configure.ac: moved checks to argument declarations I
Zeroconf, curl, libsamplerate.  No libid3tag for now, because
libid3tag should be automatically disabled when no decoders using it
are enabled.
2009-01-05 09:44:48 +01:00
Max Kellermann
2856be540f configure.ac: moved checks to argument declarations I
Don't separate basic options from their according tests.  Due to lots
of interdependencies, we won't do that for the plugins yet.
2009-01-05 09:43:07 +01:00
Max Kellermann
3f4bfd22c6 configure.ac: reordered plugin types
Print input plugins first, then archive, metadatab, decoder,
converter, encoder, output plugins.
2009-01-05 09:41:45 +01:00
Max Kellermann
283bca7523 configure.ac: moved build options down
Initialize the CFLAGS (warnings, errors) after all the libraries,
because some library checks may be broken with -Werror or -pedantic.
2009-01-05 09:31:11 +01:00
Max Kellermann
0fb21e67ef configure.ac: use AC_CHECK_HEADERS to check for locale.h
AC_CHECK_HEADERS defines HAVE_LOCALE_H, so we don't have to manually
define HAVE_LOCALE.
2009-01-05 09:31:09 +01:00
Max Kellermann
694a919b8e configure.ac: moved mandatory checks up
First do the checks for mandatory stuff (libc features, glib,
pkg-config), then all the options.
2009-01-05 09:31:04 +01:00
Max Kellermann
e178a6f6a7 configure.ac: removed obsolete checks
Don't check for inttypes.h and langinfo.h.
2009-01-05 09:31:02 +01:00
Max Kellermann
ac0fe98ffb use GLib byte order macros 2009-01-05 08:17:22 +01:00
Max Kellermann
c844bd602d configure.ac: disable ID3 support when libid3tag was not found
Fix a typo.
2009-01-05 08:04:43 +01:00
Max Kellermann
1cad0c5b1d configure.ac: detect libid3tag without pkg-config
libid3tag comes without a pkg-config file, and it is usually added by
distribution packages.  For those without .pc file, attempt to
auto-detect the library with AC_CHECK_LIB.
2009-01-04 15:31:06 +01:00
Max Kellermann
4e0973a8f7 configure.ac: link with -lws2_32 on WIN32
All socket functions are provided by ws2_32.dll.
2009-01-03 13:21:25 +01:00
Max Kellermann
71e7ce5d8e main: use the GLib main loop
This is a rather huge patch, which unfortunately cannot be splitted.

Instead of using our custom ioops.h library, convert everything to use
the GLib main loop.
2008-12-30 19:24:39 +01:00
Max Kellermann
49fa9708d5 zeroconf: moved code to zeroconf-avahi.c and zeroconf-bonjour.c
Moved implementation specific code to their own sources, internal
declarations in zeroconf-internal.h.
2008-12-30 16:43:58 +01:00
Max Kellermann
274b919966 main: use g_setenv() instead of setenv()
Removed the fallback setenv() implementation for solaris.
2008-12-29 17:37:40 +01:00
Max Kellermann
702d6a641d configure.ac: append archive libraries to $MPD_LIBS
All archive plugins used to overwrite $MPD_LIBS, ignoring the existing
value.  Make them append instead, keeping the old value.
2008-12-29 11:27:11 +01:00
Max Kellermann
dfe235900f configure.ac: check for archive libraries only if enabled
Don't bother to look for libbz2, libzzip and libiso9660 if the plugins
are disabled.
2008-12-29 10:01:33 +01:00
Max Kellermann
8a8fdfb0ad configure.ac: removed pthread checks
We're now using GLib threading.
2008-12-29 08:20:19 +01:00
Max Kellermann
c01aa53e6a log: support syslog()
Allow logging to syslog if log_file is configured to "syslog".
2008-12-28 19:48:53 +01:00
Viliam Mateicka
d838a1ad24 decoder: new plugin using modplug library 2008-12-28 17:11:18 +01:00
Viliam Mateicka
166d326950 configure.ac: fixed description to bzip2 compile option 2008-12-27 20:16:00 +01:00
Avuton Olrich
e18ded8ded Add an "Archive support" section to the configure results screen. 2008-12-27 09:54:00 -08:00