From 8c327b7f3acdf7fb10abffe03a195a11a485b000 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 25 Dec 2015 16:24:43 +0000 Subject: 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 --- ChangeLog | 8 ++++++++ Makefile.in | 5 ----- common.mk | 1 + configure.in | 10 ++++++++-- version.h | 16 +++++++++++++--- win32/setup.mak | 7 +++---- 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 + + * 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 * 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 << -- cgit v1.2.3