You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
2.2 KiB
125 lines
2.2 KiB
#!/bin/sh
|
|
#
|
|
# usage: $1 is featurename, $2 verbose
|
|
# $3..$n librarynames like '-llibmysqlclient.*' or (optional) extra library paths like '-L/usr/local/lib'
|
|
# or filenames like "mysql.h" and (optional) extra include paths like '-I/usr/local/include'
|
|
# returns 0 on success
|
|
|
|
SUCCESS=
|
|
MODULE_NAME=$1
|
|
VERBOSE=$2
|
|
shift 2
|
|
LIBDIRS="/lib /usr/lib"
|
|
LIBNAMES=""
|
|
INCLUDEDIRS="/usr/include"
|
|
INCLUDES=""
|
|
|
|
PARAMS=$@
|
|
for PARAM in $PARAMS
|
|
do
|
|
PREFIX=`echo $PARAM | sed 's/^\(..\).*/\1/'`
|
|
case $PREFIX in
|
|
-L)
|
|
CLIBDIR=`echo $PARAM | sed -e 's/^-L//'`
|
|
LIBDIRS="$LIBDIRS $CLIBDIR"
|
|
;;
|
|
-l)
|
|
CLIBNAME=`echo $PARAM | sed -e 's/^-l//'`
|
|
LIBNAMES="$LIBNAMES lib${CLIBNAME}.*"
|
|
;;
|
|
-I)
|
|
CINCDIR=`echo $PARAM | sed -e 's/^-I//'`
|
|
INCLUDEDIRS="$INCLUDEDIRS $CINCDIR"
|
|
;;
|
|
*)
|
|
INCLUDES="$PARAM $INCLUDES"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# debuggery
|
|
|
|
if [ "$VERBOSE" = "yes" ]
|
|
then
|
|
echo "$MODULE_NAME auto-detection..."
|
|
# echo "searching for $LIBNAMES in $LIBDIRS"
|
|
# echo "and $INCLUDES in $INCLUDEDIRS"
|
|
fi
|
|
|
|
|
|
# check for lib
|
|
for LIBNAME in $LIBNAMES
|
|
do
|
|
SUCCESS=""
|
|
for LIBDIR in $LIBDIRS
|
|
do
|
|
FOUND_LIB=`ls $LIBDIR/$LIBNAME 2>/dev/null`
|
|
if [ ! -z "$FOUND_LIB" ]
|
|
then
|
|
SUCCESS=yes
|
|
if [ "$VERBOSE" = "yes" ]
|
|
then
|
|
echo " Found $LIBNAME in $LIBDIR"
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
if [ -z "$SUCCESS" ]
|
|
then
|
|
SUCCESS=no
|
|
if [ "$VERBOSE" = "yes" ]
|
|
then
|
|
echo " Could not find $LIBNAME anywhere in $LIBDIRS"
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
|
|
# check for includes
|
|
if [ "$SUCCESS" = "yes" ]
|
|
then
|
|
for INCLUDE in $INCLUDES
|
|
do
|
|
SUCCESS=""
|
|
for INCLUDEDIR in $INCLUDEDIRS
|
|
do
|
|
FOUND_INC=`ls $INCLUDEDIR/$INCLUDE 2>/dev/null`
|
|
if [ ! -z "$FOUND_INC" ]
|
|
then
|
|
SUCCESS=yes
|
|
if [ "$VERBOSE" = "yes" ]
|
|
then
|
|
echo " Found $INCLUDE in $INCLUDEDIR"
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
if [ -z "$SUCCESS" ]
|
|
then
|
|
SUCCESS=no
|
|
if [ "$VERBOSE" = "yes" ]
|
|
then
|
|
echo " Could not find $INCLUDE anywhere in $INCLUDEDIRS"
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [ "$SUCCESS" != "yes" ]
|
|
then
|
|
if [ "$VERBOSE" = "yes" ]
|
|
then
|
|
echo "$MODULE_NAME disabled."
|
|
fi
|
|
exit 1
|
|
else
|
|
if [ "$VERBOSE" = "yes" ]
|
|
then
|
|
echo "$MODULE_NAME enabled."
|
|
fi
|
|
exit 0
|
|
fi
|
|
exit 1
|
|
|