libmicrohttpd
[Top][All Lists]
Advanced

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

Re: [libmicrohttpd] Windows binary with SSL3/TLS


From: Evgeny Grin
Subject: Re: [libmicrohttpd] Windows binary with SSL3/TLS
Date: Sat, 11 Jun 2016 13:03:31 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1


On 11.06.2016 0:25, silvioprog wrote:

Some corrections:

> 1. attachment:
> 
>  1.
>     :: Get and install MinGW-w64 32 bits:
>     
> http://downloads.sourceforge.net/project/msys2/Base/i686/msys2-i686-20150916.exe
>  2.
>      
>  3.
>     pacman -S mingw-w64-i686-gcc
>  4.
>     pacman -S make
>  5.
>     pacman -S wget
>  6.
>     pacman -S tar
>  7.
>     :: add path "C:\msys32\mingw32\bin" (without quotes) to %PATH%
>     enviroment variable and restart your console window

Do not do this!
It may break some programs (by extra .dll in path) and some scripts (by
MinGW-specific tools in path).
Start MSys2 shell correctly:
msys2_shell.cmd -mingw32
or
msys2_shell.cmd -mingw64

>  8.
>     cd ~
>  9.
>     wget -c
>     http://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-0.9.50.tar.gz
> 10.
>     tar -zxvf libmicrohttpd-0.9.50.tar.gz
> 11.
>     cd libmicrohttpd-0.9.50/

For best result use separate build directory:
mkdir build && cd build

> 12.
>     CFLAGS='-Os -s' ./configure --disable-doc --disable-examples
>     --disable-messages --enable-https=no --disable-bauth --disable-dauth
>     --disable-curl

Put any build flags to configure parameters. In this case any subsequent
reconfigure will be done with same parameters:
../libmicrohttpd-0.9.50/configure --disable-doc --disable-examples
--disable-messages --enable-https=no --disable-bauth --disable-dauth
--disable-curl CFLAGS='-Os -s'

> 13.
>     :: You will see a report like:
> 14.
>     :: ...
> 15.
>     :: configure: libmicrohttpd 0.9.50 Configuration Summary:
> 16.
>     ::   Cross-compiling:   no
> 17.
>     ::   Operating System:  mingw32
> 18.
>     ::   Threading lib:     w32
> 19.
>     ::   libcurl (testing): no, many unit tests will not run
> 20.
>     ::   Target directory:  /usr/local
> 21.
>     ::   Messages:          no
> 22.
>     ::   Basic auth.:       no
> 23.
>     ::   Digest auth.:      no
> 24.
>     ::   Postproc:          yes
> 25.
>     ::   HTTPS support:     no (disabled)
> 26.
>     ::   poll support:      no
> 27.
>     ::   epoll support:     no
> 28.
>     ::   build docs:        no
> 29.
>     ::   build examples:    no
> 30.
>     make

To use more than once CPU core:
make -j $NUMBER_OF_PROCESSORS

> 31.
>     make install-strip
> 32.
>     :: Finally, get compiled shared library at
>     "C:\msys32\usr\local\bin\" and enjoy it! :-)
> 33.
>     :: If you want to rebuild MHD, do:
> 34.
>     ::
> 35.
>     :: $ make clean
> 36.
>     :: $ CFLAGS='-Os -s' ./configure --disable-doc --disable-examples
>     --disable-messages --enable-https=no --disable-bauth --disable-dauth
>     --disable-curl
> 37.
>     :: $ make -j8
> 38.
>     :: $ make install-strip
> 
> 

Same corrections and one additional:
> 2. attachment:
> 
>  1.
>     :: Get and install MinGW-w64 32 bits:
>     
> http://downloads.sourceforge.net/project/msys2/Base/i686/msys2-i686-20150916.exe
>  2.
>      
>  3.
>     pacman -S mingw-w64-i686-gcc
>  4.
>     pacman -S make
>  5.
>     pacman -S wget
>  6.
>     pacman -S tar
>  7.
>     pacman -S mingw-w64-i686-curl
>  8.
>     pacman -S mingw-w64-i686-libgcrypt

