BasicObject
Seems like lots of people have multiple versions of ImageMagick installed.
# File ext/RMagick/extconf.rb, line 52 def check_multiple_imagemagick_versions() versions = [] path = ENV['PATH'].split(File::PATH_SEPARATOR) path.each do |dir| file = File.join(dir, "Magick-config") if File.executable? file vers = `#{file} --version`.chomp.strip prefix = `#{file} --prefix`.chomp.strip versions << [vers, prefix, dir] end end versions.uniq! if versions.size > 1 msg = "\nWarning: Found more than one ImageMagick installation. This could cause problems at runtime.\n" versions.each do |vers, prefix, dir| msg << " #{dir}/Magick-config reports version #{vers} is installed in #{prefix}\n" end msg << "Using #{versions[0][0]} from #{versions[0][1]}.\n\n" Logging::message msg message msg end end
Ubuntu (maybe other systems) comes with a partial installation of ImageMagick in the prefix /usr (some libraries, no includes, and no binaries). This causes problems when /usr/lib is in the path (e.g., using the default Ruby installation).
# File ext/RMagick/extconf.rb, line 80 def check_partial_imagemagick_versions() prefix = config_string("prefix") matches = [ prefix+"/lib/lib?agick*", prefix+"/include/ImageMagick", prefix+"/bin/Magick-config", ].map do |file_glob| Dir.glob(file_glob) end matches.delete_if { |arr| arr.empty? } if 0 < matches.length and matches.length < 3 msg = "\nWarning: Found a partial ImageMagick installation. Your operating system likely has some built-in ImageMagick libraries but not all of ImageMagick. This will most likely cause problems at both compile and runtime.\nFound partial installation at: "+prefix+"\n" Logging::message msg message msg end end
# File ext/RMagick/extconf.rb, line 42 def exit_failure(msg) Logging::message msg message msg+"\n" exit(1) end
Test for a specific value in an enum type
# File ext/RMagick/extconf.rb, line 13 def have_enum_value(enum, value, headers=nil, &b) checking_for "#{enum}.#{value}" do if try_compile(#{COMMON_HEADERS}#{cpp_include(headers)}/*top*/int main() { #{enum} t = #{value}; t = t; return 0; }, &b) $defs.push(format("-DHAVE_ENUM_%s", value.upcase)) true else false end end end
Generated with the Darkfish Rdoc Generator 2.