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