# # Check for specified utility (env var) - if unset, fail. # AC_DEFUN([AC_PACKAGE_NEED_UTILITY], [ if test -z "$2"; then echo echo FATAL ERROR: $3 does not seem to be installed. echo $1 cannot be built without a working $4 installation. exit 1 fi ]) # #check compiler can generate dependencies # AC_DEFUN([AC_PACKAGE_GCC_DEPS], [AC_CACHE_CHECK(whether gcc -MM is supported, ac_cv_gcc_nodeps, [cat > conftest.c < int main() { exit(0); } EOF ac_cv_gcc_nodeps=no if ${CC} -MM conftest.c >/dev/null 2>&1; then ac_cv_gcc_nodeps=yes fi rm -f conftest.c a.out ]) ]) # # Generic macro, sets up all of the global build variables. # The following environment variables may be set to override defaults: # CC MAKE LIBTOOL TAR ZIP eMAKEDEPEND AWK SED ECHO SORT # MSGFMT MSGMERGE RPM # AC_DEFUN([AC_PACKAGE_UTILITIES], [ AC_PROG_CC cc="$CC" AC_SUBST(cc) AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler]) if test -z "$MAKE"; then AC_PATH_PROG(MAKE, gmake,, /usr/bin:/usr/local/bin) fi if test -z "$MAKE"; then AC_PATH_PROG(MAKE, make,, /usr/bin) fi make=$MAKE AC_SUBST(make) AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) if test -z "$LIBTOOL"; then AC_PATH_PROG(LIBTOOL, glibtool,, /usr/bin) fi if test -z "$LIBTOOL"; then AC_PATH_PROG(LIBTOOL, libtool,, /usr/bin:/usr/local/bin) fi libtool=$LIBTOOL AC_SUBST(libtool) AC_PACKAGE_NEED_UTILITY($1, "$libtool", libtool, [GNU libtool]) if test -z "$TAR"; then AC_PATH_PROG(TAR, tar,, /bin:/usr/local/bin:/usr/bin) fi tar=$TAR AC_SUBST(tar) if test -z "$ZIP"; then AC_PATH_PROG(ZIP, gzip,, /bin:/usr/bin:/usr/local/bin) fi zip=$ZIP AC_SUBST(zip) AC_PACKAGE_GCC_DEPS() makedepend="$cc -MM" if test $ac_cv_gcc_nodeps = no; then makedepend=/bin/true fi AC_SUBST(makedepend) if test -z "$AWK"; then AC_PATH_PROG(AWK, awk,, /bin:/usr/bin) fi awk=$AWK AC_SUBST(awk) if test -z "$SED"; then AC_PATH_PROG(SED, sed,, /bin:/usr/bin) fi sed=$SED AC_SUBST(sed) if test -z "$ECHO"; then AC_PATH_PROG(ECHO, echo,, /bin:/usr/bin) fi echo=$ECHO AC_SUBST(echo) if test -z "$SORT"; then AC_PATH_PROG(SORT, sort,, /bin:/usr/bin) fi sort=$SORT AC_SUBST(sort) dnl check if symbolic links are supported AC_PROG_LN_S if test "$enable_gettext" = yes; then if test -z "$MSGFMT"; then AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/local/bin) fi msgfmt=$MSGFMT AC_SUBST(msgfmt) AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext) if test -z "$MSGMERGE"; then AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/local/bin) fi msgmerge=$MSGMERGE AC_SUBST(msgmerge) AC_PACKAGE_NEED_UTILITY($1, "$msgmerge", msgmerge, gettext) fi if test -z "$RPM"; then AC_PATH_PROG(RPM, rpm,, /bin:/usr/bin) fi rpm=$RPM AC_SUBST(rpm) dnl .. and what version is rpm rpm_version=0 test -n "$RPM" && test -x "$RPM" && rpm_version=`$RPM --version \ | awk '{print $NF}' | awk -F. '{V=1; print $V}'` AC_SUBST(rpm_version) dnl At some point in rpm 4.0, rpm can no longer build rpms, and dnl rpmbuild is needed (rpmbuild may go way back; not sure) dnl So, if rpm version >= 4.0, look for rpmbuild. Otherwise build w/ rpm if test $rpm_version -ge 4; then AC_PATH_PROG(RPMBUILD, rpmbuild) rpmbuild=$RPMBUILD else rpmbuild=$RPM fi AC_SUBST(rpmbuild) ])