File: configure

package info (click to toggle)
dmx4linux 2.5%2Bdfsg-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,660 kB
  • ctags: 2,835
  • sloc: ansic: 23,341; yacc: 918; asm: 846; makefile: 614; sh: 439
file content (326 lines) | stat: -rwxr-xr-x 8,197 bytes parent folder | download
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