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

Re: [PATCH] Git.pm: Avoid ppport.h

From
Junio C Hamano <junkio@cox.net>
Date
Jul 2, 2006, 19:05 UTC
Message-ID
<7v4pxz4yki.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.63.0607021141260.29667@wbgn013.biozentrum.uni-wuerzburg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 6 quoted lines
>> This makes us not include ppport.h which seems not to give us anything real
>> anyway; it is useful for checking for portability warts but since Devel::PPPort
>> is a portability wart itself, we shouldn't require it for build.
>
> Why do people introduce a "portability enhancer" like that? This is soo 
> dumb.
I think that statement is a bit too harsh.

My understanding is that it's more for use by developers working with later version to produce portability headers, so used that way it is very sane. From its manual page:

       How to use ppport.h
       Don't direct the users of your module to download "Devel::PPPort".
       They are most probably no XS writers. Also, don't make ppport.h
       optional. Rather, just take the most recent copy of ppport.h that you
       can find (e.g. by generating it with the latest "Devel::PPPort" release
       from CPAN), copy it into your project, adjust your project to use it,
       and distribute the header along with your module.

But in the case of source distribution, and if the source distribution wants to be compatible with older versions, the above advice does not apply.

Show 7 quoted lines
> Error: 'const char *' not in typemap in Git.xs, line 69
> Error: 'const char *' not in typemap in Git.xs, line 79
> make: *** [Git.c] Error 1
>
> It seems like my typemap starts like this:
>...
> So, no "const char *". See next mail for a minimal patch.

An alternative would be to carry our own typemap but I think your fix is less intrusive and fine. Pasky?

Show 12 quoted lines
> The warning 
> (IIRC that was mentioned already on the list) still persists:
>
> cc -c -I. -I.. -g -pipe -pipe -fno-common -no-cpp-precomp -flat_namespace 
> -DHAS_TELLDIR_PROTOTYPE -fno-strict-aliasing -Os     -DVERSION=\"0.01\" 
> -DXS_VERSION=\"0.01\"  -I/System/Library/Perl/darwin/CORE -I/sw/include 
> -DSHA1_HEADER='<openssl/sha.h>' -DNO_STRCASESTR -DNO_STRLCPY 
> -DGIT_VERSION='"1.4.1.g3b26"' Git.c
> In file included from /System/Library/Perl/darwin/CORE/perl.h:500,
>                  from Git.xs:15:
> /System/Library/Perl/darwin/CORE/embed.h:156:1: warning: "die" redefined
> Git.xs:11:1: warning: this is the location of the previous definition
I see the same here.
Previous: Johannes SchindelinNext: Petr Baudis
Message 20 of 21 in “Quick merge status updates.”
  1. Junio C HamanoJun 28, 2006
  2. Pavel RoskinJun 28, 2006
  3. Junio C HamanoJun 28, 2006
  4. Pavel RoskinJun 28, 2006
  5. Junio C HamanoJun 28, 2006
  6. Petr BaudisJul 2, 2006
  7. Junio C HamanoJul 2, 2006
  8. Petr BaudisJul 2, 2006
  9. Junio C HamanoJul 2, 2006
  10. Junio C HamanoJul 2, 2006
  11. Linus TorvaldsJul 3, 2006
  12. Junio C HamanoJul 3, 2006
  13. Pavel RoskinJul 8, 2006
  14. Johannes SchindelinJun 28, 2006
  15. Johannes SchindelinJun 28, 2006
  16. Junio C HamanoJun 28, 2006
  17. Johannes SchindelinJun 28, 2006
  18. Git.pm: Avoid ppport.hPetr Baudis, Jul 1, 2006
  19. Johannes SchindelinJul 2, 2006
  20. Junio C HamanoJul 2, 2006
  21. Git.pm: Don't #define around diePetr Baudis, Jul 2, 2006

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.