From d5dcd2feb833a357cec7527ff1da4750a42c907a Mon Sep 17 00:00:00 2001 From: seanbright Date: Wed, 19 Nov 2008 00:27:45 +0000 Subject: [PATCH] Fix a few build problems on Solaris (and check for an md5 utility in configure instead of the icky loop I was doing before). (closes issue #13842) Reported by: snuffy Patches: bug13842_20081106.diff uploaded by snuffy (license 35) 13842.diff uploaded by seanbright (license 71) Tested by: snuffy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157600 f38db490-d61c-443f-a65b-d21fe96a405b --- Makefile | 1 + build_tools/make_buildopts_h | 9 ++--- build_tools/make_version | 4 +-- configure | 67 ++++++++++++++++++++++++++++++------ configure.ac | 6 ++++ makeopts.in | 1 + 6 files changed, 68 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 1f6156d1e..45b01b769 100644 --- a/Makefile +++ b/Makefile @@ -92,6 +92,7 @@ export DOWNLOAD export AWK export GREP export ID +export MD5 # 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 diff --git a/build_tools/make_buildopts_h b/build_tools/make_buildopts_h index 93be6da7e..4f02896e4 100755 --- a/build_tools/make_buildopts_h +++ b/build_tools/make_buildopts_h @@ -26,13 +26,8 @@ then echo "#define AST_DEVMODE 1" TMP="${TMP} AST_DEVMODE" fi -for x in md5 digest md5sum gmd5sum; do - BUILDSUM=`echo ${TMP} | $x 2> /dev/null` - if [ $? = 0 ]; then - BUILDSUM=`echo ${BUILDSUM} | cut -c1-32` - break; - fi -done + +BUILDSUM=`echo ${TMP} | ${MD5} | cut -c1-32` echo "#define AST_BUILDOPT_SUM \"${BUILDSUM}\"" echo "#define AST_BUILDOPTS \"${BUILDOPTS}\"" diff --git a/build_tools/make_version b/build_tools/make_version index 73e9864fa..67231ff0c 100755 --- a/build_tools/make_version +++ b/build_tools/make_version @@ -30,7 +30,7 @@ elif [ -d .svn ]; then fi if [ ${BRANCH} != 0 ] ; then - if [ -z ${RESULT} ] ; then + if [ -z "${RESULT}" ] ; then RESULT="${PART}" else RESULT="${RESULT}-${PART}" @@ -39,7 +39,7 @@ elif [ -d .svn ]; then fi if [ ${TEAM} != 0 ] ; then - if [ -z ${RESULT} ] ; then + if [ -z "${RESULT}" ] ; then RESULT="${PART}" else RESULT="${RESULT}-${PART}" diff --git a/configure b/configure index b0f7eee31..5aaf29eec 100755 --- a/configure +++ b/configure @@ -716,6 +716,7 @@ XMLSTARLET FETCH DOWNLOAD SOXMIX +MD5 acx_pthread_config PTHREAD_CC PTHREAD_LIBS @@ -7510,6 +7511,53 @@ _ACEOF fi +for ac_prog in md5 md5sum gmd5sum digest +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_prog_MD5+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$MD5"; then + ac_cv_prog_MD5="$MD5" # Let the user override the test. +else +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_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_MD5="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +MD5=$ac_cv_prog_MD5 +if test -n "$MD5"; then + { echo "$as_me:$LINENO: result: $MD5" >&5 +echo "${ECHO_T}$MD5" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$MD5" && break +done + + +if test "${MD5}" = "digest" ; then + MD5="${MD5} -a md5" +fi + @@ -13208,13 +13256,11 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include /* for off_t */ - #include +#include int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } @@ -13254,13 +13300,11 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 -#include /* for off_t */ - #include +#include int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } @@ -51988,6 +52032,7 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +MD5!$MD5$ac_delim acx_pthread_config!$acx_pthread_config$ac_delim PTHREAD_CC!$PTHREAD_CC$ac_delim PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim @@ -52084,7 +52129,6 @@ PBX_LTDL!$PBX_LTDL$ac_delim LUA_LIB!$LUA_LIB$ac_delim LUA_INCLUDE!$LUA_INCLUDE$ac_delim LUA_DIR!$LUA_DIR$ac_delim -PBX_LUA!$PBX_LUA$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -52126,6 +52170,7 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +PBX_LUA!$PBX_LUA$ac_delim MISDN_LIB!$MISDN_LIB$ac_delim MISDN_INCLUDE!$MISDN_INCLUDE$ac_delim MISDN_DIR!$MISDN_DIR$ac_delim @@ -52222,7 +52267,6 @@ SQLITE_LIB!$SQLITE_LIB$ac_delim SQLITE_INCLUDE!$SQLITE_INCLUDE$ac_delim SQLITE_DIR!$SQLITE_DIR$ac_delim PBX_SQLITE!$PBX_SQLITE$ac_delim -SQLITE3_LIB!$SQLITE3_LIB$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -52264,6 +52308,7 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +SQLITE3_LIB!$SQLITE3_LIB$ac_delim SQLITE3_INCLUDE!$SQLITE3_INCLUDE$ac_delim SQLITE3_DIR!$SQLITE3_DIR$ac_delim PBX_SQLITE3!$PBX_SQLITE3$ac_delim @@ -52360,7 +52405,7 @@ CURL_CONFIG!$CURL_CONFIG$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 94; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure.ac b/configure.ac index 596424143..7e93cde84 100644 --- a/configure.ac +++ b/configure.ac @@ -190,6 +190,12 @@ if test "${SOXMIX}" != ":" ; then AC_DEFINE([HAVE_SOXMIX], 1, [Define to 1 if your system has soxmix application.]) fi +AC_CHECK_PROGS([MD5], [md5 md5sum gmd5sum digest]) + +if test "${MD5}" = "digest" ; then + MD5="${MD5} -a md5" +fi + ACX_PTHREAD AC_LANG(C) diff --git a/makeopts.in b/makeopts.in index 3856d89d4..a264940e4 100644 --- a/makeopts.in +++ b/makeopts.in @@ -25,6 +25,7 @@ DOWNLOAD=@DOWNLOAD@ RUBBER=@RUBBER@ KPATHSEA=@KPATHSEA@ XMLSTARLET=@XMLSTARLET@ +MD5=@MD5@ BUILD_PLATFORM=@BUILD_PLATFORM@ BUILD_CPU=@BUILD_CPU@