path: root/
AgeCommit message (Collapse)Author
2011-02-14configure: use AC_LANG_PROGRAM consistentlyRalf Wildenhues
Avoid warnings from Autoconf 2.68 about missing use of AC_LANG_PROGRAM and friends. Quoting autoconf-2.68/NEWS: ** The macros AC_PREPROC_IFELSE, AC_COMPILE_IFELSE, AC_LINK_IFELSE, and AC_RUN_IFELSE now warn if the first argument failed to use AC_LANG_SOURCE or AC_LANG_PROGRAM to generate the conftest file contents. A new macro AC_LANG_DEFINES_PROVIDED exists if you have a compelling reason why you cannot use AC_LANG_SOURCE but must avoid the warning. The underlying reason for that change is that AC_LANG_{SOURCE,PROGRAM} take care to supply the previously computed set of #defines (and include standard headers if so desired) for preprocessed languages like C and C++. In some cases, AC_LANG_PROGRAM is already used but not sufficiently m4-quoted, so we just need to add another set of [quotes] to prevent the autoconf warning from being triggered bogusly. Quoting all arguments (except when calling special macros that need to be expanded before recursion) is better style, anyway. These and more rules are described in detail in 'info Autoconf "Programming in M4"'. No change in the resulting config.mak.autogen after running ./configure intended. Signed-off-by: Ralf Wildenhues <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2010-12-13Merge branch 'jk/asciidoc-update'Junio C Hamano
* jk/asciidoc-update: docs: default to more modern toolset
2010-12-04Merge branch 'jj/icase-directory'Junio C Hamano
* jj/icase-directory: Support case folding in git fast-import when core.ignorecase=true Support case folding for git add when core.ignorecase=true Add case insensitivity support when using git ls-files Add case insensitivity support for directories when using git status Case insensitivity support for .gitignore via core.ignorecase Add string comparison functions that respect the ignore_case variable. Makefile & configure: add a NO_FNMATCH_CASEFOLD flag Makefile & configure: add a NO_FNMATCH flag Conflicts: Makefile fast-import.c
2010-11-24docs: default to more modern toolsetJeff King
When the ASCIIDOC8 and ASCIIDOC_NO_ROFF knobs were built, many people were still on asciidoc 7 and using older versions of docbook-xsl. These days, even the almost 2-year-old Debian stable needs these knobs turned. So let's turn them by default. The new knobs ASCIIDOC7 and ASCIIDOC_ROFF can be used to get the old behavior if people are on older systems. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
2010-10-29Interix: add configure checksMarkus Duft
* check for sys/poll.h. define NO_SYS_POLL_H otherwise. * check for inttypes.h, define NO_INTTYPES_H otherwise. * check for initgroups(), define NO_INITGROUPS otherwise. Signed-off-by: Markus Duft <> Signed-off-by: Junio C Hamano <>
2010-10-06Makefile & configure: add a NO_FNMATCH_CASEFOLD flagÆvar Arnfjörð Bjarmason
On some platforms (like Solaris) there is a fnmatch, but it doesn't support the GNU FNM_CASEFOLD extension that's used by the jj/icase-directory series' fnmatch_icase wrapper. Change the Makefile so that it's now possible to set NO_FNMATCH_CASEFOLD=YesPlease on those systems, and add a configure probe for it. Unlike the NO_REGEX check we don't add AC_INCLUDES_DEFAULT to our headers. This is because on a GNU system the definition of FNM_CASEFOLD in fnmatch.h is guarded by: #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE One of the headers AC_INCLUDES_DEFAULT includes ends up defining one of those, so if we'd use it we'd always get NO_FNMATCH_CASEFOLD=YesPlease on GNU systems, even though they have FNM_CASEFOLD. When checking the flags we use: ifdef NO_FNMATCH ... else ifdef NO_FNMATCH_CASEFOLD ... endif endif The "else" so that we don't link against compat/fnmatch/fnmatch.o twice if both NO_FNMATCH and NO_FNMATCH_CASEFOLD are defined. Signed-off-by: Ævar Arnfjörð Bjarmason <> Signed-off-by: Junio C Hamano <>
2010-10-06Makefile & configure: add a NO_FNMATCH flagÆvar Arnfjörð Bjarmason
Windows and MinGW both lack fnmatch() in their C library and needed compat/fnmatch, but they had duplicate code for adding the compat function, and there was no Makefile flag or configure check for fnmatch. Change the Makefile it so that it's now possible to compile the compat function with a NO_FNMATCH=YesPlease flag, and add a configure probe for it. Signed-off-by: Ævar Arnfjörð Bjarmason <> Signed-off-by: Junio C Hamano <>
2010-09-29Merge branch 'po/etc-gitattributes'Junio C Hamano
* po/etc-gitattributes: Add global and system-wide gitattributes Conflicts: Documentation/config.txt Makefile
2010-09-03Merge branch 'ab/compat-regex'Junio C Hamano
* ab/compat-regex: Fix compat/regex ANSIfication on MinGW autoconf: regex library detection typofix autoconf: don't use platform regex if it lacks REG_STARTEND t/ un-TODO a test that needs REG_STARTEND compat/regex: get rid of old-style definition compat/regex: define out variables only used under RE_ENABLE_I18N Change regerror() declaration from K&R style to ANSI C (C89) compat/regex: get the gawk regex engine to compile within git compat/regex: use the regex engine from gawk for compat Conflicts: compat/regex/regex.c
2010-09-01Add global and system-wide gitattributesPetr Onderka
Allow gitattributes to be set globally and system wide. This way, settings for particular file types can be set in one place and apply for all user's repositories. The location of system-wide attributes file is $(prefix)/etc/gitattributes. The location of the global file can be configured by setting core.attributesfile. Some parts of the code were copied from the implementation of the same functionality in config.c. Signed-off-by: Petr Onderka <> Signed-off-by: Matthieu Moy <> Signed-off-by: Junio C Hamano <>
2010-08-22autoconf: regex library detection typofixJunio C Hamano
2010-08-19autoconf: don't use platform regex if it lacks REG_STARTENDJonathan Nieder
If the platform regex cannot match null bytes, we might as well use the glibc version instead. Cc: Ævar Arnfjörð Bjarmason <> Cc: René Scharfe <> Signed-off-by: Jonathan Nieder <> Tested-by: Ævar Arnfjörð Bjarmason <> Signed-off-by: Junio C Hamano <>
2010-08-15compat: add strtok_r()Jonathan Nieder
Windows does not have strtok_r (and while it does have an identical strtok_s, but it is not obvious how to use it). Grab an implementation from glibc. The svn-fe tool uses strtok_r to parse paths. Acked-by: Johannes Sixt <> Helped-by: Jakub Narebski <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2010-06-21Merge branch 'gv/portable'Junio C Hamano
* gv/portable: test-lib: use DIFF definition from GIT-BUILD-OPTIONS build: propagate $DIFF to scripts Makefile: Tru64 portability fix Makefile: HP-UX 10.20 portability fixes Makefile: HPUX11 portability fixes Makefile: SunOS 5.6 portability fix inline declaration does not work on AIX Allow disabling "inline" Some platforms lack socklen_t type Make NO_{INET_NTOP,INET_PTON} configured independently Makefile: some platforms do not have hstrerror anywhere git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition test_cmp: do not use "diff -u" on platforms that lack one fixup: do not unconditionally disable "diff -u" tests: use "test_cmp", not "diff", when verifying the result Do not use "diff" found on PATH while building and installing enums: omit trailing comma for portability Makefile: -lpthread may still be necessary when libc has only pthread stubs Rewrite dynamic structure initializations to runtime assignment Makefile: pass CPPFLAGS through to fllow customization Conflicts: Makefile wt-status.h
2010-06-01Allow disabling "inline"Gary V. Vaughan
Compiler support for inline is sometimes buggy, and occasionally missing entirely. This patch adds a test for inline support, and redefines the keyword with the preprocessor if necessary at compile time. Signed-off-by: Gary V. Vaughan <> Signed-off-by: Junio C Hamano <>
2010-06-01Some platforms lack socklen_t typeGary V. Vaughan
Some platforms do not have a socklen_t type declaration. Signed-off-by: Gary V. Vaughan <> Signed-off-by: Junio C Hamano <>
2010-06-01Make NO_{INET_NTOP,INET_PTON} configured independentlyGary V. Vaughan
Being careful not to overwrite the results of testing for hstrerror in libresolv, also test whether inet_ntop/inet_pton are available from that library. Signed-off-by: Gary V. Vaughan <> Signed-off-by: Junio C Hamano <>
2010-06-01Makefile: some platforms do not have hstrerror anywhereGary V. Vaughan
This patch improves the logic of the test for hstrerror, not to blindly assume that if there is no hstrerror in libc that it must exist in libresolv. Signed-off-by: Gary V. Vaughan <> Signed-off-by: Junio C Hamano <>
2010-05-31Do not use "diff" found on PATH while building and installingGary V. Vaughan
Some of the flags used with the first diff found in PATH cause the vendor diff to choke. Signed-off-by: Gary V. Vaughan <> Signed-off-by: Junio C Hamano <>
2010-05-31Makefile: -lpthread may still be necessary when libc has only pthread stubsGary V. Vaughan
Without this patch, systems that provide stubs for pthread functions in libc, but which still require libpthread for full the pthread implementation are not detected correctly. Also, some systems require -pthread in CFLAGS for each compilation unit for a successful link of an mt binary, which is also addressed by this patch. Signed-off-by: Gary V. Vaughan <> Signed-off-by: Junio C Hamano <>
2010-05-21Merge branch 'cw/maint-exec-defpath'Junio C Hamano
* cw/maint-exec-defpath: autoconf: Check if <paths.h> exists and set HAVE_PATHS_H exec_cmd.c: replace hard-coded path list with one from <paths.h>
2010-04-15autoconf: Check if <paths.h> exists and set HAVE_PATHS_HJakub Narebski
Signed-off-by: Jakub Narebski <> Signed-off-by: Junio C Hamano <>
2010-04-03Gitweb: add autoconfigure support for minifiersMark Rada
This will allow users to set a JavaScript/CSS minifier when/if they run the autoconfigure script while building git. Signed-off-by: Mark Rada <> Signed-off-by: Junio C Hamano <>
2010-02-03Merge branch 'bw/no-python-autoconf'Junio C Hamano
* bw/no-python-autoconf: configure: Allow --without-python configure: Allow GIT_ARG_SET_PATH to handle --without-PROGRAM
2010-02-01configure: Allow --without-pythonBen Walton
This patch allows someone to use configure to build git while at the same time disabling the python remote helper code. It leverages the ability of GIT_ARG_SET_PATH to accept an optional second argument indicating that --without-$PROGRAM is acceptable. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2010-02-01configure: Allow GIT_ARG_SET_PATH to handle --without-PROGRAMBen Walton
Add an optional second argument to both GIT_ARG_SET_PATH and GIT_CONF_APPEND_PATH such that any value of the second argument will enable configure to set NO_$PROGRAM in addition to an empty $PROGRAM_PATH. This is initially useful for allowing configure to disable the use of python, as the remote helper code has nothing leveraging it yet. The Makefile already recognizes NO_PYTHON, but configure provided no way to set it appropriately. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2010-01-31Make NO_PTHREADS the sole thread configuration variableDan McGee
When the first piece of threaded code was introduced in commit 8ecce684, it came with its own THREADED_DELTA_SEARCH Makefile option. Since this time, more threaded code has come into the codebase and a NO_PTHREADS option has also been added. Get rid of the original option as the newer, more generic option covers everything we need. Signed-off-by: Dan McGee <> Signed-off-by: Junio C Hamano <>
2009-12-26Merge branch 'sr/vcs-helper'Junio C Hamano
* sr/vcs-helper: tests: handle NO_PYTHON setting builtin-push: don't access freed transport->url Add Python support library for remote helpers Basic build infrastructure for Python scripts Allow helpers to report in "list" command that the ref is unchanged Fix various memory leaks in transport-helper.c Allow helper to map private ref names into normal names Add support for "import" helper command Allow specifying the remote helper in the url Add a config option for remotes to specify a foreign vcs Allow fetch to modify refs Use a function to determine whether a remote is valid Allow programs to not depend on remotes having urls Fix memory leak in helper method for disconnect Conflicts: Documentation/git-remote-helpers.txt Makefile builtin-ls-remote.c builtin-push.c transport-helper.c
2009-11-18Basic build infrastructure for Python scriptsJohan Herland
This patch adds basic boilerplate support (based on corresponding Perl sections) for enabling the building and installation Python scripts. There are currently no Python scripts being built, and when Python scripts are added in future patches, their building and installation can be disabled by defining NO_PYTHON. Signed-off-by: Johan Herland <> Signed-off-by: Junio C Hamano <>
2009-11-04configure: add settings for gitconfig, editor and pagerBen Walton
Use the new GIT_PARSE_WITH_SET_MAKE_VAR macro to allow configuration settings for ETC_GITCONFIG, DEFAULT_PAGER and DEFAULT_EDITOR. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-11-04configure: add macro to set arbitrary make variablesBen Walton
Add macro GIT_PARSE_WITH_SET_MAKE_VAR to to allow --with style options that set values for variables used during the make process. Arguments are the $name part of --with-$name, the name of the variable to set in the Makefile (config.mak.autogen) and the help text for the option. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-08-18remove ARM and Mozilla SHA1 implementationsNicolas Pitre
They are both slower than the new BLK_SHA1 implementation, so it is pointless to keep them around. Signed-off-by: Nicolas Pitre <> Signed-off-by: Junio C Hamano <> properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missingv1.6.4-rc2Brandon Casey
The empty assignment NEEDS_SSL_WITH_CRYPTO= was mistakenly paired with the assignment NEEDS_SSL_WITH_CRYPTO=YesPlease in the "action-if-found" parameter of the AC_CHECK_LIB macro. The empty assignment was intended for the "action-if-not-found" section, since in that case, the necessary sha1 hash function was not found and the internal sha1 implementation will be used instead. Signed-off-by: Brandon Casey <> Signed-off-by: Junio C Hamano <> rework/fix the NEEDS_RESOLV and NEEDS_LIBGEN testsBrandon Casey
The "action" parameters for these two tests were supplied incorrectly for the way the tests were implemented. The tests check whether a program which calls hstrerror() or basename() successfully links when -lresolv or -lgen are used, respectively. A successful linking would result in NEEDS_RESOLV or NEEDS_LIBGEN being unset, and failure would result in setting the respective variable. Aside from that issue, the tests did not handle the case where neither library was necessary for accessing the functions in question. So solve both of these issues by re-working the two tests so that their form is like the NEEDS_SOCKET test which attempts to link with just the c library, and if it fails then assumes that the additional library is necessary and sets the appropriate variable. Also an entry in the file is necessary for the NEEDS_LIBGEN variable to appear in the config.mak.autogen file with the value assigned by the configure script. Without it, the generated shell script would contain a snippet like this: for ac_lib in ; do ... which is incorrect. Signed-off-by: Brandon Casey <> Signed-off-by: Junio C Hamano <>
2009-07-11Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile argumentsBrandon Casey
Commit 003b33a8 recently added a call to basename(). On IRIX 6.5, this function resides in libgen and -lgen is required for the linker. Update too. Signed-off-by: Brandon Casey <> Signed-off-by: Junio C Hamano <>
2009-06-21Merge branch 'mn/maint-iconv-autoconf'Junio C Hamano
* mn/maint-iconv-autoconf: fix handling of iconv configuration options
2009-06-13Merge branch 'bc/solaris'Junio C Hamano
* bc/solaris: configure: test whether -lresolv is needed Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8 Makefile: add section for SunOS 5.7 Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH Makefile: define __sun__ on SunOS git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX spec Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile arguments Makefile: use /usr/ucb/install on SunOS platforms rather than ginstall Conflicts: Makefile
2009-06-10configure: test whether -lresolv is neededRalf Wildenhues
Check if -lresolv is needed for hstrerror; set NEEDS_RESOLV accordingly, and substitute in Signed-off-by: Ralf Wildenhues <> Signed-off-by: Junio C Hamano <>
2009-06-09fix handling of iconv configuration optionsMarco Nelissen
Fix the way in which the configure script handles --without-iconv (and --with-iconv=no), which it used to essentially ignore. Also fix the way the configure script determines the value of NEEDS_LIBICONV, which would be incorrectly set to 'YesPlease' on systems that lack iconv entirely. Signed-off-by: Marco Nelissen <> Signed-off-by: Junio C Hamano <>
2009-06-01compat: add a basename() compatibility functionDavid Aguilar
Some systems such as Windows lack libgen.h so provide a basename() implementation for cross-platform use. This introduces the NO_LIBGEN_H construct to the Makefile and autoconf scripts. Signed-off-by: David Aguilar <> Signed-off-by: Junio C Hamano <>
2009-06-01compat: add a mkstemps() compatibility functionDavid Aguilar
mkstemps() is a BSD extension so provide an implementation for cross-platform use. Signed-off-by: David Aguilar <> Tested-by: Johannes Sixt <> (Windows) Signed-off-by: Junio C Hamano <>
2009-03-13configure: rework pthread handling to allow for user defined flagsBen Walton
The tests for POSIX threads can now be controlled by the user with the --enable-pthreads=FLAGS option. If this is set (to some value other than yes or no), the value is passed to the compiler. Thread support is based solely on the outcome of this test. The user may specify not to use threading at all or to use the default tests (first -pthread then -lpthread) by not specifying FLAGS when passing --enable-pthreads. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-03-13configure: make iconv tests aware of user argumentsBen Walton
--with-iconv is now taken into account when doing the tests for iconv. If the user requests alternate handling for libiconv, the -liconv test is run before the -lc test. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-03-13configure: asciidoc version test cleanupBen Walton
Redirect stderr to /dev/null instead of stdout. This discards warnings generated by python 2.6 related to the reorganization of functions within modules. The warnings were causing the version detection to break. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-03-13configure: wrap some library tests with GIT_STASH_FLAGSBen Walton
Libraries that can have user specificed base paths are wrapped with GIT_STASH_FLAGS/GIT_UNSTASH_FLAGS to ensure that the proper versions on the system are tested. This ensures, for example, that the zlib tests for deflateUnbound are done with the version of zlib requested by the user. This is most useful in the absence of good settings for CPPFLAGS and/or LDFLAGS. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-03-13configure: add macros to stash FLAG variablesBen Walton
Allow for quick stash/unstash of CPPFLAGS and LDFLAGS. Library tests can now be easily bracketted with these macros to allow for values set in user/site arguments. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-03-13configure: reorganize flow of argument checksBen Walton
Move the argument tests from the 'site overrides' so that they are ahead of any library tests. This allows for library tests to take user specified paths into account. The intent here is to avoid things like NO_DEFLATE_BOUND being set due to finding old zlib when the user has specified an alternate location for zlib. (Ignore the fact that properly set *FLAGS can avoid solve this issue.) Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-03-13configure: ensure settings from user are also usable in the scriptBen Walton
Allow things set by the user (--with-lib, --with-iconv, etc) to set variables for use by other parts of the script. Display values as they're set. Signed-off-by: Ben Walton <> Signed-off-by: Junio C Hamano <>
2009-01-21Fix naming scheme for configure cache variables.Ralf Wildenhues
In order to be cached, configure variables need to contain the string '_cv_', and they should begin with a package-specific prefix in order to avoid interfering with third-party macros. Rename ld_dashr, ld_wl_rpath, ld_rpath to git_cv_ld_dashr etc. Signed-off-by: Ralf Wildenhues <> Signed-off-by: Junio C Hamano <>
2009-01-18Merge branch 'ds/uintmax-config'Junio C Hamano
* ds/uintmax-config: autoconf: Enable threaded delta search when pthreads are supported