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 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326
|
#!/bin/sh
#
# Simple configuration script to configure which drivers should
# be used.
function abort()
{
rm -f .confignew
exit 1
}
function setboolean ()
{
optionname="$1"
optionvalue="$2"
default=$(eval echo "\${$optionname}")
if [ "$default" = "" ]
then default=n
default_y=y
default_n=N
else default=y
default_y=Y
default_n=n
fi
if [ "$optionvalue" = "" ]
then optionvalue=$default
fi
if [ "$optionvalue" = "y" -o "$optionvalue" = "yes" -o "$optionvalue" = "Y" -o "$optionvalue" = "Yes" ]
then echo "$optionname=y" >>.confignew
else echo "#$optionname is not set" >>.confignew
fi
export $optionname=$optionvalue
}
function boolean ()
{
optionprompt="$1"
optionname="$2"
default=$(eval echo "\${$optionname}")
if [ "$default" = "" ]
then default=n
default_y=y
default_n=N
else default=y
default_y=Y
default_n=n
fi
echo -n "$optionprompt ($default_n/$default_y)? "
read answer
if [ "$answer" = "" ]
then answer=$default
fi
if [ "$answer" = "y" -o "$answer" = "yes" -o "$answer" = "Y" -o "$answer" = "Yes" ]
then echo "$optionname=y" >>.confignew
else echo "#$optionname is not set" >>.confignew
fi
export $optionname=$answer
}
function string ()
{
optionprompt="$1"
optionname="$2"
default=$(eval echo "\${$optionname}")
echo -n "$optionprompt [$default]: "
read answer
if [ "$answer" = "" ]
then answer="$default"
fi
echo "$optionname=\"$answer\"" >>.confignew
export $optionname="$answer"
}
trap abort SIGINT SIGHUP SIGTERM
if [ -f .config ]
then . .config
fi
echo "CONFIG_DMX4LINUX=y" >.confignew
echo "------------[ hardware ]------------"
boolean "dummy driver" CONFIG_DMX4LINUX_DUMMY
boolean "parport drivers" CONFIG_DMX4LINUX_PARPORT
if [ "$CONFIG_DMX4LINUX_PARPORT" = "y" ]
then
boolean " Lighting Solutions lpr2dmx" CONFIG_DMX4LINUX_PARPORT_LPR2DMX
if [ "$CONFIG_DMX4LINUX_PARPORT_LPR2DMX" = "y" ]
then
boolean " Support for lpr2dmx3 buffered-transfer mode" CONFIG_DMX4LINUX_PARPORT_LPR2DMX3
fi
boolean " Soundlight dmxpcp" CONFIG_DMX4LINUX_PARPORT_DMXPCP
boolean " LLG dmx30" CONFIG_DMX4LINUX_PARPORT_DMX30
boolean " LLG dmx43" CONFIG_DMX4LINUX_PARPORT_DMX43
boolean " avr dmx-512" CONFIG_DMX4LINUX_PARPORT_AVRDMX
boolean " oksid dmx" CONFIG_DMX4LINUX_PARPORT_OKDDMX
fi
boolean "ISA based drivers" CONFIG_DMX4LINUX_ISA
if [ "$CONFIG_DMX4LINUX_ISA" = "y" ]
then
boolean " EnLight" CONFIG_DMX4LINUX_ISA_ENLIGHT
boolean " Soundlight SLH1512 A/B/C" CONFIG_DMX4LINUX_ISA_SLH
fi
boolean "PCI based drivers" CONFIG_DMX4LINUX_PCI
if [ "$CONFIG_DMX4LINUX_PCI" = "y" ]
then
# boolean " Soundlight SLH1514" CONFIG_DMX4LINUX_PCI_SLH1514
boolean " Digimedia / Soundlight 1515/2514" CONFIG_DMX4LINUX_DGMPCI
fi
boolean "USB based drivers" CONFIG_DMX4LINUX_USB
if [ "$CONFIG_DMX4LINUX_USB" = "y" ]
then
boolean " Lighting Solutions USB2DMX" CONFIG_DMX4LINUX_USB_USB2DMX
boolean " Sunlite USBDMX2" CONFIG_DMX4LINUX_USB_DMXSUNLITE
boolean " Enttec / FTDI chip" CONFIG_DMX4LINUX_USB_FTDI2DMX
fi
boolean "PCMCIA based drivers" CONFIG_DMX4LINUX_PCMCIA
if [ "$CONFIG_DMX4LINUX_PCMCIA" = "y" ]
then
boolean " Digimedia PCMCIA / Soundlight 2512" CONFIG_DMX4LINUX_PCMCIA_DGM
if [ "$CONFIG_DMX4LINUX_PCMCIA_DGM" = "n" ]
then boolean " alternative Digimedia PCMCIA / Soundlight 2512" CONFIG_DMX4LINUX_DGM_CS
fi
fi
boolean "I2C based drivers" CONFIG_DMX4LINUX_I2C
if [ "$CONFIG_DMX4LINUX_I2C" = "y" ]
then
boolean " QLightControler" CONFIG_DMX4LINUX_I2C_QLC
fi
# dgm_cs and dgm_pci are based on dgm.
if [ "$CONFIG_DMX4LINUX_DGM_CS" = "y" -o "$CONFIG_DMX4LINUX_DGMPCI" = "y" ]
then
setboolean "CONFIG_DMX4LINUX_DGM" "y"
else
setboolean "CONFIG_DMX4LINUX_DGM" "n"
fi
echo "------------[ utilities ]------------"
boolean "Use LIRC (infrared) library in applications" CONFIG_HAVE_LIRC
boolean "X based applications" CONFIG_HAVE_X
boolean "Curses based applications" CONFIG_HAVE_CURSES
boolean "XMMS plugin" CONFIG_HAVE_XMMS
if [ "$CONFIG_HAVE_XMMS" = "y" ]
then
if which xmms-config 2>&1 | grep "no xmms-config" >/dev/null
then
echo
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!! unable to find xmms-config command. !!"
echo "!! Did you install the development package? !!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo
fi
fi
echo "------------[ paths ]------------"
if [ -z "$CONFIG_PCMCIAPATH" ]
then CONFIG_PCMCIAPATH=/etc/pcmcia
fi
if [ "$CONFIG_DMX4LINUX_PCMCIA" = "y" ]
then
string "PCMCIA configuration path" CONFIG_PCMCIAPATH
string "path to PCMCIA include path" PCMCIAINCLUDEPATH
fi
if [ -z "$KERNEL_RELEASE" ]
then
KERNEL_RELEASE=$(uname -r)
fi
# check for the location of the kernel includes
LPATH=/lib/modules/$KERNEL_RELEASE/build/include
if [ -z "$LINUXINCLUDEPATH" ]
then
LINUXINCLUDEPATH="$LPATH"
if [ ! -d "$LINUXINCLUDEPATH" ]
then
LINUXINCLUDEPATH=/usr/src/linux/include
fi
elif [ "$LINUXINCLUDEPATH" != "$LPATH" ]
then LINUXINCLUDEPATH="$LPATH"
fi
string "Linux kernel include path" LINUXINCLUDEPATH
#-- check if we need to add some cflags for the driver modules --
if [ -f "$LINUXINCLUDEPATH/linux/autoconf.h" ]
then
BUILD_WITH_VERSIONS=$(cat $LINUXINCLUDEPATH/linux/autoconf.h | awk '/#define[ \t]+CONFIG_MODVERSIONS[ \t]+(.*)/ {print $3;}')
elif [ -f "$LINUXINCLUDEPATH/linux/config.h" ]
then
BUILD_WITH_VERSIONS=$(cat $LINUXINCLUDEPATH/linux/config.h | awk '/#define[ \t]+CONFIG_MODVERSIONS[ \t]+(.*)/ {print $3;}')
else
BUILD_WITH_VERSIONS="n"
boolean "Is linux kernel build with version information?" BUILD_WITH_VERSIONS
fi
BUILD_WITH_VERSIONS=$(echo $BUILD_WITH_VERSIONS | sed -e 's/1/y/g' -e 's/0/n/g')
if [ "$BUILD_WITH_VERSIONS" = "y" ]
then
DRIVER_CFLAGS="-DMODVERSIONS -include $LINUXINCLUDEPATH/linux/modversions.h"
fi
if [ -z "$CFLAGS" ]
then CFLAGS="-O2 -Wall"
fi
string "Compilation flags" CFLAGS $CFLAGS
if [ -z "$LDFLAGS" ]
then LDFLAGS=-L/usr/X11R6/lib
fi
string "Linker flags" LDFLAGS $LDFLAGS
if [ -z "$HEADERINSTALLPATH" ]
then HEADERINSTALLPATH=/usr/local/include
fi
string "Header install path" HEADERINSTALLPATH
# check for location of modules
MPATH=/lib/modules/$KERNEL_RELEASE/misc/dmx
if [ -z "$MODULEINSTALLPATH" ]
then MODULEINSTALLPATH=$MPATH
fi
if [ "$MODULEINSTALLPATH" != "$MPATH" ]
then MODULEINSTALLPATH=$MPATH
fi
string "Modules install path" MODULEINSTALLPATH
if [ -z "$BININSTALLPATH" ]
then BININSTALLPATH=/usr/local/bin
fi
string "Binaries install path" BININSTALLPATH
if [ -z "$LIBINSTALLPATH" ]
then LIBINSTALLPATH=/usr/local/lib
fi
string "Libraries install path" LIBINSTALLPATH
if [ -z "$MANINSTALLPATH" ]
then MANINSTALLPATH=/usr/local/man
fi
string "Manual pages install path" MANINSTALLPATH
if [ -z "$LDCONFIG" ]
then
if (which ldconfig 2>/dev/null >/dev/null) ; then
LDCONFIG=$(which ldconfig)
else
for i in "/usr/local/sbin" "/usr/sbin" "/sbin" ; do
if [ -x $i/ldconfig ] ; then
LDCONFIG=$i/ldconfig
fi
done
fi
fi
while [ -z "$LDCONFIG" -o ! -x "$LDCONFIG" ]
do
string "Where the hell is your ldconfig" LDCONFIG
done
# finished
sed -e 's/"//g' < .confignew > config.mk
mv -f .confignew .config
# some more stuff
DMXROOT=`pwd`
echo "DMXROOT=$DMXROOT" >> config.mk
echo "VERSIONMAJOR=2" >> config.mk
echo "VERSIONMINOR=5" >> config.mk
echo "DMXVERSION=2.5" >> config.mk
echo "DMXOUTMINOR=223" >> config.mk
echo "DMXINMINOR=224" >> config.mk
echo "AS31=${DMXROOT}/tools/as31-unix/as31" >> config.mk
# CROSS=mipsel-unknown-linux-gnu-
if [ "$CROSS" ]
then
echo "CROSS=$CROSS" >>config.mk
fi
echo "LINKER="$CROSS"ld -r" >> config.mk
echo "CC="$CROSS"gcc" >>config.mk
echo "CXX="$CROSS"g++" >>config.mk
echo "AS="$CROSS"as" >>config.mk
echo "AR="$CROSS"ar" >>config.mk
echo "LD="$CROSS"ld" >>config.mk
echo "OBJCOPY="$CROSS"objcopy" >>config.mk
echo "OBJDUMP="$CROSS"objdump" >>config.mk
echo "STRIP="$CROSS"strip" >>config.mk
echo "NM="$CROSS"nm" >>config.mk
echo "CFLAGS+=-I${DMXROOT}/include" >> config.mk
echo "LDFLAGS+=-L${DMXROOT}/libs" >> config.mk
echo "LDCONFIG=$LDCONFIG" >>config.mk
echo "DRIVER_CFLAGS=$DRIVER_CFLAGS" >>config.mk
|