{"thread":{"id":"40224","subject":"Git configure/make does not honor ARFLAGS","startedAt":"2015-08-30T21:34:59Z","lastAt":"2015-09-16T19:45:16Z","messageCount":12,"participants":["Jeffrey Walton","Jeff King","Eric Sunshine","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"268950","messageId":"CAH8yC8kV77h8cRA9Qo_1FYe9sv0zgsE7yKxaX+OtpRfj9+7wog@mail.gmail.com","threadId":"40224","inReplyTo":null,"subject":"Git configure/make does not honor ARFLAGS","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2015-08-30T21:34:59Z","receivedAt":"2015-08-30T21:34:59Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"I'm working on an old OS X machine. I needed to perform:\n\n  AR=libtool\n  ARFLAGS=\"-static -o\"\n  ...\n  make configure\n  ./configure ...\n  make\n\nHowever, it appears the Makefile does not respect ARFLAGS:\n\n    $ grep -IR '$(AR)' *\n    Makefile:    $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $^\n    Makefile:    $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $^\n    Makefile:    $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $^\n\nIt was fixed with a quick \"sed\":\n\n    sed -i \"\" 's|$(AR) rcs|$(AR) $(ARFLAGS)|g' Makefile\n\nThe Makefile might benefit from the following for users who need to\ntweak things:\n\n    ARFLAGS ?= rcs\n    ...\n\n    $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^\n    ...\n"},{"id":"269871","messageId":"20150913101727.GB26562@sigill.intra.peff.net","threadId":"40224","inReplyTo":"CAH8yC8kV77h8cRA9Qo_1FYe9sv0zgsE7yKxaX+OtpRfj9+7wog@mail.gmail.com","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2015-09-13T10:17:27Z","receivedAt":"2015-09-13T10:17:27Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Aug 30, 2015 at 05:34:59PM -0400, Jeffrey Walton wrote:\n\n> I'm working on an old OS X machine. I needed to perform:\n> \n>   AR=libtool\n>   ARFLAGS=\"-static -o\"\n>   ...\n>   make configure\n>   ./configure ...\n>   make\n\nHrm. Your \"$(AR)\" is not really \"ar\" then, is it? It has been a long\ntime since I played with libtool, but what is the reason that you are\ncalling libtool and not \"ar\" in the first place. Is it that you do not\nhave \"ar\" at all, and libtool performs some other procedure? If so, is\nthere a more ar-compatible wrapper that can be used?\n\n> The Makefile might benefit from the following for users who need to\n> tweak things:\n> \n>     ARFLAGS ?= rcs\n>     ...\n> \n>     $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^\n>     ...\n\nYeah, that does sound reasonable (even if one does not set $(AR) to\nsomething completely different, they might need slightly different\nflags).\n\nCare to send a patch?\n\n-Peff\n"},{"id":"269885","messageId":"CAPig+cQV-kaDDdBH+QZXsSjDHjP2CUYDXp3WKSBtgguVmLvofg@mail.gmail.com","threadId":"40224","inReplyTo":"20150913101727.GB26562@sigill.intra.peff.net","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2015-09-13T17:11:46Z","receivedAt":"2015-09-13T17:11:46Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Sun, Sep 13, 2015 at 6:17 AM, Jeff King <peff@peff.net> wrote:\n> On Sun, Aug 30, 2015 at 05:34:59PM -0400, Jeffrey Walton wrote:\n>> I'm working on an old OS X machine. I needed to perform:\n>>\n>>   AR=libtool\n>>   ARFLAGS=\"-static -o\"\n>>   ...\n>>   make configure\n>>   ./configure ...\n>>   make\n>\n> Hrm. Your \"$(AR)\" is not really \"ar\" then, is it? It has been a long\n> time since I played with libtool, but what is the reason that you are\n> calling libtool and not \"ar\" in the first place. Is it that you do not\n> have \"ar\" at all, and libtool performs some other procedure? If so, is\n> there a more ar-compatible wrapper that can be used?\n\nThis isn't GNU's libtool. It's Apple's libtool, an entirely different\nbeast, which is an 'ar' replacement and is needed when linking\nUniversal binaries containing code for more than one architecture,\nsuch as 'ppc' and 'i386', so the same executable can run on multiple\narchitectures. This tool dates all the way back to at least NextStep\n3.1 when NeXT ported NextStep to Intel hardware (i486) from NeXT\ncomputers (m68k). The name \"Universal\" is an Apple invention, but back\nin the NeXT days, they were called Multi-Architecture Binaries (MAB)\nor, colloquially, just FAT (for \"fat\"); there was a corresponding\n\"lipo\" command (short for \"liposuction\") to \"thin\" out \"fat\" binaries.\nNeXT's libtool predates GNU's libtool by a few years: May 1993 vs.\nJuly 1997, respectively. When an attempt is made to use 'ar' on\nUniversal object files, it errors out saying that it can't be used\nwith such files and recommends 'libtool' instead.\n\n>> The Makefile might benefit from the following for users who need to\n>> tweak things:\n>>\n>>     ARFLAGS ?= rcs\n>>     ...\n>>\n>>     $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^\n>>     ...\n>\n> Yeah, that does sound reasonable (even if one does not set $(AR) to\n> something completely different, they might need slightly different\n> flags).\n"},{"id":"269890","messageId":"CAH8yC8nNUMCfgzd2sb1PUxjTPEuPaqe3XtW-yyi=X3+c3_im7g@mail.gmail.com","threadId":"40224","inReplyTo":"CAPig+cQV-kaDDdBH+QZXsSjDHjP2CUYDXp3WKSBtgguVmLvofg@mail.gmail.com","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2015-09-13T18:37:11Z","receivedAt":"2015-09-13T18:37:11Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Sun, Sep 13, 2015 at 1:11 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:\n> On Sun, Sep 13, 2015 at 6:17 AM, Jeff King <peff@peff.net> wrote:\n>> On Sun, Aug 30, 2015 at 05:34:59PM -0400, Jeffrey Walton wrote:\n>>> I'm working on an old OS X machine. I needed to perform:\n>>>\n>>>   AR=libtool\n>>>   ARFLAGS=\"-static -o\"\n>>>   ...\n>>>   make configure\n>>>   ./configure ...\n>>>   make\n>>\n>> Hrm. Your \"$(AR)\" is not really \"ar\" then, is it? It has been a long\n>> time since I played with libtool, but what is the reason that you are\n>> calling libtool and not \"ar\" in the first place. Is it that you do not\n>> have \"ar\" at all, and libtool performs some other procedure? If so, is\n>> there a more ar-compatible wrapper that can be used?\n>\n> This isn't GNU's libtool. It's Apple's libtool, an entirely different\n> beast, which is an 'ar' replacement and is needed when linking\n> Universal binaries containing code for more than one architecture,\n> such as 'ppc' and 'i386', so the same executable can run on multiple\n> architectures. This tool dates all the way back to at least NextStep\n> 3.1 when NeXT ported NextStep to Intel hardware (i486) from NeXT\n> computers (m68k). The name \"Universal\" is an Apple invention, but back\n> in the NeXT days, they were called Multi-Architecture Binaries (MAB)\n> or, colloquially, just FAT (for \"fat\"); there was a corresponding\n> \"lipo\" command (short for \"liposuction\") to \"thin\" out \"fat\" binaries.\n> NeXT's libtool predates GNU's libtool by a few years: May 1993 vs.\n> July 1997, respectively. When an attempt is made to use 'ar' on\n> Universal object files, it errors out saying that it can't be used\n> with such files and recommends 'libtool' instead.\n\nThanks Eric. You did a much better job than I would have done.\n\nJW\n"},{"id":"269900","messageId":"20150914043016.GA10167@sigill.intra.peff.net","threadId":"40224","inReplyTo":"CAPig+cQV-kaDDdBH+QZXsSjDHjP2CUYDXp3WKSBtgguVmLvofg@mail.gmail.com","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2015-09-14T04:30:16Z","receivedAt":"2015-09-14T04:30:16Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Sep 13, 2015 at 01:11:46PM -0400, Eric Sunshine wrote:\n\n> > Hrm. Your \"$(AR)\" is not really \"ar\" then, is it? It has been a long\n> > time since I played with libtool, but what is the reason that you are\n> > calling libtool and not \"ar\" in the first place. Is it that you do not\n> > have \"ar\" at all, and libtool performs some other procedure? If so, is\n> > there a more ar-compatible wrapper that can be used?\n> \n> This isn't GNU's libtool. It's Apple's libtool, an entirely different\n> beast, which is an 'ar' replacement and is needed when linking\n> Universal binaries containing code for more than one architecture,\n> such as 'ppc' and 'i386', so the same executable can run on multiple\n> architectures. This tool dates all the way back to at least NextStep\n> 3.1 when NeXT ported NextStep to Intel hardware (i486) from NeXT\n> computers (m68k). The name \"Universal\" is an Apple invention, but back\n> in the NeXT days, they were called Multi-Architecture Binaries (MAB)\n> or, colloquially, just FAT (for \"fat\"); there was a corresponding\n> \"lipo\" command (short for \"liposuction\") to \"thin\" out \"fat\" binaries.\n> NeXT's libtool predates GNU's libtool by a few years: May 1993 vs.\n> July 1997, respectively. When an attempt is made to use 'ar' on\n> Universal object files, it errors out saying that it can't be used\n> with such files and recommends 'libtool' instead.\n\nAh, OK. Today I learned something. :)\n\nJeffrey, can you produce a tested patch which works for you?\n\n-Peff\n"},{"id":"269901","messageId":"CAPc5daUBBPRxaaptTS9xyr+pJ6Fgt4XXi+MU=DSZeoQ6uHCHvg@mail.gmail.com","threadId":"40224","inReplyTo":"20150914043016.GA10167@sigill.intra.peff.net","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-09-14T04:57:08Z","receivedAt":"2015-09-14T04:57:08Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"On Sun, Sep 13, 2015 at 9:30 PM, Jeff King <peff@peff.net> wrote:\n>\n> Ah, OK. Today I learned something. :)\n>\n> Jeffrey, can you produce a tested patch which works for you?\n\nIf I am not mistaken, I think I already have one on 'pu' (I think I did that\nas an afternoon-tea time hack or something).\n"},{"id":"269902","messageId":"20150914045953.GA11039@sigill.intra.peff.net","threadId":"40224","inReplyTo":"CAPc5daUBBPRxaaptTS9xyr+pJ6Fgt4XXi+MU=DSZeoQ6uHCHvg@mail.gmail.com","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2015-09-14T04:59:54Z","receivedAt":"2015-09-14T04:59:54Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Sep 13, 2015 at 09:57:08PM -0700, Junio C Hamano wrote:\n\n> On Sun, Sep 13, 2015 at 9:30 PM, Jeff King <peff@peff.net> wrote:\n> >\n> > Ah, OK. Today I learned something. :)\n> >\n> > Jeffrey, can you produce a tested patch which works for you?\n> \n> If I am not mistaken, I think I already have one on 'pu' (I think I did that\n> as an afternoon-tea time hack or something).\n\nOh, indeed. ac179b4d9. Looks good to me.\n\nMy follow-up question was going to be: is this something we should be\nsetting in config.mak.uname for appropriate versions of Darwin? It\nwasn't clear to me from Eric's description if this is something that\nparticular versions need, or just something that people who want to\nbuild Universal binaries would choose to use.\n\n-Peff\n"},{"id":"269904","messageId":"CAPc5daXjnLduFOD5au+wV0AN6EXTUWTM6JQ66U+0DwzVhk3YcA@mail.gmail.com","threadId":"40224","inReplyTo":"20150914045953.GA11039@sigill.intra.peff.net","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-09-14T05:52:36Z","receivedAt":"2015-09-14T05:52:36Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"On Sun, Sep 13, 2015 at 9:59 PM, Jeff King <peff@peff.net> wrote:\n>\n> My follow-up question was going to be: is this something we should be\n> setting in config.mak.uname for appropriate versions of Darwin? It\n> wasn't clear to me from Eric's description if this is something that\n> particular versions need, or just something that people who want to\n> build Universal binaries would choose to use.\n\nMy preference is not to worry anything about config.mak.uname\nourselves, until somebody who does work on the ports proposes\nto do something concrete.\n"},{"id":"269972","messageId":"CAH8yC8kaWi6F5iKhNQeJrG451hqS-3_crtA0c+xFner78E2CAQ@mail.gmail.com","threadId":"40224","inReplyTo":"20150914045953.GA11039@sigill.intra.peff.net","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2015-09-14T23:14:23Z","receivedAt":"2015-09-14T23:14:23Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Mon, Sep 14, 2015 at 12:59 AM, Jeff King <peff@peff.net> wrote:\n> On Sun, Sep 13, 2015 at 09:57:08PM -0700, Junio C Hamano wrote:\n>\n>> On Sun, Sep 13, 2015 at 9:30 PM, Jeff King <peff@peff.net> wrote:\n>> >\n>> > Ah, OK. Today I learned something. :)\n>> >\n>> > Jeffrey, can you produce a tested patch which works for you?\n>>\n>> If I am not mistaken, I think I already have one on 'pu' (I think I did that\n>> as an afternoon-tea time hack or something).\n>\n> Oh, indeed. ac179b4d9. Looks good to me.\n>\n> My follow-up question was going to be: is this something we should be\n> setting in config.mak.uname for appropriate versions of Darwin? It\n> wasn't clear to me from Eric's description if this is something that\n> particular versions need, or just something that people who want to\n> build Universal binaries would choose to use.\n>\nIf you have something that needs testing, then please let me know. I'd\nbe happy to test it for you.\n\nMy OS X test environment includes OS X 10.5 PoweMac (PowerPC), 10.8\nIntel x64 (ancient C++ stdlib that claims to be C++11), and 10.9 Intel\nx64.\n\nIf desired, I can give you SSH access to a couple of the machines.\nOpenSSL and Cryptlib uses them on occasion for testing, too.\n\nJeff\n"},{"id":"269982","messageId":"xmqq1te0uvq7.fsf@gitster.mtv.corp.google.com","threadId":"40224","inReplyTo":"CAH8yC8kaWi6F5iKhNQeJrG451hqS-3_crtA0c+xFner78E2CAQ@mail.gmail.com","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-09-15T04:56:00Z","receivedAt":"2015-09-15T04:56:00Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeffrey Walton <noloader@gmail.com> writes:\n\n>> Oh, indeed. ac179b4d9. Looks good to me.\n>>\n>> My follow-up question was going to be: is this something we should be\n>> setting in config.mak.uname for appropriate versions of Darwin? It\n>> wasn't clear to me from Eric's description if this is something that\n>> particular versions need, or just something that people who want to\n>> build Universal binaries would choose to use.\n>>\n> If you have something that needs testing, then please let me know. I'd\n> be happy to test it for you.\n\nIn your copy of Git that is recent enough, please run this:\n\n    $ git fetch git://git.kernel.org/pub/scm/git/git.git pu\n    $ git checkout -b jw/make-arflags-customizable ac179b4d9\n\nThis gives you a rather old maintenance track of Git based on v2.0.5\nplus a patch that makes $(ARFLAGS) customizable.\n\nPresumably you are building a more recent versions of Git yourself.\nI do not know which branch you are on, but you should be able to\nmerge this brancch to anything newer than v2.0.x maintenance track.\nE.g.\n\n    $ git checkout master\n    $ git merge jw/make-arflags-customizable\n\nshould merge cleanly and would let you say things like:\n\n    $ make AR=libtool ARFLAGS='-static -o'\n\nwith any other build customization you usually use on the command\nline (or in config.mak, if you prefer).\n\nWhat Jeff King was wondering was if those on platform like you have\nwould benefit if they have something like the attached patch on top\nof the ac179b4d (Makefile: allow $(ARFLAGS) specified from the\ncommand line, 2015-09-10) patch.  Pieces of information that is\nneeded to determine if that is a good idea are:\n\n * What exact condition we should use in the \"ifeq\" to identify the\n   class of platforms that want this custom AR/ARFLAGS.\n\n * Ask if everybody who shares that particular platform would always\n   want \"libtool\" and \"-static -o\" as their custom AR/ARFLAGS.  If\n   the answer is \"no\", i.e. on the same platform, more than one\n   compiler toolchain may be available to the users and not\n   everybody may want to use \"libtool\" and \"-static -o\" lie you do,\n   then the approach to auto-determine this settings does not help\n   people, and we should not bother with shipping customized\n   config.mak.uname (instead we'd just tell people to do whatever\n   they want with AR and ARFLAGS from the command line).\n\n * If it is worth shipping customized config.mak.uname, determine\n   what things, other than AR/ARFLAGS, would help the uses of the\n   class of platforms we identified above in the new \"ifeq\" section\n   (e.g. perhaps they may want CC=some-other-cc).\n\n config.mak.uname | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex 943c439..247dfed 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -46,6 +46,10 @@ ifeq ($(uname_S),GNU/kFreeBSD)\n \tDIR_HAS_BSD_GROUP_SEMANTICS = YesPlease\n \tLIBC_CONTAINS_LIBINTL = YesPlease\n endif\n+ifeq ($(uname_S),\"whatever jeffrey uses\")\n+\tAR = libtool\n+\tARFLAGS = -static -o\n+endif\n ifeq ($(uname_S),UnixWare)\n \tCC = cc\n \tNEEDS_SOCKET = YesPlease\n"},{"id":"270150","messageId":"20150916193856.GA15738@flurp.local","threadId":"40224","inReplyTo":"CAPc5daXjnLduFOD5au+wV0AN6EXTUWTM6JQ66U+0DwzVhk3YcA@mail.gmail.com","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2015-09-16T19:38:57Z","receivedAt":"2015-09-16T19:38:57Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Sun, Sep 13, 2015 at 10:52:36PM -0700, Junio C Hamano wrote:\n> On Sun, Sep 13, 2015 at 9:59 PM, Jeff King <peff@peff.net> wrote:\n> >\n> > My follow-up question was going to be: is this something we should be\n> > setting in config.mak.uname for appropriate versions of Darwin? It\n> > wasn't clear to me from Eric's description if this is something that\n> > particular versions need, or just something that people who want to\n> > build Universal binaries would choose to use.\n> \n> My preference is not to worry anything about config.mak.uname\n> ourselves, until somebody who does work on the ports proposes\n> to do something concrete.\n\nNormal 'ar' works for non-multi-architecture-binaries (MAB);\n'libtool' is only needed when building Universal. Unfortunately,\nthere probably isn't a reliable way to auto-detect a Universal build.\nBack in the NextStep days, projects would support MAB via a\nTARGET_ARCHS variable:\n\n    make TARGET_ARCHS='m68k i386 sparc hppa'\n\nAnd, for project's which didn't understand that, you'd just have to\nspecify build flags which the Makefile did understand:\n\n    make CFLAGS='-arch ppc -arch i386' LDFLAGS='-arch ppc -arch i386'\n\nor, just make ad-hoc modifications to the Makefile if it didn't even\nrespect those variables. So, I don't think there's really a good way\nto detect MAB builds.\n\nOn the other hand, as far as I know, it's *always* safe to replace\n'ar' with 'libtool' on this platform, so we could just do it\nunconditionally.\n\n--- 8< ---\ndiff --git a/config.mak.uname b/config.mak.uname\nindex be5cbec..e7970dd 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -88,6 +88,8 @@ ifeq ($(uname_S),SCO_SV)\n \tTAR = gtar\n endif\n ifeq ($(uname_S),Darwin)\n+\tAR = libtool\n+\tARFLAGS = -static -o\n \tNEEDS_CRYPTO_WITH_SSL = YesPlease\n \tNEEDS_SSL_WITH_CRYPTO = YesPlease\n \tNEEDS_LIBICONV = YesPlease\n--- 8< ---\n\nI've tested this on modern Mac OS X, Yosemite 10.10.5 (x86_64), and\nancient Snow Leopard 10.5.8 PowerPC (circa 2009), and it works fine\nin both cases, so perhaps that's the way to go.\n\nMy one concern, however, would be people who've installed GNU libtool\nand have that in PATH before Apple's tools.\n"},{"id":"270151","messageId":"CAPig+cQ_y6GDn3TsFuP1dYpYPzpdDCbuqmjnY72hDs32HnfbsQ@mail.gmail.com","threadId":"40224","inReplyTo":"20150916193856.GA15738@flurp.local","subject":"Re: Git configure/make does not honor ARFLAGS","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2015-09-16T19:45:16Z","receivedAt":"2015-09-16T19:45:16Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Wed, Sep 16, 2015 at 3:38 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:\n> On the other hand, as far as I know, it's *always* safe to replace\n> 'ar' with 'libtool' on this platform, so we could just do it\n> unconditionally.\n>\n> --- 8< ---\n>  ifeq ($(uname_S),Darwin)\n> +       AR = libtool\n> +       ARFLAGS = -static -o\n> --- 8< ---\n>\n> I've tested this on modern Mac OS X, Yosemite 10.10.5 (x86_64), and\n> ancient Snow Leopard 10.5.8 PowerPC (circa 2009), and it works fine\n> in both cases, so perhaps that's the way to go.\n>\n> My one concern, however, would be people who've installed GNU libtool\n> and have that in PATH before Apple's tools.\n\nAlthough, perhaps specifying the full path to 'libtool' would be\nsufficient so as not to worry about GNU libtool being picked up by\naccident. Apple's command resides at /usr/bin/libtool on both modern\nand ancient Mac OS X, so maybe that's all we need.\n"}]}