ruby-changes:54385
From: nobu <ko1@a...>
Date: Fri, 28 Dec 2018 11:12:42 +0900 (JST)
Subject: [ruby-changes:54385] nobu:r66599 (trunk): Moved version numbers
nobu 2018-12-28 11:12:34 +0900 (Fri, 28 Dec 2018) New Revision: 66599 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=66599 Log: Moved version numbers * Define major and minor version numbers only in the public include/ruby/version.h header, as the API version numbers. * Define only teeny version number in the private version.h header. * RUBY_VERSION moved to version.c. Modified files: trunk/Makefile.in trunk/configure.ac trunk/tool/merger.rb trunk/tool/mkconfig.rb trunk/version.c trunk/version.h trunk/win32/Makefile.sub trunk/win32/setup.mak Index: configure.ac =================================================================== --- configure.ac (revision 66598) +++ configure.ac (revision 66599) @@ -55,25 +55,18 @@ AS_IF([test x"$HAVE_GIT" = xyes], [comma https://github.com/ruby/ruby/blob/trunk/configure.ac#L55 AC_SUBST(GIT) AC_SUBST(HAVE_GIT) -eval `sed -n ['s/^@%:@define RUBY_API_VERSION_\([A-Z][A-Z_0-9]*\) \([0-9][0-9]*\)/API_\1=\2/p'] $srcdir/include/ruby/version.h` -RUBY_PROGRAM_VERSION=`sed -n 's/^@%:@define RUBY_VERSION "\(.*\)"/\1/p' $srcdir/version.h` -MAJOR=`echo $RUBY_PROGRAM_VERSION | cut -d. -f1` -MINOR=`echo $RUBY_PROGRAM_VERSION | cut -d. -f2` -TEENY=`echo $RUBY_PROGRAM_VERSION | cut -d. -f3` +eval `sed -n -e ['s/^@%:@define RUBY_[A-Z_]*VERSION_\([A-Z][A-Z][A-Z_0-9]*\) \([0-9][0-9]*\)$/\1=\2/p'] \ + -e ['s/^@%:@define \(RUBY_PATCHLEVEL\) \(.*\)/\1=\2/p'] \ + $srcdir/include/ruby/version.h $srcdir/version.h` for v in MAJOR MINOR TEENY; do AS_IF([eval "test \"\$$v\" = ''"], [ AC_MSG_ERROR(could not determine $v number from version.h) ]) done -AS_IF([test "$MAJOR.$MINOR" != "$API_MAJOR.$API_MINOR"], [ - AC_MSG_ERROR([API version $API_MAJOR.$API_MINOR differs from program version $MAJOR.$MINOR]) -]) AC_SUBST(MAJOR) AC_SUBST(MINOR) AC_SUBST(TEENY) -AC_SUBST(RUBY_PROGRAM_VERSION) AC_SUBST(RUBY_API_VERSION, '$(MAJOR).$(MINOR)') -RUBY_PATCHLEVEL=`sed -n 's/^#define RUBY_PATCHLEVEL //p' $srcdir/version.h` dnl checks for alternative programs AC_CANONICAL_BUILD RUBY_RM_RECURSIVE @@ -4027,7 +4020,7 @@ AS_REQUIRE_SHELL_FN([config_summary], https://github.com/ruby/ruby/blob/trunk/configure.ac#L4020 ) echo "---" -echo "Configuration summary for $RUBY_BASE_NAME version $RUBY_PROGRAM_VERSION" +echo "Configuration summary for $RUBY_BASE_NAME version $MAJOR.$MINOR.$TEENY" echo "" config_summary "Installation prefix" "$prefix" config_summary "exec prefix" "$exec_prefix" Index: win32/Makefile.sub =================================================================== --- win32/Makefile.sub (revision 66598) +++ win32/Makefile.sub (revision 66599) @@ -1059,6 +1059,9 @@ s,@archincludedir@,$${includedir}/$${arc https://github.com/ruby/ruby/blob/trunk/win32/Makefile.sub#L1059 s,@sitearchincludedir@,$${includedir}/$${sitearch},;t t s,@arch@,$(ARCH)-$(PLATFORM),;t t s,@sitearch@,$(ARCH)-$(RT),;t t +s,@MAJOR@,$(MAJOR),;t t +s,@MINOR@,$(MINOR),;t t +s,@TEENY@,$(TEENY),;t t s,@ruby_version@,$(ruby_version),;t t s,@RUBY_PROGRAM_VERSION@,$(RUBY_PROGRAM_VERSION),;t t s,@rubylibprefix@,$${prefix}/lib/$${RUBY_BASE_NAME},;t t Index: win32/setup.mak =================================================================== --- win32/setup.mak (revision 66598) +++ win32/setup.mak (revision 66599) @@ -145,19 +145,11 @@ verconf.mk: nul https://github.com/ruby/ruby/blob/trunk/win32/setup.mak#L145 #define STRINGIZE(x) STRINGIZE0(x) #include "version.h" for %%I in (RUBY_RELEASE_DATE) do set ruby_release_date=%%~I -for %%I in (RUBY_VERSION) do set ruby_version=%%~I -for /f "delims=. tokens=1-3" %%I in (RUBY_VERSION) do ( - set major=%%I - set minor=%%J - set teeny=%%K -) #undef RUBY_RELEASE_DATE -#undef RUBY_PROGRAM_VERSION echo RUBY_RELEASE_DATE = %ruby_release_date:""=% -echo RUBY_PROGRAM_VERSION = %ruby_version:""=% -echo MAJOR = %major% -echo MINOR = %minor% -echo TEENY = %teeny% +echo MAJOR = RUBY_VERSION_MAJOR +echo MINOR = RUBY_VERSION_MINOR +echo TEENY = RUBY_VERSION_TEENY #if defined RUBY_PATCHLEVEL && RUBY_PATCHLEVEL < 0 echo RUBY_DEVEL = yes #endif Index: Makefile.in =================================================================== --- Makefile.in (revision 66598) +++ Makefile.in (revision 66599) @@ -123,7 +123,6 @@ BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@ https://github.com/ruby/ruby/blob/trunk/Makefile.in#L123 POSTLINK = @POSTLINK@ RUBY_BASE_NAME=@RUBY_BASE_NAME@ -RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@ RUBY_API_VERSION=@RUBY_API_VERSION@ RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@ RUBY_SO_NAME=@RUBY_SO_NAME@ @@ -159,7 +158,9 @@ COROUTINE_OBJ = $(COROUTINE_H:.h=.@OBJEX https://github.com/ruby/ruby/blob/trunk/Makefile.in#L158 MAJOR= @MAJOR@ MINOR= @MINOR@ TEENY= @TEENY@ -RUBY_PROGRAM_VERSION = @RUBY_PROGRAM_VERSION@ + +# here for MJIT_MIN_HEADER_NAME, not in common.mk +RUBY_PROGRAM_VERSION = $(MAJOR).$(MINOR).$(TEENY) LIBRUBY_A = @LIBRUBY_A@ LIBRUBY_SO = @LIBRUBY_SO@ Index: version.c =================================================================== --- version.c (revision 66598) +++ version.c (revision 66599) @@ -28,6 +28,10 @@ const int ruby_api_version[] = { https://github.com/ruby/ruby/blob/trunk/version.c#L28 RUBY_API_VERSION_MINOR, RUBY_API_VERSION_TEENY, }; +#define RUBY_VERSION \ + STRINGIZE(RUBY_VERSION_MAJOR) "." \ + STRINGIZE(RUBY_VERSION_MINOR) "." \ + STRINGIZE(RUBY_VERSION_TEENY) "" const char ruby_version[] = RUBY_VERSION; const char ruby_release_date[] = RUBY_RELEASE_DATE; const char ruby_platform[] = RUBY_PLATFORM; Index: version.h =================================================================== --- version.h (revision 66598) +++ version.h (revision 66599) @@ -1,4 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/version.h#L1 -#define RUBY_VERSION "2.7.0" +# define RUBY_VERSION_MAJOR RUBY_API_VERSION_MAJOR +# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR +#define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR #define RUBY_PATCHLEVEL -1 Index: tool/merger.rb =================================================================== --- tool/merger.rb (revision 66598) +++ tool/merger.rb (revision 66599) @@ -54,11 +54,25 @@ def version https://github.com/ruby/ruby/blob/trunk/tool/merger.rb#L54 case l when /^#define RUBY_VERSION "(\d+)\.(\d+)\.(\d+)"$/ v = $~.captures + when /^#define RUBY_VERSION_TEENY (\d+)$/ + (v ||= [])[2] = $1 when /^#define RUBY_PATCHLEVEL (-?\d+)$/ p = $1 end end end + if v and !v[0] + open 'include/ruby/version.h', 'rb' do |f| + f.each_line do |l| + case l + when /^#define RUBY_API_VERSION_MAJOR (\d+)/ + v[0] = $1 + when /^#define RUBY_API_VERSION_MINOR (\d+)/ + v[1] = $1 + end + end + end + end return v, p end Index: tool/mkconfig.rb =================================================================== --- tool/mkconfig.rb (revision 66598) +++ tool/mkconfig.rb (revision 66599) @@ -208,7 +208,7 @@ IO.foreach(File.join(srcdir, "version.h" https://github.com/ruby/ruby/blob/trunk/tool/mkconfig.rb#L208 end end %w[MAJOR MINOR TEENY PATCHLEVEL].each do |v| - print " CONFIG[#{v.dump}] = #{versions[v].dump}\n" + print " CONFIG[#{v.dump}] = #{(versions[v]||vars[v]).dump}\n" end dest = drive ? %r'= "(?!\$[\(\{])(?i:[a-z]:)' : %r'= "(?!\$[\(\{])' -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/