more make vars for makeinfo
[gnulib.git] / m4 / canonicalize.m4
index 2d24350..dcc6039 100644 (file)
@@ -1,6 +1,6 @@
-# canonicalize.m4 serial 16
+# canonicalize.m4 serial 17
 
-dnl Copyright (C) 2003-2007, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -18,7 +18,7 @@ AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE],
   AC_REQUIRE([gl_FUNC_REALPATH_WORKS])
   if test $ac_cv_func_canonicalize_file_name = no; then
     HAVE_CANONICALIZE_FILE_NAME=0
-  elif test $gl_cv_func_realpath_works != yes; then
+  elif test "$gl_cv_func_realpath_works" != yes; then
     REPLACE_CANONICALIZE_FILE_NAME=1
   fi
 ])
@@ -32,10 +32,10 @@ AC_DEFUN([gl_CANONICALIZE_LGPL],
     AC_LIBOBJ([canonicalize-lgpl])
     if test $ac_cv_func_realpath = no; then
       HAVE_REALPATH=0
-    elif test $gl_cv_func_realpath_works != yes; then
+    elif test "$gl_cv_func_realpath_works" != yes; then
       REPLACE_REALPATH=1
     fi
-  elif test $gl_cv_func_realpath_works != yes; then
+  elif test "$gl_cv_func_realpath_works" != yes; then
     AC_LIBOBJ([canonicalize-lgpl])
     REPLACE_REALPATH=1
     REPLACE_CANONICALIZE_FILE_NAME=1
@@ -65,15 +65,28 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS],
       AC_LANG_PROGRAM([[
         #include <stdlib.h>
       ]], [[
-        char *name1 = realpath ("conftest.a", NULL);
-        char *name2 = realpath ("conftest.b/../conftest.a", NULL);
-        char *name3 = realpath ("conftest.a/", NULL);
-        return !(name1 && *name1 == '/' && !name2 && !name3);
+        int result = 0;
+        {
+          char *name = realpath ("conftest.a", NULL);
+          if (!(name && *name == '/'))
+            result |= 1;
+        }
+        {
+          char *name = realpath ("conftest.b/../conftest.a", NULL);
+          if (name != NULL)
+            result |= 2;
+        }
+        {
+          char *name = realpath ("conftest.a/", NULL);
+          if (name != NULL)
+            result |= 4;
+        }
+        return result;
       ]])
     ], [gl_cv_func_realpath_works=yes], [gl_cv_func_realpath_works=no],
        [gl_cv_func_realpath_works="guessing no"])
   ])
-  if test $gl_cv_func_realpath_works = yes; then
+  if test "$gl_cv_func_realpath_works" = yes; then
     AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath()
       can malloc memory, always gives an absolute path, and handles
       trailing slash correctly.])