aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-25 16:24:43 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-25 16:24:43 +0000
commit8c327b7f3acdf7fb10abffe03a195a11a485b000 (patch)
tree48206c50abe1cf285ee8298f204783f4f2d8ffab
parent73d8cbb6052cf9616f8eb0c4ab7fbdcac47a57d0 (diff)
downloadruby-8c327b7f3acdf7fb10abffe03a195a11a485b000.tar.gz
program version from API version
* configure.in, version.h (RUBY_PROGRAM_VERSION): extract version numbers from API version in include/ruby/version.h except for TEENY, to save matz job next year. * win32/setup.mak (-version-): use program version. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--Makefile.in5
-rw-r--r--common.mk1
-rw-r--r--configure.in10
-rw-r--r--version.h16
-rw-r--r--win32/setup.mak7
6 files changed, 33 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index cf2ec9ae83..a16071418b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sat Dec 26 01:24:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in, version.h (RUBY_PROGRAM_VERSION): extract version
+ numbers from API version in include/ruby/version.h except for
+ TEENY, to save matz job next year.
+
+ * win32/setup.mak (-version-): use program version.
+
Fri Dec 25 22:43:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in: extract RUBY_RELEASE_DAY at generating Makefile.
diff --git a/Makefile.in b/Makefile.in
index 76b61f5581..f641ea1d77 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -89,7 +89,6 @@ BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@
POSTLINK = @POSTLINK@
RUBY_BASE_NAME=@RUBY_BASE_NAME@
-RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
RUBY_SO_NAME=@RUBY_SO_NAME@
EXEEXT = @EXEEXT@
@@ -118,10 +117,6 @@ BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
#### End of system configuration section. ####
-MAJOR= @MAJOR@
-MINOR= @MINOR@
-TEENY= @TEENY@
-
LIBRUBY_A = @LIBRUBY_A@
LIBRUBY_SO = @LIBRUBY_SO@
LIBRUBY_ALIASES= @LIBRUBY_ALIASES@
diff --git a/common.mk b/common.mk
index eb681bbb9c..6b182bac4d 100644
--- a/common.mk
+++ b/common.mk
@@ -13,6 +13,7 @@ ECHO = @$(ECHO0)
UNICODE_VERSION = 8.0.0
+RUBY_PROGRAM_VERSION = $(MAJOR).$(MINOR).$(TEENY)
RUBY_RELEASE_DATE = $(RUBY_RELEASE_YEAR)-$(RUBY_RELEASE_MONTH)-$(RUBY_RELEASE_DAY)
RUBYLIB = $(PATH_SEPARATOR)
RUBYOPT = -
diff --git a/configure.in b/configure.in
index c6a4edaed7..633e114809 100644
--- a/configure.in
+++ b/configure.in
@@ -225,6 +225,7 @@ GNU_LD=$rb_cv_prog_gnu_ld
AC_SUBST(GNU_LD)])
eval `sed -n 's/^#define RUBY_API_VERSION_\([A-Z][A-Z_0-9]*\) \([0-9][0-9]*\)/\1=\2/p' $srcdir/include/ruby/version.h`
+eval `sed -n 's/^#define RUBY_PROGRAM_VERSION_\([A-Z][A-Z_0-9]*\) \([0-9][0-9]*\)/\1=\2/p' $srcdir/version.h`
for v in MAJOR MINOR TEENY; do
if eval "test \"\$$v\" = ''"; then
AC_MSG_ERROR(could not determine $v number from version.h)
@@ -233,7 +234,7 @@ done
AC_SUBST(MAJOR)
AC_SUBST(MINOR)
AC_SUBST(TEENY)
-RUBY_PROGRAM_VERSION=`sed -n 's/^#define RUBY_VERSION "\(.*\)"/\1/p' $srcdir/version.h`
+RUBY_PROGRAM_VERSION=$MAJOR.$MINOR.$TEENY
AC_SUBST(RUBY_PROGRAM_VERSION)
RUBY_PATCHLEVEL=`sed -n 's/^#define RUBY_PATCHLEVEL //p' $srcdir/version.h`
AC_DEFINE(CANONICALIZATION_FOR_MATHN)
@@ -4409,7 +4410,12 @@ AC_CONFIG_FILES(Makefile, [
["git svn"], [VCSUP='$(VCS) rebase $(GITSVNREBASEOPTIONS)'],
[git], [VCSUP='$(VCS) pull $(GITPULLOPTIONS)'],
[VCSUP='$(VCS)'])
+ # MAJOR and MINOR are public and come from include/ruby/version.h by reconfig
+ echo MAJOR = $MAJOR
+ echo MINOR = $MINOR
+ # TEENY is private and come from version.h
sed -n \
+ -e '[s/^@%:@define RUBY_PROGRAM_VERSION_\([A-Z]*\) \([0-9][0-9]*\)/\1 = \2/p]' \
-e '[/^@%:@define \(RUBY_RELEASE_[A-Z]*\) \([0-9][0-9]*\)/]{' \
-e 's//\1 = \2/' \
-e '[s/ \([0-9]\)$/ 0\1/]' \
@@ -4437,7 +4443,7 @@ AC_CONFIG_FILES(Makefile, [
echo 'ruby: $(PROGRAM);' >> $tmpmk
test "$tmpmk" = "$tmpgmk" || rm -f "$tmpgmk"
fi && mv -f $tmpmk Makefile],
-[EXEEXT='$EXEEXT' gnumake='$gnumake'])
+[EXEEXT='$EXEEXT' MAJOR='$MAJOR' MINOR='$MINOR' gnumake='$gnumake'])
AC_ARG_WITH([ruby-pc],
AC_HELP_STRING([--with-ruby-pc=FILENAME], [pc file basename]),
diff --git a/version.h b/version.h
index af963f68ff..f5b180df74 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,12 @@
-#define RUBY_VERSION "2.4.0"
+#define RUBY_PROGRAM_VERSION_MAJOR RUBY_API_VERSION_MAJOR
+#define RUBY_PROGRAM_VERSION_MINOR RUBY_API_VERSION_MINOR
+#define RUBY_PROGRAM_VERSION_TEENY 0
+
+#define RUBY_BUILD_VERSION_STR_2(v) STRINGIZE(v##_MAJOR)"."STRINGIZE(v##_MINOR)
+#define RUBY_BUILD_VERSION_STR_3(v) RUBY_BUILD_VERSION_STR_2(v)"."STRINGIZE(v##_TEENY)
+
+#define RUBY_PROGRAM_VERSION RUBY_BUILD_VERSION_STR_3(RUBY_PROGRAM_VERSION)
+#define RUBY_VERSION RUBY_PROGRAM_VERSION
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
#define RUBY_PATCHLEVEL -1
@@ -25,11 +33,13 @@
#define RUBY_RELEASE_DAY_STR STRINGIZE(RUBY_RELEASE_DAY)
#endif
+#define RUBY_LIB_VERSION_2 RUBY_BUILD_VERSION_STR_2(RUBY_API_VERSION)
+#define RUBY_LIB_VERSION_3 RUBY_BUILD_VERSION_STR_3(RUBY_API_VERSION)
#if !defined RUBY_LIB_VERSION && defined RUBY_LIB_VERSION_STYLE
# if RUBY_LIB_VERSION_STYLE == 3
-# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR)"."STRINGIZE(RUBY_API_VERSION_TEENY)
+# define RUBY_LIB_VERSION RUBY_LIB_VERSION_3
# elif RUBY_LIB_VERSION_STYLE == 2
-# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR)
+# define RUBY_LIB_VERSION RUBY_LIB_VERSION_2
# endif
#endif
diff --git a/win32/setup.mak b/win32/setup.mak
index 143c218d38..224ccbeab0 100644
--- a/win32/setup.mak
+++ b/win32/setup.mak
@@ -120,10 +120,9 @@ int main(void) {return (EnumProcesses(NULL,0,NULL) ? 0 : 1);}
@$(CPP) -I$(srcdir) -I$(srcdir)/include <<"Creating $(MAKEFILE)" | findstr "=" >>$(MAKEFILE)
#define RUBY_REVISION 0
#include "version.h"
-MAJOR = RUBY_API_VERSION_MAJOR
-MINOR = RUBY_API_VERSION_MINOR
-TEENY = RUBY_API_VERSION_TEENY
-RUBY_PROGRAM_VERSION = RUBY_VERSION
+MAJOR = RUBY_PROGRAM_VERSION_MAJOR
+MINOR = RUBY_PROGRAM_VERSION_MINOR
+TEENY = RUBY_PROGRAM_VERSION_TEENY
MSC_VER = _MSC_VER
<<