{"thread":{"id":"31745","subject":"[PATCH] Allow generating a non-default set of documentation","startedAt":"2012-10-07T20:39:32Z","lastAt":"2012-10-08T16:33:33Z","messageCount":12,"participants":["Junio C Hamano","Jeff King"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"200710","messageId":"7vzk3yow3f.fsf@alter.siamese.dyndns.org","threadId":"31745","inReplyTo":null,"subject":"[PATCH] Allow generating a non-default set of documentation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-10-07T20:39:32Z","receivedAt":"2012-10-07T20:39:32Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"By default, \"make doc\" generates the manpages and htmldocs in the\nDocumentation directory, but you may want to change this depending\non the target environment, e.g. to include 'pdf'.  Introduce a new\nMakefile variable DEFAULT_DOC_TARGET to allow customizing this.\n\nThe primary motivation is to let us check documentation patches with\n\n    $ DEFAULT_DOC_TARGET=git-push.1 make doc\n\nbut it is not so far-fetched to imagine that Windows users may want to\nomit manpages with\n\n    $ DEFAULT_DOC_TARGET=html make doc\n\nor somesuch; this lets interested people to enhance the install-doc\ntarget in a similar way.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n\n Makefile | 12 ++++++++++--\n 1 file changed, 10 insertions(+), 2 deletions(-)\n\ndiff --git c/Makefile w/Makefile\nindex 8413606..250b87a 100644\n--- c/Makefile\n+++ w/Makefile\n@@ -299,6 +299,12 @@ all::\n #   DEFAULT_EDITOR='$GIT_FALLBACK_EDITOR',\n #   DEFAULT_EDITOR='\"C:\\Program Files\\Vim\\gvim.exe\" --nofork'\n #\n+# You can define DEFAULT_DOC_TARGET to something other than \"all\" to change it\n+# from the built-in default of generating manpages and htmldocs.  e.g.\n+#\n+#   DEFAULT_DOC_TARGET='man html info pdf'\n+#   DEFAULT_DOC_TARGET='html'\n+#\n # Define COMPUTE_HEADER_DEPENDENCIES to \"yes\" if you want dependencies on\n # header files to be automatically computed, to avoid rebuilding objects when\n # an unrelated header file changes.  Define it to \"no\" to use the hard-coded\n@@ -1496,6 +1502,8 @@ ifneq (,$(SOCKLEN_T))\n \tBASIC_CFLAGS += -Dsocklen_t=$(SOCKLEN_T)\n endif\n \n+DEFAULT_DOC_TARGET ?= all\n+\n ifeq ($(uname_S),Darwin)\n \tifndef NO_FINK\n \t\tifeq ($(shell test -d /sw/lib && echo y),y)\n@@ -2468,10 +2476,10 @@ $(XDIFF_LIB): $(XDIFF_OBJS)\n $(VCSSVN_LIB): $(VCSSVN_OBJS)\n \t$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(VCSSVN_OBJS)\n \n-export DEFAULT_EDITOR DEFAULT_PAGER\n+export DEFAULT_EDITOR DEFAULT_PAGER DEFAULT_DOC_TARGET\n \n doc:\n-\t$(MAKE) -C Documentation all\n+\t$(MAKE) -C Documentation $(DEFAULT_DOC_TARGET)\n \n man:\n \t$(MAKE) -C Documentation man\n"},{"id":"200718","messageId":"20121007214855.GB1743@sigill.intra.peff.net","threadId":"31745","inReplyTo":"7vzk3yow3f.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-10-07T21:48:56Z","receivedAt":"2012-10-07T21:48:56Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Oct 07, 2012 at 01:39:32PM -0700, Junio C Hamano wrote:\n\n> By default, \"make doc\" generates the manpages and htmldocs in the\n> Documentation directory, but you may want to change this depending\n> on the target environment, e.g. to include 'pdf'.  Introduce a new\n> Makefile variable DEFAULT_DOC_TARGET to allow customizing this.\n\nMakes sense (we have DEFAULT_TEST_TARGET for similar reasons).\n\n> The primary motivation is to let us check documentation patches with\n> \n>     $ DEFAULT_DOC_TARGET=git-push.1 make doc\n\nWouldn't it be just as easy to say:\n\n  $ make -C Documentation git-push.1\n\n?\n\n> but it is not so far-fetched to imagine that Windows users may want to\n> omit manpages with\n> \n>     $ DEFAULT_DOC_TARGET=html make doc\n\nThat use case makes a lot more sense to me (or more likely setting it in\nconfig.mak).\n\n>  Makefile | 12 ++++++++++--\n>  1 file changed, 10 insertions(+), 2 deletions(-)\n\nNo change to Documentation/Makefile? So this will work:\n\n  $ echo DEFAULT_DOC_TARGET=html >config.mak\n  $ make doc\n\nbut this will not:\n\n  $ cd Documentation\n  $ make\n\nWhy not do it like this:\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex 267dfe1..ca10313 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -152,7 +152,8 @@ endif\n endif\n endif\n \n-all: html man\n+DEFAULT_DOC_TARGET ?= html man\n+all: $(DEFAULT_DOC_TARGET)\n \n html: $(DOC_HTML)\n \n\nwhich covers both cases? That is also how we handle DEFAULT_TEST_TARGET.\n\n-Peff\n"},{"id":"200724","messageId":"7v626lq5g4.fsf@alter.siamese.dyndns.org","threadId":"31745","inReplyTo":"20121007214855.GB1743@sigill.intra.peff.net","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-10-07T22:32:11Z","receivedAt":"2012-10-07T22:32:11Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> Why not do it like this:\n>\n> diff --git a/Documentation/Makefile b/Documentation/Makefile\n> index 267dfe1..ca10313 100644\n> --- a/Documentation/Makefile\n> +++ b/Documentation/Makefile\n> @@ -152,7 +152,8 @@ endif\n>  endif\n>  endif\n>  \n> -all: html man\n> +DEFAULT_DOC_TARGET ?= html man\n> +all: $(DEFAULT_DOC_TARGET)\n>  \n>  html: $(DOC_HTML)\n>  \n>\n> which covers both cases? That is also how we handle DEFAULT_TEST_TARGET.\n\nSurely, and thanks.\n"},{"id":"200726","messageId":"7vwqz1oqi4.fsf@alter.siamese.dyndns.org","threadId":"31745","inReplyTo":"20121007214855.GB1743@sigill.intra.peff.net","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-10-07T22:40:19Z","receivedAt":"2012-10-07T22:40:19Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Sun, Oct 07, 2012 at 01:39:32PM -0700, Junio C Hamano wrote:\n> ...\n>> but it is not so far-fetched to imagine that Windows users may want to\n>> omit manpages with\n>> \n>>     $ DEFAULT_DOC_TARGET=html make doc\n>\n> That use case makes a lot more sense to me (or more likely setting it in\n> config.mak).\n\nI actually had \"ifeq ($(uname_S),Windows)\" at the top-level in mind,\nnot config.mak.  I think that is far more important use case than\ngoing down to Documentation yourself and run make there (which is\nnot a workflow I deeply care about in the first place).\n\n>>  Makefile | 12 ++++++++++--\n>>  1 file changed, 10 insertions(+), 2 deletions(-)\n>\n> No change to Documentation/Makefile? So this will work:\n>\n>   $ echo DEFAULT_DOC_TARGET=html >config.mak\n>   $ make doc\n>\n> but this will not:\n>\n>   $ cd Documentation\n>   $ make\n>\n> Why not do it like this:\n>\n> diff --git a/Documentation/Makefile b/Documentation/Makefile\n> index 267dfe1..ca10313 100644\n> --- a/Documentation/Makefile\n> +++ b/Documentation/Makefile\n> @@ -152,7 +152,8 @@ endif\n>  endif\n>  endif\n>  \n> -all: html man\n> +DEFAULT_DOC_TARGET ?= html man\n> +all: $(DEFAULT_DOC_TARGET)\n>  \n>  html: $(DOC_HTML)\n>  \n>\n> which covers both cases? That is also how we handle DEFAULT_TEST_TARGET.\n>\n> -Peff\n"},{"id":"200727","messageId":"7vsj9poq8v.fsf@alter.siamese.dyndns.org","threadId":"31745","inReplyTo":"7v626lq5g4.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-10-07T22:45:52Z","receivedAt":"2012-10-07T22:45:52Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Jeff King <peff@peff.net> writes:\n>\n>> Why not do it like this:\n>>\n>> diff --git a/Documentation/Makefile b/Documentation/Makefile\n>> index 267dfe1..ca10313 100644\n>> --- a/Documentation/Makefile\n>> +++ b/Documentation/Makefile\n>> @@ -152,7 +152,8 @@ endif\n>>  endif\n>>  endif\n>>  \n>> -all: html man\n>> +DEFAULT_DOC_TARGET ?= html man\n>> +all: $(DEFAULT_DOC_TARGET)\n>>  \n>>  html: $(DOC_HTML)\n>>  \n>>\n>> which covers both cases? That is also how we handle DEFAULT_TEST_TARGET.\n>\n> Surely, and thanks.\n\nSo here is a proposed update based on your idea, to be squashed on\ntop (i.e. the change to the top-level Makefile in the posted patch\nis not reverted).\n\nDoes it make sense?\n\n\n Documentation/Makefile | 7 ++++++-\n 1 file changed, 6 insertions(+), 1 deletion(-)\n\ndiff --git c/Documentation/Makefile w/Documentation/Makefile\nindex 063fa69..0f8fdf8 100644\n--- c/Documentation/Makefile\n+++ w/Documentation/Makefile\n@@ -1,3 +1,6 @@\n+# The default target of this Makefile is...\n+all::\n+\n MAN1_TXT= \\\n \t$(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \\\n \t\t$(wildcard git-*.txt)) \\\n@@ -65,6 +68,8 @@ endif\n -include ../config.mak.autogen\n -include ../config.mak\n \n+DEFAULT_DOC_TARGET ?= html man\n+\n #\n # For docbook-xsl ...\n #\t-1.68.1,\tno extra settings are needed?\n@@ -151,7 +156,7 @@ ifndef V\n endif\n endif\n \n-all: html man\n+all:: $(DEFAULT_DOC_TARGET)\n \n html: $(DOC_HTML)\n \n"},{"id":"200729","messageId":"20121007230102.GB3490@sigill.intra.peff.net","threadId":"31745","inReplyTo":"7vsj9poq8v.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-10-07T23:01:02Z","receivedAt":"2012-10-07T23:01:02Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Oct 07, 2012 at 03:45:52PM -0700, Junio C Hamano wrote:\n\n> So here is a proposed update based on your idea, to be squashed on\n> top (i.e. the change to the top-level Makefile in the posted patch\n> is not reverted).\n> \n> Does it make sense?\n\nThe change to Documentation/Makefile makes sense, but what then is the\npoint of the second half of this hunk from your original:\n\n@@ -2468,10 +2476,10 @@ $(XDIFF_LIB): $(XDIFF_OBJS)\n $(VCSSVN_LIB): $(VCSSVN_OBJS)\n \t$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(VCSSVN_OBJS)\n \n-export DEFAULT_EDITOR DEFAULT_PAGER\n+export DEFAULT_EDITOR DEFAULT_PAGER DEFAULT_DOC_TARGET\n \n doc:\n-\t$(MAKE) -C Documentation all\n+\t$(MAKE) -C Documentation $(DEFAULT_DOC_TARGET)\n \n man:\n \t$(MAKE) -C Documentation man\n\nWe know that \"all\" is simply a redirect to DEFAULT_DOC_TARGET internally\nwithin the documentation Makefile, and we know that it is propagated by\nthe export line above.  I do not think it creates the wrong behavior,\nbut it is unnecessary, and omitting a target at all demonstrates to a\nreader how they can get the same behavior from within Documentation\n(namely by running just \"make\").\n\n-Peff\n"},{"id":"200730","messageId":"20121007230703.GC3490@sigill.intra.peff.net","threadId":"31745","inReplyTo":"7vwqz1oqi4.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-10-07T23:07:03Z","receivedAt":"2012-10-07T23:07:03Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Oct 07, 2012 at 03:40:19PM -0700, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> > On Sun, Oct 07, 2012 at 01:39:32PM -0700, Junio C Hamano wrote:\n> > ...\n> >> but it is not so far-fetched to imagine that Windows users may want to\n> >> omit manpages with\n> >> \n> >>     $ DEFAULT_DOC_TARGET=html make doc\n> >\n> > That use case makes a lot more sense to me (or more likely setting it in\n> > config.mak).\n> \n> I actually had \"ifeq ($(uname_S),Windows)\" at the top-level in mind,\n> not config.mak.  I think that is far more important use case than\n> going down to Documentation yourself and run make there (which is\n> not a workflow I deeply care about in the first place).\n\nHmm. Unfortunately that does not work from within Documentation, because\nDocumentation/Makefile never gets to see our default-system tweaks (it\nsees only config.mak).\n\nI know it is a case you do not care about (and nor do I; if I use this\nat all, it would be to limit my build by setting the variable in my\nconfig.mak), but it highlights a subtle issue. The subdir Makefiles\nreceive their config from config.mak.autogen and config.mak, but never\nget to see any of the default tweaks we do based on $(uname). Which the\ncontents of config.mak could very well depend on, if somebody were\ntrying to be very clever.\n\nWould it make sense to pull all of our platform-specific tweaks out into\na config.mak.platform (right before config.mak.autogen)? That would be\nless surprising for cases like this, and I think it would make the\nMakefile a lot more readable.\n\n-Peff\n"},{"id":"200731","messageId":"20121007231156.GD3490@sigill.intra.peff.net","threadId":"31745","inReplyTo":"20121007230703.GC3490@sigill.intra.peff.net","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-10-07T23:11:56Z","receivedAt":"2012-10-07T23:11:56Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Oct 07, 2012 at 07:07:03PM -0400, Jeff King wrote:\n\n> Would it make sense to pull all of our platform-specific tweaks out into\n> a config.mak.platform (right before config.mak.autogen)? That would be\n> less surprising for cases like this, and I think it would make the\n> Makefile a lot more readable.\n\nSomething like the patch below. Note that you could then base even more\ndecisions on the existing DEFAULT_HELP_FORMAT that is already in the\nMakefile (and after my patch, in config.mak.defaults). For example, when\nit is set to html, make both the default build and install targets in\nDocumentation/Makefile do html instead of man.\n\ndiff --git a/Makefile b/Makefile\nindex e3e3cd5..c00fd32 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -326,19 +326,6 @@ GIT-VERSION-FILE: FORCE\n \t@$(SHELL_PATH) ./GIT-VERSION-GEN\n -include GIT-VERSION-FILE\n \n-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')\n-uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')\n-uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')\n-uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')\n-uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not')\n-uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')\n-\n-ifdef MSVC\n-\t# avoid the MingW and Cygwin configuration sections\n-\tuname_S := Windows\n-\tuname_O := Windows\n-endif\n-\n # CFLAGS and LDFLAGS are for the users to override from the command line.\n \n CFLAGS = -g -O2 -Wall\n@@ -976,513 +963,7 @@ GIT_USER_AGENT = git/$(GIT_VERSION)\n \n GIT_USER_AGENT = git/$(GIT_VERSION)\n \n-#\n-# Platform specific tweaks\n-#\n-\n-# We choose to avoid \"if .. else if .. else .. endif endif\"\n-# because maintaining the nesting to match is a pain.  If\n-# we had \"elif\" things would have been much nicer...\n-\n-ifeq ($(uname_M),x86_64)\n-\tXDL_FAST_HASH = YesPlease\n-endif\n-ifeq ($(uname_S),OSF1)\n-\t# Need this for u_short definitions et al\n-\tBASIC_CFLAGS += -D_OSF_SOURCE\n-\tSOCKLEN_T = int\n-\tNO_STRTOULL = YesPlease\n-\tNO_NSEC = YesPlease\n-endif\n-ifeq ($(uname_S),Linux)\n-\tNO_STRLCPY = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tHAVE_PATHS_H = YesPlease\n-\tLIBC_CONTAINS_LIBINTL = YesPlease\n-\tHAVE_DEV_TTY = YesPlease\n-endif\n-ifeq ($(uname_S),GNU/kFreeBSD)\n-\tNO_STRLCPY = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tHAVE_PATHS_H = YesPlease\n-\tDIR_HAS_BSD_GROUP_SEMANTICS = YesPlease\n-\tLIBC_CONTAINS_LIBINTL = YesPlease\n-endif\n-ifeq ($(uname_S),UnixWare)\n-\tCC = cc\n-\tNEEDS_SOCKET = YesPlease\n-\tNEEDS_NSL = YesPlease\n-\tNEEDS_SSL_WITH_CRYPTO = YesPlease\n-\tNEEDS_LIBICONV = YesPlease\n-\tSHELL_PATH = /usr/local/bin/bash\n-\tNO_IPV6 = YesPlease\n-\tNO_HSTRERROR = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tBASIC_CFLAGS += -Kthread\n-\tBASIC_CFLAGS += -I/usr/local/include\n-\tBASIC_LDFLAGS += -L/usr/local/lib\n-\tINSTALL = ginstall\n-\tTAR = gtar\n-\tNO_STRCASESTR = YesPlease\n-\tNO_MEMMEM = YesPlease\n-endif\n-ifeq ($(uname_S),SCO_SV)\n-\tifeq ($(uname_R),3.2)\n-\t\tCFLAGS = -O2\n-\tendif\n-\tifeq ($(uname_R),5)\n-\t\tCC = cc\n-\t\tBASIC_CFLAGS += -Kthread\n-\tendif\n-\tNEEDS_SOCKET = YesPlease\n-\tNEEDS_NSL = YesPlease\n-\tNEEDS_SSL_WITH_CRYPTO = YesPlease\n-\tNEEDS_LIBICONV = YesPlease\n-\tSHELL_PATH = /usr/bin/bash\n-\tNO_IPV6 = YesPlease\n-\tNO_HSTRERROR = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tBASIC_CFLAGS += -I/usr/local/include\n-\tBASIC_LDFLAGS += -L/usr/local/lib\n-\tNO_STRCASESTR = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tINSTALL = ginstall\n-\tTAR = gtar\n-endif\n-ifeq ($(uname_S),Darwin)\n-\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n-\tNEEDS_SSL_WITH_CRYPTO = YesPlease\n-\tNEEDS_LIBICONV = YesPlease\n-\tifeq ($(shell expr \"$(uname_R)\" : '[15678]\\.'),2)\n-\t\tOLD_ICONV = UnfortunatelyYes\n-\tendif\n-\tifeq ($(shell expr \"$(uname_R)\" : '[15]\\.'),2)\n-\t\tNO_STRLCPY = YesPlease\n-\tendif\n-\tNO_MEMMEM = YesPlease\n-\tUSE_ST_TIMESPEC = YesPlease\n-\tHAVE_DEV_TTY = YesPlease\n-\tCOMPAT_OBJS += compat/precompose_utf8.o\n-\tBASIC_CFLAGS += -DPRECOMPOSE_UNICODE\n-endif\n-ifeq ($(uname_S),SunOS)\n-\tNEEDS_SOCKET = YesPlease\n-\tNEEDS_NSL = YesPlease\n-\tSHELL_PATH = /bin/bash\n-\tSANE_TOOL_PATH = /usr/xpg6/bin:/usr/xpg4/bin\n-\tNO_STRCASESTR = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tNO_REGEX = YesPlease\n-\tNO_FNMATCH_CASEFOLD = YesPlease\n-\tNO_MSGFMT_EXTENDED_OPTIONS = YesPlease\n-\tHAVE_DEV_TTY = YesPlease\n-\tifeq ($(uname_R),5.6)\n-\t\tSOCKLEN_T = int\n-\t\tNO_HSTRERROR = YesPlease\n-\t\tNO_IPV6 = YesPlease\n-\t\tNO_SOCKADDR_STORAGE = YesPlease\n-\t\tNO_UNSETENV = YesPlease\n-\t\tNO_SETENV = YesPlease\n-\t\tNO_STRLCPY = YesPlease\n-\t\tNO_STRTOUMAX = YesPlease\n-\t\tGIT_TEST_CMP = cmp\n-\tendif\n-\tifeq ($(uname_R),5.7)\n-\t\tNEEDS_RESOLV = YesPlease\n-\t\tNO_IPV6 = YesPlease\n-\t\tNO_SOCKADDR_STORAGE = YesPlease\n-\t\tNO_UNSETENV = YesPlease\n-\t\tNO_SETENV = YesPlease\n-\t\tNO_STRLCPY = YesPlease\n-\t\tNO_STRTOUMAX = YesPlease\n-\t\tGIT_TEST_CMP = cmp\n-\tendif\n-\tifeq ($(uname_R),5.8)\n-\t\tNO_UNSETENV = YesPlease\n-\t\tNO_SETENV = YesPlease\n-\t\tNO_STRTOUMAX = YesPlease\n-\t\tGIT_TEST_CMP = cmp\n-\tendif\n-\tifeq ($(uname_R),5.9)\n-\t\tNO_UNSETENV = YesPlease\n-\t\tNO_SETENV = YesPlease\n-\t\tNO_STRTOUMAX = YesPlease\n-\t\tGIT_TEST_CMP = cmp\n-\tendif\n-\tINSTALL = /usr/ucb/install\n-\tTAR = gtar\n-\tBASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__ -DHAVE_ALLOCA_H\n-endif\n-ifeq ($(uname_O),Cygwin)\n-\tifeq ($(shell expr \"$(uname_R)\" : '1\\.[1-6]\\.'),4)\n-\t\tNO_D_TYPE_IN_DIRENT = YesPlease\n-\t\tNO_D_INO_IN_DIRENT = YesPlease\n-\t\tNO_STRCASESTR = YesPlease\n-\t\tNO_MEMMEM = YesPlease\n-\t\tNO_MKSTEMPS = YesPlease\n-\t\tNO_SYMLINK_HEAD = YesPlease\n-\t\tNO_IPV6 = YesPlease\n-\t\tOLD_ICONV = UnfortunatelyYes\n-\tendif\n-\tNO_THREAD_SAFE_PREAD = YesPlease\n-\tNEEDS_LIBICONV = YesPlease\n-\tNO_FAST_WORKING_DIRECTORY = UnfortunatelyYes\n-\tNO_TRUSTABLE_FILEMODE = UnfortunatelyYes\n-\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n-\t# There are conflicting reports about this.\n-\t# On some boxes NO_MMAP is needed, and not so elsewhere.\n-\t# Try commenting this out if you suspect MMAP is more efficient\n-\tNO_MMAP = YesPlease\n-\tX = .exe\n-\tCOMPAT_OBJS += compat/cygwin.o\n-\tUNRELIABLE_FSTAT = UnfortunatelyYes\n-\tSPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield\n-endif\n-ifeq ($(uname_S),FreeBSD)\n-\tNEEDS_LIBICONV = YesPlease\n-\tOLD_ICONV = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tBASIC_CFLAGS += -I/usr/local/include\n-\tBASIC_LDFLAGS += -L/usr/local/lib\n-\tDIR_HAS_BSD_GROUP_SEMANTICS = YesPlease\n-\tUSE_ST_TIMESPEC = YesPlease\n-\tifeq ($(shell expr \"$(uname_R)\" : '4\\.'),2)\n-\t\tPTHREAD_LIBS = -pthread\n-\t\tNO_UINTMAX_T = YesPlease\n-\t\tNO_STRTOUMAX = YesPlease\n-\tendif\n-\tPYTHON_PATH = /usr/local/bin/python\n-\tHAVE_PATHS_H = YesPlease\n-endif\n-ifeq ($(uname_S),OpenBSD)\n-\tNO_STRCASESTR = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tUSE_ST_TIMESPEC = YesPlease\n-\tNEEDS_LIBICONV = YesPlease\n-\tBASIC_CFLAGS += -I/usr/local/include\n-\tBASIC_LDFLAGS += -L/usr/local/lib\n-\tHAVE_PATHS_H = YesPlease\n-endif\n-ifeq ($(uname_S),NetBSD)\n-\tifeq ($(shell expr \"$(uname_R)\" : '[01]\\.'),2)\n-\t\tNEEDS_LIBICONV = YesPlease\n-\tendif\n-\tBASIC_CFLAGS += -I/usr/pkg/include\n-\tBASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib\n-\tUSE_ST_TIMESPEC = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tHAVE_PATHS_H = YesPlease\n-endif\n-ifeq ($(uname_S),AIX)\n-\tDEFAULT_PAGER = more\n-\tNO_STRCASESTR=YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tNO_STRLCPY = YesPlease\n-\tNO_NSEC = YesPlease\n-\tFREAD_READS_DIRECTORIES = UnfortunatelyYes\n-\tINTERNAL_QSORT = UnfortunatelyYes\n-\tNEEDS_LIBICONV=YesPlease\n-\tBASIC_CFLAGS += -D_LARGE_FILES\n-\tifeq ($(shell expr \"$(uname_V)\" : '[1234]'),1)\n-\t\tNO_PTHREADS = YesPlease\n-\telse\n-\t\tPTHREAD_LIBS = -lpthread\n-\tendif\n-\tifeq ($(shell expr \"$(uname_V).$(uname_R)\" : '5\\.1'),3)\n-\t\tINLINE=''\n-\tendif\n-\tGIT_TEST_CMP = cmp\n-endif\n-ifeq ($(uname_S),GNU)\n-\t# GNU/Hurd\n-\tNO_STRLCPY=YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tHAVE_PATHS_H = YesPlease\n-\tLIBC_CONTAINS_LIBINTL = YesPlease\n-endif\n-ifeq ($(uname_S),IRIX)\n-\tNO_SETENV = YesPlease\n-\tNO_UNSETENV = YesPlease\n-\tNO_STRCASESTR = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\t# When compiled with the MIPSpro 7.4.4m compiler, and without pthreads\n-\t# (i.e. NO_PTHREADS is set), and _with_ MMAP (i.e. NO_MMAP is not set),\n-\t# git dies with a segmentation fault when trying to access the first\n-\t# entry of a reflog.  The conservative choice is made to always set\n-\t# NO_MMAP.  If you suspect that your compiler is not affected by this\n-\t# issue, comment out the NO_MMAP statement.\n-\tNO_MMAP = YesPlease\n-\tNO_REGEX = YesPlease\n-\tNO_FNMATCH_CASEFOLD = YesPlease\n-\tSNPRINTF_RETURNS_BOGUS = YesPlease\n-\tSHELL_PATH = /usr/gnu/bin/bash\n-\tNEEDS_LIBGEN = YesPlease\n-endif\n-ifeq ($(uname_S),IRIX64)\n-\tNO_SETENV=YesPlease\n-\tNO_UNSETENV = YesPlease\n-\tNO_STRCASESTR=YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\t# When compiled with the MIPSpro 7.4.4m compiler, and without pthreads\n-\t# (i.e. NO_PTHREADS is set), and _with_ MMAP (i.e. NO_MMAP is not set),\n-\t# git dies with a segmentation fault when trying to access the first\n-\t# entry of a reflog.  The conservative choice is made to always set\n-\t# NO_MMAP.  If you suspect that your compiler is not affected by this\n-\t# issue, comment out the NO_MMAP statement.\n-\tNO_MMAP = YesPlease\n-\tNO_REGEX = YesPlease\n-\tNO_FNMATCH_CASEFOLD = YesPlease\n-\tSNPRINTF_RETURNS_BOGUS = YesPlease\n-\tSHELL_PATH=/usr/gnu/bin/bash\n-\tNEEDS_LIBGEN = YesPlease\n-endif\n-ifeq ($(uname_S),HP-UX)\n-\tINLINE = __inline\n-\tNO_IPV6=YesPlease\n-\tNO_SETENV=YesPlease\n-\tNO_STRCASESTR=YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tNO_STRLCPY = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\tNO_UNSETENV = YesPlease\n-\tNO_HSTRERROR = YesPlease\n-\tNO_SYS_SELECT_H = YesPlease\n-\tNO_FNMATCH_CASEFOLD = YesPlease\n-\tSNPRINTF_RETURNS_BOGUS = YesPlease\n-\tNO_NSEC = YesPlease\n-\tifeq ($(uname_R),B.11.00)\n-\t\tNO_INET_NTOP = YesPlease\n-\t\tNO_INET_PTON = YesPlease\n-\tendif\n-\tifeq ($(uname_R),B.10.20)\n-\t\t# Override HP-UX 11.x setting:\n-\t\tINLINE =\n-\t\tSOCKLEN_T = size_t\n-\t\tNO_PREAD = YesPlease\n-\t\tNO_INET_NTOP = YesPlease\n-\t\tNO_INET_PTON = YesPlease\n-\tendif\n-\tGIT_TEST_CMP = cmp\n-endif\n-ifeq ($(uname_S),Windows)\n-\tGIT_VERSION := $(GIT_VERSION).MSVC\n-\tpathsep = ;\n-\tNO_PREAD = YesPlease\n-\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n-\tNO_LIBGEN_H = YesPlease\n-\tNO_POLL = YesPlease\n-\tNO_SYMLINK_HEAD = YesPlease\n-\tNO_IPV6 = YesPlease\n-\tNO_UNIX_SOCKETS = YesPlease\n-\tNO_SETENV = YesPlease\n-\tNO_UNSETENV = YesPlease\n-\tNO_STRCASESTR = YesPlease\n-\tNO_STRLCPY = YesPlease\n-\tNO_STRTOK_R = YesPlease\n-\tNO_FNMATCH = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\t# NEEDS_LIBICONV = YesPlease\n-\tNO_ICONV = YesPlease\n-\tNO_STRTOUMAX = YesPlease\n-\tNO_STRTOULL = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tSNPRINTF_RETURNS_BOGUS = YesPlease\n-\tNO_SVN_TESTS = YesPlease\n-\tNO_PERL_MAKEMAKER = YesPlease\n-\tRUNTIME_PREFIX = YesPlease\n-\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n-\tNO_NSEC = YesPlease\n-\tUSE_WIN32_MMAP = YesPlease\n-\t# USE_NED_ALLOCATOR = YesPlease\n-\tUNRELIABLE_FSTAT = UnfortunatelyYes\n-\tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n-\tNO_REGEX = YesPlease\n-\tNO_CURL = YesPlease\n-\tNO_PYTHON = YesPlease\n-\tBLK_SHA1 = YesPlease\n-\tNO_POSIX_GOODIES = UnfortunatelyYes\n-\tNATIVE_CRLF = YesPlease\n-\tDEFAULT_HELP_FORMAT = html\n-\n-\tCC = compat/vcbuild/scripts/clink.pl\n-\tAR = compat/vcbuild/scripts/lib.pl\n-\tCFLAGS =\n-\tBASIC_CFLAGS = -nologo -I. -I../zlib -Icompat/vcbuild -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE\n-\tCOMPAT_OBJS = compat/msvc.o compat/winansi.o \\\n-\t\tcompat/win32/pthread.o compat/win32/syslog.o \\\n-\t\tcompat/win32/dirent.o\n-\tCOMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\\\".exe\\\"\n-\tBASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib\n-\tEXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib\n-\tPTHREAD_LIBS =\n-\tlib =\n-ifndef DEBUG\n-\tBASIC_CFLAGS += -GL -Os -MT\n-\tBASIC_LDFLAGS += -LTCG\n-\tAR += -LTCG\n-else\n-\tBASIC_CFLAGS += -Zi -MTd\n-endif\n-\tX = .exe\n-endif\n-ifeq ($(uname_S),Interix)\n-\tNO_INITGROUPS = YesPlease\n-\tNO_IPV6 = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\tNO_STRTOUMAX = YesPlease\n-\tNO_NSEC = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tifeq ($(uname_R),3.5)\n-\t\tNO_INET_NTOP = YesPlease\n-\t\tNO_INET_PTON = YesPlease\n-\t\tNO_SOCKADDR_STORAGE = YesPlease\n-\t\tNO_FNMATCH_CASEFOLD = YesPlease\n-\tendif\n-\tifeq ($(uname_R),5.2)\n-\t\tNO_INET_NTOP = YesPlease\n-\t\tNO_INET_PTON = YesPlease\n-\t\tNO_SOCKADDR_STORAGE = YesPlease\n-\t\tNO_FNMATCH_CASEFOLD = YesPlease\n-\tendif\n-endif\n-ifeq ($(uname_S),Minix)\n-\tNO_IPV6 = YesPlease\n-\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n-\tNO_NSEC = YesPlease\n-\tNEEDS_LIBGEN =\n-\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n-\tNEEDS_IDN_WITH_CURL = YesPlease\n-\tNEEDS_SSL_WITH_CURL = YesPlease\n-\tNEEDS_RESOLV =\n-\tNO_HSTRERROR = YesPlease\n-\tNO_MMAP = YesPlease\n-\tNO_CURL =\n-\tNO_EXPAT =\n-endif\n-ifeq ($(uname_S),NONSTOP_KERNEL)\n-\t# Needs some C99 features, \"inline\" is just one of them.\n-\t# INLINE='' would just replace one set of warnings with another and\n-\t# still not compile in c89 mode, due to non-const array initializations.\n-\tCC = cc -c99\n-\t# Disable all optimization, seems to result in bad code, with -O or -O2\n-\t# or even -O1 (default), /usr/local/libexec/git-core/git-pack-objects\n-\t# abends on \"git push\". Needs more investigation.\n-\tCFLAGS = -g -O0\n-\t# We'd want it to be here.\n-\tprefix = /usr/local\n-\t# Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl).\n-\tPERL_PATH = ${prefix}/bin/perl\n-\tPYTHON_PATH = ${prefix}/bin/python\n-\n-\t# As detected by './configure'.\n-\t# Missdetected, hence commented out, see below.\n-\t#NO_CURL = YesPlease\n-\t# Added manually, see above.\n-\tNEEDS_SSL_WITH_CURL = YesPlease\n-\tHAVE_LIBCHARSET_H = YesPlease\n-\tNEEDS_LIBICONV = YesPlease\n-\tNEEDS_LIBINTL_BEFORE_LIBICONV = YesPlease\n-\tNO_SYS_SELECT_H = UnfortunatelyYes\n-\tNO_D_TYPE_IN_DIRENT = YesPlease\n-\tNO_HSTRERROR = YesPlease\n-\tNO_STRCASESTR = YesPlease\n-\tNO_FNMATCH_CASEFOLD = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNO_STRLCPY = YesPlease\n-\tNO_SETENV = YesPlease\n-\tNO_UNSETENV = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\t# Currently libiconv-1.9.1.\n-\tOLD_ICONV = UnfortunatelyYes\n-\tNO_REGEX = YesPlease\n-\tNO_PTHREADS = UnfortunatelyYes\n-\n-\t# Not detected (nor checked for) by './configure'.\n-\t# We don't have SA_RESTART on NonStop, unfortunalety.\n-\tCOMPAT_CFLAGS += -DSA_RESTART=0\n-\t# Apparently needed in compat/fnmatch/fnmatch.c.\n-\tCOMPAT_CFLAGS += -DHAVE_STRING_H=1\n-\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n-\tNO_NSEC = YesPlease\n-\tNO_PREAD = YesPlease\n-\tNO_MMAP = YesPlease\n-\tNO_POLL = YesPlease\n-\tNO_INTPTR_T = UnfortunatelyYes\n-\t# Bug report 10-120822-4477 submitted to HP NonStop development.\n-\tMKDIR_WO_TRAILING_SLASH = YesPlease\n-\t# RFE 10-120912-4693 submitted to HP NonStop development.\n-\tNO_SETITIMER = UnfortunatelyYes\n-endif\n-ifneq (,$(findstring MINGW,$(uname_S)))\n-\tpathsep = ;\n-\tNO_PREAD = YesPlease\n-\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n-\tNO_LIBGEN_H = YesPlease\n-\tNO_POLL = YesPlease\n-\tNO_SYMLINK_HEAD = YesPlease\n-\tNO_UNIX_SOCKETS = YesPlease\n-\tNO_SETENV = YesPlease\n-\tNO_UNSETENV = YesPlease\n-\tNO_STRCASESTR = YesPlease\n-\tNO_STRLCPY = YesPlease\n-\tNO_STRTOK_R = YesPlease\n-\tNO_FNMATCH = YesPlease\n-\tNO_MEMMEM = YesPlease\n-\tNEEDS_LIBICONV = YesPlease\n-\tOLD_ICONV = YesPlease\n-\tNO_STRTOUMAX = YesPlease\n-\tNO_MKDTEMP = YesPlease\n-\tNO_MKSTEMPS = YesPlease\n-\tNO_SVN_TESTS = YesPlease\n-\tNO_PERL_MAKEMAKER = YesPlease\n-\tRUNTIME_PREFIX = YesPlease\n-\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n-\tNO_NSEC = YesPlease\n-\tUSE_WIN32_MMAP = YesPlease\n-\tUSE_NED_ALLOCATOR = YesPlease\n-\tUNRELIABLE_FSTAT = UnfortunatelyYes\n-\tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n-\tNO_REGEX = YesPlease\n-\tNO_PYTHON = YesPlease\n-\tBLK_SHA1 = YesPlease\n-\tETAGS_TARGET = ETAGS\n-\tNO_INET_PTON = YesPlease\n-\tNO_INET_NTOP = YesPlease\n-\tNO_POSIX_GOODIES = UnfortunatelyYes\n-\tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS -DNOGDI -Icompat -Icompat/win32\n-\tCOMPAT_CFLAGS += -DSTRIP_EXTENSION=\\\".exe\\\"\n-\tCOMPAT_OBJS += compat/mingw.o compat/winansi.o \\\n-\t\tcompat/win32/pthread.o compat/win32/syslog.o \\\n-\t\tcompat/win32/dirent.o\n-\tEXTLIBS += -lws2_32\n-\tPTHREAD_LIBS =\n-\tX = .exe\n-\tSPARSE_FLAGS = -Wno-one-bit-signed-bitfield\n-ifneq (,$(wildcard ../THIS_IS_MSYSGIT))\n-\thtmldir=doc/git/html/\n-\tprefix =\n-\tINSTALL = /bin/install\n-\tEXTLIBS += /mingw/lib/libz.a\n-\tNO_R_TO_GCC_LINKER = YesPlease\n-\tINTERNAL_QSORT = YesPlease\n-\tHAVE_LIBCHARSET_H = YesPlease\n-else\n-\tNO_CURL = YesPlease\n-endif\n-endif\n-\n+-include config.mak.defaults\n -include config.mak.autogen\n -include config.mak\n \ndiff --git a/config.mak.defaults b/config.mak.defaults\nnew file mode 100644\nindex 0000000..13f185b\n--- /dev/null\n+++ b/config.mak.defaults\n@@ -0,0 +1,520 @@\n+#\n+# Platform specific tweaks\n+#\n+\n+uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')\n+uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')\n+uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')\n+uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')\n+uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not')\n+uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')\n+\n+ifdef MSVC\n+\t# avoid the MingW and Cygwin configuration sections\n+\tuname_S := Windows\n+\tuname_O := Windows\n+endif\n+\n+# We choose to avoid \"if .. else if .. else .. endif endif\"\n+# because maintaining the nesting to match is a pain.  If\n+# we had \"elif\" things would have been much nicer...\n+\n+ifeq ($(uname_M),x86_64)\n+\tXDL_FAST_HASH = YesPlease\n+endif\n+ifeq ($(uname_S),OSF1)\n+\t# Need this for u_short definitions et al\n+\tBASIC_CFLAGS += -D_OSF_SOURCE\n+\tSOCKLEN_T = int\n+\tNO_STRTOULL = YesPlease\n+\tNO_NSEC = YesPlease\n+endif\n+ifeq ($(uname_S),Linux)\n+\tNO_STRLCPY = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tHAVE_PATHS_H = YesPlease\n+\tLIBC_CONTAINS_LIBINTL = YesPlease\n+\tHAVE_DEV_TTY = YesPlease\n+endif\n+ifeq ($(uname_S),GNU/kFreeBSD)\n+\tNO_STRLCPY = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tHAVE_PATHS_H = YesPlease\n+\tDIR_HAS_BSD_GROUP_SEMANTICS = YesPlease\n+\tLIBC_CONTAINS_LIBINTL = YesPlease\n+endif\n+ifeq ($(uname_S),UnixWare)\n+\tCC = cc\n+\tNEEDS_SOCKET = YesPlease\n+\tNEEDS_NSL = YesPlease\n+\tNEEDS_SSL_WITH_CRYPTO = YesPlease\n+\tNEEDS_LIBICONV = YesPlease\n+\tSHELL_PATH = /usr/local/bin/bash\n+\tNO_IPV6 = YesPlease\n+\tNO_HSTRERROR = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tBASIC_CFLAGS += -Kthread\n+\tBASIC_CFLAGS += -I/usr/local/include\n+\tBASIC_LDFLAGS += -L/usr/local/lib\n+\tINSTALL = ginstall\n+\tTAR = gtar\n+\tNO_STRCASESTR = YesPlease\n+\tNO_MEMMEM = YesPlease\n+endif\n+ifeq ($(uname_S),SCO_SV)\n+\tifeq ($(uname_R),3.2)\n+\t\tCFLAGS = -O2\n+\tendif\n+\tifeq ($(uname_R),5)\n+\t\tCC = cc\n+\t\tBASIC_CFLAGS += -Kthread\n+\tendif\n+\tNEEDS_SOCKET = YesPlease\n+\tNEEDS_NSL = YesPlease\n+\tNEEDS_SSL_WITH_CRYPTO = YesPlease\n+\tNEEDS_LIBICONV = YesPlease\n+\tSHELL_PATH = /usr/bin/bash\n+\tNO_IPV6 = YesPlease\n+\tNO_HSTRERROR = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tBASIC_CFLAGS += -I/usr/local/include\n+\tBASIC_LDFLAGS += -L/usr/local/lib\n+\tNO_STRCASESTR = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tINSTALL = ginstall\n+\tTAR = gtar\n+endif\n+ifeq ($(uname_S),Darwin)\n+\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n+\tNEEDS_SSL_WITH_CRYPTO = YesPlease\n+\tNEEDS_LIBICONV = YesPlease\n+\tifeq ($(shell expr \"$(uname_R)\" : '[15678]\\.'),2)\n+\t\tOLD_ICONV = UnfortunatelyYes\n+\tendif\n+\tifeq ($(shell expr \"$(uname_R)\" : '[15]\\.'),2)\n+\t\tNO_STRLCPY = YesPlease\n+\tendif\n+\tNO_MEMMEM = YesPlease\n+\tUSE_ST_TIMESPEC = YesPlease\n+\tHAVE_DEV_TTY = YesPlease\n+\tCOMPAT_OBJS += compat/precompose_utf8.o\n+\tBASIC_CFLAGS += -DPRECOMPOSE_UNICODE\n+endif\n+ifeq ($(uname_S),SunOS)\n+\tNEEDS_SOCKET = YesPlease\n+\tNEEDS_NSL = YesPlease\n+\tSHELL_PATH = /bin/bash\n+\tSANE_TOOL_PATH = /usr/xpg6/bin:/usr/xpg4/bin\n+\tNO_STRCASESTR = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tNO_REGEX = YesPlease\n+\tNO_FNMATCH_CASEFOLD = YesPlease\n+\tNO_MSGFMT_EXTENDED_OPTIONS = YesPlease\n+\tHAVE_DEV_TTY = YesPlease\n+\tifeq ($(uname_R),5.6)\n+\t\tSOCKLEN_T = int\n+\t\tNO_HSTRERROR = YesPlease\n+\t\tNO_IPV6 = YesPlease\n+\t\tNO_SOCKADDR_STORAGE = YesPlease\n+\t\tNO_UNSETENV = YesPlease\n+\t\tNO_SETENV = YesPlease\n+\t\tNO_STRLCPY = YesPlease\n+\t\tNO_STRTOUMAX = YesPlease\n+\t\tGIT_TEST_CMP = cmp\n+\tendif\n+\tifeq ($(uname_R),5.7)\n+\t\tNEEDS_RESOLV = YesPlease\n+\t\tNO_IPV6 = YesPlease\n+\t\tNO_SOCKADDR_STORAGE = YesPlease\n+\t\tNO_UNSETENV = YesPlease\n+\t\tNO_SETENV = YesPlease\n+\t\tNO_STRLCPY = YesPlease\n+\t\tNO_STRTOUMAX = YesPlease\n+\t\tGIT_TEST_CMP = cmp\n+\tendif\n+\tifeq ($(uname_R),5.8)\n+\t\tNO_UNSETENV = YesPlease\n+\t\tNO_SETENV = YesPlease\n+\t\tNO_STRTOUMAX = YesPlease\n+\t\tGIT_TEST_CMP = cmp\n+\tendif\n+\tifeq ($(uname_R),5.9)\n+\t\tNO_UNSETENV = YesPlease\n+\t\tNO_SETENV = YesPlease\n+\t\tNO_STRTOUMAX = YesPlease\n+\t\tGIT_TEST_CMP = cmp\n+\tendif\n+\tINSTALL = /usr/ucb/install\n+\tTAR = gtar\n+\tBASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__ -DHAVE_ALLOCA_H\n+endif\n+ifeq ($(uname_O),Cygwin)\n+\tifeq ($(shell expr \"$(uname_R)\" : '1\\.[1-6]\\.'),4)\n+\t\tNO_D_TYPE_IN_DIRENT = YesPlease\n+\t\tNO_D_INO_IN_DIRENT = YesPlease\n+\t\tNO_STRCASESTR = YesPlease\n+\t\tNO_MEMMEM = YesPlease\n+\t\tNO_MKSTEMPS = YesPlease\n+\t\tNO_SYMLINK_HEAD = YesPlease\n+\t\tNO_IPV6 = YesPlease\n+\t\tOLD_ICONV = UnfortunatelyYes\n+\tendif\n+\tNO_THREAD_SAFE_PREAD = YesPlease\n+\tNEEDS_LIBICONV = YesPlease\n+\tNO_FAST_WORKING_DIRECTORY = UnfortunatelyYes\n+\tNO_TRUSTABLE_FILEMODE = UnfortunatelyYes\n+\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n+\t# There are conflicting reports about this.\n+\t# On some boxes NO_MMAP is needed, and not so elsewhere.\n+\t# Try commenting this out if you suspect MMAP is more efficient\n+\tNO_MMAP = YesPlease\n+\tX = .exe\n+\tCOMPAT_OBJS += compat/cygwin.o\n+\tUNRELIABLE_FSTAT = UnfortunatelyYes\n+\tSPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield\n+endif\n+ifeq ($(uname_S),FreeBSD)\n+\tNEEDS_LIBICONV = YesPlease\n+\tOLD_ICONV = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tBASIC_CFLAGS += -I/usr/local/include\n+\tBASIC_LDFLAGS += -L/usr/local/lib\n+\tDIR_HAS_BSD_GROUP_SEMANTICS = YesPlease\n+\tUSE_ST_TIMESPEC = YesPlease\n+\tifeq ($(shell expr \"$(uname_R)\" : '4\\.'),2)\n+\t\tPTHREAD_LIBS = -pthread\n+\t\tNO_UINTMAX_T = YesPlease\n+\t\tNO_STRTOUMAX = YesPlease\n+\tendif\n+\tPYTHON_PATH = /usr/local/bin/python\n+\tHAVE_PATHS_H = YesPlease\n+endif\n+ifeq ($(uname_S),OpenBSD)\n+\tNO_STRCASESTR = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tUSE_ST_TIMESPEC = YesPlease\n+\tNEEDS_LIBICONV = YesPlease\n+\tBASIC_CFLAGS += -I/usr/local/include\n+\tBASIC_LDFLAGS += -L/usr/local/lib\n+\tHAVE_PATHS_H = YesPlease\n+endif\n+ifeq ($(uname_S),NetBSD)\n+\tifeq ($(shell expr \"$(uname_R)\" : '[01]\\.'),2)\n+\t\tNEEDS_LIBICONV = YesPlease\n+\tendif\n+\tBASIC_CFLAGS += -I/usr/pkg/include\n+\tBASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib\n+\tUSE_ST_TIMESPEC = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tHAVE_PATHS_H = YesPlease\n+endif\n+ifeq ($(uname_S),AIX)\n+\tDEFAULT_PAGER = more\n+\tNO_STRCASESTR=YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tNO_STRLCPY = YesPlease\n+\tNO_NSEC = YesPlease\n+\tFREAD_READS_DIRECTORIES = UnfortunatelyYes\n+\tINTERNAL_QSORT = UnfortunatelyYes\n+\tNEEDS_LIBICONV=YesPlease\n+\tBASIC_CFLAGS += -D_LARGE_FILES\n+\tifeq ($(shell expr \"$(uname_V)\" : '[1234]'),1)\n+\t\tNO_PTHREADS = YesPlease\n+\telse\n+\t\tPTHREAD_LIBS = -lpthread\n+\tendif\n+\tifeq ($(shell expr \"$(uname_V).$(uname_R)\" : '5\\.1'),3)\n+\t\tINLINE=''\n+\tendif\n+\tGIT_TEST_CMP = cmp\n+endif\n+ifeq ($(uname_S),GNU)\n+\t# GNU/Hurd\n+\tNO_STRLCPY=YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tHAVE_PATHS_H = YesPlease\n+\tLIBC_CONTAINS_LIBINTL = YesPlease\n+endif\n+ifeq ($(uname_S),IRIX)\n+\tNO_SETENV = YesPlease\n+\tNO_UNSETENV = YesPlease\n+\tNO_STRCASESTR = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\t# When compiled with the MIPSpro 7.4.4m compiler, and without pthreads\n+\t# (i.e. NO_PTHREADS is set), and _with_ MMAP (i.e. NO_MMAP is not set),\n+\t# git dies with a segmentation fault when trying to access the first\n+\t# entry of a reflog.  The conservative choice is made to always set\n+\t# NO_MMAP.  If you suspect that your compiler is not affected by this\n+\t# issue, comment out the NO_MMAP statement.\n+\tNO_MMAP = YesPlease\n+\tNO_REGEX = YesPlease\n+\tNO_FNMATCH_CASEFOLD = YesPlease\n+\tSNPRINTF_RETURNS_BOGUS = YesPlease\n+\tSHELL_PATH = /usr/gnu/bin/bash\n+\tNEEDS_LIBGEN = YesPlease\n+endif\n+ifeq ($(uname_S),IRIX64)\n+\tNO_SETENV=YesPlease\n+\tNO_UNSETENV = YesPlease\n+\tNO_STRCASESTR=YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\t# When compiled with the MIPSpro 7.4.4m compiler, and without pthreads\n+\t# (i.e. NO_PTHREADS is set), and _with_ MMAP (i.e. NO_MMAP is not set),\n+\t# git dies with a segmentation fault when trying to access the first\n+\t# entry of a reflog.  The conservative choice is made to always set\n+\t# NO_MMAP.  If you suspect that your compiler is not affected by this\n+\t# issue, comment out the NO_MMAP statement.\n+\tNO_MMAP = YesPlease\n+\tNO_REGEX = YesPlease\n+\tNO_FNMATCH_CASEFOLD = YesPlease\n+\tSNPRINTF_RETURNS_BOGUS = YesPlease\n+\tSHELL_PATH=/usr/gnu/bin/bash\n+\tNEEDS_LIBGEN = YesPlease\n+endif\n+ifeq ($(uname_S),HP-UX)\n+\tINLINE = __inline\n+\tNO_IPV6=YesPlease\n+\tNO_SETENV=YesPlease\n+\tNO_STRCASESTR=YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tNO_STRLCPY = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\tNO_UNSETENV = YesPlease\n+\tNO_HSTRERROR = YesPlease\n+\tNO_SYS_SELECT_H = YesPlease\n+\tNO_FNMATCH_CASEFOLD = YesPlease\n+\tSNPRINTF_RETURNS_BOGUS = YesPlease\n+\tNO_NSEC = YesPlease\n+\tifeq ($(uname_R),B.11.00)\n+\t\tNO_INET_NTOP = YesPlease\n+\t\tNO_INET_PTON = YesPlease\n+\tendif\n+\tifeq ($(uname_R),B.10.20)\n+\t\t# Override HP-UX 11.x setting:\n+\t\tINLINE =\n+\t\tSOCKLEN_T = size_t\n+\t\tNO_PREAD = YesPlease\n+\t\tNO_INET_NTOP = YesPlease\n+\t\tNO_INET_PTON = YesPlease\n+\tendif\n+\tGIT_TEST_CMP = cmp\n+endif\n+ifeq ($(uname_S),Windows)\n+\tGIT_VERSION := $(GIT_VERSION).MSVC\n+\tpathsep = ;\n+\tNO_PREAD = YesPlease\n+\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n+\tNO_LIBGEN_H = YesPlease\n+\tNO_POLL = YesPlease\n+\tNO_SYMLINK_HEAD = YesPlease\n+\tNO_IPV6 = YesPlease\n+\tNO_UNIX_SOCKETS = YesPlease\n+\tNO_SETENV = YesPlease\n+\tNO_UNSETENV = YesPlease\n+\tNO_STRCASESTR = YesPlease\n+\tNO_STRLCPY = YesPlease\n+\tNO_STRTOK_R = YesPlease\n+\tNO_FNMATCH = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\t# NEEDS_LIBICONV = YesPlease\n+\tNO_ICONV = YesPlease\n+\tNO_STRTOUMAX = YesPlease\n+\tNO_STRTOULL = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tSNPRINTF_RETURNS_BOGUS = YesPlease\n+\tNO_SVN_TESTS = YesPlease\n+\tNO_PERL_MAKEMAKER = YesPlease\n+\tRUNTIME_PREFIX = YesPlease\n+\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n+\tNO_NSEC = YesPlease\n+\tUSE_WIN32_MMAP = YesPlease\n+\t# USE_NED_ALLOCATOR = YesPlease\n+\tUNRELIABLE_FSTAT = UnfortunatelyYes\n+\tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n+\tNO_REGEX = YesPlease\n+\tNO_CURL = YesPlease\n+\tNO_PYTHON = YesPlease\n+\tBLK_SHA1 = YesPlease\n+\tNO_POSIX_GOODIES = UnfortunatelyYes\n+\tNATIVE_CRLF = YesPlease\n+\tDEFAULT_HELP_FORMAT = html\n+\n+\tCC = compat/vcbuild/scripts/clink.pl\n+\tAR = compat/vcbuild/scripts/lib.pl\n+\tCFLAGS =\n+\tBASIC_CFLAGS = -nologo -I. -I../zlib -Icompat/vcbuild -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE\n+\tCOMPAT_OBJS = compat/msvc.o compat/winansi.o \\\n+\t\tcompat/win32/pthread.o compat/win32/syslog.o \\\n+\t\tcompat/win32/dirent.o\n+\tCOMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\\\".exe\\\"\n+\tBASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib\n+\tEXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib\n+\tPTHREAD_LIBS =\n+\tlib =\n+ifndef DEBUG\n+\tBASIC_CFLAGS += -GL -Os -MT\n+\tBASIC_LDFLAGS += -LTCG\n+\tAR += -LTCG\n+else\n+\tBASIC_CFLAGS += -Zi -MTd\n+endif\n+\tX = .exe\n+endif\n+ifeq ($(uname_S),Interix)\n+\tNO_INITGROUPS = YesPlease\n+\tNO_IPV6 = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\tNO_STRTOUMAX = YesPlease\n+\tNO_NSEC = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tifeq ($(uname_R),3.5)\n+\t\tNO_INET_NTOP = YesPlease\n+\t\tNO_INET_PTON = YesPlease\n+\t\tNO_SOCKADDR_STORAGE = YesPlease\n+\t\tNO_FNMATCH_CASEFOLD = YesPlease\n+\tendif\n+\tifeq ($(uname_R),5.2)\n+\t\tNO_INET_NTOP = YesPlease\n+\t\tNO_INET_PTON = YesPlease\n+\t\tNO_SOCKADDR_STORAGE = YesPlease\n+\t\tNO_FNMATCH_CASEFOLD = YesPlease\n+\tendif\n+endif\n+ifeq ($(uname_S),Minix)\n+\tNO_IPV6 = YesPlease\n+\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n+\tNO_NSEC = YesPlease\n+\tNEEDS_LIBGEN =\n+\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n+\tNEEDS_IDN_WITH_CURL = YesPlease\n+\tNEEDS_SSL_WITH_CURL = YesPlease\n+\tNEEDS_RESOLV =\n+\tNO_HSTRERROR = YesPlease\n+\tNO_MMAP = YesPlease\n+\tNO_CURL =\n+\tNO_EXPAT =\n+endif\n+ifeq ($(uname_S),NONSTOP_KERNEL)\n+\t# Needs some C99 features, \"inline\" is just one of them.\n+\t# INLINE='' would just replace one set of warnings with another and\n+\t# still not compile in c89 mode, due to non-const array initializations.\n+\tCC = cc -c99\n+\t# Disable all optimization, seems to result in bad code, with -O or -O2\n+\t# or even -O1 (default), /usr/local/libexec/git-core/git-pack-objects\n+\t# abends on \"git push\". Needs more investigation.\n+\tCFLAGS = -g -O0\n+\t# We'd want it to be here.\n+\tprefix = /usr/local\n+\t# Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl).\n+\tPERL_PATH = ${prefix}/bin/perl\n+\tPYTHON_PATH = ${prefix}/bin/python\n+\n+\t# As detected by './configure'.\n+\t# Missdetected, hence commented out, see below.\n+\t#NO_CURL = YesPlease\n+\t# Added manually, see above.\n+\tNEEDS_SSL_WITH_CURL = YesPlease\n+\tHAVE_LIBCHARSET_H = YesPlease\n+\tNEEDS_LIBICONV = YesPlease\n+\tNEEDS_LIBINTL_BEFORE_LIBICONV = YesPlease\n+\tNO_SYS_SELECT_H = UnfortunatelyYes\n+\tNO_D_TYPE_IN_DIRENT = YesPlease\n+\tNO_HSTRERROR = YesPlease\n+\tNO_STRCASESTR = YesPlease\n+\tNO_FNMATCH_CASEFOLD = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNO_STRLCPY = YesPlease\n+\tNO_SETENV = YesPlease\n+\tNO_UNSETENV = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\t# Currently libiconv-1.9.1.\n+\tOLD_ICONV = UnfortunatelyYes\n+\tNO_REGEX = YesPlease\n+\tNO_PTHREADS = UnfortunatelyYes\n+\n+\t# Not detected (nor checked for) by './configure'.\n+\t# We don't have SA_RESTART on NonStop, unfortunalety.\n+\tCOMPAT_CFLAGS += -DSA_RESTART=0\n+\t# Apparently needed in compat/fnmatch/fnmatch.c.\n+\tCOMPAT_CFLAGS += -DHAVE_STRING_H=1\n+\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n+\tNO_NSEC = YesPlease\n+\tNO_PREAD = YesPlease\n+\tNO_MMAP = YesPlease\n+\tNO_POLL = YesPlease\n+\tNO_INTPTR_T = UnfortunatelyYes\n+\t# Bug report 10-120822-4477 submitted to HP NonStop development.\n+\tMKDIR_WO_TRAILING_SLASH = YesPlease\n+\t# RFE 10-120912-4693 submitted to HP NonStop development.\n+\tNO_SETITIMER = UnfortunatelyYes\n+endif\n+ifneq (,$(findstring MINGW,$(uname_S)))\n+\tpathsep = ;\n+\tNO_PREAD = YesPlease\n+\tNEEDS_CRYPTO_WITH_SSL = YesPlease\n+\tNO_LIBGEN_H = YesPlease\n+\tNO_POLL = YesPlease\n+\tNO_SYMLINK_HEAD = YesPlease\n+\tNO_UNIX_SOCKETS = YesPlease\n+\tNO_SETENV = YesPlease\n+\tNO_UNSETENV = YesPlease\n+\tNO_STRCASESTR = YesPlease\n+\tNO_STRLCPY = YesPlease\n+\tNO_STRTOK_R = YesPlease\n+\tNO_FNMATCH = YesPlease\n+\tNO_MEMMEM = YesPlease\n+\tNEEDS_LIBICONV = YesPlease\n+\tOLD_ICONV = YesPlease\n+\tNO_STRTOUMAX = YesPlease\n+\tNO_MKDTEMP = YesPlease\n+\tNO_MKSTEMPS = YesPlease\n+\tNO_SVN_TESTS = YesPlease\n+\tNO_PERL_MAKEMAKER = YesPlease\n+\tRUNTIME_PREFIX = YesPlease\n+\tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n+\tNO_NSEC = YesPlease\n+\tUSE_WIN32_MMAP = YesPlease\n+\tUSE_NED_ALLOCATOR = YesPlease\n+\tUNRELIABLE_FSTAT = UnfortunatelyYes\n+\tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n+\tNO_REGEX = YesPlease\n+\tNO_PYTHON = YesPlease\n+\tBLK_SHA1 = YesPlease\n+\tETAGS_TARGET = ETAGS\n+\tNO_INET_PTON = YesPlease\n+\tNO_INET_NTOP = YesPlease\n+\tNO_POSIX_GOODIES = UnfortunatelyYes\n+\tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS -DNOGDI -Icompat -Icompat/win32\n+\tCOMPAT_CFLAGS += -DSTRIP_EXTENSION=\\\".exe\\\"\n+\tCOMPAT_OBJS += compat/mingw.o compat/winansi.o \\\n+\t\tcompat/win32/pthread.o compat/win32/syslog.o \\\n+\t\tcompat/win32/dirent.o\n+\tEXTLIBS += -lws2_32\n+\tPTHREAD_LIBS =\n+\tX = .exe\n+\tSPARSE_FLAGS = -Wno-one-bit-signed-bitfield\n+ifneq (,$(wildcard ../THIS_IS_MSYSGIT))\n+\thtmldir=doc/git/html/\n+\tprefix =\n+\tINSTALL = /bin/install\n+\tEXTLIBS += /mingw/lib/libz.a\n+\tNO_R_TO_GCC_LINKER = YesPlease\n+\tINTERNAL_QSORT = YesPlease\n+\tHAVE_LIBCHARSET_H = YesPlease\n+else\n+\tNO_CURL = YesPlease\n+endif\n+endif\n+\n"},{"id":"200732","messageId":"7vlifhooe1.fsf@alter.siamese.dyndns.org","threadId":"31745","inReplyTo":"20121007231156.GD3490@sigill.intra.peff.net","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-10-07T23:25:58Z","receivedAt":"2012-10-07T23:25:58Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Sun, Oct 07, 2012 at 07:07:03PM -0400, Jeff King wrote:\n>\n>> Would it make sense to pull all of our platform-specific tweaks out into\n>> a config.mak.platform (right before config.mak.autogen)? That would be\n>> less surprising for cases like this, and I think it would make the\n>> Makefile a lot more readable.\n>\n> Something like the patch below. Note that you could then base even more\n> decisions on the existing DEFAULT_HELP_FORMAT that is already in the\n> Makefile (and after my patch, in config.mak.defaults). For example, when\n> it is set to html, make both the default build and install targets in\n> Documentation/Makefile do html instead of man.\n\nYeah, modulo that the \"defaults\" is tracked and does not have to\nhave the dash before \"include\" (it is an error if it is missing,\nno?).  It may want to be named with s/defaults/autodetect/, though.\n\n> diff --git a/Makefile b/Makefile\n> index e3e3cd5..c00fd32 100644\n> --- a/Makefile\n> +++ b/Makefile\n> ...\n> -endif\n> -\n> +-include config.mak.defaults\n>  -include config.mak.autogen\n>  -include config.mak\n"},{"id":"200733","messageId":"20121007232942.GA5685@sigill.intra.peff.net","threadId":"31745","inReplyTo":"7vlifhooe1.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-10-07T23:29:42Z","receivedAt":"2012-10-07T23:29:42Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Oct 07, 2012 at 04:25:58PM -0700, Junio C Hamano wrote:\n\n> Yeah, modulo that the \"defaults\" is tracked and does not have to\n> have the dash before \"include\" (it is an error if it is missing,\n> no?).  It may want to be named with s/defaults/autodetect/, though.\n> \n> > diff --git a/Makefile b/Makefile\n> > index e3e3cd5..c00fd32 100644\n> > --- a/Makefile\n> > +++ b/Makefile\n> > ...\n> > -endif\n> > -\n> > +-include config.mak.defaults\n> >  -include config.mak.autogen\n> >  -include config.mak\n\nYeah, sorry, mindless copying on my part from the lines below. It\nclearly should not have the \"-\".\n\nI'm fine with something besides \"defaults\". I meant it to be \"these are\nthe config defaults before you tweak them\", but yeah, it is more like\n\"these are the config options we picked up from uname\".\n\n-Peff\n"},{"id":"200734","messageId":"7vhaq5onig.fsf@alter.siamese.dyndns.org","threadId":"31745","inReplyTo":"20121007232942.GA5685@sigill.intra.peff.net","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-10-07T23:44:55Z","receivedAt":"2012-10-07T23:44:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Sun, Oct 07, 2012 at 04:25:58PM -0700, Junio C Hamano wrote:\n>\n>> Yeah, modulo that the \"defaults\" is tracked and does not have to\n>> have the dash before \"include\" (it is an error if it is missing,\n>> no?).  It may want to be named with s/defaults/autodetect/, though.\n>> \n>> > diff --git a/Makefile b/Makefile\n>> > index e3e3cd5..c00fd32 100644\n>> > --- a/Makefile\n>> > +++ b/Makefile\n>> > ...\n>> > -endif\n>> > -\n>> > +-include config.mak.defaults\n>> >  -include config.mak.autogen\n>> >  -include config.mak\n>\n> Yeah, sorry, mindless copying on my part from the lines below. It\n> clearly should not have the \"-\".\n>\n> I'm fine with something besides \"defaults\". I meant it to be \"these are\n> the config defaults before you tweak them\", but yeah, it is more like\n> \"these are the config options we picked up from uname\".\n\nLet's put this on hold in the \"possibly a good direction to go in\"\npile, and defer it to post 1.8.0; I haven't even looked at (and do\nnot plan to before the release) these \"auto-detect\" bits are all\nsafe to be included in Makefiles in subdirectories.\n"},{"id":"200754","messageId":"7vpq4sncte.fsf@alter.siamese.dyndns.org","threadId":"31745","inReplyTo":"7vhaq5onig.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Allow generating a non-default set of documentation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-10-08T16:33:33Z","receivedAt":"2012-10-08T16:33:33Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Jeff King <peff@peff.net> writes:\n>\n>> On Sun, Oct 07, 2012 at 04:25:58PM -0700, Junio C Hamano wrote:\n>>\n>>> Yeah, modulo that the \"defaults\" is tracked and does not have to\n>>> have the dash before \"include\" (it is an error if it is missing,\n>>> no?).  It may want to be named with s/defaults/autodetect/, though.\n>>> \n>>> > diff --git a/Makefile b/Makefile\n>>> > index e3e3cd5..c00fd32 100644\n>>> > --- a/Makefile\n>>> > +++ b/Makefile\n>>> > ...\n>>> > -endif\n>>> > -\n>>> > +-include config.mak.defaults\n>>> >  -include config.mak.autogen\n>>> >  -include config.mak\n>>\n>> Yeah, sorry, mindless copying on my part from the lines below. It\n>> clearly should not have the \"-\".\n>>\n>> I'm fine with something besides \"defaults\". I meant it to be \"these are\n>> the config defaults before you tweak them\", but yeah, it is more like\n>> \"these are the config options we picked up from uname\".\n>\n> Let's put this on hold in the \"possibly a good direction to go in\"\n> pile, and defer it to post 1.8.0; I haven't even looked at (and do\n> not plan to before the release) these \"auto-detect\" bits are all\n> safe to be included in Makefiles in subdirectories.\n\nOh by the way, by \"this (on hold)\" I meant not just your \"move the\ndefault-by-platform to a separate include\", but the whole \"a\nplatform may not want manpages\" topic.  The patch posted was merely\nme wanting to format git-push.txt and nothing else when sanity\nchecking a patch to that file, and it is insufficient for the\npurpose of \"a platform may not want manpages\" without a matching\nchange to the install target.\n\nEven though your \"include\" thing was primarily done to make it\neasier to include it from Makefiles in subdirectories, I very much\nlike it even without that benefit.  The change makes it clear that\nthere is another platform specific bit after '-include config.mak'\n(yes, I am looking at you, Darwin), which is a huge eyesore we would\nwant to do something about.\n"}]}