Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/build/ac-macros/svn-macros.m4  view on Meta::CPAN

AC_DEFUN(SVN_STRIP_FLAG,
[
  $1=`echo "$$1" | $SED -e 's/$2//'`
])

dnl SVN_REMOVE_STANDARD_LIB_DIRS(OPTIONS)
dnl
dnl Remove standard library search directories.
dnl OPTIONS is a list of compiler/linker options.
dnl This macro prints input options except -L options whose arguments are
dnl standard library search directories (e.g. /usr/lib).
dnl
dnl This macro is used to avoid linking against Subversion libraries
dnl potentially placed in standard library search directories.
AC_DEFUN([SVN_REMOVE_STANDARD_LIB_DIRS],
[
  input_flags="$1"
  output_flags=""
  filtered_dirs="/lib /lib64 /usr/lib /usr/lib64"
  for flag in $input_flags; do
    filter="no"
    for dir in $filtered_dirs; do
      if test "$flag" = "-L$dir" || test "$flag" = "-L$dir/"; then
        filter="yes"
        break
      fi
    done
    if test "$filter" = "no"; then
      output_flags="$output_flags $flag"
    fi
  done
  if test -n "$output_flags"; then
    printf "%s" "${output_flags# }"
  fi
])

AC_DEFUN([SVN_CHECK_FOR_ATOMIC_BUILTINS],
[
  AC_CACHE_CHECK([whether the compiler provides atomic builtins], [svn_cv_atomic_builtins],
  [AC_TRY_RUN([
  int main()
  {
      unsigned long long val = 1010, tmp, *mem = &val;

      if (__sync_fetch_and_add(&val, 1010) != 1010 || val != 2020)
          return 1;

      tmp = val;

      if (__sync_fetch_and_sub(mem, 1010) != tmp || val != 1010)
          return 1;

      if (__sync_sub_and_fetch(&val, 1010) != 0 || val != 0)
          return 1;

      tmp = 3030;

      if (__sync_val_compare_and_swap(mem, 0, tmp) != 0 || val != tmp)
          return 1;

      if (__sync_lock_test_and_set(&val, 4040) != 3030)
          return 1;

      mem = &tmp;

      if (__sync_val_compare_and_swap(&mem, &tmp, &val) != &tmp)
          return 1;

      __sync_synchronize();

      if (mem != &val)
          return 1;

      return 0;
  }], [svn_cv_atomic_builtins=yes], [svn_cv_atomic_builtins=no], [svn_cv_atomic_builtins=no])])
])



( run in 0.551 second using v1.01-cache-2.11-cpan-39bf76dae61 )