diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-24 13:48:08 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-24 13:48:08 +0000 |
commit | 8fc8587e05163f0002915d06fbb20386cbcbb2ef (patch) | |
tree | 787ee4b27d8199a90fd20b4185814fd6800c22ca | |
parent | 9885c1c79fb4316fd754e65b9d3292bab9aaffd4 (diff) | |
download | ruby-8fc8587e05163f0002915d06fbb20386cbcbb2ef.tar.gz |
sysconfdir on Windows
* ext/etc/etc.c (etc_sysconfdir): mentioned special case on
Windows. [ruby-core:43110] [Bug #6121]
* ext/etc/extconf.rb: define SYSCONFDIR only if sysconfdir is set
in RbConfig::CONFIG and not empty.
* win32/Makefile.sub (config.status): sysconfdir is not used on
Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | ext/etc/etc.c | 3 | ||||
-rw-r--r-- | ext/etc/extconf.rb | 6 | ||||
-rw-r--r-- | win32/Makefile.sub | 6 |
4 files changed, 10 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index 6c7436c7e8..6c15929f05 100644 --- a/configure.ac +++ b/configure.ac @@ -512,6 +512,7 @@ AS_CASE(["$target_os"], RT_VER=`echo "$rb_cv_msvcrt" | tr -cd [0-9]` test "$RT_VER" = "" && RT_VER=60 AC_DEFINE_UNQUOTED(RUBY_MSVCRT_VERSION, $RT_VER) + sysconfdir= ]) : ${enable_shared=yes} ], diff --git a/ext/etc/etc.c b/ext/etc/etc.c index 46857c62c7..d5197eb566 100644 --- a/ext/etc/etc.c +++ b/ext/etc/etc.c @@ -628,7 +628,8 @@ VALUE rb_w32_conv_from_wchar(const WCHAR *wstr, rb_encoding *enc); * * This is typically "/etc", but is modified by the prefix used when Ruby was * compiled. For example, if Ruby is built and installed in /usr/local, returns - * "/usr/local/etc". + * "/usr/local/etc" on other than Windows. On Windows, this returns system + * provided directory always. */ static VALUE etc_sysconfdir(VALUE obj) diff --git a/ext/etc/extconf.rb b/ext/etc/extconf.rb index 1e679b5d0b..20a7dd00d6 100644 --- a/ext/etc/extconf.rb +++ b/ext/etc/extconf.rb @@ -12,8 +12,10 @@ have_func("uname((struct utsname *)NULL)", headers) have_func("getlogin") have_func("getpwent") have_func("getgrent") -sysconfdir = RbConfig.expand(RbConfig::CONFIG["sysconfdir"].dup, "prefix"=>"", "DESTDIR"=>"") -$defs.push("-DSYSCONFDIR=#{Shellwords.escape(sysconfdir.dump)}") +if (sysconfdir = RbConfig::CONFIG["sysconfdir"] and + !RbConfig.expand(sysconfdir.dup, "prefix"=>"", "DESTDIR"=>"").empty?) + $defs.push("-DSYSCONFDIR=#{Shellwords.escape(sysconfdir.dump)}") +end have_func("sysconf") have_func("confstr") diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 17807593db..ed53cd9e95 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -829,9 +829,9 @@ s,@bindir@,$${exec_prefix}/bin,;t t s,@sbindir@,$${exec_prefix}/sbin,;t t s,@libexecdir@,$${exec_prefix}/libexec,;t t s,@datadir@,$${prefix}/share,;t t -s,@sysconfdir@,$${prefix}/etc,;t t -s,@sharedstatedir@,/etc,;t t -s,@localstatedir@,/var,;t t +s,@sysconfdir@,,;t t +s,@sharedstatedir@,$${prefix}/com,;t t +s,@localstatedir@,$${prefix}/var,;t t s,@libdir@,$${exec_prefix}/$(libdir_basename),;t t s,@includedir@,$${prefix}/include,;t t s,@oldincludedir@,/usr/include,;t t |