I have succeeded in compiling lame 3.92 with gcc 3.1. I attached two
patches required for compilation. One fixes the gcc version
determination problem in configure.in (make sure to run autoconf
afterwards). The other fixes an issue of including stdint.h from lame.h,
so that uint8_t and the like are defined.
A question: when I try to build an RPM from the above source, RPM calls
the configure script in the following manner:
./configure i386-redhat-linux <rpm-generated configure options>
The problem is, that with such an invocation, make install will not
install $PREFIX/bin/lame, but $PREFIX/bin/i386-redhat-linux-lame. Also,
the name of the man page will change accordingly. Is this intentional?
How can one remove this name transformation feature? (I guess it's an
autoconf / automake issue, I'm too good at these tools.)
Akos
diff -ru lame-3.92/configure.in lame-3.92-gcc-3.1/configure.in
--- lame-3.92/configure.in Fri Apr 12 21:38:13 2002
+++ lame-3.92-gcc-3.1/configure.in Wed May 29 07:29:30 2002
@@ -91,7 +91,7 @@
if test "${GCC}" = "yes"; then
AC_MSG_CHECKING(version of GCC)
- GCC_version=`${CC} --version`
+ GCC_version=`${CC} --version | sed -n '1s/^[[^ ]]* (.*) //;s/ .*$//;1p'`
AC_MSG_RESULT(${GCC_version})
fi
@@ -661,11 +661,15 @@
;;
esac
;;
+ *)
+ AC_MSG_ERROR(unsupported GCC version ${GCC_version} for optimization)
+ ;;
+ esac
+ ;;
*)
AC_MSG_ERROR(bad value �${CONFIG_EXPOPT}� for expopt option)
;;
esac
-esac
AC_MSG_RESULT(${CONFIG_EXPOPT})
else
diff -ru lame-3.92/include/lame.h lame-3.92-gcc-3.1/include/lame.h
--- lame-3.92/include/lame.h Fri Apr 12 21:38:18 2002
+++ lame-3.92-gcc-3.1/include/lame.h Wed May 29 07:51:02 2002
@@ -25,6 +25,7 @@
#include <stdio.h>
#include <stdarg.h>
+#include <stdint.h>
#if defined(__cplusplus)
extern "C" {