[前][次][番号順一覧][スレッド一覧]

ruby-changes:28727

From: nobu <ko1@a...>
Date: Thu, 16 May 2013 13:13:57 +0900 (JST)
Subject: [ruby-changes:28727] nobu:r40779 (trunk): verconf.h.in: template for verconf.h

nobu	2013-05-16 13:13:40 +0900 (Thu, 16 May 2013)

  New Revision: 40779

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=40779

  Log:
    verconf.h.in: template for verconf.h
    
    * template/verconf.h.in: generate verconf.h from the template and
      rbconfig.rb.

  Added files:
    trunk/template/verconf.h.in
  Removed files:
    trunk/tool/shvar_to_cpp.rb
  Modified files:
    trunk/ChangeLog
    trunk/common.mk
    trunk/configure.in

Index: configure.in
===================================================================
--- configure.in	(revision 40778)
+++ configure.in	(revision 40779)
@@ -231,8 +231,6 @@ RUBYW_BASE_NAME=`echo rubyw | sed "$prog https://github.com/ruby/ruby/blob/trunk/configure.in#L231
 AC_SUBST(RUBY_BASE_NAME)
 AC_SUBST(RUBYW_BASE_NAME)
 AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version}')
-AC_DEFINE_UNQUOTED(RUBY_BASE_NAME, "${RUBY_BASE_NAME}" !<verconf>!)
-AC_DEFINE_UNQUOTED(RUBY_VERSION_NAME, RUBY_BASE_NAME"-"RUBY_LIB_VERSION !<verconf>!)
 
 AC_CANONICAL_TARGET
 test x"$target_alias" = x &&
@@ -2833,6 +2831,8 @@ else https://github.com/ruby/ruby/blob/trunk/configure.in#L2831
 fi
 AC_SUBST(setup)
 
+save_prefix="$prefix"
+save_exec_prefix="$exec_prefix"
 test x"$prefix" = xNONE && prefix=$ac_default_prefix
 test x"${exec_prefix}" = xNONE && exec_prefix="$prefix"
 pat=`echo "${exec_prefix}" | tr -c '\012' .`'\(.*\)'
@@ -2841,6 +2841,8 @@ for var in bindir libdir; do https://github.com/ruby/ruby/blob/trunk/configure.in#L2841
     AS_CASE(["$val"], ["${exec_prefix}"*], [val='${exec_prefix}'"`expr \"$val\" : \"$pat\"`"])
     eval $var='"$val"'
 done
+prefix="$save_prefix"
+exec_prefix="$save_exec_prefix"
 
 BTESTRUBY='$(MINIRUBY)'
 if test x"$cross_compiling" = xyes; then
@@ -3534,6 +3536,8 @@ elif test -z "${ruby_version}"; then https://github.com/ruby/ruby/blob/trunk/configure.in#L3536
 else
     RUBY_LIB_VERSION="\"${ruby_version}\""
 fi
+AC_SUBST(RUBY_LIB_VERSION_STYLE)
+AC_SUBST(RUBY_LIB_VERSION)
 
 AC_ARG_WITH(sitedir,
 	    AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]], "no" to disable site directory]),
@@ -3566,30 +3570,7 @@ else https://github.com/ruby/ruby/blob/trunk/configure.in#L3570
     RUBY_EXEC_PREFIX="${exec_prefix}"
 fi
 
-if test ${RUBY_LIB_VERSION_STYLE+set}; then
-    AC_DEFINE_UNQUOTED(RUBY_LIB_VERSION_STYLE, $RUBY_LIB_VERSION_STYLE !<verconf>!)
-else
-    AC_DEFINE_UNQUOTED(RUBY_LIB_VERSION, "$RUBY_LIB_VERSION" !<verconf>!)
-fi
-AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, "${RUBY_EXEC_PREFIX}" !<verconf>!)
-AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, "${rubylibprefix}" !<verconf>!)
-AC_DEFINE_UNQUOTED(RUBY_ARCH_PREFIX_FOR(arch), "${rubyarchprefix}" !<verconf>!)
-AC_DEFINE_UNQUOTED(RUBY_SITEARCH_PREFIX_FOR(arch), "${rubysitearchprefix}" !<verconf>!)
-
-AC_DEFINE_UNQUOTED(RUBY_LIB, "${rubylibdir}" !<verconf>!)
-AC_DEFINE_UNQUOTED(RUBY_ARCH_LIB_FOR(arch), "${rubyarchdir}" !<verconf>!)
-if test "x$sitedir" = xno; then
-    AC_DEFINE(NO_RUBY_SITE_LIB, [] !<verconf>!)
-else
-    AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${sitedir}" !<verconf>!)
-    AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH_LIB_FOR(arch), "${sitearchdir}" !<verconf>!)
-fi
-if test "x$vendordir" = xno; then
-    AC_DEFINE(NO_RUBY_VENDOR_LIB, [] !<verconf>!)
-else
-    AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB, "${vendordir}" !<verconf>!)
-    AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH_LIB_FOR(arch), "${vendorarchdir}" !<verconf>!)
-fi
+AC_SUBST(RUBY_EXEC_PREFIX)
 
 AC_SUBST(libdirname, ${multiarch+arch}libdir)
 AC_SUBST(archlibdir)dnl
@@ -3638,14 +3619,13 @@ fi https://github.com/ruby/ruby/blob/trunk/configure.in#L3619
 
 unset sitearch
 AS_CASE(["$target_os"],[mingw*],[sitearch="$target_cpu-$rb_cv_msvcrt"])
