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
13 years ago
|
#!/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
|
||
|
|