1*00b67f09SDavid van Moolenbroekdnl 2*00b67f09SDavid van Moolenbroekdnl Automated Testing Framework (atf) 3*00b67f09SDavid van Moolenbroekdnl 4*00b67f09SDavid van Moolenbroekdnl Copyright (c) 2007 The NetBSD Foundation, Inc. 5*00b67f09SDavid van Moolenbroekdnl All rights reserved. 6*00b67f09SDavid van Moolenbroekdnl 7*00b67f09SDavid van Moolenbroekdnl Redistribution and use in source and binary forms, with or without 8*00b67f09SDavid van Moolenbroekdnl modification, are permitted provided that the following conditions 9*00b67f09SDavid van Moolenbroekdnl are met: 10*00b67f09SDavid van Moolenbroekdnl 1. Redistributions of source code must retain the above copyright 11*00b67f09SDavid van Moolenbroekdnl notice, this list of conditions and the following disclaimer. 12*00b67f09SDavid van Moolenbroekdnl 2. Redistributions in binary form must reproduce the above copyright 13*00b67f09SDavid van Moolenbroekdnl notice, this list of conditions and the following disclaimer in the 14*00b67f09SDavid van Moolenbroekdnl documentation and/or other materials provided with the distribution. 15*00b67f09SDavid van Moolenbroekdnl 16*00b67f09SDavid van Moolenbroekdnl THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND 17*00b67f09SDavid van Moolenbroekdnl CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 18*00b67f09SDavid van Moolenbroekdnl INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19*00b67f09SDavid van Moolenbroekdnl MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20*00b67f09SDavid van Moolenbroekdnl IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY 21*00b67f09SDavid van Moolenbroekdnl DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22*00b67f09SDavid van Moolenbroekdnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 23*00b67f09SDavid van Moolenbroekdnl GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24*00b67f09SDavid van Moolenbroekdnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25*00b67f09SDavid van Moolenbroekdnl IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 26*00b67f09SDavid van Moolenbroekdnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27*00b67f09SDavid van Moolenbroekdnl IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28*00b67f09SDavid van Moolenbroekdnl 29*00b67f09SDavid van Moolenbroek 30*00b67f09SDavid van MoolenbroekAC_DEFUN([ATF_MODULE_FS], [ 31*00b67f09SDavid van Moolenbroek AC_MSG_CHECKING(whether basename takes a constant pointer) 32*00b67f09SDavid van Moolenbroek AC_COMPILE_IFELSE( 33*00b67f09SDavid van Moolenbroek [AC_LANG_PROGRAM([#include <libgen.h>], [ 34*00b67f09SDavid van Moolenbroek const char* s = "/foo/bar/"; 35*00b67f09SDavid van Moolenbroek (void)::basename(s); 36*00b67f09SDavid van Moolenbroek ])], 37*00b67f09SDavid van Moolenbroek AC_MSG_RESULT(yes) 38*00b67f09SDavid van Moolenbroek AC_DEFINE([HAVE_CONST_BASENAME], [1], 39*00b67f09SDavid van Moolenbroek [Define to 1 if basename takes a constant pointer]), 40*00b67f09SDavid van Moolenbroek AC_MSG_RESULT(no)) 41*00b67f09SDavid van Moolenbroek 42*00b67f09SDavid van Moolenbroek AC_MSG_CHECKING(whether dirname takes a constant pointer) 43*00b67f09SDavid van Moolenbroek AC_COMPILE_IFELSE( 44*00b67f09SDavid van Moolenbroek [AC_LANG_PROGRAM([#include <libgen.h>], [ 45*00b67f09SDavid van Moolenbroek const char* s = "/foo/bar/"; 46*00b67f09SDavid van Moolenbroek (void)::dirname(s); 47*00b67f09SDavid van Moolenbroek ])], 48*00b67f09SDavid van Moolenbroek AC_MSG_RESULT(yes) 49*00b67f09SDavid van Moolenbroek AC_DEFINE([HAVE_CONST_DIRNAME], [1], 50*00b67f09SDavid van Moolenbroek [Define to 1 if dirname takes a constant pointer]), 51*00b67f09SDavid van Moolenbroek AC_MSG_RESULT(no)) 52*00b67f09SDavid van Moolenbroek 53*00b67f09SDavid van Moolenbroek AC_CACHE_CHECK( 54*00b67f09SDavid van Moolenbroek [whether getcwd(NULL, 0) works], 55*00b67f09SDavid van Moolenbroek [kyua_cv_getcwd_works], [ 56*00b67f09SDavid van Moolenbroek AC_RUN_IFELSE( 57*00b67f09SDavid van Moolenbroek [AC_LANG_PROGRAM([#include <stdlib.h> 58*00b67f09SDavid van Moolenbroek#include <unistd.h>], [ 59*00b67f09SDavid van Moolenbroek char *cwd = getcwd(NULL, 0); 60*00b67f09SDavid van Moolenbroek return (cwd != NULL) ? EXIT_SUCCESS : EXIT_FAILURE; 61*00b67f09SDavid van Moolenbroek ])], 62*00b67f09SDavid van Moolenbroek [kyua_cv_getcwd_works=yes], 63*00b67f09SDavid van Moolenbroek [kyua_cv_getcwd_works=no]) 64*00b67f09SDavid van Moolenbroek ]) 65*00b67f09SDavid van Moolenbroek if test x"${kyua_cv_getcwd_works}" = xyes; then 66*00b67f09SDavid van Moolenbroek AC_DEFINE([HAVE_GETCWD_DYN], [1], 67*00b67f09SDavid van Moolenbroek [Define to 1 if getcwd(NULL, 0) works]) 68*00b67f09SDavid van Moolenbroek fi 69*00b67f09SDavid van Moolenbroek 70*00b67f09SDavid van Moolenbroek AC_CHECK_FUNCS([unmount]) 71*00b67f09SDavid van Moolenbroek]) 72