From: Junio C Hamano Date: Fri, 10 Feb 2012 20:25:46 GMT Subject: Re: 1.7.9, libcharset missing from EXTLIBS Message-ID: <7vd39mph9x.fsf@alter.siamese.dyndns.org> In-Reply-To: <7vipjer0yn.fsf@alter.siamese.dyndns.org> Junio C Hamano writes: > Дилян Палаузов writes: > >>>> What I am wondering is there are systems that need to include the header, >>>> but locale_charset() does not live in /lib/libcharset.a, in which case we >>>> cannot make HAVE_LIBCHARSET_H imply use of -lcharset. >> >> I do not understand this. If you want to use a function from >> libcharset, you have to use both #include and >> -lcharset. > > You are mistaken. > > The only constraint is that you have to "#include " and need > to link with the library that has locale_charset() defined. I think the follow-ups in this thread already demonstrated why it is an insufficient solution to make HAVE_LIBCHARSET_H imply -lcharset. We would instead need: ifeq ($(uname_S),MyHomeBrewLinux) HAVE_LIBCHARSET_H = YesPlease EXTLIBS += -lcharset endif or # Define NEEDS_CHARSETLIB if you use HAVE_LIBCHARSET_H and # need to link with -lcharset NEEDS_CHARSETLIB = ifeq ($(uname_S),MyHomeBrewLinux) HAVE_LIBCHARSET_H = YesPlease NEEDS_CHARSETLIB = YesPlease endif ifdef NEEDS_CHARSETLIB EXTLIBS += -lcharset endif or something like that, I guess.