This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] When using the Mozilla NSS library for cryptography, include the NSPR header files



On 31/05/2016 09:35, Guido Trentalancia wrote:
> When configuring and building GNU libc using the Mozilla NSS library
> for cryptography (--enable-nss-crypt option), also include the
> NSPR header files along with the Mozilla NSS library header files.
> 
> Signed-off-by: Guido Trentalancia <guido@trentalancia.net>

This patch is missing a proper ChangeLog [1]

[1] https://sourceware.org/glibc/wiki/Contribution%20checklist#Properly_Formatted_GNU_ChangeLog

> ---
>  configure      |    6 +++++-
>  configure.ac   |    6 +++++-
>  crypt/Makefile |    6 +++---
>  3 files changed, 13 insertions(+), 5 deletions(-)
> 
> --- glibc-31052016-0900GMT/configure	2016-05-30 13:25:35.299696688 +0200
> +++ glibc-configure-nss-crypt-include-nspr-headers/configure	2016-05-31 13:57:28.117571376 +0200
> @@ -3501,8 +3501,12 @@ if test x$nss_crypt = xyes; then
>    if test $? -ne 0; then
>      as_fn_error $? "cannot find include directory with nss-config" "$LINENO" 5
>    fi
> +  nspr_includes=-I$(nspr-config --includedir 2>/dev/null)
> +  if test $? -ne 0; then
> +    as_fn_error $? "cannot find include directory with nspr-config" "$LINENO" 5
> +  fi
>    old_CFLAGS="$CFLAGS"
> -  CFLAGS="$CFLAGS $nss_includes"
> +  CFLAGS="$CFLAGS $nss_includes $nspr_includes"

I tried to build it on Ubuntu 16.04 and even with the patch configure failed
due it could not find libfreebl3.so.  On this distro this is installed on
/usr/lib/x86_64-linux-gnu/nss/ and I am not familiar with this project to say
if this is the default folder, if it is something recently changed or if it a
distro-based modification.  Either way I think to fully re-enable the NSS
configure option we need to take care of it.

>  
>  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
>  /* end confdefs.h.  */
> --- glibc-31052016-0900GMT/configure.ac	2016-05-30 13:25:35.299696688 +0200
> +++ glibc-configure-nss-crypt-include-nspr-headers/configure.ac	2016-05-31 13:58:03.962731844 +0200
> @@ -311,8 +311,12 @@ if test x$nss_crypt = xyes; then
>    if test $? -ne 0; then
>      AC_MSG_ERROR([cannot find include directory with nss-config])
>    fi
> +  nspr_includes=-I$(nspr-config --includedir 2>/dev/null)
> +  if test $? -ne 0; then
> +    AC_MSG_ERROR([cannot find include directory with nspr-config])
> +  fi
>    old_CFLAGS="$CFLAGS"
> -  CFLAGS="$CFLAGS $nss_includes"
> +  CFLAGS="$CFLAGS $nss_includes $nspr_includes"
>    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
>  #include <hasht.h>
>  #include <nsslowhash.h>
> --- glibc-31052016-0900GMT/crypt/Makefile	2016-05-30 13:25:35.306696710 +0200
> +++ glibc-configure-nss-crypt-include-nspr-headers/crypt/Makefile	2016-05-31 14:28:38.995883272 +0200
> @@ -37,9 +37,9 @@ routines += $(libcrypt-routines)
>  endif
>  
>  ifeq ($(nss-crypt),yes)
> -CPPFLAGS-sha256-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
> -CPPFLAGS-sha512-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
> -CPPFLAGS-md5-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
> +CPPFLAGS-sha256-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir) -I$(shell nspr-config --includedir)
> +CPPFLAGS-sha512-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir) -I$(shell nspr-config --includedir)
> +CPPFLAGS-md5-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir) -I$(shell nspr-config --includedir)
>  LDLIBS-crypt.so = -lfreebl3
>  else
>  libcrypt-routines += md5 sha256 sha512
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]