Merged revisions 48190 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Fri, 1 Dec 2006 23:20:17 +0000 (23:20 +0000)
committerRussell Bryant <russell@russellbryant.com>
Fri, 1 Dec 2006 23:20:17 +0000 (23:20 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48190 | russell | 2006-12-01 18:16:28 -0500 (Fri, 01 Dec 2006) | 12 lines

FreeBSD 6.1 does not include wget by default.  However, it has fetch which will
work just fine for our purposes of downloading the sounds packages.  So, check
for both wget and fetch and the configure script and use what was found to
download them.  If neither one was found, and sound packages are selected that
must be downloaded, the install process will print out an informative error
message indicating the situation.

Also, fix a couple places where "make" was hard coded into some output messages
by replacing them with the $(MAKE) variable.

(issue #8451, initial patch by pabelanger, with additional modifications by me)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48191 65c4cc65-6c06-0410-ace0-fbb531ad65f3

Makefile
configure
configure.ac
makeopts.in
sounds/Makefile

index ea07bd2..9b85e4d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -57,6 +57,7 @@ export DESTDIR
 export PROC
 export SOLINK
 export STRIP
+export DOWNLOAD
 
 # even though we could use '-include makeopts' here, use a wildcard
 # lookup anyway, so that make won't try to build makeopts if it doesn't
@@ -273,14 +274,14 @@ all: _all
        @echo " + Asterisk has successfully been built, and +"  
        @echo " + can be installed by running:              +"
        @echo " +                                           +"
-       @echo " +               make install                +"  
+       @echo " +               $(MAKE) install                +"  
        @echo " +-------------------------------------------+"  
 
 _all: cleantest $(SUBDIRS)
 
 makeopts: configure
        @echo "****"
-       @echo "**** The configure script must be executed before running 'make'."
+       @echo "**** The configure script must be executed before running '$(MAKE)'."
        @echo "****"
        @exit 1
 
index 315be2e..6ec4dc5 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac Revision: 47328 .
+# From configure.ac Revision: 47759 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.60a.
 #
@@ -691,6 +691,9 @@ DIRNAME
 LN
 DOT
 STRIP
+WGET
+FETCH
+DOWNLOAD
 AST_DEVMODE
 ALSA_LIB
 ALSA_INCLUDE
@@ -5576,6 +5579,94 @@ echo "${ECHO_T}no" >&6; }
 fi
 
 
+# Extract the first word of "wget", so it can be a program name with args.
+set dummy wget; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_WGET+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $WGET in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_WGET" && ac_cv_path_WGET=":"
+  ;;
+esac
+fi
+WGET=$ac_cv_path_WGET
+if test -n "$WGET"; then
+  { echo "$as_me:$LINENO: result: $WGET" >&5
+echo "${ECHO_T}$WGET" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+if test "${WGET}" != ":" ; then
+  DOWNLOAD=${WGET}
+else
+  # Extract the first word of "fetch", so it can be a program name with args.
+set dummy fetch; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_FETCH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $FETCH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_FETCH="$FETCH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_FETCH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_FETCH" && ac_cv_path_FETCH=":"
+  ;;
+esac
+fi
+FETCH=$ac_cv_path_FETCH
+if test -n "$FETCH"; then
+  { echo "$as_me:$LINENO: result: $FETCH" >&5
+echo "${ECHO_T}$FETCH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  DOWNLOAD=${FETCH}
+fi
+
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -34278,14 +34369,14 @@ DIRNAME!$DIRNAME$ac_delim
 LN!$LN$ac_delim
 DOT!$DOT$ac_delim
 STRIP!$STRIP$ac_delim
+WGET!$WGET$ac_delim
+FETCH!$FETCH$ac_delim
+DOWNLOAD!$DOWNLOAD$ac_delim
 AST_DEVMODE!$AST_DEVMODE$ac_delim
 ALSA_LIB!$ALSA_LIB$ac_delim
 ALSA_INCLUDE!$ALSA_INCLUDE$ac_delim
 PBX_ALSA!$PBX_ALSA$ac_delim
 CAP_LIB!$CAP_LIB$ac_delim
-CAP_INCLUDE!$CAP_INCLUDE$ac_delim
-PBX_CAP!$PBX_CAP$ac_delim
-CURL_LIB!$CURL_LIB$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -34327,6 +34418,9 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+CAP_INCLUDE!$CAP_INCLUDE$ac_delim
+PBX_CAP!$PBX_CAP$ac_delim
+CURL_LIB!$CURL_LIB$ac_delim
 CURL_INCLUDE!$CURL_INCLUDE$ac_delim
 PBX_CURL!$PBX_CURL$ac_delim
 CURSES_LIB!$CURSES_LIB$ac_delim
@@ -34421,9 +34515,6 @@ TERMCAP_INCLUDE!$TERMCAP_INCLUDE$ac_delim
 PBX_TERMCAP!$PBX_TERMCAP$ac_delim
 TINFO_LIB!$TINFO_LIB$ac_delim
 TINFO_INCLUDE!$TINFO_INCLUDE$ac_delim
-PBX_TINFO!$PBX_TINFO$ac_delim
-TONEZONE_LIB!$TONEZONE_LIB$ac_delim
-TONEZONE_INCLUDE!$TONEZONE_INCLUDE$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -34465,6 +34556,9 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+PBX_TINFO!$PBX_TINFO$ac_delim
+TONEZONE_LIB!$TONEZONE_LIB$ac_delim
+TONEZONE_INCLUDE!$TONEZONE_INCLUDE$ac_delim
 PBX_TONEZONE!$PBX_TONEZONE$ac_delim
 VORBIS_LIB!$VORBIS_LIB$ac_delim
 VORBIS_INCLUDE!$VORBIS_INCLUDE$ac_delim
@@ -34510,7 +34604,7 @@ CURL!$CURL$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 43; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 46; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
index f9519be..f86d996 100644 (file)
@@ -155,6 +155,14 @@ AC_PATH_PROG([SHELL], [sh], :)
 AC_PATH_PROG([LN], [ln], :)
 AC_PATH_PROG([DOT], [dot], :)
 AC_PATH_PROG([STRIP], [strip], :)
+AC_PATH_PROG([WGET], [wget], :)
+if test "${WGET}" != ":" ; then
+  DOWNLOAD=${WGET}
+else
+  AC_PATH_PROG([FETCH], [fetch], [:])
+  DOWNLOAD=${FETCH}
+fi
+AC_SUBST(DOWNLOAD)
 
 AC_LANG(C)
 
index 44f5ce3..445b16c 100644 (file)
@@ -19,6 +19,9 @@ LN=@LN@
 QTMOC=@QTMOC@
 DOT=@DOT@
 STRIP=@STRIP@
+WGET=@WGET@
+FETCH=@FETCH@
+DOWNLOAD=@DOWNLOAD@
 
 BUILD_PLATFORM=@BUILD_PLATFORM@
 BUILD_CPU=@BUILD_CPU@
index 720e116..ca9015c 100644 (file)
@@ -11,9 +11,9 @@
 # the GNU General Public License
 #
 
-.PHONY: dist-clean all uninstall
+.PHONY: dist-clean all uninstall have_download install
 
--include $(ASTTOPDIR)/menuselect.makeopts
+-include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/makeopts
 
 PWD:=$(shell pwd)
 SOUNDS_DIR:=$(DESTDIR)$(ASTDATADIR)/sounds
@@ -56,69 +56,85 @@ WGET_ARGS:=--continue
 
 all: $(CORE_SOUNDS) $(EXTRA_SOUNDS) $(MOH)
 
-$(SOUNDS_DIR)/.asterisk-core-sounds-en-%:
+have_download:
+       @if test "$(DOWNLOAD)" = ":" ; then \
+               echo "**************************************************"; \
+               echo "***                                            ***"; \
+               echo "*** You must have either wget or fetch to be   ***"; \
+               echo "*** able to automatically download and install ***"; \
+               echo "*** the requested sound packages.              ***"; \
+               echo "***                                            ***"; \
+               echo "*** Please install one of these, or remove any ***"; \
+               echo "*** extra sound package selections in          ***"; \
+               echo "*** menuselecct before installing Asterisk.    ***"; \
+               echo "***                                            ***"; \
+               echo "**************************************************"; \
+               exit 1; \
+       fi
+
+$(SOUNDS_DIR)/.asterisk-core-sounds-en-%: have_download
        @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \
-       if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
+       if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
        if test ! -f $${PACKAGE}; then exit 1; fi; \
        rm -f $(subst -$(CORE_SOUNDS_VERSION),,$@)-* && \
        (cd $(SOUNDS_DIR); cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \
        touch $@
 
-$(SOUNDS_DIR)/.asterisk-core-sounds-es-%:
+$(SOUNDS_DIR)/.asterisk-core-sounds-es-%: have_download
        @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \
-       if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
+       if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
        if test ! -f $${PACKAGE}; then exit 1; fi; \
        rm -f $(subst -$(CORE_SOUNDS_VERSION),,$@)-* && \
        (cd $(SOUNDS_DIR)/es; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \
        touch $@
 
-$(SOUNDS_DIR)/.asterisk-core-sounds-fr-%:
+$(SOUNDS_DIR)/.asterisk-core-sounds-fr-%: have_download
        @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \
-       if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
+       if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
        if test ! -f $${PACKAGE}; then exit 1; fi; \
        rm -f $(subst -$(CORE_SOUNDS_VERSION),,$@)-* && \
        (cd $(SOUNDS_DIR)/fr; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \
        touch $@
 
-$(SOUNDS_DIR)/.asterisk-extra-sounds-en-%:
+$(SOUNDS_DIR)/.asterisk-extra-sounds-en-%: have_download
        @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \
-       if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
+       if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
        if test ! -f $${PACKAGE}; then exit 1; fi; \
        rm -f $(subst -$(EXTRA_SOUNDS_VERSION),,$@)-* && \
        (cd $(SOUNDS_DIR); cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \
        touch $@
 
-$(SOUNDS_DIR)/.asterisk-extra-sounds-es-%:
+$(SOUNDS_DIR)/.asterisk-extra-sounds-es-%: have_download
        @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \
-       if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
+       if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
        if test ! -f $${PACKAGE}; then exit 1; fi; \
        rm -f $(subst -$(EXTRA_SOUNDS_VERSION),,$@)-* && \
        (cd $(SOUNDS_DIR)/es; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \
        touch $@
 
-$(SOUNDS_DIR)/.asterisk-extra-sounds-fr-%:
+$(SOUNDS_DIR)/.asterisk-extra-sounds-fr-%: have_download
        @PACKAGE=$(subst $(SOUNDS_DIR)/.asterisk,asterisk,$@).tar.gz; \
-       if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
+       if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
        if test ! -f $${PACKAGE}; then exit 1; fi; \
        rm -f $(subst -$(EXTRA_SOUNDS_VERSION),,$@)-* && \
        (cd $(SOUNDS_DIR)/fr; cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \
        touch $@
 
-$(MOH_DIR)/.asterisk-moh-%:
+$(MOH_DIR)/.asterisk-moh-%: have_download
        @PACKAGE=$(subst $(MOH_DIR)/.asterisk,asterisk,$@).tar.gz; \
-       if test ! -f $${PACKAGE}; then wget $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
+       if test ! -f $${PACKAGE}; then $(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$${PACKAGE}; fi; \
        if test ! -f $${PACKAGE}; then exit 1; fi; \
        (cd $(MOH_DIR); cat $(PWD)/$${PACKAGE} | gzip -d | tar xf -) && \
        touch $@
 
-asterisk-core-%.tar.gz:
-       @wget $(WGET_ARGS) $(SOUNDS_URL)/$@
+asterisk-core-%.tar.gz: have_download
+       @$(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$@
 
-asterisk-extra-%.tar.gz:
-       @wget $(WGET_ARGS) $(SOUNDS_URL)/$@
+asterisk-extra-%.tar.gz: have_download
+       @$(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$@
 
-asterisk-moh-%.tar.gz:
-       @wget $(WGET_ARGS) $(SOUNDS_URL)/$@
+asterisk-moh-%.tar.gz: have_download
+       @$(DOWNLOAD) $(WGET_ARGS) $(SOUNDS_URL)/$@
 
 dist-clean:
        rm -f *.tar.gz