ÿØÿà JFIF ÿÛ „ ( %!1!%*+...983,7(-.-
PK J]"+ have_macro-i.rinu [ U:RDoc::AnyMethod[iI"have_macro:EFI"MakeMakefile#have_macro;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"KReturns whether or not +macro+ is defined either in the common header ;TI"/files or within any +headers+ you provide.;To:RDoc::Markup::BlankLine o;
; [I"DAny options you pass to +opt+ are passed along to the compiler.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I")(macro, headers = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]Q^ ^ with_config-i.rinu [ U:RDoc::AnyMethod[iI"with_config:EFI"MakeMakefile#with_config;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"=Tests for the presence of a --with-_config_ or ;TI"O--without-_config_ option. Returns +true+ if the with option is ;TI"Jgiven, +false+ if the without option is given, and the default value ;TI"otherwise.;To:RDoc::Markup::BlankLine o;
; [I"EThis can be useful for adding custom definitions, such as debug ;TI"information.;T@o;
; [I"
Example:;T@o:RDoc::Markup::Verbatim; [I"if with_config("debug")
;TI"H $defs.push("-DOSSL_DEBUG") unless $defs.include? "-DOSSL_DEBUG"
;TI"end;T:@format0:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below00I"config, default;T[ I"(config, default=nil);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]uW W append_cflags-i.rinu [ U:RDoc::AnyMethod[iI"append_cflags:ETI"MakeMakefile#append_cflags;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"JCheck whether each given C compiler flag is acceptable and append it ;TI"to $CFLAGS if so.;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type:
LABEL:@items[o:RDoc::Markup::ListItem:@label[I"+flags+;T; [o;
; [I":a C compiler flag as a +String+ or an +Array+ of them;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(flags, *opts);T@FI"MakeMakefile;TcRDoc::NormalModule00PK J]cT conftest_source-i.rinu [ U:RDoc::AnyMethod[iI"conftest_source:ETI"!MakeMakefile#conftest_source;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"MakeMakefile;TcRDoc::NormalModule00PK J] %5b%5d%3d-c.rinu [ U:RDoc::AnyMethod[iI"[]=:ETI"MakeMakefile::[]=;TT:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(name, mod);T@FI"MakeMakefile;TcRDoc::NormalModule00PK J]MC cdesc-MakeMakefile.rinu [ U:RDoc::NormalModule[iI"MakeMakefile:EF@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"Lmkmf.rb is used by Ruby C extensions to generate a Makefile which will ;TI"Jcorrectly compile and link the C extension to Ruby and a third-party ;TI"
library.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[ [U:RDoc::Constant[i I"CONFIG;FI"MakeMakefile::CONFIG;T00o;;[o; ;[I"LThe makefile configuration using the defaults from when Ruby was built.;T;
@;0@@cRDoc::NormalModule0U;[i I"ORIG_LIBPATH;FI"MakeMakefile::ORIG_LIBPATH;T00o;;[ ;
@;0@@@0U;[i I"
C_EXT;FI"MakeMakefile::C_EXT;T00o;;[o; ;[I"4Extensions for files compiled with a C compiler;T;
@;0@@@0U;[i I"CXX_EXT;FI"MakeMakefile::CXX_EXT;T00o;;[o; ;[I"6Extensions for files complied with a C++ compiler;T;
@;0@@@0U;[i I"SRC_EXT;FI"MakeMakefile::SRC_EXT;T00o;;[o; ;[I" Extensions for source files;T;
@;0@@@0U;[i I"HDR_EXT;FI"MakeMakefile::HDR_EXT;T00o;;[o; ;[I" Extensions for header files;T;
@;0@@@0U;[i I"EXPORT_PREFIX;FI" MakeMakefile::EXPORT_PREFIX;T00o;;[ ;
@;0@@@0U;[i I"COMMON_HEADERS;FI"!MakeMakefile::COMMON_HEADERS;T00o;;[o; ;[I")Common headers for Ruby C extensions;T;
@;0@@@0U;[i I"COMMON_LIBS;FI"MakeMakefile::COMMON_LIBS;T00o;;[o; ;[I"+Common libraries for Ruby C extensions;T;
@;0@@@0U;[i I"COMPILE_RULES;FI" MakeMakefile::COMPILE_RULES;T00o;;[o; ;[I"make compile rules;T;
@;0@@@0U;[i I"RULE_SUBST;FI"MakeMakefile::RULE_SUBST;T00o;;[ ;
@;0@@@0U;[i I"COMPILE_C;FI"MakeMakefile::COMPILE_C;T00o;;[o; ;[I"ACommand which will compile C files in the generated Makefile;T;
@;0@@@0U;[i I"COMPILE_CXX;FI"MakeMakefile::COMPILE_CXX;T00o;;[o; ;[I"CCommand which will compile C++ files in the generated Makefile;T;
@;0@@@0U;[i I"
TRY_LINK;FI"MakeMakefile::TRY_LINK;T00o;;[o; ;[I"LCommand which will compile a program in order to test linking a library;T;
@;0@@@0U;[i I"LINK_SO;FI"MakeMakefile::LINK_SO;T00o;;[o; ;[I"-Command which will link a shared library;T;
@;0@@@0U;[i I"LIBPATHFLAG;FI"MakeMakefile::LIBPATHFLAG;T00o;;[o; ;[I"9Argument which will add a library path to the linker;T;
@;0@@@0U;[i I"RPATHFLAG;FI"MakeMakefile::RPATHFLAG;T00o;;[ ;
@;0@@@0U;[i I"LIBARG;FI"MakeMakefile::LIBARG;T00o;;[o; ;[I"4Argument which will add a library to the linker;T;
@;0@@@0U;[i I"MAIN_DOES_NOTHING;FI"$MakeMakefile::MAIN_DOES_NOTHING;T00o;;[o; ;[I")A C main function which does no work;T;
@;0@@@0U;[i I"UNIVERSAL_INTS;FI"!MakeMakefile::UNIVERSAL_INTS;T00o;;[ ;
@;0@@@0U;[i I"CLEANINGS;FI"MakeMakefile::CLEANINGS;T00o;;[o; ;[I"AMakefile rules that will clean the extension build directory;T;
@;0@@@0[ [[I"
class;T[[:public[ [:protected[ [:private[ [I"
instance;T[[;
[[I"check_signedness;FI"lib/mkmf.rb;T[I"check_sizeof;F@[I"convertible_int;F@[I"create_header;F@[I"create_makefile;F@[I"depend_rules;F@[I"dir_config;F@[I"dummy_makefile;F@[I"enable_config;F@[I"find_executable;F@[I"find_header;F@[I"find_library;F@[I"find_type;F@[I"have_const;F@[I"have_framework;F@[I"have_func;F@[I"have_header;F@[I"have_library;F@[I"have_macro;F@[I"have_struct_member;F@[I"have_type;F@[I"
have_var;F@[I"pkg_config;F@[I"try_const;F@[I"
try_type;F@[I"with_config;F@[;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@@cRDoc::TopLevelPK J]?( depend_rules-i.rinu [ U:RDoc::AnyMethod[iI"depend_rules:EFI"MakeMakefile#depend_rules;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"OProcesses the data contents of the "depend" file. Each line of this file ;TI"#is expected to be a file name.;To:RDoc::Markup::BlankLine o;
; [I"8Returns the output of findings, in Makefile format.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"
(depend);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]< . %5b%5d-c.rinu [ U:RDoc::AnyMethod[iI"[]:ETI"MakeMakefile::[];TT:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(name);T@FI"MakeMakefile;TcRDoc::NormalModule00PK J]M have_header-i.rinu [ U:RDoc::AnyMethod[iI"have_header:EFI"MakeMakefile#have_header;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"QReturns whether or not the given +header+ file can be found on your system. ;TI"LIf found, a macro is passed as a preprocessor constant to the compiler ;TI"Fusing the header file name, in uppercase, prepended with +HAVE_+.;To:RDoc::Markup::BlankLine o;
; [I"OFor example, if have_header('foo.h') returned true, then the ;TI"E+HAVE_FOO_H+ preprocessor macro would be passed to the compiler.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"-(header, preheaders = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]Ɓ have_devel%3f-i.rinu [ U:RDoc::AnyMethod[iI"have_devel?:ETI"MakeMakefile#have_devel?;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"MakeMakefile;TcRDoc::NormalModule00PK J]YGV find_library-i.rinu [ U:RDoc::AnyMethod[iI"find_library:EFI"MakeMakefile#find_library;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"KReturns whether or not the entry point +func+ can be found within the ;TI"Nlibrary +lib+ in one of the +paths+ specified, where +paths+ is an array ;TI"Pof strings. If +func+ is +nil+ , then the main() function is ;TI"used as the entry point.;To:RDoc::Markup::BlankLine o;
; [I"NIf +lib+ is found, then the path it was found on is added to the list of ;TI"/library paths searched and linked against.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(lib, func, *paths, &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]
\| | create_makefile-i.rinu [ U:RDoc::AnyMethod[iI"create_makefile:EFI"!MakeMakefile#create_makefile;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"NGenerates the Makefile for your extension, passing along any options and ;TI"Npreprocessor constants that you may have generated through other methods.;To:RDoc::Markup::BlankLine o;
; [ I"NThe +target+ name should correspond the name of the global function name ;TI"Odefined within your C extension, minus the +Init_+. For example, if your ;TI"LC extension is defined as +Init_foo+, then your target would simply be ;TI""foo".;T@o;
; [ I"NIf any "/" characters are present in the target name, only the last name ;TI"Mis interpreted as the target name, and the rest are considered toplevel ;TI"Pdirectory names, and the generated Makefile will be altered accordingly to ;TI"%follow that directory structure.;T@o;
; [ I"OFor example, if you pass "test/foo" as a target name, your extension will ;TI"Kbe installed under the "test" directory. This means that in order to ;TI"Nload the file within a Ruby program later, that directory structure will ;TI"?have to be followed, e.g. require 'test/foo'.;T@o;
; [
I"OThe +srcprefix+ should be used when your source files are not in the same ;TI"Odirectory as your build script. This will not only eliminate the need for ;TI"Kyou to manually copy the source files into the same directory as your ;TI"Pbuild script, but it also sets the proper +target_prefix+ in the generated ;TI"Makefile.;T@o;
; [I"PSetting the +target_prefix+ will, in turn, install the generated binary in ;TI"Na directory under your RbConfig::CONFIG['sitearchdir'] that ;TI"Imimics your local filesystem when you run make install.;T@o;
; [I"0For example, given the following file tree:;T@o:RDoc::Markup::Verbatim; [ I"
ext/
;TI" extconf.rb
;TI"
test/
;TI" foo.c
;T:@format0o;
; [I""And given the following code:;T@o;; [I")create_makefile('test/foo', 'test')
;T;
0o;
; [I"LThat will set the +target_prefix+ in the generated Makefile to "test". ;TI"OThat, in turn, will create the following file tree when installed via the ;TI"'make install command:;T@o;; [I"+/path/to/ruby/sitearchdir/test/foo.so
;T;
0o;
; [I"NIt is recommended that you use this approach to generate your makefiles, ;TI"Hinstead of copying files around manually, because some third party ;TI"Dlibraries may depend on the +target_prefix+ being set properly.;T@o;
; [I"IThe +srcprefix+ argument can be used to override the default source ;TI"Kdirectory, i.e. the current directory. It is included as part of the ;TI"1+VPATH+ and added to the list of +INCFLAGS+.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below00I" conf;T[ I"(target, srcprefix = nil);T@OFI"MakeMakefile;FcRDoc::NormalModule00PK J]em{ check_signedness-i.rinu [ U:RDoc::AnyMethod[iI"check_signedness:EFI""MakeMakefile#check_signedness;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"MReturns the signedness of the given +type+. You may optionally specify ;TI"6additional +headers+ to search in for the +type+.;To:RDoc::Markup::BlankLine o;
; [
I"JIf the +type+ is found and is a numeric type, a macro is passed as a ;TI"Ppreprocessor constant to the compiler using the +type+ name, in uppercase, ;TI"Oprepended with +SIGNEDNESS_OF_+, followed by the +type+ name, followed by ;TI"M=X where "X" is positive integer if the +type+ is unsigned ;TI"4and a negative integer if the +type+ is signed.;T@o;
; [
I";For example, if +size_t+ is defined as unsigned, then ;TI"Echeck_signedness('size_t') would return +1 and the ;TI"PSIGNEDNESS_OF_SIZE_T=+1 preprocessor macro would be passed to ;TI"Mthe compiler. The SIGNEDNESS_OF_INT=-1 macro would be set ;TI"-for check_signedness('int');T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"*(type, headers = nil, opts = nil, &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]Hm- find_header-i.rinu [ U:RDoc::AnyMethod[iI"find_header:EFI"MakeMakefile#find_header;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"KInstructs mkmf to search for the given +header+ in any of the +paths+ ;TI"Fprovided, and returns whether or not it was found in those paths.;To:RDoc::Markup::BlankLine o;
; [I"OIf the header is found then the path it was found on is added to the list ;TI"Dof included directories that are sent to the compiler (via the ;TI"-I switch).;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(header, *paths);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]k{|s s have_const-i.rinu [ U:RDoc::AnyMethod[iI"have_const:EFI"MakeMakefile#have_const;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"FReturns whether or not the constant +const+ is defined. You may ;TI"Joptionally pass the +type+ of +const+ as [const, type], ;TI"
such as:;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim; [I"Lhave_const(%w[PTHREAD_MUTEX_INITIALIZER pthread_mutex_t], "pthread.h")
;T:@format0o;
; [I"PYou may also pass additional +headers+ to check against in addition to the ;TI"Ncommon header files, and additional flags to +opt+ which are then passed ;TI"along to the compiler.;T@o;
; [I"LIf found, a macro is passed as a preprocessor constant to the compiler ;TI"Eusing the type name, in uppercase, prepended with +HAVE_CONST_+.;T@o;
; [I"LFor example, if have_const('foo') returned true, then the ;TI"I+HAVE_CONST_FOO+ preprocessor macro would be passed to the compiler.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I")(const, headers = nil, opt = "", &b);T@!FI"MakeMakefile;FcRDoc::NormalModule00PK J]Bsp
try_type-i.rinu [ U:RDoc::AnyMethod[iI"
try_type:EFI"MakeMakefile#try_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I">Returns whether or not the static type +type+ is defined.;To:RDoc::Markup::BlankLine o;
; [I"See also +have_type+;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"((type, headers = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J] cc_command-i.rinu [ U:RDoc::AnyMethod[iI"cc_command:ETI"MakeMakefile#cc_command;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"
(opt="");T@FI"MakeMakefile;TcRDoc::NormalModule00PK J]iBRM pkg_config-i.rinu [ U:RDoc::AnyMethod[iI"pkg_config:EFI"MakeMakefile#pkg_config;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"FReturns compile/link information about an installed library in a ;TI"Atuple of [cflags, ldflags, libs], by using the ;TI"3command found first in the following commands:;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type:NUMBER:@items[o:RDoc::Markup::ListItem:@label0; [o;
; [I"@If --with-{pkg}-config={command} is given via ;TI"9command line option: {command} {option};T@o;;0; [o;
; [I"'{pkg}-config {option};T@o;;0; [o;
; [I"+pkg-config {option} {pkg};T@o;
; [I"--cflags.;T@o;
; [I"CThe values obtained are appended to +$CFLAGS+, +$LDFLAGS+ and ;TI"
+$libs+.;T@o;
; [I"HIf an option argument is given, the config command is ;TI"Finvoked with the option and a stripped output string is returned ;TI"@without modifying any of the global values mentioned above.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(pkg, option=nil);T@/FI"MakeMakefile;FcRDoc::NormalModule00PK J]v6 dir_config-i.rinu [ U:RDoc::AnyMethod[iI"dir_config:EFI"MakeMakefile#dir_config;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [ I"JSets a +target+ name that the user can then use to configure various ;TI"O"with" options with on the command line by using that name. For example, ;TI"@if the target is set to "foo", then the user could use the ;TI"5--with-foo-dir command line option.;To:RDoc::Markup::BlankLine o;
; [I"GYou may pass along additional "include" or "lib" defaults via the ;TI"8+idefault+ and +ldefault+ parameters, respectively.;T@o;
; [I"HNote that dir_config only adds to the list of places to search for ;TI"Llibraries and include files. It does not link the libraries into your ;TI"application.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I")(target, idefault=nil, ldefault=nil);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]b^c c convertible_int-i.rinu [ U:RDoc::AnyMethod[iI"convertible_int:EFI"!MakeMakefile#convertible_int;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [ I"HReturns the convertible integer type of the given +type+. You may ;TI"Joptionally specify additional +headers+ to search in for the +type+. ;TI"L_convertible_ means actually the same type, or typedef'd from the same ;TI"
type.;To:RDoc::Markup::BlankLine o;
; [I"JIf the +type+ is a integer type and the _convertible_ type is found, ;TI"Othe following macros are passed as preprocessor constants to the compiler ;TI")using the +type+ name, in uppercase.;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0; [o;
; [I"I+TYPEOF_+, followed by the +type+ name, followed by =X ;TI"4where "X" is the found _convertible_ type name.;To;;0; [o;
; [ I"+TYP2NUM+ and +NUM2TYP+, ;TI"Hwhere +TYP+ is the +type+ name in uppercase with replacing an +_t+ ;TI"Nsuffix with "T", followed by =X where "X" is the macro name ;TI"convertible_int("foobar_t") would return "unsigned long", and ;TI"define these macros:;T@o:RDoc::Markup::Verbatim; [I"+#define TYPEOF_FOOBAR_T unsigned long
;TI"##define FOOBART2NUM ULONG2NUM
;TI""#define NUM2FOOBART NUM2ULONG;T:@format0:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"*(type, headers = nil, opts = nil, &b);T@1FI"MakeMakefile;FcRDoc::NormalModule00PK J]qh h enable_config-i.rinu [ U:RDoc::AnyMethod[iI"enable_config:EFI"MakeMakefile#enable_config;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"@Tests for the presence of an --enable-_config_ or ;TI"P--disable-_config_ option. Returns +true+ if the enable option is ;TI"Jgiven, +false+ if the disable option is given, and the default value ;TI"otherwise.;To:RDoc::Markup::BlankLine o;
; [I"EThis can be useful for adding custom definitions, such as debug ;TI"information.;T@o;
; [I"
Example:;T@o:RDoc::Markup::Verbatim; [I"if enable_config("debug")
;TI"H $defs.push("-DOSSL_DEBUG") unless $defs.include? "-DOSSL_DEBUG"
;TI"end;T:@format0:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below00I"config, default;T[ I"(config, default=nil);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]u
have_type-i.rinu [ U:RDoc::AnyMethod[iI"have_type:EFI"MakeMakefile#have_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"HReturns whether or not the static type +type+ is defined. You may ;TI"Noptionally pass additional +headers+ to check against in addition to the ;TI"common header files.;To:RDoc::Markup::BlankLine o;
; [I"PYou may also pass additional flags to +opt+ which are then passed along to ;TI"the compiler.;T@o;
; [I"LIf found, a macro is passed as a preprocessor constant to the compiler ;TI"Dusing the type name, in uppercase, prepended with +HAVE_TYPE_+.;T@o;
; [I"KFor example, if have_type('foo') returned true, then the ;TI"H+HAVE_TYPE_FOO+ preprocessor macro would be passed to the compiler.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"((type, headers = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]x have_func-i.rinu [ U:RDoc::AnyMethod[iI"have_func:EFI"MakeMakefile#have_func;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [ I"KReturns whether or not the function +func+ can be found in the common ;TI"Pheader files, or within any +headers+ that you provide. If found, a macro ;TI"Mis passed as a preprocessor constant to the compiler using the function ;TI"0name, in uppercase, prepended with +HAVE_+.;To:RDoc::Markup::BlankLine o;
; [I"ITo check functions in an additional library, you need to check that ;TI"Klibrary first using have_library(). The +func+ shall be ;TI"?either mere function name or function name with arguments.;T@o;
; [I"MFor example, if have_func('foo') returned +true+, then the ;TI"C+HAVE_FOO+ preprocessor macro would be passed to the compiler.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"((func, headers = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]N have_library-i.rinu [ U:RDoc::AnyMethod[iI"have_library:EFI"MakeMakefile#have_library;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [ I"MReturns whether or not the given entry point +func+ can be found within ;TI"P+lib+. If +func+ is +nil+, the main() entry point is used by ;TI"Mdefault. If found, it adds the library to list of libraries to be used ;TI"!when linking your extension.;To:RDoc::Markup::BlankLine o;
; [I"JIf +headers+ are provided, it will include those header files as the ;TI"8header files it looks in when searching for +func+.;T@o;
; [I"AThe real name of the library to be linked can be altered by ;TI"5--with-FOOlib configuration option.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"3(lib, func = nil, headers = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]q q Logging/cdesc-Logging.rinu [ U:RDoc::NormalModule[iI"Logging:EFI"MakeMakefile::Logging;T0o:RDoc::Markup::Document:@parts[ :
@file0:0@omit_headings_from_table_of_contents_below0[ [ [ [[I"
class;T[[:public[ [:protected[ [:private[ [I"
instance;T[[;[ [;[ [;
[ [ [U:RDoc::Context::Section[i 0o;;[ ; 0;
0[I"lib/mkmf.rb;TI"MakeMakefile;FcRDoc::NormalModulePK J])l]
have_var-i.rinu [ U:RDoc::AnyMethod[iI"
have_var:EFI"MakeMakefile#have_var;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [ I"JReturns whether or not the variable +var+ can be found in the common ;TI"Pheader files, or within any +headers+ that you provide. If found, a macro ;TI"Mis passed as a preprocessor constant to the compiler using the variable ;TI"0name, in uppercase, prepended with +HAVE_+.;To:RDoc::Markup::BlankLine o;
; [I"ITo check variables in an additional library, you need to check that ;TI"5library first using have_library().;T@o;
; [I"JFor example, if have_var('foo') returned true, then the ;TI"C+HAVE_FOO+ preprocessor macro would be passed to the compiler.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"'(var, headers = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]U check_sizeof-i.rinu [ U:RDoc::AnyMethod[iI"check_sizeof:EFI"MakeMakefile#check_sizeof;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"GReturns the size of the given +type+. You may optionally specify ;TI"6additional +headers+ to search in for the +type+.;To:RDoc::Markup::BlankLine o;
; [I"LIf found, a macro is passed as a preprocessor constant to the compiler ;TI"Nusing the type name, in uppercase, prepended with +SIZEOF_+, followed by ;TI"Mthe type name, followed by =X where "X" is the actual size.;T@o;
; [I"MFor example, if check_sizeof('mystruct') returned 12, then ;TI"Othe SIZEOF_MYSTRUCT=12 preprocessor macro would be passed to ;TI"the compiler.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I")(type, headers = nil, opts = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]>F have_framework-i.rinu [ U:RDoc::AnyMethod[iI"have_framework:EFI" MakeMakefile#have_framework;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"OReturns whether or not the given +framework+ can be found on your system. ;TI"LIf found, a macro is passed as a preprocessor constant to the compiler ;TI"Nusing the framework name, in uppercase, prepended with +HAVE_FRAMEWORK_+.;To:RDoc::Markup::BlankLine o;
; [I"MFor example, if have_framework('Ruby') returned true, then ;TI"Ithe +HAVE_FRAMEWORK_RUBY+ preprocessor macro would be passed to the ;TI"compiler.;T@o;
; [I"FIf +fw+ is a pair of the framework name and its header file name ;TI"Fthat header file is checked, instead of the normally used header ;TI"/file which is named same as the framework.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"
(fw, &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]f find_type-i.rinu [ U:RDoc::AnyMethod[iI"find_type:EFI"MakeMakefile#find_type;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"5Returns where the static type +type+ is defined.;To:RDoc::Markup::BlankLine o;
; [I"PYou may also pass additional flags to +opt+ which are then passed along to ;TI"the compiler.;T@o;
; [I"See also +have_type+.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(type, opt, *headers, &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]c" link_command-i.rinu [ U:RDoc::AnyMethod[iI"link_command:ETI"MakeMakefile#link_command;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(ldflags, *opts);T@FI"MakeMakefile;TcRDoc::NormalModule00PK J]ms s RbConfig/cdesc-RbConfig.rinu [ U:RDoc::NormalModule[iI"
RbConfig:EFI"MakeMakefile::RbConfig;T0o:RDoc::Markup::Document:@parts[ :
@file0:0@omit_headings_from_table_of_contents_below0[ [ [ [[I"
class;T[[:public[ [:protected[ [:private[ [I"
instance;T[[;[ [;[ [;
[ [ [U:RDoc::Context::Section[i 0o;;[ ; 0;
0[I"lib/mkmf.rb;TI"MakeMakefile;FcRDoc::NormalModulePK J]]> find_executable-i.rinu [ U:RDoc::AnyMethod[iI"find_executable:EFI"!MakeMakefile#find_executable;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"LSearches for the executable +bin+ on +path+. The default path is your ;TI"K+PATH+ environment variable. If that isn't defined, it will resort to ;TI";searching /usr/local/bin, /usr/ucb, /usr/bin and /bin.;To:RDoc::Markup::BlankLine o;
; [I"OIf found, it will return the full path, including the executable name, of ;TI"where it was found.;T@o;
; [I"KNote that this method does not actually affect the generated Makefile.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(bin, path = nil);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J] create_header-i.rinu [ U:RDoc::AnyMethod[iI"create_header:EFI"MakeMakefile#create_header;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"IGenerates a header file consisting of the various macro definitions ;TI"Mgenerated by other methods such as have_func and have_header. These are ;TI"Nthen wrapped in a custom #ifndef based on the +header+ file ;TI")name, which defaults to "extconf.h".;To:RDoc::Markup::BlankLine o;
; [I"For example:;T@o:RDoc::Markup::Verbatim; [I"# extconf.rb
;TI"require 'mkmf'
;TI"have_func('realpath')
;TI" have_header('sys/utime.h')
;TI"create_header
;TI"create_makefile('foo')
;T:@format0o;
; [I"BThe above script would generate the following extconf.h file:;T@o;; [
I"#ifndef EXTCONF_H
;TI"#define EXTCONF_H
;TI"#define HAVE_REALPATH 1
;TI" #define HAVE_SYS_UTIME_H 1
;TI"#endif
;T;
0o;
; [I"OGiven that the create_header method generates a file based on definitions ;TI"Nset earlier in your extconf.rb file, you will probably want to make this ;TI"5one of the last methods you call in your script.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(header = "extconf.h");T@,FI"MakeMakefile;FcRDoc::NormalModule00PK J]y?oN N have_struct_member-i.rinu [ U:RDoc::AnyMethod[iI"have_struct_member:EFI"$MakeMakefile#have_struct_member;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"MReturns whether or not the struct of type +type+ contains +member+. If ;TI"Mit does not, or the struct type can't be found, then false is returned. ;TI"NYou may optionally specify additional +headers+ in which to look for the ;TI"5struct (in addition to the common header files).;To:RDoc::Markup::BlankLine o;
; [I"LIf found, a macro is passed as a preprocessor constant to the compiler ;TI"Kusing the type name and the member name, in uppercase, prepended with ;TI"
+HAVE_+.;T@o;
; [I"JFor example, if have_struct_member('struct foo', 'bar') ;TI"Oreturned true, then the +HAVE_STRUCT_FOO_BAR+ preprocessor macro would be ;TI"passed to the compiler.;T@o;
; [I">+HAVE_ST_BAR+ is also defined for backward compatibility.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"0(type, member, headers = nil, opt = "", &b);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]lwA A dummy_makefile-i.rinu [ U:RDoc::AnyMethod[iI"dummy_makefile:EFI" MakeMakefile#dummy_makefile;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"creates a stub Makefile.;T:
@fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[ I"
(srcdir);T@FI"MakeMakefile;FcRDoc::NormalModule00PK J]5u try_const-i.rinu [ U:RDoc::AnyMethod[iI"try_const:EFI"MakeMakefile#try_const;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"