1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# frozen_string_literal: false
cfg = RbConfig::CONFIG.merge(
'hdrdir' => $hdrdir.quote,
'src' => "#{CONFTEST_C}",
'arch_hdrdir' => $arch_hdrdir.quote,
'top_srcdir' => $top_srcdir.quote,
'CC' => RbConfig::CONFIG['CXX'],
'CFLAGS' => RbConfig::CONFIG['CXXFLAGS'],
'INCFLAGS' => "#$INCFLAGS",
'CPPFLAGS' => "#$CPPFLAGS",
'ARCH_FLAG' => "#$ARCH_FLAG",
'LDFLAGS' => "#$LDFLAGS",
'LOCAL_LIBS' => "#$LOCAL_LIBS",
'LIBS' => "#$LIBS"
)
cxx = RbConfig::expand(TRY_LINK.dup, cfg)
src = create_tmpsrc(<<~'begin') do |x|
#include "ruby/config.h"
namespace {
typedef int conftest[SIZEOF_LONG == sizeof(long) ? 1 : -1];
typedef int conftest[SIZEOF_VOIDP == sizeof(void*) ? 1 : -1];
}
int
main(int argc, const char** argv)
{
return !!argv[argc];
}
begin
# We are wiping ruby.h from the source because that header file is the
# subject we are going to test in this extension library.
x.sub! %<#include "ruby.h">, ''
end
begin
create_makefile("-test-/cxxanyargs") if xsystem(cxx)
ensure
log_src src
end
|