summaryrefslogtreecommitdiff
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
commit75fc7cf2de0278f047fe4479cb0ac52678b5d4cf (patch)
tree1b7c90ec992d13b27d3b5a3de06d82c532cf7fb9
parent4bd53beeb35133841dc33ba822545cc0ece342a4 (diff)
* 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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@18991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog9
-rw-r--r--lib/mkmf.rb13
-rw-r--r--win32/Makefile.sub3
3 files changed, 19 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c2a082641..b173dbfcc2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sun Aug 31 17:52:45 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * 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.
+
Sun Aug 31 13:45:41 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): fix for
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 96f40f0424..0eb96a6b0d 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -466,12 +466,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
@@ -482,7 +482,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
@@ -797,7 +797,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_ST_%s", member.tr_cpp))
@@ -934,7 +934,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
@@ -947,7 +947,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
@@ -1798,6 +1798,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') {|sep| ":/=#{sep}" if sep != "/"} || ""
CLEANINGS = "
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index db0b92c1c3..7de798eab2 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -446,6 +446,9 @@ config.status: $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.su
@exit <<$@
# Generated automatically by Makefile.sub.
s,@SHELL@,$$(COMSPEC),;t t
+!if defined(WIN32_WCE)
+s,@MAIN_DOES_NOTHING@,int WinMain(HINSTANCE h, HINSTANCE hp, LPWSTR s, int n) {return 0;},;t t
+!endif
s,@BUILD_FILE_SEPARATOR@,\,;t t
s,@PATH_SEPARATOR@,;,;t t
s,@CFLAGS@,$(CFLAGS),;t t