view auto/lib/openssl/make @ 7585:746567d633ac

Win32: improved fallback on FormatMessage() errors. FormatMessage() seems to return many errors which essentially indicate that the language in question is not available. At least the following were observed in the wild and during testing: ERROR_MUI_FILE_NOT_FOUND (15100) (ticket #1868), ERROR_RESOURCE_TYPE_NOT_FOUND (1813). While documentation says it should be ERROR_RESOURCE_LANG_NOT_FOUND (1815), this doesn't seem to be the case. As such, checking error code was removed, and as long as FormatMessage() returns an error, we now always try the default language.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 21 Oct 2019 19:06:12 +0300
parents b329c0ab1a48
children 3c4d81ea1338
line wrap: on
line source


# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.


case "$CC" in

    cl)

        cat << END                                            >> $NGX_MAKEFILE

$OPENSSL/openssl/include/openssl/ssl.h:	$NGX_MAKEFILE
	\$(MAKE) -f auto/lib/openssl/makefile.msvc			\
		OPENSSL="$OPENSSL" OPENSSL_OPT="$OPENSSL_OPT"

END

    ;;

    bcc32)

        ngx_opt=`echo "-DOPENSSL=\"$OPENSSL\" -DOPENSSL_OPT=\"$OPENSSL_OPT\"" \
            | sed -e "s/\//$ngx_regex_dirsep/g"`

        cat << END                                            >> $NGX_MAKEFILE

`echo "$OPENSSL\\openssl\\lib\\libeay32.lib:				\
	$OPENSSL\\openssl\\include\\openssl\\ssl.h"			\
	| sed -e "s/\//$ngx_regex_dirsep/g"`

`echo "$OPENSSL\\openssl\\lib\\ssleay32.lib:				\
	$OPENSSL\\openssl\\include\\openssl\\ssl.h"			\
	| sed -e "s/\//$ngx_regex_dirsep/g"`

`echo "$OPENSSL\\openssl\\include\\openssl\\ssl.h:	$NGX_MAKEFILE"	\
	| sed -e "s/\//$ngx_regex_dirsep/g"`
	\$(MAKE) -f auto/lib/openssl/makefile.bcc $ngx_opt

END

    ;;

    *)
        case $OPENSSL in
            /*) ngx_prefix="$OPENSSL/.openssl" ;;
            *)  ngx_prefix="$PWD/$OPENSSL/.openssl" ;;
        esac

        cat << END                                            >> $NGX_MAKEFILE

$OPENSSL/.openssl/include/openssl/ssl.h:	$NGX_MAKEFILE
	cd $OPENSSL \\
	&& if [ -f Makefile ]; then \$(MAKE) clean; fi \\
	&& ./config --prefix=$ngx_prefix no-shared no-threads $OPENSSL_OPT \\
	&& \$(MAKE) \\
	&& \$(MAKE) install_sw LIBDIR=lib

END

    ;;

esac