summaryrefslogtreecommitdiffstats
path: root/abs/mv-core/oss-sound/PKGBUILD.orig
blob: e0e695b1543502aa60ad4f1285a0ad5ced0ea1c3 (plain)
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
pkgname=oss
pkgver=4.0_1016
_pkgver=v4.0-1016
pkgrel=14
pkgdesc="OSS/Commercial driver"
url="http://www.opensound.com/"
license=""
depends=('glibc' 'gtk2')
makedepends=('make')
conflicts=('oss-linux')
provides=('oss-linux')
replaces=()
backup=()
#http://www.4front-tech.com/release/oss-linux-v4.0-1012-i386.tar.bz2
install=oss.install
source=(http://www.4front-tech.com/release/oss-linux-v4.0-1016-i386.tar.bz2 install_sh.diff)
arch=('i686')


build() {
  PREFIX=$startdir/pkg
  OSSLIBDIR=$PREFIX/usr/lib/oss

  cd $startdir/src
  find . -type d -exec chmod 755 '{}' ';'
  patch -p0 < ../install_sh.diff || return 1

  ## Install
  cp -rp  etc $PREFIX/
  cp -rp  usr $PREFIX/
  cp -rp  $PREFIX/usr/share/man $PREFIX/usr/
  rmdir $PREFIX/usr/share
  mkdir $PREFIX/usr/lib/oss/logs
 # mkdir -p $PREFIX/etc/rc.d
 # install oss-linux $PREFIX/etc/rc.d/

  mv $OSSLIBDIR/conf.tmpl $OSSLIBDIR/conf
  mkdir -p $PREFIX/usr/lib
  cd $PREFIX/usr/lib
  ln -sf oss/lib/libOSSlib.so || return 1

#building modules
cd $OSSLIBDIR/build
REGPARM=REGPARM
pushd $OSSLIBDIR
rm -rf objects
ln -s objects.regparm objects
rm -rf modules
ln -s modules.regparm modules
popd


if ! test -f $OSSLIBDIR/objects/osscore.o
then
	echo Error: OSS core module for $REGPARM kernel are not available
	exit 1
fi

if ! test -f $OSSLIBDIR/modules/ich.o
then
	echo Error: OSS driver modules for $REGPARM kernel are not available
	exit 1
fi

echo
echo OSS build environment set up for $REGPARM kernels
BASEKERNEL=/lib/modules/2.6.26-ARCH
PKGKERNEL=$startdir/pkg$BASEKERNEL
KERNELDIR=$BASEKERNEL/build

cp -f ../objects/osscore.o osscore_mainline.o

ln -sf ../include/sys/*.h ../include/sys/ossddk .

rm -f Makefile
ln -s Makefile.osscore Makefile

if ! test -d $OSSLIBDIR/logs
then
	mkdir $OSSLIBDIR/logs
fi

echo Building module osscore

if ! make KERNELDIR=$KERNELDIR> build.list 2>&1
then
	echo Failed to compile OSS
	cat build.list
	exit 2
fi

if ! test -d $PKGKERNEL/kernel/oss
then
  mkdir -p $PKGKERNEL/kernel/oss
fi

if ! test -d $PKGKERNEL/kernel/oss
then
	echo OSS module directory $PKGKERNEL/kernel/oss does not exist.
	exit 3
fi

if ! ld -r osscore.ko osscore_mainline.o -o $PKGKERNEL/kernel/oss/osscore.ko
then
	echo Linking the osscore module failed
	exit 5
fi

#depmod -a

for n in ../modules/*.o
do
	N=`basename $n .o`
	echo Building module $N 

	rm -f $N_mainline.o Makefile

	sed "s/MODNAME/$N/" < Makefile.tmpl > Makefile
	ln -s $n $N_mainline.o

	if ! make KERNELDIR=$KERNELDIR > build.list 2>&1
	then
		echo Compiling module $N failed
		cat build.list
		exit 4
	fi

	if ! ld -r $N.ko $N_mainline.o -o $PKGKERNEL/kernel/oss/$N.ko
	then
		echo Linking $N module failed
		exit 6
	fi

	rm -f $N_mainline.o
	make clean
done 

rm -f Makefile








}