diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-28 02:12:34 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-28 02:12:34 +0000 |
commit | 842272540886ff1da58e690907b08f2811a86607 (patch) | |
tree | 69e0fc86b769cf95b1ec63ce4c593b2a58906460 | |
parent | 1095705c4218f8f752210f1a0b4f78d96ad675ac (diff) |
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | Makefile.in | 5 | ||||
-rw-r--r-- | configure.ac | 15 | ||||
-rwxr-xr-x | tool/merger.rb | 14 | ||||
-rwxr-xr-x | tool/mkconfig.rb | 2 | ||||
-rw-r--r-- | version.c | 4 | ||||
-rw-r--r-- | version.h | 4 | ||||
-rw-r--r-- | win32/Makefile.sub | 3 | ||||
-rw-r--r-- | win32/setup.mak | 14 |
8 files changed, 35 insertions, 26 deletions
diff --git a/Makefile.in b/Makefile.in index fa1e19ef37..afd1329a97 100644 --- a/Makefile.in +++ b/Makefile.in @@ -123,7 +123,6 @@ BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@ 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=.@OBJEXT@) 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@ diff --git a/configure.ac b/configure.ac index 72a0af6dab..6a560f72a3 100644 --- a/configure.ac +++ b/configure.ac @@ -55,25 +55,18 @@ AS_IF([test x"$HAVE_GIT" = xyes], [command -v "$GIT" > /dev/null || HAVE_GIT=no] 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], ) 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" diff --git a/tool/merger.rb b/tool/merger.rb index 3362eafd7a..cbe3a8df91 100755 --- a/tool/merger.rb +++ b/tool/merger.rb @@ -54,11 +54,25 @@ def version 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 diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb index 5da0e7da5a..fdb284b1a9 100755 --- a/tool/mkconfig.rb +++ b/tool/mkconfig.rb @@ -208,7 +208,7 @@ IO.foreach(File.join(srcdir, "version.h")) do |l| 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'= "(?!\$[\(\{])' @@ -28,6 +28,10 @@ const int ruby_api_version[] = { 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; @@ -1,4 +1,6 @@ -#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 diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 03a41793ac..b7309680f3 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -1059,6 +1059,9 @@ s,@archincludedir@,$${includedir}/$${arch},;t t 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 diff --git a/win32/setup.mak b/win32/setup.mak index eb99c6ed1d..043edbeb66 100644 --- a/win32/setup.mak +++ b/win32/setup.mak @@ -145,19 +145,11 @@ verconf.mk: nul #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 |