APIdock / Ruby
/
method

create_header

ruby latest stable - Class: Object

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v1_9_3_392) is shown here.

create_header(header = "extconf.h")
public

Generates a header file consisting of the various macro definitions generated by other methods such as have_func and have_header. These are then wrapped in a custom #ifndef based on the header file name, which defaults to ‘extconf.h’.

For example:

# extconf.rb
require 'mkmf'
have_func ('realpath')
have_header ('sys/utime.h')
create_header 
create_makefile ('foo')

The above script would generate the following extconf.h file:

#ifndef EXTCONF_H
#define EXTCONF_H
#define HAVE_REALPATH 1
#define HAVE_SYS_UTIME_H 1
#endif

Given that the create_header method generates a file based on definitions set earlier in your extconf.rb file, you will probably want to make this one of the last methods you call in your script.

# File lib/mkmf.rb, line 1486
def create_header(header = "extconf.h")
 message "creating %s\n", header
 sym = header.tr_cpp
 hdr = ["#ifndef #{sym}\n#define #{sym}\n"]
 for line in $defs
 case line
 when /^-D([^=]+)(?:=(.*))?/
 hdr << "#define #1ドル #{2ドル ? Shellwords.shellwords(2ドル)[0].gsub(/(?=\t+)/, "\\\n") : 1}\n"
 when /^-U(.*)/
 hdr << "#undef #1ドル\n"
 end
 end
 hdr << "#endif\n"
 hdr = hdr.join
 log_src(hdr, "#{header} is")
 unless (IO.read(header) == hdr rescue false)
 open(header, "wb") do |hfile|
 hfile.write(hdr)
 end
 end
 $extconf_h = header
end

AltStyle によって変換されたページ (->オリジナル) /