Use explicitly:
     pacman -S mingw-w64-i686-libgcrypt mingw-w64-i686-libgnutls

>  9.
>     :: add path "C:\msys32\mingw32\bin" (without quotes) into %PATH%
>     enviroment variable
> 10.
>     cd ~
> 11.
>     wget -c
>     http://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-0.9.50.tar.gz
> 12.
>     tar -zxvf libmicrohttpd-0.9.50.tar.gz
> 13.
>     cd libmicrohttpd-0.9.50/
> 14.
>     CFLAGS='-Os -s' ./configure
> 15.
>     :: You will see a report like:
> 16.
>     :: ...
> 17.
>     :: configure: libmicrohttpd 0.9.50 Configuration Summary:
> 18.
>     ::   Cross-compiling:   no
> 19.
>     ::   Operating System:  mingw32
> 20.
>     ::   Threading lib:     w32
> 21.
>     ::   libcurl (testing): yes
> 22.
>     ::   Target directory:  /usr/local
> 23.
>     ::   Messages:          yes
> 24.
>     ::   Basic auth.:       yes
> 25.
>     ::   Digest auth.:      yes
> 26.
>     ::   Postproc:          yes
> 27.
>     ::   HTTPS support:     yes (using libgnutls and libgcrypt)
> 28.
>     ::   poll support:      no
> 29.
>     ::   epoll support:     no
> 30.
>     ::   build docs:        yes
> 31.
>     ::   build examples:    yes
> 32.
>     ::
> 33.
>     :: configure: HTTPS subsystem configuration:
> 34.
>     ::   License         :  LGPL only
> 35.
>     make
> 36.
>     make install-strip
> 37.
>     :: Finally, get compiled shared library at
>     "C:\msys32\usr\local\bin\" and enjoy it! :-)
> 38.
>      
> 39.
>     :: If you want to rebuild MHD, do:
> 40.
>     ::
> 41.
>     :: $ make clean
> 42.
>     :: $ CFLAGS='-Os -s' ./configure
> 43.
>     :: $ make -j8
> 44.
>     :: $ make install-strip
> 
> 
> On Fri, Jun 10, 2016 at 4:30 PM, silvioprog <address@hidden
> <mailto:address@hidden>> wrote:
> 
>     Hello Peter,
> 
>     I have a bat that makes MHD and you can choose between the smallest
>     (just the HTTP server, no HTTPS, messages, auth etc.) and fullest
>     version (full HTTP server, HTTPS, messages, auth etc.).
> 
>     I'm away from my development PC, but I'll send it for you ASAP ...
> 
>     On Fri, Jun 10, 2016 at 12:01 PM, Weber, Peter (Wilken Software
>     Engineering GmbH) <address@hidden
>     <mailto:address@hidden>> wrote:
> 
>         Hello!
> 
>         At first, thanks for your work on libmicrohttpd. I searched some
>         time
>         for a small http-library it does it's job well :)
> 
> 
>         I want use libmicrohttpd on GNU/Linux and Windows with encryption.
>         Everything works well on GNU/Linux. On Windows I used the prebuild
>         library[1], but recognized that MHD_FEATURE_SSL is turned of and
>         libgcrypt and libgnutls are not included (probably for space
>         reasons?).
> 
>         Is there and well written and current guide for building the
>         required
>         libraries on Windows with MinGW and MSYS? Or even better, is there a
>         prebuild library including encryption?
> 
>         Currently I'm trying to follow this[2], but it doesn't look like the
>         definitive guide. I'm pretty sure nearly everyone nowadays need
>         encryption.
> 
>         Thanks
>         Peter
> 
>         [1] Support for SSL3 and TLS (requires libgcrypt and libgnutls,
>         optional)
>         [2] 
> https://lists.gnu.org/archive/html/libmicrohttpd/2010-01/msg00014.h
>         tml
>         
> <https://lists.gnu.org/archive/html/libmicrohttpd/2010-01/msg00014.html>
> 
> 
> -- 
> Silvio Clécio

-- 
Best Wishes,
Evgeny Grin

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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