{"thread":{"id":"5117","subject":"What's in git.git","startedAt":"2006-08-04T10:12:36Z","lastAt":"2006-08-04T20:27:25Z","messageCount":14,"participants":["Junio C Hamano","Jakub Narebski","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"24695","messageId":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","threadId":"5117","inReplyTo":null,"subject":"What's in git.git","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-08-04T10:12:36Z","receivedAt":"2006-08-04T10:12:36Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"* The 'master' branch has these since the last announcement.\n  Since it was tagged as 1.4.2-rc3, it has acquired a couple of\n  further fixes.  Hopefully there won't be anything but fixes on\n  this branch until the real 1.4.2 happens.\n\n  - Documentation, usage string fixes and general clean-ups\n    everywhere by Jeff King, Ramsay Allan Jones, Uwe Zeisberger,\n    and Matthias Lederhofer.\n\n  - A few more commands are made built-ins by Matthias\n    Kestenholz.\n\n  - A minor memory leak in git-tar-tree was plugged by Rene\n    Scharfe.\n\n  - Ramsay Allan Jones has introduced \"NO_C99_FORMAT\" Makefile\n    variable to help running things with a C library that does\n    not support %zu and %td format.  This would be a good target\n    for autoconf work by Jakub (hint hint).\n\n  - To make it easy to tell which side of the connection the\n    errors happened while fetching/pulling, messages from the\n    remote side are prefixed with \"remote: \".\n\n  - \"git diff blob1 blob2\" were showing the patch in reverse,\n    and did not identify blob names of both sides.  Fixed.\n\n  - \"git commit -o path\" from subdirectories were broken when\n    git-read-tree became a built-in.  Fixed.\n\n* The 'next' branch, in addition, has these.\n\n  - A big gitweb clean-up series by Jakub Narebski, with help\n    from Jeff King, Matthias Lederhofer and Martin Waitz to make\n    run-time and build-time configuration easier.\n\n  - Jakub Narebski made config.mak.autogen to tell where Perl\n    and Python are to the build system.\n\n  - Not-universally-liked Git.pm by Pasky with help from Dennis\n    Stosberg, Johannes Schindelin, Pavel Roskin and others.\n    One drawback is this pretty much makes Perl scripts that use\n    Git.pm unusable with ActiveState right now.\n\n  - A new merge strategy, merge-recur, which is a rewrite of\n    merge-recursive in C, by Johannes and Alex.\n\n  - More commands are made built-in by Matthias Kestenholz, and\n    I cleaned up the build procedure for built-ins a bit.\n\n  - New style loose objects, which use the same header format as\n    in-pack objects, can be copied straight into packs when not\n    deltified.  Note that new-style loose objects are not\n    enabled by default yet.\n\n  - Matthias Lederhofer introduced $GIT_PAGER environment\n    variable that can specify a different pager from $PAGER.\n\n  - I suspect Cygwin needs NO_C99_FORMAT.  Confirmation is\n    appreciated.\n\n  - Ramsay Allan Jones has one header fix to add _GNU_SOURCE,\n    which helps things to compile in his environment; this needs\n    to be checked to make sure it does not break others.\n\n  - Timo Hirvonen made the parameter parsing of diff family\n    saner some time ago.  Two minor changes are waiting to\n    graduate to \"master\" after 1.4.2:\n\n    * --name-only, --name-status, --check and -s are mutually exclusive\n\n    * Remove awkward compatibility warts \"-s\".  Now -s means \"do\n      not output diff\" everywhere, including git-diff-files.\n\n* The 'pu' branch, in addition, has these.\n\n  - Johannes Schindelin has a new diff option --color-words to\n    use color to squash word differences into single line\n    output.\n\n  - An update to upload-pack to prevent it from going all the\n    way back when the downloader has more roots than it.  Needs\n    testing and comments.\n\n  - A new merge strategy, merge-rename, which is still a\n    work-in-progress to handle renames in read-tree 3-way\n    merge.\n"},{"id":"24697","messageId":"eav7do$p84$1@sea.gmane.org","threadId":"5117","inReplyTo":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","subject":"Re: What's in git.git","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T10:27:41Z","receivedAt":"2006-08-04T10:27:41Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano wrote:\n\n>   - Not-universally-liked Git.pm by Pasky with help from Dennis\n>     Stosberg, Johannes Schindelin, Pavel Roskin and others.\n>     One drawback is this pretty much makes Perl scripts that use\n>     Git.pm unusable with ActiveState right now.\n\nIt would be nice if when compiling with NO_GIT_XS (or equivalent) defined,\nGit.pm used pure Perl implementation. It would be even better if we could\navoid unnecessary code repetition.\n\nI think it would solve (read: paper on the problem) ActiveState problem...\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"24713","messageId":"11547069592652-git-send-email-jnareb@gmail.com","threadId":"5117","inReplyTo":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","subject":"[PATCH 1/4] autoconf: Check for working mmap","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T15:55:56Z","receivedAt":"2006-08-04T15:55:56Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Use AC_FUNC_MMAP check to check if the `mmap' function exists and\nworks correctly.  (It only checks private fixed mapping of\nalready-mapped memory.)\n\nAttention: uses implementation detail of AC_FUNC_MMAP!\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n configure.ac |    4 ++++\n 1 files changed, 4 insertions(+), 0 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 0a54b44..178220f 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -208,6 +208,10 @@ AC_CHECK_FUNC(setenv,[],\n [GIT_CONF_APPEND_LINE(NO_SETENV=YesPlease)])\n #\n # Define NO_MMAP if you want to avoid mmap.\n+AC_FUNC_MMAP\n+if test $ac_cv_func_mmap_fixed_mapped != yes; then\n+\tGIT_CONF_APPEND_LINE(NO_MMAP=YesPlease)\n+fi\n #\n # Define NO_IPV6 if you lack IPv6 support and getaddrinfo().\n #\n-- \n1.4.1.1\n"},{"id":"24710","messageId":"11547069591228-git-send-email-jnareb@gmail.com","threadId":"5117","inReplyTo":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","subject":"[PATCH 2/4] autoconf: Check for ll hh j z t size specifiers introduced by C99","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T15:55:57Z","receivedAt":"2006-08-04T15:55:57Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Add custom test for checking whether formatted IO functions\n(printf/scanf et.al.) support 'size specifiers' introduced by C99,\nnamely ll, hh, j, z, t. (representing long long int, char, intmax_t,\nsize_t, ptrdiff_t).\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n configure.ac |   21 +++++++++++++++++++++\n 1 files changed, 21 insertions(+), 0 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 178220f..1796cf4 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -189,6 +189,27 @@ # sockaddr_storage.\n AC_CHECK_TYPE(struct sockaddr_storage,[],\n [GIT_CONF_APPEND_LINE(NO_SOCKADDR_STORAGE=YesPlease)],\n [#include <netinet/in.h>])\n+#\n+# Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.)\n+# do not support the 'size specifiers' introduced by C99, namely ll, hh,\n+# j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).\n+# some C compilers supported these specifiers prior to C99 as an extension.\n+AC_CACHE_CHECK(whether IO functions support %ll %hh %j %z %t size specifiers,\n+ ac_cv_c_c99_format,\n+[# Actually git uses only %z (%zu) in alloc.c, and %t (%td) in mktag.c\n+AC_RUN_IFELSE(\n+\t[AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],\n+\t\t[[char buf[64];\n+\t\tif (sprintf(buf, \"%lld%hhd%jd%zd%td\", (long long int)1, (char)2, (intmax_t)3, (size_t)4, (ptrdiff_t)5) != 5)\n+\t\t  exit(1);\n+\t\telse if (strcmp(buf, \"12345\"))\n+\t\t  exit(2);]])],\n+\t[ac_cv_c_c99_format=yes],\n+\t[ac_cv_c_c99_format=no])\n+])\n+if test $ac_cv_c_c99_format = no; then\n+\tGIT_CONF_APPEND_LINE(NO_C99_FORMAT=YesPlease)\n+fi\n \n \n ## Checks for library functions.\n-- \n1.4.1.1\n"},{"id":"24711","messageId":"11547069591326-git-send-email-jnareb@gmail.com","threadId":"5117","inReplyTo":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","subject":"[PATCH 3/4] autoconf: Typo cleanup, reordering etc.","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T15:55:58Z","receivedAt":"2006-08-04T15:55:58Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n Makefile     |    2 +-\n configure.ac |   43 +++++++++++++++++++++++--------------------\n 2 files changed, 24 insertions(+), 21 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex d662bd6..c6b62d9 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -22,7 +22,7 @@ #\n # Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.)\n # do not support the 'size specifiers' introduced by C99, namely ll, hh,\n # j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).\n-# some c compilers supported these specifiers prior to C99 as an extension.\n+# some C compilers supported these specifiers prior to C99 as an extension.\n #\n # Define NO_STRCASESTR if you don't have strcasestr.\n #\ndiff --git a/configure.ac b/configure.ac\nindex 1796cf4..a88219a 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -51,7 +51,7 @@ fi; \\\n ## Site configuration\n ## --with-PACKAGE[=ARG] and --without-PACKAGE\n #\n-# Define NO_SVN_TESTS if you want to skip time-consuming SVN interopability\n+# Define NO_SVN_TESTS if you want to skip time-consuming SVN interoperability\n # tests.  These tests take up a significant amount of the total test time\n # but are not needed unless you plan to talk to SVN repos.\n #\n@@ -81,7 +81,24 @@ # not built, and you cannot push using h\n #\n # Define NO_MMAP if you want to avoid mmap.\n #\n-# Define NO_PYTHON if you want to loose all benefits of the recursive merge.\n+# Define SHELL_PATH to provide path to shell.\n+GIT_ARG_SET_PATH(shell)\n+#\n+# Define PERL_PATH to provide path to Perl.\n+GIT_ARG_SET_PATH(perl)\n+#\n+# Define NO_PYTHON if you want to lose all benefits of the recursive merge.\n+# Define PYTHON_PATH to provide path to Python.\n+AC_ARG_WITH(python,[AS_HELP_STRING([--with-python=PATH], [provide PATH to python])\n+AS_HELP_STRING([--no-python], [don't use python scripts])],\n+ [if test \"$withval\" = \"no\"; then \\\n+    NO_PYTHON=YesPlease; \\\n+  elif test \"$withval\" != \"yes\"; then \\\n+    PYTHON_PATH=$withval; \\\n+  fi; \\\n+ ])\n+AC_SUBST(NO_PYTHON)\n+AC_SUBST(PYTHON_PATH)\n #\n ## --enable-FEATURE[=ARG] and --disable-FEATURE\n # Define COLLISION_CHECK below if you believe that SHA1's\n@@ -101,27 +118,13 @@ # change being considered an inode chang\n ## Checks for programs.\n AC_MSG_NOTICE([CHECKS for programs])\n #\n-GIT_ARG_SET_PATH(shell)\n-GIT_ARG_SET_PATH(perl)\n-AC_ARG_WITH(python,[AS_HELP_STRING([--with-python=PATH], [provide PATH to python])\n-AS_HELP_STRING([--no-python], [don't use python scripts])],\n- [if test \"$withval\" = \"no\"; then \\\n-    NO_PYTHON=YesPlease; \\\n-  elif test \"$withval\" != \"yes\"; then \\\n-    PYTHON_PATH=$withval; \\\n-  fi; \\\n- ])\n-AC_SUBST(NO_PYTHON)\n-AC_SUBST(PYTHON_PATH)\n-\n-\n-#\n-# Define NO_PYTHON if you want to lose all benefits of the recursive merge.\n-# Define PYTHON_PATH to provide path to Python.\n AC_PROG_CC\n #AC_PROG_INSTALL\t\t# needs install-sh or install.sh in sources\n AC_CHECK_TOOL(AR, ar, :)\n AC_CHECK_PROGS(TAR, [gtar tar])\n+#\n+# Define NO_PYTHON if you want to lose all benefits of the recursive merge.\n+# Define PYTHON_PATH to provide path to Python.\n if test -z \"$NO_PYTHON\"; then\n \tAC_PATH_PROGS(PYTHON_PATH, [python2.4 python2.3 python2 python])\n \tif test -n \"$PYTHON_PATH\"; then\n@@ -194,7 +197,7 @@ # Define NO_C99_FORMAT if your formatted\n # do not support the 'size specifiers' introduced by C99, namely ll, hh,\n # j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).\n # some C compilers supported these specifiers prior to C99 as an extension.\n-AC_CACHE_CHECK(whether IO functions support %ll %hh %j %z %t size specifiers,\n+AC_CACHE_CHECK(whether formatted IO functions support C99 size specifiers,\n  ac_cv_c_c99_format,\n [# Actually git uses only %z (%zu) in alloc.c, and %t (%td) in mktag.c\n AC_RUN_IFELSE(\n-- \n1.4.1.1\n"},{"id":"24712","messageId":"11547069594092-git-send-email-jnareb@gmail.com","threadId":"5117","inReplyTo":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","subject":"[PATCH 4/4] Copy description of new build configuration variables to configure.ac","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T15:55:59Z","receivedAt":"2006-08-04T15:55:59Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Copy description of new build configuration variables from the\ncommentary in the top Makefile, namely NO_FINK and NO_DARWIN_PORTS\nconfiguration variables, putting them in site configuration section.\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n configure.ac |   12 ++++++++++++\n 1 files changed, 12 insertions(+), 0 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex a88219a..76bfa9d 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -79,6 +79,18 @@ #\n # Define NO_EXPAT if you do not have expat installed.  git-http-push is\n # not built, and you cannot push using http:// and https:// transports.\n #\n+# Define NO_FINK if you are building on Darwin/Mac OS X, have Fink\n+# installed in /sw, but don't want GIT to link against any libraries\n+# installed there.  If defined you may specify your own (or Fink's)\n+# include directories and library directories by defining CFLAGS\n+# and LDFLAGS appropriately.\n+#\n+# Define NO_DARWIN_PORTS if you are building on Darwin/Mac OS X,\n+# have DarwinPorts installed in /opt/local, but don't want GIT to\n+# link against any libraries installed there.  If defined you may\n+# specify your own (or DarwinPort's) include directories and\n+# library directories by defining CFLAGS and LDFLAGS appropriately.\n+#\n # Define NO_MMAP if you want to avoid mmap.\n #\n # Define SHELL_PATH to provide path to shell.\n-- \n1.4.1.1\n"},{"id":"24730","messageId":"Pine.LNX.4.63.0608042039490.1800@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5117","inReplyTo":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","subject":"Re: What's in git.git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-08-04T18:40:34Z","receivedAt":"2006-08-04T18:40:34Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 4 Aug 2006, Junio C Hamano wrote:\n\n>   - I suspect Cygwin needs NO_C99_FORMAT.  Confirmation is\n>     appreciated.\n\nI can confirm that a just update cygwin setup needs it.\n\nCiao,\nDscho\n"},{"id":"24731","messageId":"eb0554$1pu$1@sea.gmane.org","threadId":"5117","inReplyTo":"7v7j1on71n.fsf@assigned-by-dhcp.cox.net","subject":"Re: What's in git.git","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T18:55:08Z","receivedAt":"2006-08-04T18:55:08Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano wrote:\n\n>   - Ramsay Allan Jones has introduced \"NO_C99_FORMAT\" Makefile\n>     variable to help running things with a C library that does\n>     not support %zu and %td format.  This would be a good target\n>     for autoconf work by Jakub (hint hint).\n\nSee [PATCH 2/4] in this thread (introductory message somehow got lost).\nTesting on system which doesn't have C99 format specifiers would be\nappreciated.\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"24733","messageId":"7vodv0jpo1.fsf@assigned-by-dhcp.cox.net","threadId":"5117","inReplyTo":"11547069592652-git-send-email-jnareb@gmail.com","subject":"Re: [PATCH 1/4] autoconf: Check for working mmap","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-08-04T18:56:14Z","receivedAt":"2006-08-04T18:56:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> Use AC_FUNC_MMAP check to check if the `mmap' function exists and\n> works correctly.  (It only checks private fixed mapping of\n> already-mapped memory.)\n\nThis tests something we do not really care about (we do not\nmmap MAP_FIXED, and not over an already allocated space).\n"},{"id":"24734","messageId":"eb05i7$3d6$1@sea.gmane.org","threadId":"5117","inReplyTo":"7vodv0jpo1.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH 1/4] autoconf: Check for working mmap","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T19:02:07Z","receivedAt":"2006-08-04T19:02:07Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano wrote:\n\n> Jakub Narebski <jnareb@gmail.com> writes:\n> \n>> Use AC_FUNC_MMAP check to check if the `mmap' function exists and\n>> works correctly.  (It only checks private fixed mapping of\n>> already-mapped memory.)\n> \n> This tests something we do not really care about (we do not\n> mmap MAP_FIXED, and not over an already allocated space).\n\nWell, I have noticed that there exist AC_FUNC_MMAP, used it, \nthen read about its limitations.\n\nIs there any platform that passes this test, but needs NO_MMAP?\nIf so, then disregard this patch.\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"24736","messageId":"7vejvwjp2l.fsf@assigned-by-dhcp.cox.net","threadId":"5117","inReplyTo":"eb0554$1pu$1@sea.gmane.org","subject":"Re: What's in git.git","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-08-04T19:09:06Z","receivedAt":"2006-08-04T19:09:06Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> Junio C Hamano wrote:\n>\n>>   - Ramsay Allan Jones has introduced \"NO_C99_FORMAT\" Makefile\n>>     variable to help running things with a C library that does\n>>     not support %zu and %td format.  This would be a good target\n>>     for autoconf work by Jakub (hint hint).\n>\n> See [PATCH 2/4] in this thread (introductory message somehow got lost).\n> Testing on system which doesn't have C99 format specifiers would be\n> appreciated.\n\nRunning generated configure script on Cygwin just updated\nreports NO_C99_FORMAT is needed.  This is consistent with what\nJohannes confirmed.\n\nThanks, both.\n"},{"id":"24742","messageId":"7vy7u4i8lm.fsf@assigned-by-dhcp.cox.net","threadId":"5117","inReplyTo":"7vejvwjp2l.fsf@assigned-by-dhcp.cox.net","subject":"Re: What's in git.git","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-08-04T19:50:13Z","receivedAt":"2006-08-04T19:50:13Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n> Running generated configure script on Cygwin just updated\n> reports NO_C99_FORMAT is needed.  This is consistent with what\n> Johannes confirmed.\n\nBTW, my copy of config.mak.autogen generated on Cygwin says:\n\n\tNO_D_INO_IN_DIRENT\n        NO_D_TYPE_IN_DIRENT\n        NO_C99_FORMAT\n        NO_STRCASESTR\n\tNO_OPENSSL\t\t???\n\nThe defaults in our Makefile are:\n\n        NO_D_INO_IN_DIRENT\n\tNO_D_TYPE_IN_DIRENT\n        NO_STRCASESTR\n        NO_STRLCPY\t\t???\n        NEEDS_LIBICONV\t\t???\n        NO_C99_FORMAT\n        NO_IPV6\t\t\t???\n\n(1) configure misdetects NO_OPENSSL.  The relevant parts are:\n\n        checking for SHA1_Init in -lssl... no\n        checking for SHA1_INIT in -lcrypto... no\n\n    but I've been building git on Cygwin without NO_OPENSSL (eh,\n    that's double negation -- what I mean is I've been building\n    git with -lssl just fine).  I think the function to check in\n    -lcrypto should be SHA1_Init, not SHA1_INIT (trivial patch\n    attached at the end).\n\n(2) NO_STRLCPY is detected to be available by configure.  I\n    think we should update the default in Makefile.\n\n(3) NEEDS_LIBICONV is found to be unnecessary by configure, but\n    the link fails like this without it:\n\n        builtin-mailinfo.o: In function `convert_to_utf8':\n        /git/builtin-mailinfo.c:539: undefined reference to `_libiconv_open'\n        /git/builtin-mailinfo.c:560: undefined reference to `_libiconv'\n        /git/builtin-mailinfo.c:561: undefined reference to `_libiconv_close'\n        collect2: ld returned 1 exit status\n\n(4) NO_IPV6 is not detected yet -- you should be able to detect\n    this by checking for \"struct addrinfo\".  The compilation\n    fails like this on Cygwin:\n\n        connect.c: In function `git_tcp_connect_sock':\n        connect.c:361: error: storage size of 'hints' isn't known\n\n(Z) When configure detects some NO_XXX is unneeded, currently\n    there is no way for generated config.mak.autogen to override\n    the default set in Makefile.  For example, NO_STRLCPY is set\n    by Makefile, and the included config.mak.autogen does not\n    say anything about it even though it knows strlcpy is\n    usable.  It might be better to explicitly undef unneeded\n    NO_XXX in config.mak.autogen?\n\n-- >8 --\nautoconf: typofix to detect SHA1_Init in -lcrypto\n\n---\ndiff --git a/configure.ac b/configure.ac\nindex 9ce00e9..c6d76af 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -155,7 +155,7 @@ #\n # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n # Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin).\n AC_CHECK_LIB([ssl], [SHA1_Init],[],\n-[AC_CHECK_LIB([crypto], [SHA1_INIT],\n+[AC_CHECK_LIB([crypto], [SHA1_Init],\n  [GIT_CONF_APPEND_LINE(NEEDS_SSL_WITH_CRYPTO=YesPlease)],\n  [GIT_CONF_APPEND_LINE(NO_OPENSSL=YesPlease)])])\n #\n"},{"id":"24744","messageId":"7vhd0si7ue.fsf@assigned-by-dhcp.cox.net","threadId":"5117","inReplyTo":"7vy7u4i8lm.fsf@assigned-by-dhcp.cox.net","subject":"Re: What's in git.git","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-08-04T20:06:33Z","receivedAt":"2006-08-04T20:06:33Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n> (1) configure misdetects NO_OPENSSL.  The relevant parts are:\n>\n>         checking for SHA1_Init in -lssl... no\n>         checking for SHA1_INIT in -lcrypto... no\n>\n>     but I've been building git on Cygwin without NO_OPENSSL (eh,\n>     that's double negation -- what I mean is I've been building\n>     git with -lssl just fine).  I think the function to check in\n>     -lcrypto should be SHA1_Init, not SHA1_INIT (trivial patch\n>     attached at the end).\n\nI just noticed that this is not enough.  It does fix the\nNO_OPENSSL problem, but I think the logic and test for ssl and\ncrypto in the original are the other way around.\n\nNEEDS_SSL_WITH_CRYPTO means you cannot just say \"-lcrypto\" to\nuse SHA1 stuff, but need to say \"-lcrypto -lssl\", so the test\nshould say \"if we can get away with -lcrypto, we are happy,\notherwise if we need -lssl, then say NEEDS_SSL_WITH_CRYPTO,\notherwise we cannot use OpenSSL so say NO_OPENSSL\", or something\nlike that.\n\n-- >8 --\n\ndiff --git a/configure.ac b/configure.ac\nindex 9ce00e9..fea18b6 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -154,8 +154,8 @@ AC_MSG_NOTICE([CHECKS for libraries])\n #\n # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n # Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin).\n-AC_CHECK_LIB([ssl], [SHA1_Init],[],\n-[AC_CHECK_LIB([crypto], [SHA1_INIT],\n+AC_CHECK_LIB([crypto], [SHA1_Init],[],\n+[AC_CHECK_LIB([ssl], [SHA1_Init],\n  [GIT_CONF_APPEND_LINE(NEEDS_SSL_WITH_CRYPTO=YesPlease)],\n  [GIT_CONF_APPEND_LINE(NO_OPENSSL=YesPlease)])])\n #\n"},{"id":"24748","messageId":"eb0ai4$h7k$2@sea.gmane.org","threadId":"5117","inReplyTo":"7vy7u4i8lm.fsf@assigned-by-dhcp.cox.net","subject":"Re: What's in git.git","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-04T20:27:25Z","receivedAt":"2006-08-04T20:27:25Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano wrote:\n\n> (3) NEEDS_LIBICONV is found to be unnecessary by configure, but\n>     the link fails like this without it:\n> \n>         builtin-mailinfo.o: In function `convert_to_utf8':\n>         /git/builtin-mailinfo.c:539: undefined reference to `_libiconv_open'\n>         /git/builtin-mailinfo.c:560: undefined reference to `_libiconv'\n>         /git/builtin-mailinfo.c:561: undefined reference to `_libiconv_close'\n>         collect2: ld returned 1 exit status\n\nDoes the following patch help?\n\n+++\nautoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n configure.ac |    3 +--\n 1 files changed, 1 insertions(+), 2 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 5926f3c..61c9fa3 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -172,8 +172,7 @@ AC_CHECK_LIB([expat], [XML_ParserCreate]\n #\n # Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).\n AC_CHECK_LIB([c], [iconv],[],\n-[AC_CHECK_LIB([iconv],[iconv],\n- [GIT_CONF_APPEND_LINE(NEEDS_LIBICONV=YesPlease)],[])])\n+[GIT_CONF_APPEND_LINE(NEEDS_LIBICONV=YesPlease)])\n #\n # Define NEEDS_SOCKET if linking with libc is not enough (SunOS,\n # Patrick Mauritz).\n-- \n1.4.1.1\n"}]}