Blame src/openpa/confdb/aclocal_util.m4

Packit Service c5cf8c
dnl Nesting safe macros for saving variables
Packit Service c5cf8c
dnl Usage: PAC_PUSH_FLAG(CFLAGS)
Packit Service c5cf8c
AC_DEFUN([PAC_PUSH_FLAG],[
Packit Service c5cf8c
	if test -z "${pac_save_$1_nesting}" ; then
Packit Service c5cf8c
	   pac_save_$1_nesting=0
Packit Service c5cf8c
	fi
Packit Service c5cf8c
	eval pac_save_$1_${pac_save_$1_nesting}='"$$1"'
Packit Service c5cf8c
	pac_save_$1_nesting=`expr ${pac_save_$1_nesting} + 1`
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl Usage: PAC_POP_FLAG(CFLAGS)
Packit Service c5cf8c
AC_DEFUN([PAC_POP_FLAG],[
Packit Service c5cf8c
	pac_save_$1_nesting=`expr ${pac_save_$1_nesting} - 1`
Packit Service c5cf8c
	eval $1="\$pac_save_$1_${pac_save_$1_nesting}"
Packit Service c5cf8c
	eval pac_save_$1_${pac_save_$1_nesting}=""
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl Usage: PAC_PUSH_ALL_FLAGS
Packit Service c5cf8c
AC_DEFUN([PAC_PUSH_ALL_FLAGS],[
Packit Service c5cf8c
	PAC_PUSH_FLAG(CFLAGS)
Packit Service c5cf8c
	PAC_PUSH_FLAG(CPPFLAGS)
Packit Service c5cf8c
	PAC_PUSH_FLAG(CXXFLAGS)
Packit Service c5cf8c
	PAC_PUSH_FLAG(FFLAGS)
Packit Service c5cf8c
	PAC_PUSH_FLAG(FCFLAGS)
Packit Service c5cf8c
	PAC_PUSH_FLAG(LDFLAGS)
Packit Service c5cf8c
	PAC_PUSH_FLAG(LIBS)
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl Usage: PAC_POP_ALL_FLAGS
Packit Service c5cf8c
AC_DEFUN([PAC_POP_ALL_FLAGS],[
Packit Service c5cf8c
	PAC_POP_FLAG(CFLAGS)
Packit Service c5cf8c
	PAC_POP_FLAG(CPPFLAGS)
Packit Service c5cf8c
	PAC_POP_FLAG(CXXFLAGS)
Packit Service c5cf8c
	PAC_POP_FLAG(FFLAGS)
Packit Service c5cf8c
	PAC_POP_FLAG(FCFLAGS)
Packit Service c5cf8c
	PAC_POP_FLAG(LDFLAGS)
Packit Service c5cf8c
	PAC_POP_FLAG(LIBS)
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl PAC_PREFIX_FLAG - Save flag with a prefix
Packit Service c5cf8c
dnl Usage: PAC_PREFIX_FLAG(PREFIX, FLAG)
Packit Service c5cf8c
AC_DEFUN([PAC_PREFIX_FLAG],[
Packit Service c5cf8c
	$1_$2=$$2
Packit Service c5cf8c
	export $1_$2
Packit Service c5cf8c
	AC_SUBST($1_$2)
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl PAC_PREFIX_ALL_FLAGS - Save flags with a prefix
Packit Service c5cf8c
dnl Usage: PAC_PREFIX_ALL_FLAGS(PREFIX)
Packit Service c5cf8c
AC_DEFUN([PAC_PREFIX_ALL_FLAGS],[
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, CFLAGS)
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, CPPFLAGS)
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, CXXFLAGS)
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, FFLAGS)
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, FCFLAGS)
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, LDFLAGS)
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, LIBS)
Packit Service c5cf8c
	PAC_PREFIX_FLAG($1, EXTRA_LIBS)
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl Usage: PAC_APPEND_FLAG([-02], [CFLAGS])
Packit Service c5cf8c
dnl appends the given argument to the specified shell variable unless the
Packit Service c5cf8c
dnl argument is already present in the variable
Packit Service c5cf8c
AC_DEFUN([PAC_APPEND_FLAG],[
Packit Service c5cf8c
	AC_REQUIRE([AC_PROG_FGREP])
Packit Service c5cf8c
	AS_IF(
Packit Service c5cf8c
		[echo "$$2" | $FGREP -e "\<$1\>" >/dev/null 2>&1],
Packit Service c5cf8c
		[echo "$2(='$$2') contains '$1', not appending" >&AS_MESSAGE_LOG_FD],
Packit Service c5cf8c
		[echo "$2(='$$2') does not contain '$1', appending" >&AS_MESSAGE_LOG_FD
Packit Service c5cf8c
		$2="$$2 $1"]
Packit Service c5cf8c
	)
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl Usage: PAC_PREPEND_FLAG([-lpthread], [LIBS])
Packit Service c5cf8c
dnl Prepends the given argument to the specified shell variable unless the
Packit Service c5cf8c
dnl argument is already present in the variable.
Packit Service c5cf8c
dnl
Packit Service c5cf8c
dnl This is typically used for LIBS and similar variables because libraries
Packit Service c5cf8c
dnl should be added in reverse order.
Packit Service c5cf8c
AC_DEFUN([PAC_PREPEND_FLAG],[
Packit Service c5cf8c
        AC_REQUIRE([AC_PROG_FGREP])
Packit Service c5cf8c
        AS_IF(
Packit Service c5cf8c
                [echo "$$2" | $FGREP -e "\<$1\>" >/dev/null 2>&1],
Packit Service c5cf8c
                [echo "$2(='$$2') contains '$1', not prepending" >&AS_MESSAGE_LOG_FD],
Packit Service c5cf8c
                [echo "$2(='$$2') does not contain '$1', prepending" >&AS_MESSAGE_LOG_FD
Packit Service c5cf8c
                $2="$1 $$2"]
Packit Service c5cf8c
        )
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
dnl PAC_MKDIRS(path)
Packit Service c5cf8c
dnl Create any missing directories in the path
Packit Service c5cf8c
AC_DEFUN([PAC_MKDIRS],[
Packit Service c5cf8c
# Build any intermediate directories
Packit Service c5cf8c
for dir in $1 ; do
Packit Service c5cf8c
    PAC_PUSH_FLAG([IFS])
Packit Service c5cf8c
    IFS="/"
Packit Service c5cf8c
    tmp_curdir=""
Packit Service c5cf8c
    for tmp_subdir in $dir ; do
Packit Service c5cf8c
	tmp_curdir="${tmp_curdir}$tmp_subdir"
Packit Service c5cf8c
	if test ! -d "$tmp_curdir" ; then mkdir "$tmp_curdir" ; fi
Packit Service c5cf8c
        tmp_curdir="${tmp_curdir}/"
Packit Service c5cf8c
    done
Packit Service c5cf8c
    PAC_POP_FLAG([IFS])
Packit Service c5cf8c
done
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
# Find something to use for mkdir -p.  Eventually, this will have a
Packit Service c5cf8c
# script for backup. As of autoconf-2.63, AC_PROG_MKDIR_P was broken;
Packit Service c5cf8c
# it was checking to see if it recognized the "version" of mkdir and
Packit Service c5cf8c
# was deciding based on that. This should always be a feature test.
Packit Service c5cf8c
AC_DEFUN([PAC_PROG_MKDIR_P],[
Packit Service c5cf8c
AC_CACHE_CHECK([whether mkdir -p works],
Packit Service c5cf8c
pac_cv_mkdir_p,[
Packit Service c5cf8c
pac_cv_mkdir_p=no
Packit Service c5cf8c
rm -rf .tmp
Packit Service c5cf8c
if mkdir -p .tmp/.foo 1>/dev/null 2>&1 ; then
Packit Service c5cf8c
    if test -d .tmp/.foo ; then
Packit Service c5cf8c
        pac_cv_mkdir_p=yes
Packit Service c5cf8c
    fi
Packit Service c5cf8c
fi
Packit Service c5cf8c
rm -rf .tmp
Packit Service c5cf8c
])
Packit Service c5cf8c
if test "$pac_cv_mkdir_p" = "yes" ; then
Packit Service c5cf8c
   MKDIR_P="mkdir -p"
Packit Service c5cf8c
   export MKDIR_P
Packit Service c5cf8c
else
Packit Service c5cf8c
   AC_MSG_WARN([mkdir -p does not work; the install step may fail])
Packit Service c5cf8c
fi
Packit Service c5cf8c
AC_SUBST(MKDIR_P)
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl Test for a clean VPATH directory.  Provide this command with the names
Packit Service c5cf8c
dnl of all of the generated files that might cause problems 
Packit Service c5cf8c
dnl (Makefiles won't cause problems because there's no VPATH usage for them)
Packit Service c5cf8c
dnl
Packit Service c5cf8c
dnl Synopsis
Packit Service c5cf8c
dnl PAC_VPATH_CHECK([file-names],[directory-names])
Packit Service c5cf8c
dnl  file-names should be files other than config.status and any header (e.g.,
Packit Service c5cf8c
dnl fooconf.h) file that should be removed.  It is optional
Packit Service c5cf8c
AC_DEFUN([PAC_VPATH_CHECK],[
Packit Service c5cf8c
# This is needed for Mac OSX 10.5
Packit Service c5cf8c
rm -rf conftest.dSYM
Packit Service c5cf8c
rm -f conftest*
Packit Service c5cf8c
date >conftest$$
Packit Service c5cf8c
# If creating a file in the current directory does not show up in the srcdir
Packit Service c5cf8c
# then we're doing a VPATH build (or something is very wrong)
Packit Service c5cf8c
if test ! -s $srcdir/conftest$$ ; then
Packit Service c5cf8c
    pac_dirtyfiles=""
Packit Service c5cf8c
    pac_dirtydirs=""
Packit Service c5cf8c
    pac_header=""
Packit Service c5cf8c
    ifdef([AC_LIST_HEADER],[pac_header=AC_LIST_HEADER])
Packit Service c5cf8c
    for file in config.status $pac_header $1 ; do
Packit Service c5cf8c
        if test -f $srcdir/$file ; then 
Packit Service c5cf8c
	    pac_dirtyfiles="$pac_dirtyfiles $file"
Packit Service c5cf8c
	fi
Packit Service c5cf8c
    done
Packit Service c5cf8c
    ifelse($2,,,[
Packit Service c5cf8c
 	for dir in $2 ; do 
Packit Service c5cf8c
            if test -d $srcdir/$dir ; then
Packit Service c5cf8c
                pac_dirtydirs="$pac_dirtydirs $dir"
Packit Service c5cf8c
	    fi
Packit Service c5cf8c
	done
Packit Service c5cf8c
    ])
Packit Service c5cf8c
Packit Service c5cf8c
    if test -n "$pac_dirtyfiles" -o -n "$pac_dirtydirs" ; then
Packit Service c5cf8c
	# Create a nice message about what to remove
Packit Service c5cf8c
	rmmsg=""
Packit Service c5cf8c
	if test -n "$pac_dirtyfiles" ; then
Packit Service c5cf8c
	    rmmsg="files $pac_dirtyfiles"
Packit Service c5cf8c
        fi
Packit Service c5cf8c
 	if test -n "$pac_dirtydirs" ; then
Packit Service c5cf8c
	    if test -n "$rmmsg" ; then
Packit Service c5cf8c
	        rmmsg="$rmmsg and directories $pac_dirtydirs"
Packit Service c5cf8c
            else
Packit Service c5cf8c
                rmmsg="directories $pac_dirtydirs"
Packit Service c5cf8c
            fi
Packit Service c5cf8c
        fi
Packit Service c5cf8c
        if test -f $srcdir/Makefile ; then
Packit Service c5cf8c
            AC_MSG_ERROR([You cannot do a VPATH build if the source directory has been
Packit Service c5cf8c
    configured.  Run "make distclean" in $srcdir first and make sure that the
Packit Service c5cf8c
    $rmmsg have been removed.])
Packit Service c5cf8c
        else
Packit Service c5cf8c
            AC_MSG_ERROR([You cannot do a VPATH build if the source directory has been
Packit Service c5cf8c
    configured.  Remove the $rmmsg in $srcdir.])
Packit Service c5cf8c
        fi
Packit Service c5cf8c
    fi
Packit Service c5cf8c
fi
Packit Service c5cf8c
# This is needed for Mac OSX 10.5
Packit Service c5cf8c
rm -rf conftest.dSYM
Packit Service c5cf8c
rm -f conftest*
Packit Service c5cf8c
])
Packit Service c5cf8c
Packit Service c5cf8c
dnl PAC_CONF_HEX_TO_DEC(value,out_var)
Packit Service c5cf8c
dnl
Packit Service c5cf8c
dnl Converts the given hexadecimal integer constant to an integer constant and
Packit Service c5cf8c
dnl stores the result in the shell variable given by 'out_var'.
Packit Service c5cf8c
dnl
Packit Service c5cf8c
dnl I think that printf like this will be sufficiently portable, but I don't
Packit Service c5cf8c
dnl have any guarantee of it.  If not, we can fall back to AS_VAR_ARITH
Packit Service c5cf8c
dnl and/or AC_COMPUTE_INT (the latter will probably be slow)
Packit Service c5cf8c
AC_DEFUN([PAC_CONV_HEX_TO_DEC],[AS_VAR_SET([$2],[`printf "%d" $1`])])
Packit Service c5cf8c
Packit Service c5cf8c
dnl PAC_GET_EXENAME(exe_name, out_exe_name)
Packit Service c5cf8c
dnl
Packit Service c5cf8c
dnl Prepends and appends program prefix and suffix as supplied by --program_prefix
Packit Service c5cf8c
dnl and --program-sufix
Packit Service c5cf8c
AC_DEFUN([PAC_GET_EXENAME],[
Packit Service c5cf8c
$2=$1
Packit Service c5cf8c
if test "$program_prefix" != "NONE" ; then
Packit Service c5cf8c
    $2="${program_prefix}$$2"
Packit Service c5cf8c
fi
Packit Service c5cf8c
if test "$program_suffix" != "NONE" ; then
Packit Service c5cf8c
    $2="$$2$program_suffix"
Packit Service c5cf8c
fi
Packit Service c5cf8c
])