Date: Tue, 22 Mar 2005 23:50:20 +0100
authorSam Lantinga <slouken@libsdl.org>
Fri, 20 May 2005 07:34:34 +0000
changeset 1062 3e637850c02b
parent 1061 5023cde12cbd
child 1063 0fb50bfaea7f
Date: Tue, 22 Mar 2005 23:50:20 +0100 From: Johannes Schmidt Subject: [PATCH] Re: [SDL] SDL 1.2.8 Prerelease On Saturday 18 December 2004 13:59, Stephane Marchesin wrote: > >#error "The kernel sources in /usr/src/linux are not yet configured." > >#error "Please run 'make cloneconfig && make dep' in /usr/src/linux/" > >#error "to get a kernel that is configured like the running kernel." > >#error "Alternatively, you can copy one of the config files" > >#error "arch/$ARCH/defconfig.* to .config, and run" > >#error "'make oldconfig && make dep' to configure the kernel" > >#error "for that configuration." > >- > > That's the Suse kernel sources... > I think the only way out is to add a test in ./configure Attached is a patch (it works for me[TM]) which adds a CheckLinuxVersion() to configure.in and a check for HAVE_LINUX_VERSION_H to src/cdrom/linux/SDL_syscdrom.c.
configure.in
src/cdrom/linux/SDL_syscdrom.c
--- a/configure.in	Wed May 18 17:02:17 2005 +0000
+++ b/configure.in	Fri May 20 07:34:34 2005 +0000
@@ -1855,6 +1855,15 @@
     AC_MSG_RESULT($have_gcc_altivec)
 }
 
+dnl Check for a valid linux/version.h
+CheckLinuxVersion()
+{
+    AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
+    if test x$have_linux_version_h = xyes; then
+        CFLAGS="$CFLAGS -DHAVE_LINUX_VERSION_H"
+    fi
+}
+
 case "$target" in
     *-*-linux*|*-*-gnu*|*-*-k*bsd*-gnu)
         case "$target" in
@@ -1889,6 +1898,8 @@
         CheckPTHREAD
         CheckSIGACTION
         CheckAltivec
+        CheckLinuxVersion
+
         # Set up files for the main() stub
         if test "x$video_qtopia" = "xyes"; then
           SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
--- a/src/cdrom/linux/SDL_syscdrom.c	Wed May 18 17:02:17 2005 +0000
+++ b/src/cdrom/linux/SDL_syscdrom.c	Fri May 20 07:34:34 2005 +0000
@@ -37,6 +37,7 @@
 #include <errno.h>
 #include <unistd.h>
 #ifdef __linux__
+#ifdef HAVE_LINUX_VERSION_H
 /* linux 2.6.9 workaround */
 #include <linux/version.h>
 #if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,9)
@@ -48,6 +49,7 @@
 #define __be32 __u32
 #define __be16 __u16
 #endif /* linux 2.6.9 workaround */
+#endif /* HAVE_LINUX_VERSION_H */
 #include <linux/cdrom.h>
 #endif
 #ifdef __SVR4