[alsa-devel] Building Takashi's sound-2.6.git?
Stephen Warren
swarren at nvidia.com
Fri Aug 20 22:20:13 CEST 2010
Jaroslav Kysela wrote:
> Stephen Warren wrote:
> > Jaroslav Kysela wrote:
> >> Stephen Warren wrote:
> >>> Unfortunately, it doesn't seem to work:
> >>>
> >>> ALSAKERNELDIR=../sound-2.6/sound ./gitcompile
> >>
> >> It should be:
> >>
> >> ALSAKERNELDIR=../sound-2.6 ./gitcompile
> >
> > sound-2.6 is a complete Linux kernel tree, not just the ALSA drivers.
> > Hence, the second part of the following test fails, because last.c is in
> > ../sound-2.6/sound/last.c not ../sound-2.6/last.c
> >
> > if [ ! -d $ALSAKERNELDIR -o ! -f $ALSAKERNELDIR/last.c ]; then
> > echo "No alsa-kmirror is found."
>
> You're right. But the Makefile accepts both trees. This patch should solve
> this issue:
OK, that patch works OK, but I actually ended up getting the exact same issue.
make[3]: Warning: File `.includes' has modification time 0.04 s in the future
cp ../../alsa-kernel/include/*.h .
cp: cannot stat `../../alsa-kernel/include/*.h': No such file or directory
I looked into that further this time, and I found it's because
alsa-driver-build/alsa-kernel/include points at ../sound-2.6/include/sound,
but should have an extra "../" on the front. Doing the following fixes this:
ALSAKERNELDIR=`cd ../sound-2.6 && pwd` ./gitcompile
Doesn't this affect the ../alsa-kmirror case too? Perhaps everyone who checks
out alsa-kmirror places it inside the alsa-driver-build directory, or symlinks
it themselves first?
Perhaps gitcompile can add the following right before the make:
ALSAKERNELDIR=`cd ${ALSAKERNELDIR} && pwd`
But I'm not familiar enough with all configurations people use this in to
know whether that would break anything.
If that's OK, the final patch might be as below; it Works For Me.
diff --git a/gitcompile b/gitcompile
index b845fd8..57e56e2 100755
--- a/gitcompile
+++ b/gitcompile
@@ -28,18 +28,22 @@ fi
#fi
# check for alsa-kmirror directory
-if [ -d alsa-kernel -a -f alsa-kernel/last.c ]; then
+if [ -d alsa-kernel -a -f alsa-kernel/sound/last.c ]; then
ALSAKERNELDIR="alsa-kernel"
elif [ -d alsa-kmirror -a -f alsa-kmirror/last.c ]; then
ALSAKERNELDIR="alsa-kmirror"
else
- test -z $ALSAKERNELDIR && ALSAKERNELDIR=../alsa-kmirror
- if [ ! -d $ALSAKERNELDIR -o ! -f $ALSAKERNELDIR/last.c ]; then
- echo "No alsa-kmirror is found."
- echo "Please specify the correct location via ALSAKERNELDIR environment variable."
- exit 1
+ test -z $ALSAKERNELDIR && [ -d ../alsa-kmirror ] && ALSAKERNELDIR=../alsa-kmirror
+ test -z $ALSAKERNELDIR && [ -d ../sound-2.6 ] && ALSAKERNELDIR=../sound-2.6
+ if [ ! -d "$ALSAKERNELDIR" -o ! -f "$ALSAKERNELDIR/last.c" ]; then
+ if [ ! -f "$ALSAKERNELDIR/sound/last.c" ]; then
+ echo "No alsa-kmirror or alsa-kernel tree is found."
+ echo "Please specify the correct location via ALSAKERNELDIR environment variable."
+ exit 1
+ fi
fi
fi
+ALSAKERNELDIR=`cd ${ALSAKERNELDIR} && pwd`
make ALSAKERNELDIR="$ALSAKERNELDIR" all-deps || exit 1
aclocal $ACLOCAL_FLAGS || exit 1
autoconf || exit 1
--
nvpublic
More information about the Alsa-devel
mailing list