[前][次][番号順一覧][スレッド一覧]

ruby-changes:3745

From: ko1@a...
Date: Fri, 25 Jan 2008 18:27:47 +0900 (JST)
Subject: [ruby-changes:3745] nobu - Ruby:r15234 (trunk): * common.mk (revision.h): extracts revision number with ``svn info''.

nobu	2008-01-25 18:27:30 +0900 (Fri, 25 Jan 2008)

  New Revision: 15234

  Modified files:
    trunk/ChangeLog
    trunk/Makefile.in
    trunk/bcc32/Makefile.sub
    trunk/common.mk
    trunk/win32/Makefile.sub
    trunk/win32/ifchange.bat

  Log:
    * common.mk (revision.h): extracts revision number with ``svn info''.
    
    * common.mk (up): target to update from the repository.
    
    * Makefile.in, {win,bcc}32/Makefile.sub (IFCHANGE): tool to update a
      file if changed.
    
    * tool/ifchange: for unixen.
    
    * win32/ifchange.bat: some fix


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/Makefile.in?r1=15234&r2=15233&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15234&r2=15233&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/win32/Makefile.sub?r1=15234&r2=15233&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bcc32/Makefile.sub?r1=15234&r2=15233&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/win32/ifchange.bat?r1=15234&r2=15233&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/common.mk?r1=15234&r2=15233&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15233)
+++ ChangeLog	(revision 15234)
@@ -1,3 +1,16 @@
+Fri Jan 25 18:27:28 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* common.mk (revision.h): extracts revision number with ``svn info''.
+
+	* common.mk (up): target to update from the repository.
+
+	* Makefile.in, {win,bcc}32/Makefile.sub (IFCHANGE): tool to update a
+	  file if changed.
+
+	* tool/ifchange: for unixen.
+
+	* win32/ifchange.bat: some fix
+
 Fri Jan 25 17:12:13 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* ruby.c (load_file): set default to ASCII-8BIT explicitly if -K
Index: common.mk
===================================================================
--- common.mk	(revision 15233)
+++ common.mk	(revision 15234)
@@ -98,6 +98,8 @@
 
 BOOTSTRAPRUBY = $(BASERUBY)
 
+VCS           = svn
+
 all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY) encs
 	@$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS)
 prog: $(PROGRAM) $(WPROGRAM)
@@ -698,7 +700,7 @@
 
 srcs: {$(VPATH)}parse.c {$(VPATH)}lex.c $(srcdir)/ext/ripper/ripper.c
 
-incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}encdb.h {$(VPATH)}revision.h
+incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}encdb.h $(srcdir)/revision.h
 
 node_name.inc: {$(VPATH)}node.h
 	$(BASERUBY) -n $(srcdir)/tool/node_name.rb $? > $@
@@ -724,8 +726,11 @@
 docs:
 	$(BASERUBY) -I$(srcdir) $(srcdir)/tool/makedocs.rb $(INSNS2VMOPT)
 
-revision.h:
-	exit > $@
+$(srcdir)/revision.h:
+	@set LC_MESSAGES=C
+	-@$(SET_LC_MESSAGES) $(VCS) info "$(@D)" | \
+	sed -n "s/.*Rev:/#define RUBY_REVISION/p" > "$@.tmp"
+	$(IFCHANGE) "$@" "$@.tmp"
 
 $(srcdir)/ext/ripper/ripper.c:
 	cd $(srcdir)/ext/ripper && exec $(MAKE) -f depend $(MFLAGS) top_srcdir=../.. srcdir=.
@@ -788,3 +793,7 @@
 
 dist: $(PROGRAM)
 	$(RUNRUBY) $(srcdir)/distruby.rb
+
+up:
+	@$(VCS) up "$(srcdir)" |\
+	sed '-e$${' -eh "-es/[^0-9]//g" "-es/^/#define RUBY_REVISION /" "-ew$(srcdir)/revision.h" -eg "-e}"
Index: win32/Makefile.sub
===================================================================
--- win32/Makefile.sub	(revision 15233)
+++ win32/Makefile.sub	(revision 15234)
@@ -63,6 +63,7 @@
 AR = lib -nologo
 PURIFY =
 AUTOCONF = autoconf
+IFCHANGE = $(COMSPEC) /C $(srcdir:/=\)\win32\ifchange.bat
 RM = $(COMSPEC) /C $(srcdir:/=\)\win32\rm.bat
 CP = copy > nul
 MV = move > nul
