On Thu, May 21, 2020 at 12:29:18AM -0400, Daniel Richard G. wrote: > > So probably we'd want something like (in this order): > > > > - NEEDS_EXPLICIT_STDINT gets passed from the Makefile into the > > compiler via -D, which then triggers stdint.h being included > > unconditionally in git-compat-util.h > > > > - optionally set that in config.mak.uname for AIX (checking uname_R > > since it sounds like only old versions need it) > > > > - add an autoconf rule that sets it, either strictly (when a > > test-program decides it's needed) or loosely (when we see that it's > > available at all) > > > > Even just the first one would let you build by setting the knob > > manually; the rest is gravy on top, if you or somebody else chooses to > > do it. > > Hmm... that's a fairly specific knob, which I would think is less than > ideal. The rest is reasonable, but would have to be written in terms > of the knob. Yeah, it is. I do wonder if just setting the existing NO_INTTYPES_H is a simpler solution for your case (since it sounds like that works). If you want to tweak the knob for older AIX in config.mak.uname, that would be fine (or if you think other people aren't likely to be building on the platform, maybe tweak your own "make" invocation and let this conversation serve to document for anybody else). > > but it would be nice if the Makefile handled this correctly. It looks > > like CC_LD_DYNPATH gets used in a lot of places, so I suspect we'd > > want a Makefile function to help out. Something like: > > > > # usage: $(call linker_lib,PATH) > > # Create linker args for looking for libraries in PATH at both link-time > > # and run-time. > > linker_lib = -L$1 $(if $(CC_LD_DYNPATH),$(CC_LD_DYNPATH)$1) > > > > which would allow: > > > > EXTLIBS += $(call linker_lib,$(LIBPCREDIR)/$(lib)) > > > > etc. This would be our first foray into Makefile functions, but I think > > we've determined that most platforms have a recent enough GNU make for > > it to be OK (and we already require GNU make). > > Why not just a variable to wrap the conditional? Something like > > CC_LD_DYNPATH_flag = $(if $(CC_LD_DYNPATH),$(CC_LD_DYNPATH),-L) > > ... > > EXTLIBS += -L$(ZLIB_PATH)/$(lib) $(CC_LD_DYNPATH_flag)$(ZLIB_PATH)/$(lib) I was trying to actually remove the argument, rather than turn it into a duplicate "-L". But you're probably right that it's not worth the effort. I think we could just normalize an empty CC_LD_DYNPATH to "-L" in the same variable, and then we wouldn't even have to change the sites which reference it. -Peff