git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Makefile: update the default build options for AIX

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
May 7, 2008, 17:36 UTC
Message-ID
<4821E892.4080104@nrlssc.navy.mil>
In-Reply-To
<e2b179460805070920i2ff5798dpacb5c55d851d5ede@mail.gmail.com>
Mike Ralphson wrote:
> Indeed. Please add ascii-art diagrams and don't use long words. I may
> then have a chance of understanding how this works,
I think this is simpler than you are making it out to be.

All the git source files currently #include git-compat-util.h. When a platform is missing a function, we implement that function in the compat/ subdirectory and add an entry for it in git-compat-util.h.

In this case we found a problem that could be worked around by replacing every call to fopen with an internal function. So we did the standard thing of creating a new function in the compat/ subdirectory named git_fopen() and added macro statements within git-compat-util.h to redefine fopen to be git_fopen. But, git_fopen needs to call the _real_ fopen and it _also_ includes git-compat-util.h. So, after including git-compat-util.h, we undefined the fopen macro to undo the assignment that we had just performed. This doesn't work if the system is also setting an fopen macro. So the fix is to avoid clobbering the system setting at all when compiling compat/fopen.c

-brandon
Previous: Mike RalphsonNext: Brandon Casey
Message 13 of 20 in “Makefile: update the default build options for AIX”
  1. Makefile: update the default build options for AIXMike Ralphson, May 7, 2008
  2. Johannes SixtMay 7, 2008
  3. Mike RalphsonMay 7, 2008
  4. Mike RalphsonMay 7, 2008
  5. Johannes SixtMay 7, 2008
  6. Mike RalphsonMay 7, 2008
  7. Brandon CaseyMay 7, 2008
  8. Mike RalphsonMay 7, 2008
  9. Johannes SixtMay 7, 2008
  10. Brandon CaseyMay 7, 2008
  11. Junio C HamanoMay 7, 2008
  12. Mike RalphsonMay 7, 2008
  13. Brandon CaseyMay 7, 2008
  14. compat/fopen.c: avoid clobbering the system defined fopen macroBrandon Casey, May 7, 2008
  15. Mike RalphsonMay 8, 2008
  16. Johannes SixtMay 8, 2008
  17. Mike RalphsonMay 8, 2008
  18. H.Merijn BrandMay 8, 2008
  19. Mike RalphsonMay 16, 2008
  20. Johannes SixtMay 16, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.