]>
Commit | Line | Data |
---|---|---|
55667714 JN |
1 | # -*- Autoconf -*- |
2 | # Process this file with autoconf to produce a configure script. | |
3 | ||
4 | AC_PREREQ(2.59) | |
5 | AC_INIT([git], [1.4.1], [git@vger.kernel.org]) | |
6 | ||
7 | AC_CONFIG_SRCDIR([git.c]) | |
8 | ||
9 | config_file=config.mak.autogen | |
d3a6db98 | 10 | config_append=config.mak.append |
55667714 JN |
11 | config_in=config.mak.in |
12 | ||
d3a6db98 JN |
13 | echo "# ${config_append}. Generated by configure." > "${config_append}" |
14 | ||
15 | ||
16 | ## Definitions of macros | |
17 | # GIT_CONF_APPEND_LINE(LINE) | |
18 | # -------------------------- | |
19 | # Append LINE to file ${config_append} | |
20 | AC_DEFUN([GIT_CONF_APPEND_LINE], | |
21 | [echo "$1" >> "${config_append}"])# GIT_CONF_APPEND_LINE | |
22 | ||
633b4239 JN |
23 | |
24 | ## Checks for programs. | |
25 | # Define NO_PYTHON if you want to loose all benefits of the recursive merge. | |
26 | ||
27 | ||
28 | ## Checks for libraries. | |
29 | # Define NO_OPENSSL environment variable if you do not have OpenSSL. | |
30 | # This also implies MOZILLA_SHA1. | |
31 | # | |
32 | # Define NO_CURL if you do not have curl installed. git-http-pull and | |
33 | # git-http-push are not built, and you cannot use http:// and https:// | |
34 | # transports. | |
35 | # | |
36 | # Define NO_EXPAT if you do not have expat installed. git-http-push is | |
37 | # not built, and you cannot push using http:// and https:// transports. | |
38 | # | |
39 | # Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin). | |
40 | # | |
41 | # Define NEEDS_LIBICONV if linking with libc is not enough (Darwin). | |
42 | # | |
43 | # Define NEEDS_SOCKET if linking with libc is not enough (SunOS, | |
44 | # Patrick Mauritz). | |
45 | ||
46 | ||
47 | ## Checks for header files. | |
48 | ||
49 | ||
50 | ## Checks for typedefs, structures, and compiler characteristics. | |
eb0f255d JN |
51 | AC_MSG_NOTICE([CHECKS for typedefs, structures, and compiler characteristics]) |
52 | ||
633b4239 | 53 | # Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent. |
eb0f255d JN |
54 | AC_CHECK_MEMBER(struct dirent.d_ino,[], |
55 | GIT_CONF_APPEND_LINE(NO_D_INO_IN_DIRENT=YesPlease), | |
56 | [#include <dirent.h>]) | |
57 | ||
633b4239 JN |
58 | # Define NO_D_TYPE_IN_DIRENT if your platform defines DT_UNKNOWN but lacks |
59 | # d_type in struct dirent (latest Cygwin -- will be fixed soonish). | |
eb0f255d JN |
60 | AC_CHECK_MEMBER(struct dirent.d_type,[], |
61 | GIT_CONF_APPEND_LINE(NO_D_TYPE_IN_DIRENT=YesPlease), | |
62 | [#include <dirent.h>]) | |
63 | ||
633b4239 JN |
64 | # Define NO_SOCKADDR_STORAGE if your platform does not have struct |
65 | # sockaddr_storage. | |
eb0f255d JN |
66 | AC_CHECK_TYPE(struct sockaddr_storage,[], |
67 | GIT_CONF_APPEND_LINE(NO_SOCKADDR_STORAGE=YesPlease), | |
68 | [#include <netinet/in.h>]) | |
633b4239 JN |
69 | |
70 | ||
71 | ## Checks for library functions. | |
1bbbadbc JN |
72 | ## (in default C library and libraries checked by AC_CHECK_LIB) |
73 | AC_MSG_NOTICE([CHECKS for library functions]) | |
74 | ||
633b4239 | 75 | # Define NO_STRCASESTR if you don't have strcasestr. |
1bbbadbc JN |
76 | AC_CHECK_FUNC(strcasestr,[], |
77 | GIT_CONF_APPEND_LINE(NO_STRCASESTR=YesPlease)) | |
78 | ||
633b4239 | 79 | # Define NO_STRLCPY if you don't have strlcpy. |
1bbbadbc JN |
80 | AC_CHECK_FUNC(strlcpy,[], |
81 | GIT_CONF_APPEND_LINE(NO_STRLCPY=YesPlease)) | |
82 | ||
633b4239 | 83 | # Define NO_SETENV if you don't have setenv in the C library. |
1bbbadbc JN |
84 | AC_CHECK_FUNC(setenv,[], |
85 | GIT_CONF_APPEND_LINE(NO_SETENV=YesPlease)) | |
86 | ||
633b4239 JN |
87 | # Define NO_MMAP if you want to avoid mmap. |
88 | # | |
89 | # Define NO_IPV6 if you lack IPv6 support and getaddrinfo(). | |
90 | # | |
91 | # Define NO_ICONV if your libc does not properly support iconv. | |
92 | ||
93 | ||
94 | ## Other checks. | |
95 | # Define USE_PIC if you need the main git objects to be built with -fPIC | |
96 | # in order to build and link perl/Git.so. x86-64 seems to need this. | |
97 | # | |
98 | # Define NO_SYMLINK_HEAD if you never want .git/HEAD to be a symbolic link. | |
99 | # Enable it on Windows. By default, symrefs are still used. | |
100 | # | |
101 | # Define WITH_OWN_SUBPROCESS_PY if you want to use with python 2.3. | |
102 | # | |
103 | # Define NO_ACCURATE_DIFF if your diff program at least sometimes misses | |
104 | # a missing newline at the end of the file. | |
105 | ||
106 | ||
107 | ## Site configuration | |
108 | ## --with-PACKAGE[=ARG] and --without-PACKAGE | |
109 | # Define NO_SVN_TESTS if you want to skip time-consuming SVN interopability | |
110 | # tests. These tests take up a significant amount of the total test time | |
111 | # but are not needed unless you plan to talk to SVN repos. | |
112 | # | |
113 | # Define MOZILLA_SHA1 environment variable when running make to make use of | |
114 | # a bundled SHA1 routine coming from Mozilla. It is GPL'd and should be fast | |
115 | # on non-x86 architectures (e.g. PowerPC), while the OpenSSL version (default | |
116 | # choice) has very fast version optimized for i586. | |
117 | # | |
118 | # Define PPC_SHA1 environment variable when running make to make use of | |
119 | # a bundled SHA1 routine optimized for PowerPC. | |
120 | # | |
121 | # Define ARM_SHA1 environment variable when running make to make use of | |
122 | # a bundled SHA1 routine optimized for ARM. | |
123 | # | |
124 | # Define NO_OPENSSL environment variable if you do not have OpenSSL. | |
125 | # This also implies MOZILLA_SHA1. | |
126 | # | |
127 | # Define NO_CURL if you do not have curl installed. git-http-pull and | |
128 | # git-http-push are not built, and you cannot use http:// and https:// | |
129 | # transports. | |
130 | # | |
131 | # Define CURLDIR=/foo/bar if your curl header and library files are in | |
132 | # /foo/bar/include and /foo/bar/lib directories. | |
133 | # | |
134 | # Define NO_EXPAT if you do not have expat installed. git-http-push is | |
135 | # not built, and you cannot push using http:// and https:// transports. | |
136 | # | |
137 | # Define NO_MMAP if you want to avoid mmap. | |
138 | # | |
139 | # Define NO_PYTHON if you want to loose all benefits of the recursive merge. | |
140 | # | |
141 | ## --enable-FEATURE[=ARG] and --disable-FEATURE | |
142 | # Define COLLISION_CHECK below if you believe that SHA1's | |
143 | # 1461501637330902918203684832716283019655932542976 hashes do not give you | |
144 | # sufficient guarantee that no collisions between objects will ever happen. | |
145 | # | |
146 | # Define USE_NSEC below if you want git to care about sub-second file mtimes | |
147 | # and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and | |
148 | # it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely | |
149 | # randomly break unless your underlying filesystem supports those sub-second | |
150 | # times (my ext3 doesn't). | |
151 | # | |
152 | # Define USE_STDEV below if you want git to care about the underlying device | |
153 | # change being considered an inode change from the update-cache perspective. | |
154 | ||
d3a6db98 | 155 | |
633b4239 | 156 | ## Output files |
d3a6db98 | 157 | AC_CONFIG_FILES(["${config_file}":"${config_in}":"${config_append}"]) |
55667714 | 158 | AC_OUTPUT |
d3a6db98 JN |
159 | |
160 | ## Cleanup | |
161 | rm -f "${config_append}" |