Makefile.am: don't compile disabled sources

If a feature is disabled, don't compile the source file at all,
disable it completely in Makefile.am instead.
This commit is contained in:
Max Kellermann 2008-10-17 21:13:23 +02:00
parent 4984639b72
commit 25b5d90e44
5 changed files with 25 additions and 28 deletions

View File

@ -412,6 +412,8 @@ if test x$enable_id3 = xyes; then
enable_id3=no)
fi
AM_CONDITIONAL(HAVE_ID3TAG, test x$enable_id3 = xyes)
if test x$enable_mp3 = xyes; then
PKG_CHECK_MODULES([MAD], [mad],
AC_DEFINE(HAVE_MAD, 1, [Define to use libmad]),
@ -694,6 +696,8 @@ if test x$with_zeroconf != xno; then
fi
fi
AM_CONDITIONAL(HAVE_ZEROCONF, test x$with_zeroconf = xyes)
dnl
dnl build options

View File

@ -180,18 +180,24 @@ mpd_SOURCES = \
stats.c \
tag.c \
tag_pool.c \
tag_id3.c \
tag_print.c \
tag_save.c \
strset.c \
utils.c \
volume.c \
utf8.c \
zeroconf.c \
locate.c \
storedPlaylist.c \
timer.c
if HAVE_ID3TAG
mpd_SOURCES += tag_id3.c
endif
if HAVE_ZEROCONF
mpd_SOURCES += zeroconf.c
endif
mpd_CFLAGS = $(MPD_CFLAGS)
mpd_CPPFLAGS = \

View File

@ -22,12 +22,9 @@
#include "log.h"
#include "conf.h"
#ifdef HAVE_ID3TAG
#include <glib.h>
#include <id3tag.h>
#endif
#ifdef HAVE_ID3TAG
# define isId3v1(tag) (id3_tag_options(tag, 0, 0) & ID3_TAG_OPTION_ID3V1)
# ifndef ID3_FRAME_COMPOSER
# define ID3_FRAME_COMPOSER "TCOM"
@ -38,9 +35,7 @@
# ifndef ID3_FRAME_DISC
# define ID3_FRAME_DISC "TPOS"
# endif
#endif
#ifdef HAVE_ID3TAG
/* This will try to convert a string to utf-8,
*/
static id3_utf8_t * processID3FieldString (int is_id3v1, const id3_ucs4_t *ucs4, int type)
@ -198,9 +193,7 @@ static struct tag *getID3Info(
return mpdTag;
}
#endif
#ifdef HAVE_ID3TAG
struct tag *tag_id3_import(struct id3_tag * tag)
{
struct tag *ret = NULL;
@ -218,18 +211,14 @@ struct tag *tag_id3_import(struct id3_tag * tag)
return ret;
}
#endif
#ifdef HAVE_ID3TAG
static int fillBuffer(void *buf, size_t size, FILE * stream,
long offset, int whence)
{
if (fseek(stream, offset, whence) != 0) return 0;
return fread(buf, 1, size, stream);
}
#endif
#ifdef HAVE_ID3TAG
static int getId3v2FooterSize(FILE * stream, long offset, int whence)
{
id3_byte_t buf[ID3_TAG_QUERYSIZE];
@ -239,9 +228,7 @@ static int getId3v2FooterSize(FILE * stream, long offset, int whence)
if (bufsize <= 0) return 0;
return id3_tag_query(buf, bufsize);
}
#endif
#ifdef HAVE_ID3TAG
static struct id3_tag *getId3Tag(FILE * stream, long offset, int whence)
{
struct id3_tag *tag;
@ -276,9 +263,7 @@ static struct id3_tag *getId3Tag(FILE * stream, long offset, int whence)
return tag;
}
#endif
#ifdef HAVE_ID3TAG
static struct id3_tag *findId3TagFromBeginning(FILE * stream)
{
struct id3_tag *tag;
@ -314,9 +299,7 @@ static struct id3_tag *findId3TagFromBeginning(FILE * stream)
return tag;
}
#endif
#ifdef HAVE_ID3TAG
static struct id3_tag *findId3TagFromEnd(FILE * stream)
{
struct id3_tag *tag;
@ -341,12 +324,10 @@ static struct id3_tag *findId3TagFromEnd(FILE * stream)
return tag;
}
#endif
struct tag *tag_id3_load(const char *file)
{
struct tag *ret = NULL;
#ifdef HAVE_ID3TAG
struct tag *ret;
struct id3_tag *tag;
FILE *stream;
@ -367,6 +348,5 @@ struct tag *tag_id3_load(const char *file)
return NULL;
ret = tag_id3_import(tag);
id3_tag_delete(tag);
#endif
return ret;
}

View File

@ -26,8 +26,19 @@ struct tag;
#ifdef HAVE_ID3TAG
struct id3_tag;
struct tag *tag_id3_import(struct id3_tag *);
#endif
struct tag *tag_id3_load(const char *file);
#else
#include "gcc.h"
static inline struct tag *
tag_id3_load(mpd_unused const char *file)
{
return NULL;
}
#endif
#endif

View File

@ -18,8 +18,6 @@
#include "../config.h"
#ifdef HAVE_ZEROCONF
#include "zeroconf.h"
#include "os_compat.h"
#include "conf.h"
@ -630,5 +628,3 @@ void finishZeroconf(void)
}
#endif
}
#endif /* HAVE_ZEROCONF */