1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
This patch make sure that the libraries to link against are specified at the
end of the linking commandline, instead of before any file, as that would
ignore them altogether while using --as-needed. It make sure the libraries are
passed in a more autotool-compliant way, too.
Index: mt-daapd-0.2.3/configure.in
===================================================================
--- mt-daapd-0.2.3.orig/configure.in
+++ mt-daapd-0.2.3/configure.in
@@ -20,8 +20,9 @@ STATIC_LIBS=no
CPPFLAGS="${CPPFLAGS} -g"
dnl fix freebsd's broken (?) libpthread
-AC_CHECK_LIB(c_r,pthread_creat,LDFLAGS="${LDFLAGS} -lc_r", [
- AC_CHECK_LIB(pthread,pthread_create,LDFLAGS="${LDFLAGS} -lpthread") ])
+AC_CHECK_LIB(c_r,pthread_creat,THREAD_LIBS="-lc_r", [
+ AC_CHECK_LIB(pthread,pthread_create,THREAD_LIBS="-lpthread") ])
+AC_SUBST(THREAD_LIBS)
AC_ARG_ENABLE(debug,[ --enable-debug Enable debugging features],
CPPFLAGS="${CPPFLAGS} -Wall")
@@ -35,17 +36,19 @@ AC_ARG_ENABLE(mdns,[ --enable-mdns
esac ])
AC_ARG_ENABLE(efence,[ --enable-efence Enable electric fence],
- LDFLAGS="${LDFLAGS} -lefence")
+ EFENCE_LIBS="-lefence")
+AC_SUBST(EFENCE_LIBS)
AC_ARG_ENABLE(nslu2,[ --enable-nslu2 Build for NSLU2/uNSLUng],
CFLAGS="${CFLAGS} -DNSLU2")
AC_ARG_ENABLE(howl,[ --enable-howl Use howl 0.9.2 or later],
[ case "${enableval}" in
- yes) rend_howl=true; rend_posix=false; LDFLAGS="${LDFLAGS} -lhowl";
+ yes) rend_howl=true; rend_posix=false; HOWL_LIBS="-lhowl";
CPPFLAGS="${CPPFLAGS} -DWITH_HOWL";;
no) rend_howl=false;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-howl);;
esac ])
+AC_SUBST(HOWL_LIBS)
AC_ARG_ENABLE(oggvorbis,[ --enable-oggvorbis Enable Ogg/Vorbis support],
use_oggvorbis=true;
@@ -72,7 +75,7 @@ case $host in
CPPFLAGS="$CPPFLAGS -DNOT_HAVE_SA_LEN -D_XPG4_2"
CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME"
CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
- LDFLAGS="$LDFLAGS -lnsl -lsocket";;
+ EXTRA_LIBS="$EXTRA_LIBS -lnsl -lsocket";;
*freebsd*)
CPPFLAGS="$CPPFLAGS -DFREEBSD";;
*linux*)
@@ -88,6 +91,8 @@ case $host in
AM_CONDITIONAL(COND_REND_POSIX,false);;
esac
+AC_SUBST(EXTRA_LIBS)
+
dnl Checks for libraries.
AC_ARG_WITH(static-libs,
[--with-static-libs[[=DIR]] use static libs in DIR],[
@@ -144,12 +149,13 @@ AC_CHECK_HEADERS(gdbm.h,, [
AC_CHECK_LIB(gdbm,gdbm_open,echo "Have gdbm", echo "Must have gdbm";exit)
if test "$STATIC_LIBS" != "no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libgdbm.a"
+ GDBM_LIBS="${STATIC_LIBS}/libgdbm.a"
echo "Adding static libgdbm"
else
- LDFLAGS="${LDFLAGS} -lgdbm"
+ GDBM_LIBS="-lgdbm"
echo "Adding dynamic libgdbm"
fi
+AC_SUBST(GDBM_LIBS)
AC_CHECK_HEADERS(id3tag.h,, [
AC_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])])
@@ -160,12 +166,13 @@ CFLAGS="$CFLAGS -lz"
AC_CHECK_LIB(id3tag,id3_file_open,echo "Have id3tag",echo "Must have libid3tag";exit)
if test "$STATIC_LIBS" != "no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libid3tag.a -lz"
+ ID3_LIBS="${STATIC_LIBS}/libid3tag.a -lz"
echo "Adding static libid3tag"
else
- LDFLAGS="${LDFLAGS} -lid3tag -lz"
+ ID3_LIBS="-lid3tag -lz"
echo "Adding dynamic libid3tag"
fi
+AC_SUBST([ID3_LIBS])
CFLAGS=$oldcflags
if test x$use_oggvorbis = xtrue; then
@@ -174,22 +181,23 @@ if test x$use_oggvorbis = xtrue; then
AC_CHECK_LIB(ogg,ogg_sync_init,echo "Have ogg",echo "Must have libogg for Ogg/Vorbis support";exit)
if test x"$STATIC_LIBS" != x"no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libogg.a"
+ OGG_LIBS="${STATIC_LIBS}/libogg.a"
echo "Adding static libogg"
else
- LDFLAGS="${LDFLAGS} -logg"
+ OGG_LIBS="-logg"
echo "Adding dynamic libogg"
fi
+ AC_SUBST(OGG_LIBS)
AC_CHECK_HEADERS(vorbis/codec.h,, [
AC_MSG_ERROR([vorbis/codec.h not found... Must have libvorbis installed for Ogg/Vorbis support])])
AC_CHECK_LIB(vorbis,vorbis_info_init,echo "Have vorbis",echo "Must have libvorbis for Ogg/Vorbis support";exit)
if test x"$STATIC_LIBS" != x"no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libvorbis.a"
+ OGG_LIBS="${OGG_LIBS} ${STATIC_LIBS}/libvorbis.a"
echo "Adding static libvorbis"
else
- LDFLAGS="${LDFLAGS} -lvorbis"
+ OGG_LIBS="${OGG_LIBS} -lvorbis"
echo "Adding dynamic libvorbis"
fi
fi
Index: mt-daapd-0.2.3/src/Makefile.am
===================================================================
--- mt-daapd-0.2.3.orig/src/Makefile.am
+++ mt-daapd-0.2.3/src/Makefile.am
@@ -29,6 +29,8 @@ mt_daapd_SOURCES = main.c daapd.h rend.h
rend-unix.h lexer.l parser.y strcasestr.c strcasestr.h strsep.c \
redblack.c redblack.h dynamic-art.c dynamic-art.h query.c query.h \
$(PRENDSRC) $(ORENDSRC) $(HRENDSRC) $(OGGVORBISSRC)
+mt_daapd_LDADD = $(GDBM_LIBS) $(ID3_LIBS) $(OGG_LIBS) $(THREAD_LIBS) \
+ $(EFENCE_LIBS) $(HOWL_LIBS) $(EXTRA_LIBS)
EXTRA_DIST = mDNS.c mDNSClientAPI.h mDNSDebug.h mDNSPosix.c \
mDNSUNP.c mDNSPlatformFunctions.h mDNSPosix.h mDNSUNP.h \
|