allow deselecting previously selected drivers: e.g. --enable-drivers='all,!hd44780'

This commit is contained in:
marschap
2006-04-05 20:19:50 +00:00
parent 17914dfbf6
commit afc8c4d6c4
2 changed files with 34 additions and 18 deletions
+28 -10
View File
@@ -10,18 +10,36 @@ AC_ARG_ENABLE(drivers,
[ joy,lb216,lcdm001,lcterm,lirc,ms6931,mtc_s16209x,]
[ MtxOrb,NoritakeVFD,pylcd,sed1330,sed1520,serialVFD,]
[ sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
[ \"all\" compiles all drivers],
[ 'all' compiles all drivers;]
[ 'all,!xxx,!yyy' de-selects previously selected drivers],
drivers="$enableval",
drivers=[bayrad,CFontz,CFontz633,curses,CwLnx,glk,lb216,lcdm001,MtxOrb,pylcd,text])
if test "$drivers" = "all"; then
drivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,irman,joy,lb216,lcdm001,lcterm,lirc,ms6931,mtc_s16209x,MtxOrb,NoritakeVFD,pylcd,sed1330,sed1520,serialVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
fi
allDrivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,glcdlib,glk,hd44780,icp_a106,imon,IOWarrior,irman,joy,lb216,lcdm001,lcterm,lirc,ms6931,mtc_s16209x,MtxOrb,NoritakeVFD,pylcd,sed1330,sed1520,serialVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
drivers=`echo $drivers | sed 's/,/ /g'`
for driver in $drivers
do
drivers=`echo $drivers | sed -e 's/,/ /g'`
dnl replace special keyword "all" in a secure manner
drivers=[" $drivers "]
drivers=`echo " $drivers " | sed -e "s/ all / ${allDrivers} /"`
drivers=`echo $drivers | sed -e 's/,/ /g'`
dnl ignore unwanted drivers
selectdrivers=" "
for driver in $drivers ; do
case $driver in
!*)
driver=`echo $driver | sed -e 's/^.//'`
selectdrivers=[`echo $selectdrivers | sed -r -e "s/ $driver / /"`]
;;
*)
selectdrivers=["$selectdrivers $driver "]
;;
esac
done
dnl check for wanted drivers and their dependencies
for driver in $selectdrivers ; do
case "$driver" in
bayrad)
DRIVERS="$DRIVERS bayrad${SO}"
@@ -318,10 +336,10 @@ dnl else
*)
AC_MSG_ERROR([Unknown driver $driver])
;;
esac
done
esac
done
actdrivers=`echo $actdrivers | sed 's/ /,/g'`
actdrivers=`echo $actdrivers | sed -e 's/ /,/g'`
AC_MSG_RESULT([Will compile drivers: $actdrivers])
AC_SUBST(LIBCURSES)
+6 -8
View File
@@ -51,7 +51,8 @@ AC_ARG_ENABLE(drivers,
[ joy,lb216,lcdm001,lcterm,lirc,ms6931,mtc_s16209x,]
[ MtxOrb,NoritakeVFD,pylcd,sed1330,sed1520,serialVFD,]
[ sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
[ \"all\" compiles all drivers],
[ 'all' compiles all drivers;]
[ 'all,!xxx,!yyy' de-selects previously selected drivers],
drivers="$enableval",
</screen>
<para>becomes:</para>
@@ -65,7 +66,8 @@ AC_ARG_ENABLE(drivers,
[ joy,lb216,lcdm001,lcterm,lirc,ms6931,mtc_s16209x,]
[ MtxOrb,NoritakeVFD,pylcd,sed1330,sed1520,serialVFD,]
[ sli,stv5730,svga,t6963,text,tyan,ula200,xosd,<emphasis>myDriver</emphasis>]
[ \"all\" compiles all drivers],
[ 'all' compiles all drivers;]
[ 'all,!xxx,!yyy' de-selects previously selected drivers],
drivers="$enableval",
</screen>
</sect3>
@@ -77,15 +79,11 @@ AC_ARG_ENABLE(drivers,
<para>This:</para>
<screen>
if test "$drivers" = "all"; then
drivers=[bayrad,CFontz,...(big list)...,ula200,xosd]
fi
allDrivers=[bayrad,CFontz,CFontz633,...(big list)...,tyan,ula200,xosd]
</screen>
<para>becomes:</para>
<screen>
if test "$drivers" = "all"; then
drivers=[bayrad,CFontz,...(big list)...,ula200,xosd,<emphasis>myDriver</emphasis>]
fi
allDrivers=[bayrad,CFontz,CFontz633,...(big list)...,tyan,ula200,xosd,<emphasis>myDriver</emphasis>]
</screen>
</sect3>