gnutls-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch for MinGW-W64 port


From: Nikos Mavrogiannopoulos
Subject: Re: Patch for MinGW-W64 port
Date: Thu, 22 Mar 2012 19:43:24 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111114 Icedove/3.1.16

On 03/21/2012 10:46 PM, B. Scott Michel wrote:

> The attached patch enhances support for W64 using the (relatively new)
> MinGW-W64 environment. MinGW-W64 uses the LP64 model, which explains the
> changes that eliminate int-to-pointer and pointer-to-int conversion
> warnings by gcc. The other minor change required is that libopts assumed
> that gettext() came from stdio.h; I would imagine other platforms
> actually have to include libintl.h and have an explicit dependency on
> -lintl during linking.
> 
> Hope this benefits more than just the MinGW community.


Thank you for the patch.

> diff -r -u '--exclude-from=/tmp/qpatch4308a'
patchTemp/gnutls-3.0.17/doc/examples/ex-serv-anon.c
gnutls-3.0.17/doc/examples/ex-serv-anon.c

> --- patchTemp/gnutls-3.0.17/doc/examples/ex-serv-anon.c       2012-02-08 
> 08:08:24 -0800
> +++ gnutls-3.0.17/doc/examples/ex-serv-anon.c 2012-03-20 18:12:09 -0700
> @@ -114,7 +114,7 @@
>                inet_ntop (AF_INET, &sa_cli.sin_addr, topbuf,
>                           sizeof (topbuf)), ntohs (sa_cli.sin_port));
>  
> -      gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
> +      gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) 
> ((ptrdiff_t) sd));


What difference do you see with ptrdiff_t comparing to unsigned long?

> diff -r -u '--exclude-from=/tmp/qpatch4308a' 
> patchTemp/gnutls-3.0.17/m4/hooks.m4 gnutls-3.0.17/m4/hooks.m4
> --- patchTemp/gnutls-3.0.17/m4/hooks.m4       2012-03-17 01:26:12 -0700
> +++ gnutls-3.0.17/m4/hooks.m4 2012-03-20 18:21:21 -0700
> @@ -221,9 +221,14 @@
>    # For storing integers in pointers without warnings
>    # 
> http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc
>    AC_CHECK_SIZEOF(void *)
> +  AC_CHECK_SIZEOF(long long)
>    AC_CHECK_SIZEOF(long)
>    AC_CHECK_SIZEOF(int)
>    case $ac_cv_sizeof_void_p in
> +    $ac_cv_sizeof_long_long)
> +      AC_DEFINE([GNUTLS_POINTER_TO_INT_CAST], [(long long)],
> +                [Additional cast to bring void* to a type castable to int.])
> +      ;;


Why use long long for pointer to int? Isn't in this platform
sizeof(void*)==sizeof(long)?

> diff -r -u '--exclude-from=/tmp/qpatch4308a' 
> patchTemp/gnutls-3.0.17/src/libopts/Makefile.am 
> gnutls-3.0.17/src/libopts/Makefile.am
> --- patchTemp/gnutls-3.0.17/src/libopts/Makefile.am   2012-02-29 00:26:33 
> -0800
> +++ gnutls-3.0.17/src/libopts/Makefile.am     2012-03-20 17:37:24 -0700
> @@ -8,6 +8,7 @@
>  libopts_la_SOURCES      = libopts.c
>  libopts_la_CPPFLAGS     = -I$(top_srcdir)
>  libopts_la_LDFLAGS      = -version-info  36:3:11
> +libopts_la_LIBADD        = $(LTLIBINTL)


I have to check that when I find some time. Did this cause a problem
though? libgnutls is already linked to LTLIBINTL.

>  #if defined(ENABLE_NLS)
>  # ifndef _
> -#   include <stdio.h>
> +#   if defined(HAVE_GETTEXT)
> +#     include <libintl.h>
> +#   else
> +#     include <stdio.h>
> +#   endif


I switched it, to gettext.h which we use in the lib/ as well. Let me
know if such change works for you.


regards,
Nikos




reply via email to

[Prev in Thread] Current Thread [Next in Thread]