VirtualBox

source: kBuild/trunk/src/kmk/acinclude.m4@ 2129

Last change on this file since 2129 was 1993, checked in by bird, 16 years ago

Merged in current GNU Make code (CVS from 2008-10-28). Ref #55.

  • Property svn:eol-style set to native
File size: 4.7 KB
Line 
1dnl acinclude.m4 -- Extra macros needed for GNU make.
2dnl
3dnl Automake will incorporate this into its generated aclocal.m4.
4dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
5dnl Free Software Foundation, Inc.
6dnl This file is part of GNU Make.
7dnl
8dnl GNU Make is free software; you can redistribute it and/or modify it under
9dnl the terms of the GNU General Public License as published by the Free
10dnl Software Foundation; either version 3 of the License, or (at your option)
11dnl any later version.
12dnl
13dnl GNU Make is distributed in the hope that it will be useful, but WITHOUT
14dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for.
16dnl more details.
17dnl
18dnl You should have received a copy of the GNU General Public License along
19dnl with this program. If not, see <http://www.gnu.org/licenses/>.
20
21dnl ---------------------------------------------------------------------------
22dnl Got this from the lynx 2.8 distribution.
23dnl by T.E.Dickey <[email protected]>
24dnl and Jim Spath <[email protected]>
25dnl and Philippe De Muyter <[email protected]>
26dnl
27dnl Created: 1997/1/28
28dnl Updated: 1997/12/23
29dnl ---------------------------------------------------------------------------
30dnl After checking for functions in the default $LIBS, make a further check
31dnl for the functions that are netlib-related (these aren't always in the
32dnl libc, etc., and have to be handled specially because there are conflicting
33dnl and broken implementations.
34dnl Common library requirements (in order):
35dnl -lresolv -lsocket -lnsl
36dnl -lnsl -lsocket
37dnl -lsocket
38dnl -lbsd
39AC_DEFUN([CF_NETLIBS],[
40cf_test_netlibs=no
41AC_MSG_CHECKING(for network libraries)
42AC_CACHE_VAL(cf_cv_netlibs,[
43AC_MSG_RESULT(working...)
44cf_cv_netlibs=""
45cf_test_netlibs=yes
46AC_CHECK_FUNCS(gethostname,,[
47 CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[
48 CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])])
49#
50# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but
51# I don't know the entrypoints - 97/7/22 TD
52AC_CHECK_LIB(inet,main,cf_cv_netlibs="-linet $cf_cv_netlibs")
53#
54if test "$ac_cv_func_lsocket" != no ; then
55AC_CHECK_FUNCS(socket,,[
56 CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[
57 CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])])
58fi
59#
60AC_CHECK_FUNCS(gethostbyname,,[
61 CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)])
62])
63LIBS="$LIBS $cf_cv_netlibs"
64test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG
65])dnl
66dnl ---------------------------------------------------------------------------
67dnl Re-check on a function to see if we can pick it up by adding a library.
68dnl $1 = function to check
69dnl $2 = library to check in
70dnl $3 = environment to update (e.g., $LIBS)
71dnl $4 = what to do if this fails
72dnl
73dnl This uses 'unset' if the shell happens to support it, but leaves the
74dnl configuration variable set to 'unknown' if not. This is a little better
75dnl than the normal autoconf test, which gives misleading results if a test
76dnl for the function is made (e.g., with AC_CHECK_FUNC) after this macro is
77dnl used (autoconf does not distinguish between a null token and one that is
78dnl set to 'no').
79AC_DEFUN([CF_RECHECK_FUNC],[
80AC_CHECK_LIB($2,$1,[
81 CF_UPPER(cf_tr_func,$1)
82 AC_DEFINE_UNQUOTED(HAVE_$cf_tr_func,1,[Define if you have function $1])
83 ac_cv_func_$1=yes
84 $3="-l$2 [$]$3"],[
85 ac_cv_func_$1=unknown
86 unset ac_cv_func_$1 2>/dev/null
87 $4],
88 [[$]$3])
89])dnl
90dnl ---------------------------------------------------------------------------
91dnl Make an uppercase version of a variable
92dnl $1=uppercase($2)
93AC_DEFUN([CF_UPPER],
94[
95changequote(,)dnl
96$1=`echo $2 | tr '[a-z]' '[A-Z]'`
97changequote([,])dnl
98])dnl
99
100
101dnl ---------------------------------------------------------------------------
102dnl From Paul Eggert <[email protected]>
103
104AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
105 [AC_CACHE_CHECK([for nanoseconds field of struct stat.st_mtim],
106 ac_cv_struct_st_mtim_nsec,
107 [ac_save_CPPFLAGS="$CPPFLAGS"
108 ac_cv_struct_st_mtim_nsec=no
109 # tv_nsec -- the usual case
110 # _tv_nsec -- Solaris 2.6, if
111 # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
112 # && !defined __EXTENSIONS__)
113 # st__tim.tv_nsec -- UnixWare 2.1.2
114 for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
115 CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
116 AC_TRY_COMPILE([#include <sys/types.h>
117#include <sys/stat.h>
118 ], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
119 [ac_cv_struct_st_mtim_nsec=$ac_val; break])
120 done
121 CPPFLAGS="$ac_save_CPPFLAGS"
122 ])
123
124 if test $ac_cv_struct_st_mtim_nsec != no; then
125 AC_DEFINE_UNQUOTED([ST_MTIM_NSEC], [$ac_cv_struct_st_mtim_nsec],
126 [Define if struct stat contains a nanoseconds field])
127 fi
128 ]
129)
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette