]> www.pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/alsa/alsa-driver_0.9.6-hh4c.bb
alsa-driver: conflict OSS modules
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / alsa / alsa-driver_0.9.6-hh4c.bb
1 DESCRIPTION = "Alsa Drivers"
2 MAINTAINER = "Rene Wagner <rw@handhelds.org>"
3 SECTION = "base"
4 LICENSE = "GPL"
5 PR = "r9"
6
7 DEPENDS += "fakeroot-native virtual/kernel"
8
9 RPROVIDES = "${@linux_module_packages('h3600-uda1341 uda1341', d)}"
10 RCONFLICTS = "${@linux_module_packages('h3600-uda1341 uda1341', d)}"
11 RREPLACES = "${@linux_module_packages('h3600-uda1341 uda1341', d)}"
12
13 SRC_URI = "ftp://ftp.handhelds.org/packages/alsa-driver/alsa-driver-${PV}.tar.gz \
14         file://sound.p.patch;patch=1 \
15         file://h5400.patch;patch=1 \
16         file://sa11xx.patch;patch=1 \
17         file://adriver.h.patch;patch=1"
18
19 inherit autotools module update-rc.d
20
21 INITSCRIPT_NAME = "alsa-driver"
22 INITSCRIPT_PARAMS = "start 29 S . stop 29 0 6 1 ."
23
24 # avoid miscompilation
25 KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_ARCH}"
26
27 EXTRA_OECONF = "--with-sequencer=yes \
28         --with-isapnp=no \
29         --with-oss=yes \
30         --with-kernel=${STAGING_KERNEL_DIR} \
31         --with-kernel-version=${KERNEL_VERSION}"
32
33 PACKAGES =+ "${PN}-midi ${PN}-misc"
34 FILES_${PN} = "/lib/modules/*/misc/snd* \
35         ${sysconfdir}/init.d/${INITSCRIPT_NAME}"
36 #       ${sysconfdir}/modutils/*"
37 midi_modules = "snd-seq-midi-emul.o \
38         snd-seq-midi-event.o \
39         snd-seq-midi.o \
40         snd-seq-virmidi.o \
41         snd-seq-oss.o" 
42 FILES_${PN}-midi = "${@' '.join(map ((lambda x: '/lib/modules/*/misc/%s' % x), bb.data.getVar('midi_modules', d).split()))}"
43 misc_modules = "snd-gus-synth.o \
44         snd-emu8000-synth.o \
45         snd-emux-synth.o \
46         snd-ainstr-fm.o \
47         snd-ainstr-gf1.o \
48         snd-ainstr-iw.o \
49         snd-ainstr-simple.o"
50 FILES_${PN}-misc = "${@' '.join(map ((lambda x: '/lib/modules/*/misc/%s' % x), bb.data.getVar('misc_modules', d).split()))}"
51
52 # put in-kernel headers first in the include search path.
53 # without this all configure checks fail
54 CFLAGS =+ "-I${STAGING_KERNEL_DIR}/include"
55
56 do_configure() {
57
58 cards=
59 if egrep "CONFIG_SA1100_H3[168]00=y" "${STAGING_KERNEL_DIR}/.config" ; then
60   cards="$cards,sa11xx-uda1341"
61   familiar_arch=ipaqsa
62 fi
63 if grep "CONFIG_ARCH_H3900=y" "${STAGING_KERNEL_DIR}/.config" ; then
64   cards="$cards,pxa-uda1380,h5400-ak4535"
65   familiar_arch=ipaqpxa
66 fi
67 cards="$cards,bluez-sco,pdaudiocf"
68
69    oe_runconf --with-cards=${cards}
70 }
71
72 autoload_ipaqsa = "snd-sa11xx-uda1341 snd-pcm-oss snd-mixer-oss"
73 autoload_ipaqpxa = "snd-h5400-ak4535 snd-pxa-uda1380 snd-pcm-oss snd-mixer-oss"
74
75 do_install() {
76
77 if egrep "CONFIG_SA1100_H3[168]00=y" "${STAGING_KERNEL_DIR}/.config" ; then
78   autoload="${autoload_ipaqsa}"
79 fi
80 if grep "CONFIG_ARCH_H3900=y" "${STAGING_KERNEL_DIR}/.config" ; then
81   autoload="${autoload_ipaqpxa}"
82 fi
83
84       fakeroot make -k NODEPMOD=yes DESTDIR=${D} install; 
85
86 mkdir -p ${D}${sysconfdir}/init.d
87 cat > ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} <<EOF
88 #!/bin/sh
89
90 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
91
92 autoload_modules="$autoload"
93
94 case "\$1" in
95   start)
96         echo -n "Loading alsa modules:"
97         for i in \$autoload_modules; do
98                 modprobe \$i && echo -n " \$i"
99         done
100         echo "."
101         ;;
102   stop)
103         echo -n "Unloading alsa modules:"
104         for i in \$autoload_modules; do
105                 modprobe -r \$i && echo -n " \$i"
106         done
107         echo "."
108         ;;
109   restart|force-reload)
110         echo -n "Unloading alsa modules:"
111         for i in \$autoload_modules; do
112                 modprobe -r \$i && echo -n " \$i"
113         done
114         echo "."
115         echo -n "Loading alsa modules:"
116         for i in \$autoload_modules; do
117                 modprobe \$i && echo -n " \$i"
118         done
119         echo "."
120         ;;
121   *)
122         echo "Usage: \$0 {start|stop|restart|force-reload}" >&2
123         exit 1
124         ;;
125 esac
126
127 exit 0
128 EOF
129 chmod 755 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
130 }
131