@@ -246,14 +247,6 @@
 
 INSTALLED_LIST= .installed.list
 
-!if [find "revision.h" $(srcdir:/=\)\version.h > nul 2> nul] == 0
-REVISION_H    = revision.h
-REVISION_UP   = revision-up
-!else
-REVISION_H    = version.h
-REVISION_UP   =
-!endif
-
 !if !defined(WINMAINOBJ)
 WINMAINOBJ    = winmain.$(OBJEXT)
 !endif
@@ -307,7 +300,7 @@
 !if !exist("$(arch_hdrdir)/ruby")
 	@md $(arch_hdrdir:/=\)\ruby
 !endif
-	@$(COMSPEC) /C $(srcdir:/=\)\win32\ifchange.bat $(RUBY_CONFIG_H:/=\) <<
+	@$(IFCHANGE) $(RUBY_CONFIG_H:/=\) <<
 #if _MSC_VER != $(MSC_VER)
 #error MSC version unmatch: _MSC_VER: $(MSC_VER) is expected.
 #endif
Index: win32/ifchange.bat
===================================================================
--- win32/ifchange.bat	(revision 15233)
+++ win32/ifchange.bat	(revision 15234)
@@ -1,13 +1,23 @@
 @echo off
 :: usage: ifchange target temporary
 
+if "%1" == "" goto :end
+
+set dest=%1
+set src=%2
+set dest=%dest:/=\%
+set src=%src:/=\%
+if not "%dest%" == "" if not "%dest%" == "%%dest:/=\%%" goto :nt
+
+if not exist %2 goto :end
+
 :: check if fc.exe works.
-echo foo > conftest1.tmp
-echo bar > conftest2.tmp
-fc.exe conftest1.tmp conftest2.tmp > nul
+echo foo > conftst1.tmp
+echo bar > conftst2.tmp
+fc.exe conftst1.tmp conftst2.tmp > nul
 if not errorlevel 1 goto :brokenfc
-del conftest1.tmp > nul
-del conftest2.tmp > nul
+del conftst1.tmp > nul
+del conftst2.tmp > nul
 
 :: target does not exist or new file differs from it.
 if not exist %1 goto :update
@@ -27,6 +37,23 @@
 
 :update
 echo %1 updated.
-if exist %1 del %1
-copy %2 %1 > nul
+:: if exist %1 del %1
+dir /b %2
+copy %2 %1
+del %2
+goto :end
+
+:nt
+if not exist %src% goto :end
+if exist %dest% (
+    fc.exe %dest% %src% > nul && (
+	echo %dest% unchanged.
+	del %src%
+	goto :end
+    )
+)
+echo %dest% updated.
+copy %src% %dest% > nul
+del %src%
+
 :end
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 15233)
+++ Makefile.in	(revision 15234)
@@ -92,6 +92,8 @@
 RANLIB        = @RANLIB@
 AS            = @AS@
 ASFLAGS       = @ASFLAGS@
+IFCHANGE      = $(srcdir)/tool/ifchange
+SET_LC_MESSAGES = LC_MESSAGES=C
 
 OBJEXT        = @OBJEXT@
 ASMEXT        = S
Index: bcc32/Makefile.sub
===================================================================
--- bcc32/Makefile.sub	(revision 15233)
+++ bcc32/Makefile.sub	(revision 15234)
@@ -70,6 +70,7 @@
 
 PURIFY =
 AUTOCONF = autoconf
+IFCHANGE = $(srcdir:/=\)\win32\ifchange.bat
 RM = $(srcdir:/=\)\win32\rm.bat
 CP = copy > nul
 MV = move > nul
@@ -248,7 +249,7 @@
 $(CONFIG_H): $(MKFILES) $(srcdir)/bcc32/Makefile.sub
 	@if not exist $(arch_hdrdir:/=\) md $(arch_hdrdir:/=\)
 	@if not exist $(arch_hdrdir:/=\)\ruby md $(arch_hdrdir:/=\)\ruby
-	@$(srcdir:/=\)\win32\ifchange.bat $(RUBY_CONFIG_H:/=\) &&|
+	@$(IFCHANGE) $(RUBY_CONFIG_H:/=\) &&|
 \#define HAVE_SYS_TYPES_H 1
 \#define HAVE_SYS_STAT_H 1
 \#define HAVE_STDLIB_H 1

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]