From a7dd0947916d84e2179b164a64da644e755a4e90 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 25 Apr 2016 05:39:12 +0000 Subject: rbconfig/sizeof: calculate at compilation time * ext/rbconfig/sizeof/extconf.rb: just check the existence of each types, to reduce configuration time, especially cross-compiling. * template/sizes.c.tmpl: calculate sizes of checked types at compilation time. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/rbconfig/sizeof/extconf.rb | 60 +++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 30 deletions(-) (limited to 'ext') diff --git a/ext/rbconfig/sizeof/extconf.rb b/ext/rbconfig/sizeof/extconf.rb index b7cc876e7e..8cb16ca866 100644 --- a/ext/rbconfig/sizeof/extconf.rb +++ b/ext/rbconfig/sizeof/extconf.rb @@ -2,35 +2,35 @@ $srcs = %w[sizes.c] $distcleanfiles.concat($srcs) -check_sizeof('int_least8_t') -check_sizeof('int_least16_t') -check_sizeof('int_least32_t') -check_sizeof('int_least64_t') -check_sizeof('int_fast8_t') -check_sizeof('int_fast16_t') -check_sizeof('int_fast32_t') -check_sizeof('int_fast64_t') -check_sizeof('intmax_t') -check_sizeof('sig_atomic_t', %w[signal.h]) -check_sizeof('wchar_t') -check_sizeof('wint_t', %w[wctype.h]) -check_sizeof('wctrans_t', %w[wctype.h]) -check_sizeof('wctype_t', %w[wctype.h]) -check_sizeof('_Bool') -check_sizeof('long double') -check_sizeof('float _Complex') -check_sizeof('double _Complex') -check_sizeof('long double _Complex') -check_sizeof('float _Imaginary') -check_sizeof('double _Imaginary') -check_sizeof('long double _Imaginary') -check_sizeof('__int128') # x86_64 ABI (optional) -check_sizeof('__float128') # x86_64 ABI (optional) -check_sizeof('_Decimal32') # x86_64 ABI -check_sizeof('_Decimal64') # x86_64 ABI -check_sizeof('_Decimal128') # x86_64 ABI -check_sizeof('__m64') # x86_64 ABI (optional) -check_sizeof('__m128') # x86_64 ABI (optional) -check_sizeof('__float80') # gcc x86 +have_type('int_least8_t') +have_type('int_least16_t') +have_type('int_least32_t') +have_type('int_least64_t') +have_type('int_fast8_t') +have_type('int_fast16_t') +have_type('int_fast32_t') +have_type('int_fast64_t') +have_type('intmax_t') +have_type('sig_atomic_t', %w[signal.h]) +have_type('wchar_t') +have_type('wint_t', %w[wctype.h]) +have_type('wctrans_t', %w[wctype.h]) +have_type('wctype_t', %w[wctype.h]) +have_type('_Bool') +have_type('long double') +have_type('float _Complex') +have_type('double _Complex') +have_type('long double _Complex') +have_type('float _Imaginary') +have_type('double _Imaginary') +have_type('long double _Imaginary') +have_type('__int128') # x86_64 ABI (optional) +have_type('__float128') # x86_64 ABI (optional) +have_type('_Decimal32') # x86_64 ABI +have_type('_Decimal64') # x86_64 ABI +have_type('_Decimal128') # x86_64 ABI +have_type('__m64') # x86_64 ABI (optional) +have_type('__m128') # x86_64 ABI (optional) +have_type('__float80') # gcc x86 create_makefile('rbconfig/sizeof') -- cgit v1.2.3