Initial commit.
[ruby-vorbistagger.git] / rake / gcc4test.rb
1 #
2 # Copyright (c) 2006 Tilman Sauerbeck (tilman at code-monkey de)
3 #
4 # Permission is hereby granted, free of charge, to any person obtaining
5 # a copy of this software and associated documentation files (the
6 # "Software"), to deal in the Software without restriction, including
7 # without limitation the rights to use, copy, modify, merge, publish,
8 # distribute, sublicense, and/or sell copies of the Software, and to
9 # permit persons to whom the Software is furnished to do so, subject to
10 # the following conditions:
11 #
12 # The above copyright notice and this permission notice shall be
13 # included in all copies or substantial portions of the Software.
14 #
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23 module Rake
24         class ConfigureTask
25                 class Gcc4Test < CompileTest
26                         def initialize(name)
27                                 code =<<EOF
28 void
29 #ifdef __GNUC__
30 # if __GNUC__ >= 4
31 foo() {};
32 # endif
33 #endif
34 EOF
35                                 super(name, code)
36
37                                 @on_checking << lambda do
38                                         print "checking for gcc >= 4... "
39                                         STDOUT.flush
40                                 end
41
42                                 @on_success << lambda { puts "yes" }
43                                 @on_failure << lambda { puts "no" }
44                         end
45                 end
46         end
47 end