summaryrefslogtreecommitdiff
path: root/src/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* [core] h1.[ch] collect some HTTP/1.x specific codeGlenn Strauss2023-05-031-0/+1
|
* [meson] check FORCE_{WOLFSSL,MBEDTLS}_CRYPTOGlenn Strauss2023-05-031-3/+7
| | | | | | | check FORCE_WOLFSSL_CRYPTO and FORCE_MBEDTLS_CRYPTO when choosing cryptolib todo: should also apply to lighttpd autoconf, CMake, SCONS builds
* [core] use posix_spawn() where availableGlenn Strauss2023-05-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | use posix_spawn() where available use posix_spawn_file_actions_addfchdir_np() where available Using posix_spawn() reduces initial execution overhead of CGI programs; posix_spawn() is often faster than application code wrapping and calling traditional fork(),execve(). (history: fdevent.c posix_spawn code based on fdio.c:fdio_ipc_spawn() from 2015 on one of my unpublished branches. The inability to chdir() delayed inclusion in lighttpd, as the CGI specification says: "The current working directory for the script SHOULD be set to the directory containing the script." e.g. chdir() to target program directory before CGI execution) posix_spawn_file_actions_addfchdir_np() is a new(er) extension supported in glibc 2.29+, musl libc, FreeBSD ≥ 13.1, macOS ≥ 10.15 according to https://cygwin.com/pipermail/cygwin/2023-April/253505.html https://cygwin.com/pipermail/cygwin/2023-April/253526.html https://sourceware.org/bugzilla/show_bug.cgi?id=17405 POSIX Issue 8 plans to include posix_spawn_file_actions_addfchdir(): https://www.austingroupbugs.net/view.php?id=1208
* [meson] static build option under cygwinGlenn Strauss2023-05-031-25/+43
| | | | | | - static build option under cygwin - _WIN32 build more modules with BUILD_STATIC - _WIN32 remove older build config
* [mod_h2] HTTP/2 module: mod_h2Glenn Strauss2023-05-031-0/+1
| | | | | | (mod_h2 module now available as build artifact of shared lib build, but is not yet used by lighttpd, in order to give package maintainers a chance to update release packages to contain mod_h2)
* [build] skip build separate modules for built-insGlenn Strauss2023-02-131-12/+0
| | | | | | | | | skip building separate modules for built-in modules Small modules with minimal dependencies are now built-in to lighttpd. All 12 of these modules have a memory footprint that is approximately the same as 1 single module built as a .dll due to mandatory minimum binary sections and memory page sizes (4k each).
* [build] modify arguments to updated LEMON parserGlenn Strauss2023-01-091-1/+1
|
* [meson] fix typo in sbindirGlenn Strauss2023-01-041-4/+4
|
* [meson] remove t/test_mod_evasive.cGlenn Strauss2023-01-031-1/+0
|
* [build] omit unused vector.[ch] from buildGlenn Strauss2022-12-101-2/+0
| | | | (no longer used at the moment)
* [core] build core modules into lighttpd executableGlenn Strauss2022-12-051-0/+19
| | | | | | | | | | | | | | | | | In dynamic build of lighttpd, at runtime each loaded lighttpd module .so takes at least (5) 4k memory pages on x86_64. That is at least 20k per module. Building 10 small core modules into lighttpd adds less than 16k .text total, and adding mod_fastcgi and mod_scgi totals less than 20k .text (plus an extra 4k .rodata page). The end result is that memory usage is almost the same if only mod_staticfile is used, and 20k or so is saved for each additional module used if among those built into lighttpd executable. For now, the standalone .so modules continue to be built, even though not used by the lighttpd executable. This is done in order to give distros time to update packaging scripts and transition to not expecting the builtin module artifacts to be produced or installed as part of the distro lighttpd package.
* [core] remove libev fdevent option (ignore)Glenn Strauss2022-12-031-5/+0
| | | | lighttpd directly uses native OS event handlers
* [multiple] remove deprecated modulesGlenn Strauss2022-11-301-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove deprecated modules: mod_evasive mod_secdownload mod_uploadprogress mod_usertrack These scheduled lighttpd behavior changes have been announced over the past year: * Continue gradual deprecation of "mini-application" lighttpd modules for which mod_magnet lua implementations are better and more flexible. Please post on lighttpd forums to share feedback if you use these modules. Forums: https://redmine.lighttpd.net/projects/lighttpd/boards * Deprecated: mod_evasive has been removed. mod_evasive can be replaced by mod_magnet and a few lines of lua: Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_evasive https://wiki.lighttpd.net/AbsoLUAtion#Fight-DDoS https://wiki.lighttpd.net/AbsoLUAtion#Mod_Security * Deprecated: mod_secdownload has been removed. mod_secdownload can be replaced by mod_magnet and a few lines of lua: Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_secdownload mod_secdownload historically uses insecure MD5 though SHA1, SHA256 available * Deprecated: mod_uploadprogress has been removed. mod_uploadprogress can be replaced by mod_magnet and a few lines of lua: Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_uploadprogress * Deprecated: mod_usertrack has been removed. mod_usertrack can be replaced by mod_magnet and a few lines of lua: Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_usertrack mod_usertrack historically uses insecure MD5.
* [build] do not check for pthread.hRolf Eike Beer2022-11-231-1/+0
| | | | | | This header and the define are not used anywhere. github: #121
* [meson] remove use of non-existent win32 xgetopt.cGlenn Strauss2022-11-231-3/+1
|
* [meson] use files()Rosen Penev2022-11-231-5/+5
| | | | | | | | Allows muon's fmt to sort files alphabetically. Signed-off-by: Rosen Penev <rosenp@gmail.com> github: #120
* [meson] replace most has_function calls with loopRosen Penev2022-11-231-83/+61
| | | | | | | | | | | | Shorter and less error prone. Removed the get() calls as has_function will fail if the header is missing anyway. Fixed clock_gettime header check. Needs _GNU_SOURCE to detect. Co-authored-by: Glenn Strauss <gstrauss@gluelogic.com> Signed-off-by: Rosen Penev <rosenp@gmail.com> github: closes #120
* [meson] fix wrong arrayRosen Penev2022-11-231-1/+1
| | | | | | | | | | | Fixes meson error: Unknown method "found" in object <[ArrayHolder] holds [list]: [<ExternalLibrary fam: False>]> of type ArrayHolder. Signed-off-by: Rosen Penev <rosenp@gmail.com> github: #120
* [meson] simplify header checkingRosen Penev2022-09-231-30/+37
| | | | | | | | Put everything in a function. Less error prone. Signed-off-by: Rosen Penev <rosenp@gmail.com> github: #116
* [meson] turn pcre into a combo optionRosen Penev2022-09-231-22/+19
| | | | | | | | | A single with_pcre option is better than with_pcre2 and with_pcre, but retain with_pcre2 for compatibility with existing usage Signed-off-by: Rosen Penev <rosenp@gmail.com> github: #116
* [meson] use feature optionsRosen Penev2022-09-231-291/+68
| | | | | | | | | | | | | Simpler. Fixed up several wrong stuff such as zstd - wrong name zlib - extra windows handling unnecessary; dependency('zlib') is special and handles those cases sasl2 - wrong name Signed-off-by: Rosen Penev <rosenp@gmail.com> github: #116
* [meson] set LIGHTTPD_VERSION_ID per versionGlenn Strauss2022-09-231-1/+1
| | | | | | | lighttpd code is not tested for binary compatibility between releases Set a per-version LIGHTTPD_VERSION_ID to try to detect modules built against a different version of lighttpd.
* [tests] test stubs for http_header.c and http_kv.cGlenn Strauss2022-06-071-2/+2
|
* [build] -D_DEFAULT_SOURCE consistency in buildsGlenn Strauss2022-03-291-0/+1
| | | | (previously defined in src/CMakeLists.txt)
* [core] isolate plugins_*() funcs to main serverGlenn Strauss2022-02-191-1/+1
| | | | | (future: might rename plugin.c -> plugins.c since the functions contained within are all plugins_*())
* [core] sys-setjmp.[ch]Glenn Strauss2022-02-191-0/+1
| | | | wrap system setjmp or compiler C try/catch mechanism
* [mod_deflate] --with-libdeflate to use libdeflateGlenn Strauss2022-02-141-1/+11
| | | | | | configure --with-libdeflate option to use libdeflate (must also configure --enable-mmap for mod_deflate to use libdeflate on input files larger than 64kB; libdeflate not used on files <= 64kB)
* [build] meson -Dlua_version=... to specify lua verGlenn Strauss2022-01-211-21/+21
| | | | | | | (thx herbmillerjr) x-ref: https://github.com/gentoo/gentoo/pull/23857
* [build] meson: fix typo in variable nameGlenn Strauss2022-01-201-1/+1
|
* [mod_mbedtls] changes to build with mbedtls 3.0.0Glenn Strauss2022-01-191-1/+1
| | | | | | x-ref: "issues migrating lighttpd mod_mbedtls to mbedtls 3.0.0" https://github.com/ARMmbed/mbedtls/issues/5331
* [build] check headers before some funcsGlenn Strauss2022-01-101-22/+44
| | | | skip some func checks (slow) if expected header does not exist
* [build] collect Sun-specific headers and funcsGlenn Strauss2022-01-081-1/+1
| | | | sendfilev() is Solaris-specific (and other OS have other alternatives)
* [build] collect Sun-specific headers and funcsGlenn Strauss2022-01-081-4/+4
|
* [build] Haiku build fix (fixes #3136)David Carlier2022-01-061-0/+2
| | | | | | | | | | | Haiku needs to link to additional lib -lnetwork for socket funcs (similar to Solaris need for -lsocket -lnsl) (edited: gstrauss) x-ref: "haiku build fix proposal" https://redmine.lighttpd.net/issues/3136
* [build] feature consistency between build typesGlenn Strauss2022-01-051-2/+0
|
* [core] server.core-files support for solaris (fixes #3135)David Carlier2022-01-051-0/+5
| | | | | | | | | | | | server.core-files support for solaris based systems. - using setpflags and disable process tracing protection for the current process. (edited: gstrauss) x-ref: "server.core-files support on Solaris based system" https://redmine.lighttpd.net/issues/3135
* [build] meson crypt and dl detection on *BSD (fixes #3133)Glenn Strauss2022-01-041-1/+11
| | | | | | | | (thx devnexen) x-ref: "netbsd meson build fix" https://redmine.lighttpd.net/issues/3133
* [build] cmake: skip "-Wl,-export-dynamic" IllumosGlenn Strauss2022-01-041-1/+1
| | | | | | | | | | (thx devnexen) cmake: do not pass "-Wl,-export-dynamic" to Sun ld on Illumos x-ref: "Solaris build fix proposal" https://redmine.lighttpd.net/issues/3130
* [build] meson misdetects mempcpy on some platformsGlenn Strauss2022-01-041-1/+1
| | | | | | | | | | | | (thx devnexen) x-ref: "Meson misdetects some functions with mingw-w64" https://github.com/mesonbuild/meson/issues/3672 "Solaris build fix proposal" https://redmine.lighttpd.net/issues/3130 "netbsd meson build fix" https://redmine.lighttpd.net/issues/3133
* [build] cmake,meson socket libs for win32, Illumos (fixes #3130)Glenn Strauss2022-01-041-11/+16
| | | | | | | | | | (thx devnexen) cmake, meson: specify socket libs for win32, Illumos x-ref: "Solaris build fix proposal" https://redmine.lighttpd.net/issues/3130
* [build] meson: find pcre2 w/o pkg-configGlenn Strauss2022-01-041-7/+17
| | | | meson: find pcre2 on Illumos w/o pkg-config
* [build] default --with-pcre2 unless --with-pcreGlenn Strauss2022-01-031-1/+1
|
* [multiple] remove long-deprecated modulesGlenn Strauss2022-01-031-48/+0
| | | | | x-ref: https://wiki.lighttpd.net/Docs_ConfigurationOptions#Deprecated
* [build] feature consistency between build typesGlenn Strauss2022-01-031-14/+3
| | | | | upate config.h.cmake for missing defines minor adjustments to other builds for features consistency
* [core] server.core-files support on FreeBSD (fixes #3128)Glenn Strauss2022-01-011-0/+1
| | | | | | | | (thx devnexen) x-ref: "server.core-files support on FreeBSD proposal" https://redmine.lighttpd.net/issues/3128
* [build] do not check for prctl; HAVE_PRCTL unusedGlenn Strauss2022-01-011-1/+0
|
* [build] check getxattr before attr_get and -lattrGlenn Strauss2021-12-101-0/+9
| | | | | | | check getxattr before attr_get and -lattr; do not link with -lattr if getxattr is available from glibc (modern glibc systems do not require libattr-devel build dependency)
* [meson] need -lrt with glibc < 2.17 (fixes #3120)Glenn Strauss2021-12-071-0/+4
| | | | | | | | (thx gzpapp at gmail dot com) x-ref: "Building on glibc 2.16 where clock_gettime() is in librt.so" https://redmine.lighttpd.net/issues/3120
* [core] pcre2 support (--with-pcre2)Glenn Strauss2021-11-221-2/+9
| | | | | | x-ref: "lighttpd: depends on obsolete pcre3 library" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000063
* [tests] combine tests into test_common.cGlenn Strauss2021-11-171-57/+20
| | | | | | combine common components tests into test_common.c combine into a single executable to reduce compilation/link redundancy