|
version 1.1, 2012/05/29 09:29:44
|
version 1.1.1.2, 2021/03/17 13:38:46
|
|
Line 1
|
Line 1
|
| # canonicalize.m4 serial 23 | # canonicalize.m4 serial 30 |
| |
|
| dnl Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc. | dnl Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc. |
| |
|
| dnl This file is free software; the Free Software Foundation |
dnl This file is free software; the Free Software Foundation |
| dnl gives unlimited permission to copy and/or distribute it, |
dnl gives unlimited permission to copy and/or distribute it, |
|
Line 16 AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE],
|
Line 16 AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE],
|
| AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) |
AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) |
| if test $ac_cv_func_canonicalize_file_name = no; then |
if test $ac_cv_func_canonicalize_file_name = no; then |
| HAVE_CANONICALIZE_FILE_NAME=0 |
HAVE_CANONICALIZE_FILE_NAME=0 |
| elif test "$gl_cv_func_realpath_works" != yes; then | else |
| REPLACE_CANONICALIZE_FILE_NAME=1 | case "$gl_cv_func_realpath_works" in |
| | *yes) ;; |
| | *) REPLACE_CANONICALIZE_FILE_NAME=1 ;; |
| | esac |
| fi |
fi |
| ]) |
]) |
| |
|
|
Line 30 AC_DEFUN([gl_CANONICALIZE_LGPL],
|
Line 33 AC_DEFUN([gl_CANONICALIZE_LGPL],
|
| HAVE_CANONICALIZE_FILE_NAME=0 |
HAVE_CANONICALIZE_FILE_NAME=0 |
| if test $ac_cv_func_realpath = no; then |
if test $ac_cv_func_realpath = no; then |
| HAVE_REALPATH=0 |
HAVE_REALPATH=0 |
| elif test "$gl_cv_func_realpath_works" != yes; then | else |
| REPLACE_REALPATH=1 | case "$gl_cv_func_realpath_works" in |
| | *yes) ;; |
| | *) REPLACE_REALPATH=1 ;; |
| | esac |
| fi |
fi |
| elif test "$gl_cv_func_realpath_works" != yes; then | else |
| REPLACE_CANONICALIZE_FILE_NAME=1 | case "$gl_cv_func_realpath_works" in |
| REPLACE_REALPATH=1 | *yes) |
| | ;; |
| | *) |
| | REPLACE_CANONICALIZE_FILE_NAME=1 |
| | REPLACE_REALPATH=1 |
| | ;; |
| | esac |
| fi |
fi |
| ]) |
]) |
| |
|
|
Line 56 AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE],
|
Line 68 AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE],
|
| AC_DEFUN([gl_FUNC_REALPATH_WORKS], |
AC_DEFUN([gl_FUNC_REALPATH_WORKS], |
| [ |
[ |
| AC_CHECK_FUNCS_ONCE([realpath]) |
AC_CHECK_FUNCS_ONCE([realpath]) |
| |
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
| AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [ |
AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [ |
| touch conftest.a |
touch conftest.a |
| mkdir conftest.d |
mkdir conftest.d |
|
Line 70 AC_DEFUN([gl_FUNC_REALPATH_WORKS],
|
Line 83 AC_DEFUN([gl_FUNC_REALPATH_WORKS],
|
| char *name = realpath ("conftest.a", NULL); |
char *name = realpath ("conftest.a", NULL); |
| if (!(name && *name == '/')) |
if (!(name && *name == '/')) |
| result |= 1; |
result |= 1; |
| |
free (name); |
| } |
} |
| { |
{ |
| char *name = realpath ("conftest.b/../conftest.a", NULL); |
char *name = realpath ("conftest.b/../conftest.a", NULL); |
| if (name != NULL) |
if (name != NULL) |
| result |= 2; |
result |= 2; |
| |
free (name); |
| } |
} |
| { |
{ |
| char *name = realpath ("conftest.a/", NULL); |
char *name = realpath ("conftest.a/", NULL); |
| if (name != NULL) |
if (name != NULL) |
| result |= 4; |
result |= 4; |
| |
free (name); |
| } |
} |
| { |
{ |
| char *name1 = realpath (".", NULL); |
char *name1 = realpath (".", NULL); |
| char *name2 = realpath ("conftest.d//./..", NULL); |
char *name2 = realpath ("conftest.d//./..", NULL); |
| if (strcmp (name1, name2) != 0) | if (! name1 || ! name2 || strcmp (name1, name2)) |
| result |= 8; |
result |= 8; |
| |
free (name1); |
| |
free (name2); |
| } |
} |
| return result; |
return result; |
| ]]) |
]]) |
| ], [gl_cv_func_realpath_works=yes], [gl_cv_func_realpath_works=no], | ], |
| [gl_cv_func_realpath_works="guessing no"]) | [gl_cv_func_realpath_works=yes], |
| | [gl_cv_func_realpath_works=no], |
| | [case "$host_os" in |
| | # Guess yes on glibc systems. |
| | *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; |
| | # Guess yes on musl systems. |
| | *-musl*) gl_cv_func_realpath_works="guessing yes" ;; |
| | # Guess no on native Windows. |
| | mingw*) gl_cv_func_realpath_works="guessing no" ;; |
| | # If we don't know, assume the worst. |
| | *) gl_cv_func_realpath_works="guessing no" ;; |
| | esac |
| | ]) |
| rm -rf conftest.a conftest.d |
rm -rf conftest.a conftest.d |
| ]) |
]) |
| if test "$gl_cv_func_realpath_works" = yes; then | case "$gl_cv_func_realpath_works" in |
| AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() | *yes) |
| can malloc memory, always gives an absolute path, and handles | AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() |
| trailing slash correctly.]) | can malloc memory, always gives an absolute path, and handles |
| fi | trailing slash correctly.]) |
| | ;; |
| | esac |
| ]) |
]) |