From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/template/verconf.h.tmpl | 61 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 jni/ruby/template/verconf.h.tmpl (limited to 'jni/ruby/template/verconf.h.tmpl') diff --git a/jni/ruby/template/verconf.h.tmpl b/jni/ruby/template/verconf.h.tmpl new file mode 100644 index 0000000..5ee8a0e --- /dev/null +++ b/jni/ruby/template/verconf.h.tmpl @@ -0,0 +1,61 @@ +% require './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_BASE_NAME"-"RUBY_LIB_VERSION +% 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"] == "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"] == "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 +% } -- cgit v1.2.3