-test ${sitearch+set} && AC_DEFINE_UNQUOTED(RUBY_SITEARCH, "${sitearch}" !<verconf>!)
 : ${sitearch='${arch}'}
 
 AC_ARG_WITH(search-path,
 		AS_HELP_STRING([--with-search-path=DIR], [specify the additional search path]),
 		[search_path=$withval])
 if test "$search_path" != ""; then
-    AC_DEFINE_UNQUOTED(RUBY_SEARCH_PATH,"$search_path" !<verconf>!)
+    AC_SUBST(RUBY_SEARCH_PATH, $search_path)
 fi
 
 AC_ARG_WITH(rubyhdrdir,
@@ -3723,12 +3703,10 @@ guard=INCLUDE_RUBY_CONFIG_H https://github.com/ruby/ruby/blob/trunk/configure.in#L3703
 {
   echo "#ifndef $guard"
   echo "#define $guard 1"
-  grep -v "^#define PACKAGE_" confdefs.h | grep -v ' !<verconf>!$'
+  grep -v "^#define PACKAGE_" confdefs.h
   echo "#endif /* $guard */"
 } | tr -d '\015' |
 ${srcdir}/tool/ifchange "${config_h}" -
-sed -n 's/ !<verconf>!$//p' confdefs.h | ${srcdir}/tool/ifchange verconf.in -
-rm -f verconf.h
 tr -d '\015' < largefile.h > confdefs.h
 rm largefile.h
 
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 40778)
+++ ChangeLog	(revision 40779)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Thu May 16 13:12:27 2013  Nobuyoshi Nakada  <nobu@r...>
+
+	* template/verconf.h.in: generate verconf.h from the template and
+	  rbconfig.rb.
+
 Thu May 16 05:47:18 2013  Aaron Patterson <aaron@t...>
 
 	* ext/psych/lib/psych/visitors/yaml_tree.rb: fix syntax error.
Index: common.mk
===================================================================
--- common.mk	(revision 40778)
+++ common.mk	(revision 40779)
@@ -834,9 +834,9 @@ newline.$(OBJEXT): $(NEWLINE_C) {$(VPATH https://github.com/ruby/ruby/blob/trunk/common.mk#L834
   {$(VPATH)}intern.h {$(VPATH)}missing.h {$(VPATH)}st.h \
   {$(VPATH)}transcode_data.h {$(VPATH)}ruby.h {$(VPATH)}config.h {$(VPATH)}subst.h
 
-verconf.h: verconf.in $(srcdir)/tool/shvar_to_cpp.rb $(RBCONFIG)
+verconf.h: $(srcdir)/template/verconf.h.in $(srcdir)/tool/generic_erb.rb $(RBCONFIG)
 	$(ECHO) creating $@
-	$(Q) $(MINIRUBY) "$(srcdir)/tool/shvar_to_cpp.rb" verconf.in > $@
+	$(Q) $(MINIRUBY) "$(srcdir)/tool/generic_erb.rb" $(srcdir)/template/verconf.h.in > $@
 
 DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \
 		eval.$(OBJEXT) \
Index: tool/shvar_to_cpp.rb
===================================================================
--- tool/shvar_to_cpp.rb	(revision 40778)
+++ tool/shvar_to_cpp.rb	(revision 40779)
@@ -1,25 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/tool/shvar_to_cpp.rb#L0
-#!/usr/bin/ruby
-
-require './rbconfig'
-C = RbConfig::MAKEFILE_CONFIG.dup
-C["ruby_version"] = '"RUBY_LIB_VERSION"'
-C["arch"] = '"arch"'
-C["sitearch"] = '"arch"'
-C["vendorarchdir"] = '"RUBY_VENDOR_ARCH_LIB"'
-C["sitearchdir"] = '"RUBY_SITE_ARCH_LIB"'
-C["vendorlibdir"] = '"RUBY_VENDOR_LIB2"'
-C["sitelibdir"] = '"RUBY_SITE_LIB2"'
-C["vendordir"] = '"RUBY_VENDOR_LIB"'
-C["sitedir"] = '"RUBY_SITE_LIB"'
-C["rubylibdir"] = '"RUBY_LIB"'
-C["rubylibprefix"] = '"RUBY_LIB_PREFIX"'
-C["rubyarchprefix"] = '"RUBY_ARCH_PREFIX_FOR(arch)"'
-C["rubysitearchprefix"] = '"RUBY_SITEARCH_PREFIX_FOR(arch)"'
-C["exec_prefix"] = '"RUBY_EXEC_PREFIX"'
-
-verconf = File.read(ARGV[0])
-verconf.gsub!(/^(#define\s+\S+\s+)(.*)/) {
-  $1 + RbConfig.expand($2, C).gsub(/^""(?!$)|(.)""$/, '\1')
-}
-
-puts verconf
Index: template/verconf.h.in
===================================================================
--- template/verconf.h.in	(revision 0)
+++ template/verconf.h.in	(revision 40779)
@@ -0,0 +1,55 @@ https://github.com/ruby/ruby/blob/trunk/template/verconf.h.in#L1
+% require './rbconfig'
+% C = RbConfig::MAKEFILE_CONFIG
+%
+% verconf =
+#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}
+% else
+#define RUBY_LIB_VERSION		${RUBY_LIB_VERSION}
+% end
+#define RUBY_EXEC_PREFIX		"${RUBY_EXEC_PREFIX}"
+#define RUBY_LIB_PREFIX 		"${rubylibprefix}"
+% unless 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
+% unless 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"'
+% verconf.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)})
+%   pre + RbConfig.expand(repl, c).gsub(/^""(?!$)|(.)""$/, '\1')
+% }

Property changes on: template/verconf.h.in
___________________________________________________________________
Added: svn:eol-style
   + LF


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]