ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- have_macro-i.ri000064400000001036152353513000007427 0ustar00U:RDoc::AnyMethod[iI"have_macro:ETI"MakeMakefile#have_macro;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00with_config-i.ri000064400000001537152353513000007631 0ustar00U:RDoc::AnyMethod[iI"with_config:ETI"MakeMakefile#with_config;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00append_cflags-i.ri000064400000001127152353513000010112 0ustar00U: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::BlankLineo: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::NormalModule00conftest_source-i.ri000064400000000400152353513000010522 0ustar00U: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::NormalModule00%5b%5d%3d-c.ri000064400000000362152353513000006463 0ustar00U: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::NormalModule00cdesc-MakeMakefile.ri000064400000010763152353513000010476 0ustar00U:RDoc::NormalModule[iI"MakeMakefile:ET@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[iI" CONFIG;TI"MakeMakefile::CONFIG;T: public0o;;[o; ;[I"LThe makefile configuration using the defaults from when Ruby was built.;T; @; 0@@cRDoc::NormalModule0U; [iI"ORIG_LIBPATH;TI"MakeMakefile::ORIG_LIBPATH;T; 0o;;[; @; 0@@@0U; [iI" C_EXT;TI"MakeMakefile::C_EXT;T; 0o;;[o; ;[I"4Extensions for files compiled with a C compiler;T; @; 0@@@0U; [iI" CXX_EXT;TI"MakeMakefile::CXX_EXT;T; 0o;;[o; ;[I"6Extensions for files compiled with a C++ compiler;T; @; 0@@@0U; [iI" SRC_EXT;TI"MakeMakefile::SRC_EXT;T; 0o;;[o; ;[I" Extensions for source files;T; @; 0@@@0U; [iI" HDR_EXT;TI"MakeMakefile::HDR_EXT;T; 0o;;[o; ;[I" Extensions for header files;T; @; 0@@@0U; [iI"EXPORT_PREFIX;TI" MakeMakefile::EXPORT_PREFIX;T; 0o;;[; @; 0@@@0U; [iI"COMMON_HEADERS;TI"!MakeMakefile::COMMON_HEADERS;T; 0o;;[o; ;[I")Common headers for Ruby C extensions;T; @; 0@@@0U; [iI"COMMON_LIBS;TI"MakeMakefile::COMMON_LIBS;T; 0o;;[o; ;[I"+Common libraries for Ruby C extensions;T; @; 0@@@0U; [iI"COMPILE_RULES;TI" MakeMakefile::COMPILE_RULES;T; 0o;;[o; ;[I"make compile rules;T; @; 0@@@0U; [iI"RULE_SUBST;TI"MakeMakefile::RULE_SUBST;T; 0o;;[; @; 0@@@0U; [iI"COMPILE_C;TI"MakeMakefile::COMPILE_C;T; 0o;;[o; ;[I"ACommand which will compile C files in the generated Makefile;T; @; 0@@@0U; [iI"COMPILE_CXX;TI"MakeMakefile::COMPILE_CXX;T; 0o;;[o; ;[I"CCommand which will compile C++ files in the generated Makefile;T; @; 0@@@0U; [iI"ASSEMBLE_C;TI"MakeMakefile::ASSEMBLE_C;T; 0o;;[o; ;[I"XCommand which will translate C files to assembler sources in the generated Makefile;T; @; 0@@@0U; [iI"ASSEMBLE_CXX;TI"MakeMakefile::ASSEMBLE_CXX;T; 0o;;[o; ;[I"ZCommand which will translate C++ files to assembler sources in the generated Makefile;T; @; 0@@@0U; [iI" TRY_LINK;TI"MakeMakefile::TRY_LINK;T; 0o;;[o; ;[I"LCommand which will compile a program in order to test linking a library;T; @; 0@@@0U; [iI" LINK_SO;TI"MakeMakefile::LINK_SO;T; 0o;;[o; ;[I"-Command which will link a shared library;T; @; 0@@@0U; [iI"LIBPATHFLAG;TI"MakeMakefile::LIBPATHFLAG;T; 0o;;[o; ;[I"9Argument which will add a library path to the linker;T; @; 0@@@0U; [iI"RPATHFLAG;TI"MakeMakefile::RPATHFLAG;T; 0o;;[; @; 0@@@0U; [iI" LIBARG;TI"MakeMakefile::LIBARG;T; 0o;;[o; ;[I"4Argument which will add a library to the linker;T; @; 0@@@0U; [iI"MAIN_DOES_NOTHING;TI"$MakeMakefile::MAIN_DOES_NOTHING;T; 0o;;[o; ;[I")A C main function which does no work;T; @; 0@@@0U; [iI"UNIVERSAL_INTS;TI"!MakeMakefile::UNIVERSAL_INTS;T; 0o;;[; @; 0@@@0U; [iI"CLEANINGS;TI"MakeMakefile::CLEANINGS;T; 0o;;[o; ;[I"AMakefile rules that will clean the extension build directory;T; @; 0@@@0U; [iI"CONFTEST_CXX;TI"MakeMakefile::CONFTEST_CXX;T; 0o;;[; @; 0@@@0U; [iI"TRY_LINK_CXX;TI"MakeMakefile::TRY_LINK_CXX;T; 0o;;[; @; 0@@@0[[I"MakeMakefile;To;;[; @; 0I"lib/mkmf.rb;T[[I" class;T[[; [[:protected[[: private[[I"[];T@á[I"[]=;T@á[I" instance;T[[; [[;[[;[$[I"append_cflags;T@á[I"cc_command;T@á[I"check_signedness;T@á[I"check_sizeof;T@á[I"conftest_source;T@á[I"convertible_int;T@á[I"create_header;T@á[I"create_makefile;T@á[I"depend_rules;T@á[I"dir_config;T@á[I"dummy_makefile;T@á[I"enable_config;T@á[I"find_executable;T@á[I"find_header;T@á[I"find_library;T@á[I"find_type;T@á[I"have_const;T@á[I"have_devel?;T@á[I"have_framework;T@á[I"have_func;T@á[I"have_header;T@á[I"have_library;T@á[I"have_macro;T@á[I"have_struct_member;T@á[I"have_type;T@á[I" have_var;T@á[I"link_command;T@á[I"pkg_config;T@á[I"try_const;T@á[I" try_type;T@á[I"with_config;T@á[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"lib/mkmf.rb;T@cRDoc::TopLeveldepend_rules-i.ri000064400000000762152353513000010001 0ustar00U:RDoc::AnyMethod[iI"depend_rules:ETI"MakeMakefile#depend_rules;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00%5b%5d-c.ri000064400000000353152353513000006167 0ustar00U: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::NormalModule00have_header-i.ri000064400000001341152353513000007555 0ustar00U:RDoc::AnyMethod[iI"have_header:ETI"MakeMakefile#have_header;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00have_devel%3f-i.ri000064400000000370152353513000007723 0ustar00U: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::NormalModule00find_library-i.ri000064400000001340152353513000007765 0ustar00U:RDoc::AnyMethod[iI"find_library:ETI"MakeMakefile#find_library;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00create_makefile-i.ri000064400000005575152353513000010437 0ustar00U:RDoc::AnyMethod[iI"create_makefile:ETI"!MakeMakefile#create_makefile;TF: privateo: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::BlankLineo; ; [ 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;TcRDoc::NormalModule00check_signedness-i.ri000064400000002300152353513000010615 0ustar00U:RDoc::AnyMethod[iI"check_signedness:ETI""MakeMakefile#check_signedness;TF: privateo: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::BlankLineo; ; [ 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;TcRDoc::NormalModule00find_header-i.ri000064400000001223152353513000007551 0ustar00U:RDoc::AnyMethod[iI"find_header:ETI"MakeMakefile#find_header;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00have_const-i.ri000064400000002164152353513000007457 0ustar00U:RDoc::AnyMethod[iI"have_const:ETI"MakeMakefile#have_const;TF: privateo: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::BlankLineo: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;TcRDoc::NormalModule00try_type-i.ri000064400000000660152353513000007204 0ustar00U:RDoc::AnyMethod[iI" try_type:ETI"MakeMakefile#try_type;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I">Returns whether or not the static type +type+ is defined.;To:RDoc::Markup::BlankLineo; ; [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;TcRDoc::NormalModule00cc_command-i.ri000064400000000374152353513000007412 0ustar00U: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::NormalModule00pkg_config-i.ri000064400000002545152353513000007437 0ustar00U:RDoc::AnyMethod[iI"pkg_config:ETI"MakeMakefile#pkg_config;TF: privateo:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"^Returns compile/link information about an installed library in a tuple of [cflags, ;TI"Wldflags, libs], by using the command found first in the following commands:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List: @type: NUMBER: @items[o:RDoc::Markup::ListItem: @label0; [o; ; [I"@If --with-{pkg}-config={command} is given via ;TI":command line option: {command} {options};T@o;;0; [o; ; [I"({pkg}-config {options};T@o;;0; [o; ; [I",pkg-config {options} {pkg};T@o; ; [I"cWhere +options+ is the option name without dashes, for instance "cflags" for the ;TI" --cflags flag.;T@o; ; [I"WThe values obtained are appended to $INCFLAGS, $CFLAGS, ;TI"2$LDFLAGS and $libs.;T@o; ; [I"RIf one or more options argument is given, the config command is ;TI"Oinvoked with the options and a stripped output string is returned without ;TI"8modifying any of the global values mentioned above.;T: @fileI"lib/mkmf.rb;T:0@omit_headings_from_table_of_contents_below000[I"(pkg, *options);T@/FI"MakeMakefile;TcRDoc::NormalModule00dir_config-i.ri000064400000002756152353513000007440 0ustar00U:RDoc::AnyMethod[iI"dir_config:ETI"MakeMakefile#dir_config;TF: privateo:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [ I"BSets a +target+ name that the user can then use to configure ;TI"Cvarious "with" options with on the command line by using that ;TI"Fname. For example, if the target is set to "foo", then the user ;TI"7could use the --with-foo-dir=prefix, ;TI"---with-foo-include=dir and ;TI"H--with-foo-lib=dir command line options to tell where ;TI"(to search for header/library files.;To:RDoc::Markup::BlankLineo; ; [ I"AYou may pass along additional parameters to specify default ;TI"Fvalues. If one is given it is taken as default +prefix+, and if ;TI"Etwo are given they are taken as "include" and "lib" defaults in ;TI"that order.;T@o; ; [ I"BIn any case, the return value will be an array of determined ;TI"G"include" and "lib" directories, either of which can be nil if no ;TI"Fcorresponding command line option is given when no default value ;TI"is specified.;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_below0I"Zdir_config(target) dir_config(target, prefix) dir_config(target, idefault, ldefault) ;T0[I")(target, idefault=nil, ldefault=nil);T@&FI"MakeMakefile;TcRDoc::NormalModule00convertible_int-i.ri000064400000003145152353513000010514 0ustar00U:RDoc::AnyMethod[iI"convertible_int:ETI"!MakeMakefile#convertible_int;TF: privateo: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::BlankLineo; ; [I"KIf the +type+ is an 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;TcRDoc::NormalModule00enable_config-i.ri000064400000001551152353513000010100 0ustar00U:RDoc::AnyMethod[iI"enable_config:ETI"MakeMakefile#enable_config;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00have_type-i.ri000064400000001661152353513000007313 0ustar00U:RDoc::AnyMethod[iI"have_type:ETI"MakeMakefile#have_type;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00have_func-i.ri000064400000001756152353513000007272 0ustar00U:RDoc::AnyMethod[iI"have_func:ETI"MakeMakefile#have_func;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00have_library-i.ri000064400000001605152353513000007774 0ustar00U:RDoc::AnyMethod[iI"have_library:ETI"MakeMakefile#have_library;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00Logging/cdesc-Logging.ri000064400000000561152353513000011132 0ustar00U:RDoc::NormalModule[iI" Logging:ETI"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[i0o;;[; 0; 0[I"lib/mkmf.rb;TI"MakeMakefile;TcRDoc::NormalModulehave_var-i.ri000064400000001620152353513000007115 0ustar00U:RDoc::AnyMethod[iI" have_var:ETI"MakeMakefile#have_var;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00check_sizeof-i.ri000064400000001612152353513000007757 0ustar00U:RDoc::AnyMethod[iI"check_sizeof:ETI"MakeMakefile#check_sizeof;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00have_framework-i.ri000064400000001652152353513000010327 0ustar00U:RDoc::AnyMethod[iI"have_framework:ETI" MakeMakefile#have_framework;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00find_type-i.ri000064400000001020152353513000007275 0ustar00U:RDoc::AnyMethod[iI"find_type:ETI"MakeMakefile#find_type;TF: privateo:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"5Returns where the static type +type+ is defined.;To:RDoc::Markup::BlankLineo; ; [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;TcRDoc::NormalModule00link_command-i.ri000064400000000410152353513000007751 0ustar00U: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::NormalModule00RbConfig/cdesc-RbConfig.ri000064400000000563152353513000011342 0ustar00U:RDoc::NormalModule[iI" RbConfig:ETI"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[i0o;;[; 0; 0[I"lib/mkmf.rb;TI"MakeMakefile;TcRDoc::NormalModulefind_executable-i.ri000064400000001353152353513000010446 0ustar00U:RDoc::AnyMethod[iI"find_executable:ETI"!MakeMakefile#find_executable;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00create_header-i.ri000064400000002372152353513000010102 0ustar00U:RDoc::AnyMethod[iI"create_header:ETI"MakeMakefile#create_header;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00have_struct_member-i.ri000064400000002117152353513000011202 0ustar00U:RDoc::AnyMethod[iI"have_struct_member:ETI"$MakeMakefile#have_struct_member;TF: privateo: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::BlankLineo; ; [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;TcRDoc::NormalModule00dummy_makefile-i.ri000064400000000502152353513000010310 0ustar00U:RDoc::AnyMethod[iI"dummy_makefile:ETI" MakeMakefile#dummy_makefile;TF: privateo: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;TcRDoc::NormalModule00try_const-i.ri000064400000000662152353513000007353 0ustar00U:RDoc::AnyMethod[iI"try_const:ETI"MakeMakefile#try_const;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"