ruby-changes:24764
From: nobu <ko1@a...>
Date: Fri, 24 Aug 2012 15:42:44 +0900 (JST)
Subject: [ruby-changes:24764] nobu:r36815 (trunk): mkmf.rb: timestamp for directories
nobu 2012-08-24 15:42:34 +0900 (Fri, 24 Aug 2012) New Revision: 36815 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36815 Log: mkmf.rb: timestamp for directories * lib/mkmf.rb (create_makefile): use timestamp for destination directories. [ruby-dev:46067] [Bug #6904] Modified files: trunk/ChangeLog trunk/lib/mkmf.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 36814) +++ ChangeLog (revision 36815) @@ -1,3 +1,8 @@ +Fri Aug 24 15:42:28 2012 Nobuyoshi Nakada <nobu@r...> + + * lib/mkmf.rb (create_makefile): use timestamp for destination + directories. [ruby-dev:46067] [Bug #6904] + Fri Aug 24 12:40:15 2012 Luis Lavena <luislavena@g...> * configure.in (mingw): add shlwapi to the list of dependency Index: lib/mkmf.rb =================================================================== --- lib/mkmf.rb (revision 36814) +++ lib/mkmf.rb (revision 36815) @@ -1831,6 +1831,7 @@ INSTALL_PROG = #{config_string('INSTALL_PROG') || '$(INSTALL) -m 0755'} INSTALL_DATA = #{config_string('INSTALL_DATA') || '$(INSTALL) -m 0644'} COPY = #{config_string('CP', &possible_command) || '@$(RUBY) -run -e cp -- -v'} +TOUCH = exit > #### End of system configuration section. #### @@ -1847,6 +1848,11 @@ end mk end + + def timestamp_file(name) + name = name.gsub(/(\$[({]|[})])|(\/+)|[^-.\w]+/) {$1 ? "@" : $2 ? "%" : "_"} + "./.#{name}.time" + end # :startdoc: # creates a stub Makefile. @@ -2142,7 +2148,7 @@ for dir, *files in files unless dirs.include?(dir) dirs << dir - mfile.print "pre-install-rb#{sfx}: #{dir}\n" + mfile.print "pre-install-rb#{sfx}: #{timestamp_file(dir)}\n" end for f in files dest = "#{dir}/#{File.basename(f)}" @@ -2171,7 +2177,10 @@ end end dirs.unshift(sodir) if target and !dirs.include?(sodir) - dirs.each {|d| mfile.print "#{d}:\n\t$(Q) $(MAKEDIRS) $@\n"} + dirs.each do |d| + t = timestamp_file(d) + mfile.print "#{t}:\n\t$(Q) $(MAKEDIRS) #{d}\n\t$(Q) $(TOUCH) $@\n" + end mfile.print <<-SITEINSTALL @@ -2204,10 +2213,11 @@ mfile.print "$(RUBYARCHDIR)/" if $extout mfile.print "$(DLLIB): " mfile.print "$(DEFFILE) " if makedef - mfile.print "$(OBJS) Makefile\n" + mfile.print "$(OBJS) Makefile" + mfile.print " #{timestamp_file('$(RUBYARCHDIR)')}\n" if $extout + mfile.print "\n" mfile.print "\t$(ECHO) linking shared-object #{target_prefix.sub(/\A\/(.*)/, '\1/')}$(DLLIB)\n" mfile.print "\t-$(Q)$(RM) $(@#{sep})\n" - mfile.print "\t-$(Q)$(MAKEDIRS) $(@D)\n" if $extout link_so = LINK_SO.gsub(/^/, "\t$(Q) ") if srcs.any?(&%r"\.(?:#{CXX_EXT.join('|')})\z".method(:===)) link_so = link_so.sub(/\bLDSHARED\b/, '\&XX') -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/