diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | common.mk | 2 | ||||
-rw-r--r-- | configure.in | 22 | ||||
-rw-r--r-- | win32/Makefile.sub | 1 |
5 files changed, 36 insertions, 2 deletions
@@ -1,3 +1,14 @@ +Sun Jul 31 20:21:36 2011 "Yuki Sonoda (Yugui)" <yugui@yugui.jp> + + * common.mk (ECHO1): ":" in a make variable replacement cause a syntax + error with /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead. + + * configure.in (NULLCMD): new check. + + * Makefile.in (NULLCMD): Reflects checking in configure. + + * win32/Makefile.sub (NULLCMD): new assignment. + Sun Jul 31 18:58:59 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> * io.c (rb_pipe): pipe on cygwin can succeed half but fail diff --git a/Makefile.in b/Makefile.in index b1864e68e3..912547860e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,5 +1,5 @@ SHELL = /bin/sh -NULLCMD = : +NULLCMD = @NULLCMD@ RUNCMD = $(SHELL) CHDIR = @CHDIR@ exec = exec @@ -8,7 +8,7 @@ dll: $(LIBRUBY_SO) V = 0 Q1 = $(V:1=) Q = $(Q1:0=@) -ECHO1 = $(V:1=@:) +ECHO1 = $(V:1=@$(NULLCMD)) ECHO = $(ECHO1:0=@echo) RUBYLIB = - diff --git a/configure.in b/configure.in index b278942689..49786e0d1b 100644 --- a/configure.in +++ b/configure.in @@ -2599,6 +2599,28 @@ AS_CASE(["$FIRSTMAKEFILE"], [*GNUmakefile:*], [gnumake=yes], [ gnumake=no]) AC_MSG_RESULT($gnumake) ]) +AS_IF([test "$gnumake" = yes], [ NULLCMD=: ], [ + AC_MSG_CHECKING([for safe null command for ${Make-make}]) + mkdir conftest.dir + echo 'A=1' > conftest.dir/Makefile + echo 'B=$(A:1=@:)' >> conftest.dir/Makefile + echo 'all:; $B 1 2 3 4 5 6 7 8 9' >> conftest.dir/Makefile + if (cd conftest.dir; ${Make-make} >/dev/null 2>/dev/null); then + NULLCMD=: + else + echo 'A=1' > conftest.dir/Makefile + echo 'B=$(A:1=@true)' >> conftest.dir/Makefile + echo 'all:; $B 1 2 3 4 5 6 7 8 9' >> conftest.dir/Makefile + if (cd conftest.dir; ${Make-make} >/dev/null 2>/dev/null); then + NULLCMD=true + else + AC_MSG_ERROR(no candidate for safe null command) + fi + fi + rm -fr conftest.dir + AC_MSG_RESULT($NULLCMD) +]) +AC_SUBST(NULLCMD) if test "${universal_binary-no}" = yes ; then AC_CACHE_CHECK([for architecture macros], rb_cv_architecture_macros, [ diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 808966a4e0..4167f6a95b 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -1,6 +1,7 @@ # -*- makefile -*- SHELL = $(COMSPEC) +NULLCMD = : RUNCMD = $(COMSPEC) /c MKFILES = Makefile NULL = nul |