blob: 9ba2bd6de58fc2af3dc49bef168c43a896579c77 (
plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
% config = File.read(conffile = 'rbconfig.rb')
% config.sub!(/^(\s*)RUBY_VERSION\b.*(\sor\s*)$/, '\1true\2')
% rbconfig = Module.new {module_eval(config, conffile)}::RbConfig
% C = rbconfig::MAKEFILE_CONFIG.dup
% def C.[](name) str = super and (str unless str.empty?); end
#define RUBY_BASE_NAME "${RUBY_BASE_NAME}"
#define RUBY_VERSION_NAME "${RUBY_VERSION_NAME}"
% if C["RUBY_LIB_VERSION_STYLE"]
#define RUBY_LIB_VERSION_STYLE ${RUBY_LIB_VERSION_STYLE}
% elsif !C["RUBY_LIB_VERSION"]
#define RUBY_LIB_VERSION_STYLE 3 /* full */
% else
#define RUBY_LIB_VERSION "${RUBY_LIB_VERSION}"
% end
#define RUBY_EXEC_PREFIX "<%='${RUBY_EXEC_PREFIX}' if C['RUBY_EXEC_PREFIX']%>"
#define RUBY_LIB_PREFIX "${rubylibprefix}"
% unless (sitearch = C["sitearch"]) == '$(arch)'
#define RUBY_SITEARCH "<%=sitearch%>"
% end
#define RUBY_ARCH_PREFIX_FOR(arch) "${rubyarchprefix}"
#define RUBY_SITEARCH_PREFIX_FOR(arch) "${rubysitearchprefix}"
#define RUBY_LIB "${rubylibdir}"
#define RUBY_ARCH_LIB_FOR(arch) "${rubyarchdir}"
% if !C["sitedir"] || C["sitedir"] == "no"
#define NO_RUBY_SITE_LIB 1
% else
#define RUBY_SITE_LIB "${sitedir}"
#define RUBY_SITE_ARCH_LIB_FOR(arch) "${sitearchdir}"
% end
% if !C["vendordir"] || C["vendordir"] == "no"
#define NO_RUBY_VENDOR_LIB 1
% else
#define RUBY_VENDOR_LIB "${vendordir}"
#define RUBY_VENDOR_ARCH_LIB_FOR(arch) "${vendorarchdir}"
% end
% if C["RUBY_SEARCH_PATH"]
#define RUBY_SEARCH_PATH "${RUBY_SEARCH_PATH}"
% end
%
% R = {}
% R["ruby_version"] = '"RUBY_LIB_VERSION"'
% R["arch"] = '"arch"'
% R["sitearch"] = '"arch"'
% R["vendorlibdir"] = '"RUBY_VENDOR_LIB2"'
% R["sitelibdir"] = '"RUBY_SITE_LIB2"'
% R["vendordir"] = '"RUBY_VENDOR_LIB"'
% R["sitedir"] = '"RUBY_SITE_LIB"'
% R["rubylibdir"] = '"RUBY_LIB"'
% R["rubylibprefix"] = '"RUBY_LIB_PREFIX"'
% R["rubyarchprefix"] = '"RUBY_ARCH_PREFIX_FOR(arch)"'
% R["rubysitearchprefix"] = '"RUBY_SITEARCH_PREFIX_FOR(arch)"'
% R["exec_prefix"] = '"RUBY_EXEC_PREFIX"'
% R["prefix"] = '"RUBY_EXEC_PREFIX"'
% exec_prefix_pat = /\A"#{Regexp.quote(rbconfig::CONFIG['exec_prefix'])}(?=\/|\z)/
% _erbout.gsub!(/^(#define\s+(\S+)\s+)(.*)/) {
% pre, name, repl = $1, $2, $3
% pat = %["#{name}"]
% c = C.merge(R.reject {|key, value| key == name or value.include?(pat)})
% rbconfig.expand(repl, c)
% repl.gsub!(/^""(?!$)|(.)""$/, '\1')
% repl.sub!(exec_prefix_pat, 'RUBY_EXEC_PREFIX"')
% pre + repl
% }
|