summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-31 08:52:56 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-31 08:52:56 +0000
commitd8c15488b052a0cdf4ec3e1d6f400d4ebb9c5cd3 (patch)
tree0cac840e676726ff8e10327126168de5cec82e4b /lib
parent66e8c4e0124c626f98d2f6272bc64e00c535bf1d (diff)
downloadruby-d8c15488b052a0cdf4ec3e1d6f400d4ebb9c5cd3.tar.gz
ruby-d8c15488b052a0cdf4ec3e1d6f400d4ebb9c5cd3.tar.xz
ruby-d8c15488b052a0cdf4ec3e1d6f400d4ebb9c5cd3.zip
* lib/mkmf.rb (try_func, try_var, have_struct_member),
(scalar_ptr_type?, scalar_type?): use MAIN_DOES_NOTHING. * lib/mkmf.rb (MAIN_DOES_NOTHING): defaults to ordinary main. * win32/Makefile.sub (config): for MAIN_DOES_NOTHING for wince. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/mkmf.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 318394054..89b64bcad 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -506,12 +506,12 @@ def try_func(func, libs, headers = nil, &b)
#{COMMON_HEADERS}
#{headers}
/*top*/
-int main() { return 0; }
+#{MAIN_DOES_NOTHING}
int t() { void ((*volatile p)()); p = (void ((*)()))#{func}; return 0; }
SRC
#{headers}
/*top*/
-int main() { return 0; }
+#{MAIN_DOES_NOTHING}
int t() { #{func}(); return 0; }
SRC
end
@@ -522,7 +522,7 @@ def try_var(var, headers = nil, &b)
#{COMMON_HEADERS}
#{headers}
/*top*/
-int main() { return 0; }
+#{MAIN_DOES_NOTHING}
int t() { const volatile void *volatile p; p = &(&#{var})[0]; return 0; }
SRC
end
@@ -840,7 +840,7 @@ def have_struct_member(type, member, headers = nil, &b)
#{COMMON_HEADERS}
#{cpp_include(headers)}
/*top*/
-int main() { return 0; }
+#{MAIN_DOES_NOTHING}
int s = (char *)&((#{type}*)0)->#{member} - (char *)0;
SRC
$defs.push(format("-DHAVE_%s_%s", type.tr_cpp, member.tr_cpp))
@@ -978,7 +978,7 @@ def scalar_ptr_type?(type, member = nil, headers = nil, &b)
#{cpp_include(headers)}
/*top*/
volatile #{type} conftestval;
-int main() { return 0; }
+#{MAIN_DOES_NOTHING}
int t() {return (int)(1-*(conftestval#{member ? ".#{member}" : ""}));}
SRC
end
@@ -991,7 +991,7 @@ def scalar_type?(type, member = nil, headers = nil, &b)
#{cpp_include(headers)}
/*top*/
volatile #{type} conftestval;
-int main() { return 0; }
+#{MAIN_DOES_NOTHING}
int t() {return (int)(1-(conftestval#{member ? ".#{member}" : ""}));}
SRC
end
@@ -1875,6 +1875,7 @@ LINK_SO = config_string('LINK_SO') ||
LIBPATHFLAG = config_string('LIBPATHFLAG') || ' -L"%s"'
RPATHFLAG = config_string('RPATHFLAG') || ''
LIBARG = config_string('LIBARG') || '-l%s'
+MAIN_DOES_NOTHING = config_string('MAIN_DOES_NOTHING') || 'int main() {return 0;}'
sep = config_string('BUILD_FILE_SEPARATOR') {|s| ":/=#{s}" if sep != "/"} || ""
CLEANINGS = "