From ec60228e845ea89c0f4e3e5b2a0d7f3ce832f182 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 24 Oct 2008 08:44:03 -0200 Subject: Fix compilation with RHEL 5.2 kernel From: Mauro Carvalho Chehab RHEL 5 already declares bool. Still, there are some warnings that probably indicate that something else needs to be done for the code to work with RHEL5. Priority: normal Signed-off-by: Mauro Carvalho Chehab --- v4l/compat.h | 2 ++ v4l/scripts/make_config_compat.pl | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'v4l') diff --git a/v4l/compat.h b/v4l/compat.h index f3dfceafe..7325e15c4 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -55,7 +55,9 @@ #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #define PCIAGP_FAIL 0 #define vmalloc_32_user(a) vmalloc_32(a) +#endif +#ifdef NEED_BOOL_TYPE /* bool type and enum-based definition of true and false was added in 2.6.19 */ typedef int bool; #define true 1 diff --git a/v4l/scripts/make_config_compat.pl b/v4l/scripts/make_config_compat.pl index e538c925b..bd34e7193 100755 --- a/v4l/scripts/make_config_compat.pl +++ b/v4l/scripts/make_config_compat.pl @@ -83,12 +83,32 @@ sub check_snd_ctl_boolean_mono_info() close INNET; } +sub check_bool() +{ + my $file = "$kdir/include/linux/types.h"; + my $old_syntax = 1; + + open INDEP, "<$file" or die "File not found: $file"; + while () { + if (m/^\s*typedef.*bool;/) { + $old_syntax = 0; + last; + } + } + + if ($old_syntax) { + $out.= "\n#define NEED_BOOL_TYPE 1\n"; + } + close INDEP; +} + sub check_other_dependencies() { check_spin_lock(); check_sound_driver_h(); check_snd_ctl_boolean_mono_info(); check_snd_pcm_rate_to_rate_bit(); + check_bool(); } # Do the basic rules -- cgit v1.2.3