* Try to do a better job informing users what libraries they might be missing.

This commit is contained in:
Justin Maggard 2009-04-04 01:26:31 +00:00
parent 3f1afeeb40
commit 0a8badcae0
2 changed files with 44 additions and 28 deletions

View File

@ -54,15 +54,16 @@ install: minidlna
$(INSTALL) -d $(SBININSTALLDIR)
$(INSTALL) minidlna $(SBININSTALLDIR)
$(INSTALL) -d $(ETCINSTALLDIR)
$(INSTALL) netfilter/iptables_init.sh $(ETCINSTALLDIR)
$(INSTALL) netfilter/iptables_removeall.sh $(ETCINSTALLDIR)
$(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR)
$(INSTALL) -d $(PREFIX)/etc/init.d
$(INSTALL) linux/miniupnpd.init.d.script $(PREFIX)/etc/init.d/miniupnpd
minidlna: $(BASEOBJS) $(LNXOBJS) $(LIBS)
@echo Linking $@
@$(CC) $(CFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
testupnpdescgen: $(TESTUPNPDESCGENOBJS)
@echo Linking $@
@$(CC) $(CFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
config.h: genconfig.sh
./genconfig.sh
@ -103,10 +104,22 @@ metadata.o: upnpglobalvars.h metadata.h albumart.h utils.h sql.h log.h
albumart.o: upnpglobalvars.h albumart.h utils.h image_utils.h sql.h log.h
tagutils/misc.o: tagutils/misc.h
tagutils/textutils.o: tagutils/misc.h tagutils/textutils.h log.h
tagutils/tagutils.o: tagutils/tagutils-asf.c tagutils/tagutils-flc.c tagutils/tagutils-plist.c
tagutils/tagutils.o: tagutils/tagutils-asf.c tagutils/tagutils-flc.c tagutils/tagutils-plist.c tagutils/tagutils-misc.c
tagutils/tagutils.o: tagutils/tagutils-aac.c tagutils/tagutils-asf.h tagutils/tagutils-flc.h tagutils/tagutils-mp3.c
tagutils/tagutils.o: tagutils/tagutils-ogg.c tagutils/tagutils-aac.h tagutils/tagutils.h tagutils/tagutils-mp3.h tagutils/tagutils-ogg.h log.h
image_utils.o: image_utils.h
tivo_utils.o: config.h tivo_utils.h
tivo_beacon.o: config.h tivo_beacon.h tivo_utils.h
tivo_commands.o: config.h tivo_commands.h tivo_utils.h
utils.o: utils.h
sql.o: sql.h
log.o: log.h
.SUFFIXES: .c .o
.c.o:
@echo Compiling $*.c
@$(CC) $(CFLAGS) -o $@ -c $< && exit 0;\
echo "The following command failed:" 1>&2;\
echo "$(CC) $(CFLAGS) -o $@ -c $<";\
$(CC) $(CFLAGS) -o $@ -c $< &>/dev/null

View File

@ -10,8 +10,6 @@ RM="rm -f"
CONFIGFILE="config.h"
CONFIGMACRO="__CONFIG_H__"
# version reported in XML descriptions
UPNP_VERSION=20070827
# Database path
DB_PATH="/tmp/minidlna"
@ -19,16 +17,34 @@ DB_PATH="/tmp/minidlna"
OS_NAME=`uname -s`
OS_VERSION=`uname -r`
# pfSense special case
if [ -f /etc/platform ]; then
if [ `cat /etc/platform` = "pfSense" ]; then
OS_NAME=pfSense
OS_VERSION=`cat /etc/version`
fi
fi
${RM} ${CONFIGFILE}
# Detect if there are missing headers
# NOTE: This check only works with a normal distro
[ ! -e "/usr/include/sqlite3.h" ] && MISSING="libsqlite3 $MISSING"
[ ! -e "/usr/include/uuid/uuid.h" ] && MISSING="libuuid $MISSING"
[ ! -e "/usr/include/jpeglib.h" ] && MISSING="libjpeg $MISSING"
[ ! -e "/usr/include/libexif/exif-loader.h" ] && MISSING="libexif $MISSING"
[ ! -e "/usr/include/id3tag.h" ] && MISSING="libid3tag $MISSING"
[ ! -e "/usr/include/ogg/ogg.h" ] && MISSING="libogg $MISSING"
[ ! -e "/usr/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING"
[ ! -e "/usr/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING"
[ ! -e "/usr/include/ffmpeg/avutil.h" -a \
! -e "/usr/include/libavutil/avutil.h" -a \
! -e "/usr/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
[ ! -e "/usr/include/ffmpeg/avformat.h" -a \
! -e "/usr/include/libavformat/avformat.h" -a \
! -e "/usr/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libformat $MISSING"
[ ! -e "/usr/include/ffmpeg/avcodec.h" -a \
! -e "/usr/include/libavcodec/avcodec.h" -a \
! -e "/usr/include/ffmpeg/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
if [ -n "$MISSING" ]; then
echo -e "\nERROR! Cannot continue."
echo -e "The following required libraries are either missing, or are missing development headers:\n"
echo -e "$MISSING\n"
exit 1
fi
echo "/* MiniDLNA Project" >> ${CONFIGFILE}
echo " * http://sourceforge.net/projects/minidlna/" >> ${CONFIGFILE}
echo " * (c) 2008-2009 Justin Maggard" >> ${CONFIGFILE}
@ -36,7 +52,6 @@ echo " * generated by $0 on `date` */" >> ${CONFIGFILE}
echo "#ifndef $CONFIGMACRO" >> ${CONFIGFILE}
echo "#define $CONFIGMACRO" >> ${CONFIGFILE}
echo "" >> ${CONFIGFILE}
echo "#define UPNP_VERSION \"$UPNP_VERSION\"" >> ${CONFIGFILE}
# OS Specific stuff
case $OS_NAME in
@ -115,18 +130,6 @@ echo "/* full path of the file database */" >> ${CONFIGFILE}
echo "#define DB_PATH \"${DB_PATH}\"" >> ${CONFIGFILE}
echo "" >> ${CONFIGFILE}
echo "/* Uncomment the following line to allow miniupnpd to be" >> ${CONFIGFILE}
echo " * controlled by miniupnpdctl */" >> ${CONFIGFILE}
echo "/*#define USE_MINIUPNPDCTL*/" >> ${CONFIGFILE}
echo "" >> ${CONFIGFILE}
echo "/* Uncomment the following line to enable caching of results of" >> ${CONFIGFILE}
echo " * the getifstats() function */" >> ${CONFIGFILE}
echo "/*#define ENABLE_GETIFSTATS_CACHING*/" >> ${CONFIGFILE}
echo "/* The cache duration is indicated in seconds */" >> ${CONFIGFILE}
echo "#define GETIFSTATS_CACHING_DURATION 2" >> ${CONFIGFILE}
echo "" >> ${CONFIGFILE}
echo "/* Comment the following line to use home made daemonize() func instead" >> ${CONFIGFILE}
echo " * of BSD daemon() */" >> ${CONFIGFILE}
echo "#define USE_DAEMON" >> ${CONFIGFILE}