mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
75 lines
2.4 KiB
Plaintext
75 lines
2.4 KiB
Plaintext
About
|
|
=====
|
|
|
|
GNU libmicrohttpd is a GNU package offering a C library that provides
|
|
a compact API and implementation of an HTTP 1.1 web server (HTTP 1.0
|
|
is also supported). GNU libmicrohttpd only implements the HTTP 1.1
|
|
protocol. The main application must still provide the application
|
|
logic to generate the content.
|
|
|
|
GNU libmicrohttpd is dual-licensed under the GNU Lesser General Public
|
|
License (LGPLv2.1+) and the eCos License. See COPYING for details.
|
|
|
|
|
|
Joining GNU
|
|
===========
|
|
|
|
This is a GNU program, developed by the GNU Project and part of the
|
|
GNU Operating System. If you are the author of an awesome program and
|
|
want to join us in writing Free Software, please consider making it an
|
|
official GNU program and become a GNU maintainer. You can find
|
|
instructions on how to do so at http://www.gnu.org/help/evaluation.
|
|
We are looking forward to hacking with you!
|
|
|
|
|
|
Installation
|
|
============
|
|
|
|
See INSTALL for generic installation instructions.
|
|
|
|
If you are using Git, run "./bootstrap" to create configure.
|
|
|
|
In order to run the testcases, you need a recent version of libcurl.
|
|
libcurl is not required if you just want to install the library.
|
|
|
|
Especially for development, do use the MHD_USE_ERROR_LOG option to get
|
|
error messages.
|
|
|
|
|
|
Configure options
|
|
=================
|
|
|
|
|
|
If you are concerned about space, you should set "CFLAGS" to "-Os
|
|
-fomit-frame-pointer" to have gcc generate tight code.
|
|
|
|
You can use the following options to disable certain MHD features:
|
|
|
|
--disable-https: no HTTPS / TLS / SSL support (significant reduction)
|
|
--disable-messages: no error messages (they take space!)
|
|
--disable-postprocessor: no MHD_PostProcessor API
|
|
--disable-dauth: no digest authentication API
|
|
--disable-epoll: no support for epoll, even on Linux
|
|
|
|
The resulting binary should be about 30-40k depending on the platform.
|
|
|
|
|
|
Portability
|
|
===========
|
|
|
|
The latest version of libmicrohttpd will try to avoid SIGPIPE on its
|
|
sockets. This should work on OS X, Linux and recent BSD systems (at
|
|
least). On other systems that may trigger a SIGPIPE on send/recv, the
|
|
main application should install a signal handler to handle SIGPIPE.
|
|
|
|
libmicrohttpd should work well on GNU/Linux, W32, FreeBSD, Darwin,
|
|
NetBSD, OpenBSD, Solaris/OpenIndiana, and z/OS.
|
|
Note that HTTPS is not supported on z/OS (yet). We also have reports
|
|
of users using it on vxWorks.
|
|
|
|
|
|
Development Status
|
|
==================
|
|
|
|
This is a stable release for libmicrohttpd.
|