From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: [RFC/PATCH] autoconf: Use autoconf to check for some types and library functions
Date: Thu, 29 Jun 2006 15:36:17 +0200 [thread overview]
Message-ID: <200606291536.18667.jnareb@gmail.com> (raw)
In-Reply-To: <200606291359.43640.jnareb@gmail.com>
./configure script checks now for existence of the following types
and structure members:
* dirent.d_ino in dirent.h (NO_D_INO_IN_DIRENT)
* dirent.d_type in dirent.h (NO_D_TYPE_IN_DIRENT)
* 'struct sockaddr_storage' in netinet/in.h (NO_SOCKADDR_STORAGE)
./configure script checks now for the following library functions:
* strcasestr (NO_STRCASESTR)
* strlcpy (NO_STRLCPY)
* setenv (NO_SETENV)
in default C library and in libraries which have AC_CHECK_LIB done for
them (crypto, curl, expat).
NOTE: not all checks are implemented!
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
This patch needs review by someone better versed in compiling git on
different platforms, namely AC_CHECK_MEMBER and AC_CHECK_TYPE needs
checking if all header files where git search for specified structure
member or specified type.
I don't know (yet) how to implement checking for NEEDS_SSL_WITH_CRYPTO
(probably also checlking for crypto library needs correction),
NEEDS_LIBICONV, NEEDS_SOCKET, NO_IPV6, NO_ICONV, Python < 2.3 and
Python == 2.3, if to check for NO_MMAP, and for NO_ACCURATE_DIFF.
This patch is to be considered preliminary!
configure.ac | 28 ++++++++++++++++++++++++++--
1 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 55d7a9b..fbd46e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,17 +14,41 @@ AC_CONFIG_SRCDIR([git.c])
AC_DEFUN([MY_APPEND_LINE],
[[echo "$1" >> config.mak.append]])# AC_APPEND_LINE
+
# Checks for libraries.
-AC_MSG_NOTICE(CHECKS for libraries)
+AC_MSG_NOTICE([CHECKS for libraries])
AC_CHECK_LIB([crypto], [SHA1_Init],,MY_APPEND_LINE(NO_OPENSSL=YesPlease))
AC_CHECK_LIB([curl], [curl_easy_setopt],,MY_APPEND_LINE(NO_CURL=YesPlease))
AC_CHECK_LIB([expat], [XML_ParserCreate],,MY_APPEND_LINE(NO_EXPAT=YesPlease))
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_MSG_NOTICE([CHECKS for typedefs, structures, and compiler characteristics])
+
+AC_CHECK_MEMBER(struct dirent.d_ino,,
+MY_APPEND_LINE(NO_D_INO_IN_DIRENT=YesPlease),
+[#include <dirent.h>])
+AC_CHECK_MEMBER(struct dirent.d_type,,
+MY_APPEND_LINE(NO_D_TYPE_IN_DIRENT=YesPlease),
+[#include <dirent.h>])
+
+AC_CHECK_TYPE(struct sockaddr_storage,,
+MY_APPEND_LINE(NO_SOCKADDR_STORAGE=YesPlease),
+[#include <netinet/in.h>])
+
+
+# Checks for library functions.
+AC_MSG_NOTICE([CHECKS for library functions])
+AC_CHECK_FUNC(strcasestr,,MY_APPEND_LINE(NO_STRCASESTR=YesPlease))
+AC_CHECK_FUNC(strlcpy,,MY_APPEND_LINE(NO_STRLCPY=YesPlease))
+AC_CHECK_FUNC(setenv,,MY_APPEND_LINE(NO_SETENV=YesPlease))
+
+
# Output files
AC_CONFIG_FILES([config.mak:config.mak.in:config.mak.append],
[rm -f config.mak.append],
--
1.4.0
next prev parent reply other threads:[~2006-06-29 13:36 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-29 1:01 [PATCH] autoconf: Use autoconf to write installation directories to config.mak Jakub Narebski
2006-06-29 7:18 ` Uwe Zeisberger
2006-06-29 11:59 ` [PATCH] autoconf: Use autoconf to check for libraries: openssl/crypto, curl, expat Jakub Narebski
2006-06-29 13:36 ` Jakub Narebski [this message]
2006-06-29 15:04 ` [PATCH] autoconf: Cleanup generation of config.mak.append by ./configure Jakub Narebski
2006-06-29 16:35 ` [PATCH] Allow INSTALL, bindir, mandir to be set in main Makefile Jakub Narebski
2006-06-29 17:47 ` [PATCH] autoconf: Set mandir in config.mak.in and export variables not in Makefile Jakub Narebski
2006-06-30 0:11 ` [PATCH 7] autoconf: configure.ac uses variables to set in, out and temp files Jakub Narebski
2006-06-30 0:32 ` [PATCH 8] autoconf: ./configure script outputs to config.mac.auto Jakub Narebski
2006-06-30 12:37 ` [PATCH 9] autoconf: Cleanup generation of temporary "append" file Jakub Narebski
2006-06-30 12:39 ` [PATCH 10] autoconf: Write how to use ./configure generated file in git build process Jakub Narebski
2006-06-30 12:41 ` [PATCH 11] autoconf: Rename ./configure output file to config.mak.autogen Jakub Narebski
2006-06-30 15:08 ` [PATCH 12] Revert "autoconf: Write how to use ./configure generated file in git build process" Jakub Narebski
2006-06-30 15:11 ` [PATCH 13] autoconf: Append '-include config.mak.autogen' to config.mak if it is not present Jakub Narebski
2006-06-30 20:29 ` Jakub Narebski
2006-06-30 21:45 ` [RFC/PATCH 14] autoconf: Added --with/--without for openssl, curl, expat to ./configure Jakub Narebski
2006-06-30 21:57 ` Pavel Roskin
2006-06-30 22:32 ` Jakub Narebski
[not found] ` <20060630233004.7xckw444g4g0gcs8@webmail.spamcop.net>
2006-07-01 17:55 ` Jakub Narebski
2006-07-08 7:33 ` Pavel Roskin
2006-06-30 22:34 ` Jakub Narebski
2006-06-29 18:23 ` [PATCH] Allow INSTALL, bindir, mandir to be set in main Makefile Junio C Hamano
2006-06-29 20:16 ` Jakub Narebski
2006-06-29 12:46 ` [PATCH] autoconf: Use autoconf to write installation directories to config.mak Matthias Lederhofer
2006-06-29 13:48 ` Jakub Narebski
2006-06-30 12:18 ` Andreas Ericsson
2006-06-30 15:15 ` Jakub Narebski
2006-07-01 13:58 ` Jakub Narebski
2006-06-29 18:23 ` Junio C Hamano
[not found] ` <20060701213305.GA29115@pasky.or.cz>
2006-07-01 22:04 ` Jakub Narebski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200606291536.18667.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.