aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-10 01:22:48 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-10 01:22:48 +0000
commit0ab20b48c5a2595f30aedda129893702e409a5a9 (patch)
tree8081923505b44728cfb13d183fad21662ce76e06
parent68c9c97f139c8e4f0543a3f431fdb567ad6b1ac3 (diff)
downloadruby-0ab20b48c5a2595f30aedda129893702e409a5a9.tar.gz
Add --with-git option
* configure.in, win32/configure.bat: add --with-git option to tell git command to use, or not to use git. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--Makefile.in2
-rw-r--r--common.mk4
-rw-r--r--configure.in24
-rw-r--r--win32/Makefile.sub24
-rwxr-xr-xwin32/configure.bat14
5 files changed, 59 insertions, 9 deletions
diff --git a/Makefile.in b/Makefile.in
index 79cc6756dc..8b5ce84504 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -172,6 +172,8 @@ IFCHANGE = $(srcdir)/tool/ifchange
SET_LC_MESSAGES = env LC_MESSAGES=C
OBJDUMP = @OBJDUMP@
OBJCOPY = @OBJCOPY@
+HAVE_GIT = @HAVE_GIT@
+GIT = @GIT@
VCS = @VCS@
VCSUP = @VCSUP@
DTRACE = @DTRACE@ @DTRACE_OPT@
diff --git a/common.mk b/common.mk
index 608e4a2d0d..49ef6c0385 100644
--- a/common.mk
+++ b/common.mk
@@ -1078,9 +1078,11 @@ up::
after-update:: extract-extlibs
-update-remote:: update-src update-rubyspec update-download
+update-remote:: update-src update-download $(HAVE_GIT:yes=)update-rubyspec
update-download:: update-unicode update-gems download-extlibs
+noupdate-rubyspec:
+
update-config_files: PHONY
$(Q) $(BASERUBY) -C "$(srcdir)/tool" \
../tool/downloader.rb -e gnu \
diff --git a/configure.in b/configure.in
index 95be5c54c6..c68a082be7 100644
--- a/configure.in
+++ b/configure.in
@@ -58,6 +58,18 @@ fi
AC_SUBST(BASERUBY)
AC_SUBST(HAVE_BASERUBY)
+GIT=git
+HAVE_GIT=yes
+AC_ARG_WITH(git,
+ AS_HELP_STRING([--without-git], [never use git]),
+ [AS_CASE([$withval],
+ [no], [GIT=never-use HAVE_GIT=no],
+ [yes], [GIT=git],
+ [GIT=$withval])])
+AS_IF([test x"$HAVE_GIT" = xyes], [command -v "$GIT" > /dev/null || HAVE_GIT=no])
+AC_SUBST(GIT)
+AC_SUBST(HAVE_GIT)
+
AC_DEFUN([RUBY_MINGW32],
[AS_CASE(["$host_os"],
[cygwin*], [
@@ -4644,19 +4656,19 @@ AC_CONFIG_FILES(Makefile, [
:
elif svn info "$srcdir" > /dev/null 2>&1; then
VCS='svn'
- elif git_dir=`git --work-tree="$srcdir" --git-dir="$srcdir/.git" rev-parse --git-dir 2>/dev/null`; then
+ elif git_dir=`$GIT --work-tree="$srcdir" --git-dir="$srcdir/.git" rev-parse --git-dir 2>/dev/null`; then
if test -d "$git_dir/svn"; then
- VCS='git svn'
+ VCS='$(GIT) svn'
else
- VCS='git'
+ VCS='$(GIT)'
fi
else
VCS='echo cannot'
fi
AS_CASE("$VCS",
- [svn], [VCSUP='$(VCS) up $(SVNUPOPTIONS)'],
- ["git svn"], [VCSUP='$(VCS) rebase $(GITSVNREBASEOPTIONS)'],
- [git], [VCSUP='$(VCS) pull $(GITPULLOPTIONS)'],
+ [svn], [VCSUP='$(VCS) up $(SVNUPOPTIONS)'],
+ ['$(GIT) svn'], [VCSUP='$(VCS) rebase $(GITSVNREBASEOPTIONS)'],
+ ['$(GIT)'|git], [VCSUP='$(VCS) pull $(GITPULLOPTIONS)'],
[VCSUP='$(VCS)'])
sed -n \
-e '[/^@%:@define \(RUBY_RELEASE_[A-Z]*\) \([0-9][0-9]*\)/]{' \
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index ffccd1422c..8bf9077484 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -393,14 +393,34 @@ top_srcdir = $(srcdir)
hdrdir = $(srcdir)/include
VPATH = $(arch_hdrdir)/ruby;$(hdrdir)/ruby;$(srcdir);$(srcdir)/missing;$(win_srcdir)
+!ifndef GIT
+GIT = git
+!endif
+!if "$(HAVE_GIT)" == "yes" || "$(HAVE_GIT)" == "no"
+!else if "$(GIT)" == ""
+HAVE_GIT = no
+!else if [for %I in ($(GIT)) @if not "%~xI" == "" exit 1]
+! if [for %I in ($(GIT)) @if not "%~$PATH:I" == "" exit 1]
+HAVE_GIT = yes
+! else
+HAVE_GIT = no
+! endif
+!else
+! if [for %x in (%PATHEXT:;= %) do @for %I in ($(GIT)%x) do @if not "%~$PATH:I" == . exit 1]
+HAVE_GIT = yes
+! else
+HAVE_GIT = no
+! endif
+!endif
+
!if exist($(srcdir)/.svn)
VCS = svn
VCSUP = $(VCS) up $(SVNUPOPTIONS)
!else if exist($(srcdir)/.git/svn)
-VCS = git svn
+VCS = $(GIT) svn
VCSUP = $(VCS) rebase $(GITSVNREBASEOPTIONS)
!else if exist($(srcdir)/.git)
-VCS = git
+VCS = $(GIT)
VCSUP = $(VCS) pull $(GITPULLOPTIONS)
!else
VCSUP = rem
diff --git a/win32/configure.bat b/win32/configure.bat
index dca517e4f4..18c9d95963 100755
--- a/win32/configure.bat
+++ b/win32/configure.bat
@@ -41,6 +41,8 @@ if "%1" == "--path" goto :path
if "%1" == "--with-baseruby" goto :baseruby
if "%1" == "--with-ntver" goto :ntver
if "%1" == "--with-libdir" goto :libdir
+if "%1" == "--with-git" goto :git
+if "%1" == "--without-git" goto :nogit
if "%1" == "--without-ext" goto :witharg
if "%1" == "--without-extensions" goto :witharg
if "%opt:~0,10%" == "--without-" goto :withoutarg
@@ -179,6 +181,18 @@ goto :loop ;
shift
shift
goto :loop ;
+:git
+ echo>> ~tmp~.mak "GIT=%~2" \
+ echo>>confargs.tmp %1=%2 \
+ shift
+ shift
+goto :loop ;
+:nogit
+ echo>> ~tmp~.mak "GIT=never-use" \
+ echo>> ~tmp~.mak "HAVE_GIT=no" \
+ echo>>confargs.tmp %1 \
+ shift
+goto :loop ;
:witharg
echo>>confargs.tmp %1=%2\
set witharg=1