ruby-changes:6089
From: nobu <ko1@a...>
Date: Fri, 27 Jun 2008 15:05:24 +0900 (JST)
Subject: [ruby-changes:6089] Ruby:r17601 (ruby_1_8): * common.mk (-IF-NO-STRING-LITERAL-CONCATENATION-): make description
nobu 2008-06-27 15:05:11 +0900 (Fri, 27 Jun 2008) New Revision: 17601 Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/common.mk branches/ruby_1_8/configure.in branches/ruby_1_8/error.c branches/ruby_1_8/version.c branches/ruby_1_8/version.h Log: * common.mk (-IF-NO-STRING-LITERAL-CONCATENATION-): make description and copyright literals. * configure.in: enable to make description and copyright literals if string literal concatenation is not available. * version.c (ruby_description, ruby_copyright): now always constant. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/error.c?r1=17601&r2=17600&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/common.mk?r1=17601&r2=17600&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.c?r1=17601&r2=17600&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/configure.in?r1=17601&r2=17600&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=17601&r2=17600&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=17601&r2=17600&diff_format=u Index: ruby_1_8/error.c =================================================================== --- ruby_1_8/error.c (revision 17600) +++ ruby_1_8/error.c (revision 17601) @@ -29,7 +29,7 @@ #define EXIT_SUCCESS 0 #endif -extern const char *ruby_description; +extern const char ruby_description[]; int ruby_nerrs; Index: ruby_1_8/configure.in =================================================================== --- ruby_1_8/configure.in (revision 17600) +++ ruby_1_8/configure.in (revision 17601) @@ -1849,7 +1849,10 @@ sed '/^MISSING/s/\$U\././g' Makefile echo; test x"$EXEEXT" = x || echo 'miniruby: miniruby$(EXEEXT)' test "$RUBY_INSTALL_NAME$EXEEXT" = ruby || echo 'ruby: $(PROGRAM);' - sed ['s/{\$([^(){}]*)[^{}]*}//g'] ${srcdir}/common.mk + if_no_string_literal_concatenation="" + test "$rb_cv_string_literal_concatenation" = yes || + if_no_string_literal_concatenation=';/^-IF-NO-STRING-LITERAL-CONCATENATION-:/d' + sed ['s/{\$([^(){}]*)[^{}]*}//g'"$if_no_string_literal_concatenation"] ${srcdir}/common.mk } >> confmk$$.tmp && mv -f confmk$$.tmp Makefile], [RUBY_INSTALL_NAME=$RUBY_INSTALL_NAME EXEEXT=$EXEEXT]) AC_OUTPUT Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 17600) +++ ruby_1_8/ChangeLog (revision 17601) @@ -1,3 +1,13 @@ +Fri Jun 27 15:05:06 2008 Nobuyoshi Nakada <nobu@r...> + + * common.mk (-IF-NO-STRING-LITERAL-CONCATENATION-): make description + and copyright literals. + + * configure.in: enable to make description and copyright literals if + string literal concatenation is not available. + + * version.c (ruby_description, ruby_copyright): now always constant. + Fri Jun 27 12:28:57 2008 Nobuyoshi Nakada <nobu@r...> * lib/un.rb (mkmf): new command to create makefile. Index: ruby_1_8/version.c =================================================================== --- ruby_1_8/version.c (revision 17600) +++ ruby_1_8/version.c (revision 17601) @@ -21,13 +21,8 @@ const char ruby_release_date[] = RUBY_RELEASE_DATE; const char ruby_platform[] = RUBY_PLATFORM; const int ruby_patchlevel = RUBY_PATCHLEVEL; -#if !NO_STRING_LITERAL_CONCATENATION const char ruby_description[] = RUBY_DESCRIPTION; const char ruby_copyright[] = RUBY_COPYRIGHT; -#else -char ruby_description[128]; -char ruby_copyright[128]; -#endif void Init_version() @@ -35,9 +30,6 @@ VALUE v = MKSTR(version); VALUE d = MKSTR(release_date); VALUE p = MKSTR(platform); -#if NO_STRING_LITERAL_CONCATENATION - VALUE tmp; -#endif rb_define_global_const("RUBY_VERSION", v); rb_define_global_const("RUBY_RELEASE_DATE", d); @@ -47,19 +39,6 @@ rb_define_global_const("RUBY_DESCRIPTION", MKSTR(description)); rb_define_global_const("RUBY_COPYRIGHT", MKSTR(copyright)); -#if NO_STRING_LITERAL_CONCATENATION - snprintf(ruby_description, sizeof(ruby_description), "ruby %s (%s %s %d) [%s]", - RUBY_VERSION, RUBY_RELEASE_DATE, RUBY_RELEASE_STR, - RUBY_RELEASE_NUM, RUBY_PLATFORM); - tmp = rb_obj_freeze(rb_str_new2(ruby_description)); - rb_define_global_const("RUBY_DESCRIPTION", tmp); - - snprintf(ruby_copyright, sizeof(ruby_copyright), "ruby - Copyright (C) %d-%d %s", - RUBY_BIRTH_YEAR, RUBY_RELEASE_YEAR, RUBY_AUTHOR); - tmp = rb_obj_freeze(rb_str_new2(ruby_copyright)); - rb_define_global_const("RUBY_COPYRIGHT", tmp); -#endif - /* obsolete constants */ rb_define_global_const("VERSION", v); rb_define_global_const("RELEASE_DATE", d); Index: ruby_1_8/version.h =================================================================== --- ruby_1_8/version.h (revision 17600) +++ ruby_1_8/version.h (revision 17601) @@ -16,14 +16,9 @@ RUBY_EXTERN const char ruby_release_date[]; RUBY_EXTERN const char ruby_platform[]; RUBY_EXTERN const int ruby_patchlevel; -#if !NO_STRING_LITERAL_CONCATENATION RUBY_EXTERN const char ruby_description[]; RUBY_EXTERN const char ruby_copyright[]; -#else -RUBY_EXTERN char ruby_description[]; -RUBY_EXTERN char ruby_copyright[]; #endif -#endif #define RUBY_AUTHOR "Yukihiro Matsumoto" #define RUBY_BIRTH_YEAR 1993 @@ -49,14 +44,18 @@ #define RUBY_RELEASE_NUM RUBY_REVISION #endif +#ifndef RUBY_DESCRIPTION # define RUBY_DESCRIPTION \ "ruby "RUBY_VERSION \ " ("RUBY_RELEASE_DATE" " \ RUBY_RELEASE_STR" " \ STRINGIZE(RUBY_RELEASE_NUM)") " \ "["RUBY_PLATFORM"]" +#endif +#ifndef RUBY_COPYRIGHT # define RUBY_COPYRIGHT \ "ruby - Copyright (C) " \ STRINGIZE(RUBY_BIRTH_YEAR)"-" \ STRINGIZE(RUBY_RELEASE_YEAR)" " \ RUBY_AUTHOR +#endif Index: ruby_1_8/common.mk =================================================================== --- ruby_1_8/common.mk (revision 17600) +++ ruby_1_8/common.mk (revision 17601) @@ -484,3 +484,12 @@ @set LC_MESSAGES=C -@$(SET_LC_MESSAGES) $(VCS) info "$(srcdir)" | \ sed -n "s/.*Rev:/#define RUBY_REVISION/p" > "$@" +-IF-NO-STRING-LITERAL-CONCATENATION-:: + @{ \ + echo '#include "$@"'; \ + echo '#include "ruby.h"'; \ + echo '#include "version.h"'; \ + echo '%define_RUBY_DESCRIPTION RUBY_DESCRIPTION'; \ + echo '%define_RUBY_COPYRIGHT RUBY_COPYRIGHT'; \ + } | $(CPP) -I. -I$(srcdir) - | \ + sed '/^%/!d;s//#/;s/_/ /;s/" *"//g' >> "$@" -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/