1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
nobu 2015-12-25 16:24:43 +00:00
parent 73d8cbb605
commit 8c327b7f3a
6 changed files with 33 additions and 14 deletions

View file

@ -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.

View file

@ -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@

View file

@ -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 = -

View file

@ -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]),

View file

@ -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

View file

@ -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
<<