48 lines
977 B
Ruby
Executable File
48 lines
977 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
#
|
|
# This script verifies that every source includes config.h first.
|
|
# This is very important for consistent Large File Support.
|
|
#
|
|
|
|
def check_file(file)
|
|
first = true
|
|
file.each_line do |line|
|
|
if line =~ /^\#include\s+(\S+)/ then
|
|
if $1 == '"config.h"'
|
|
unless first
|
|
puts "#{file.path}: config.h included too late"
|
|
end
|
|
else
|
|
if first
|
|
puts "#{file.path}: config.h missing"
|
|
end
|
|
end
|
|
first = false
|
|
end
|
|
end
|
|
end
|
|
|
|
def check_path(path)
|
|
File.open(path) do |file|
|
|
check_file(file)
|
|
end
|
|
end
|
|
|
|
if ARGV.empty?
|
|
Dir["src/*.c"].each do |path|
|
|
check_path(path)
|
|
end
|
|
|
|
Dir["src/*/*.c"].each do |path|
|
|
check_path(path)
|
|
end
|
|
|
|
Dir["test/*.c"].each do |path|
|
|
check_path(path)
|
|
end
|
|
else
|
|
ARGV.each do |path|
|
|
check_path(path)
|
|
end
|
|
end
|