summaryrefslogtreecommitdiffhomepage
path: root/auto/lib (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-07-19Configure: fixed PCRE requirement check by ngx_http_rewrite_module.Samuel Martin1-1/+1
The http_rewrite module cannot be selected when http is disabled. Fixed the PCRE check condition to avoid irrelevant check failure. This is a regression from 4d874b4d82ed. Signed-off-by: Samuel Martin <s.martin49@gmail.com>
2016-12-24Win32: compatiblity with OpenSSL 1.1.0.Maxim Dounin2-7/+22
OpenSSL 1.1.0 now uses normal "nmake; nmake install" instead of using custom "ms\do_ms.bat" script and "ms\nt.mak" makefile. And Configure now requires --prefix to be absolute, and no longer derives --openssldir from prefix (so it's specified explicitly). Generated libraries are now called "libcrypto.lib" and "libssl.lib" instead of "libeay32.lib" and "ssleay32.lib". Appropriate tests added to support both old and new variants. Additionally, openssl/lhash.h now triggers warning C4090 ('function' : different 'const' qualifiers), so the warning was disabled.
2016-12-16Configure: detect nginx version for nginx.pm at make time.Ruslan Ermilov1-4/+5
2016-12-07Perl: removed special environment handling for the perl module.Maxim Dounin1-3/+3
In Perl 5.8.6 the default was switched to use putenv() when used as embedded library unless "PL_use_safe_putenv = 0" is explicitly used in the code. Therefore, for modern versions of Perl it is no longer necessary to restore previous environment when calling perl_destruct().
2016-10-21Image filter: support for WebP.Valentin Bartenev1-0/+5
In collaboration with Ivan Poluyanov.
2016-10-04Configure: removed the --with-ipv6 option.Maxim Dounin1-11/+9
IPv6 now compiled-in automatically if support is found. If there is a need to disable it for some reason, --with-cc-opt="-DNGX_HAVE_INET6=0" can be used for this.
2016-09-20Perl: pass additional linker options to perl module.Konstantin Pavlov2-1/+4
Previously flags passed by --with-ld-opt were not used when building perl module, which meant hardening flags provided by package build systems were not applied.
2015-10-23Configure: remove auto/lib/test, unused since nginx-0.1.2.Piotr Sikora1-40/+0
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-06-30Internal md5 and sha1 implementations are now always used.Maxim Dounin12-521/+0
This reduces the number of moving parts in ABI compatibility checks. Additionally, it also allows to use OpenSSL in FIPS mode while still using md5 for non-security tasks.
2016-03-31SSL: initialization changes for OpenSSL 1.1.0.Maxim Dounin1-1/+1
OPENSSL_config() deprecated in OpenSSL 1.1.0. Additionally, SSL_library_init(), SSL_load_error_strings() and OpenSSL_add_all_algorithms() are no longer available if OPENSSL_API_COMPAT is set to 0x10100000L. The OPENSSL_init_ssl() function is now used instead with appropriate arguments to trigger the same behaviour. The configure test changed to use SSL_CTX_set_options(). Deinitialization now happens automatically in OPENSSL_cleanup() called via atexit(3), so we no longer call EVP_cleanup() and ENGINE_cleanup() directly.
2016-02-26Dynamic modules: perl.Ruslan Ermilov4-5/+11
2016-02-19Configure: skip building OpenSSL documentation to conserve time.Sergey Kandaurov1-1/+1
The install_sw target first appeared in OpenSSL 0.9.7e and is documented since OpenSSL 1.0.0 as the way to install the OpenSSL software without documentation.
2016-02-18Configure: fixed static nginx build with OpenSSL (ticket #903).Ruslan Ermilov1-7/+8
Before 7142b04337d6, it was possible to build the OpenSSL library along with nginx, and link nginx statically with this library (--with-openssl=DIR --with-ld-opt=-static --with-http_ssl_module). This was broken on Linux by not adding -ldl after -lcrypto. The fix also makes it possible to link nginx statically on Linux with the system OpenSSL library, which never worked before.
2016-02-13Win32: simplified and improved handling of MSVC versions.Maxim Dounin8-16/+16
Now we always set NGX_CC_NAME to "msvc", and additionally test compiler version as reported by "cl" in auto/cc/msvc (the same version is also available via the _MSC_VER define). In particular, this approach allows to properly check for C99 variadic macros support, which previously was not used with MSVC versions not explicitly recognized. Now unneeded wildcards in NGX_CC_NAME tests for msvc removed accordingly, as well as unused wildcards for owc and icc.
2016-02-04Dynamic modules.Maxim Dounin4-7/+26
The auto/module script is extended to understand ngx_module_link=DYNAMIC. When set, it links the module as a shared object rather than statically into nginx binary. The module can later be loaded using the "load_module" directive. New auto/module parameter ngx_module_order allows to define module loading order in complex cases. By default the order is set based on ngx_module_type. 3rd party modules can be compiled dynamically using the --add-dynamic-module configure option, which will preset ngx_module_link to "DYNAMIC" before calling the module config script. Win32 support is rudimentary, and only works when using MinGW gcc (which is able to handle exports/imports automatically). In collaboration with Ruslan Ermilov.
2016-02-04Dynamic modules: dlopen() support.Maxim Dounin1-2/+1
2015-11-30Configure: improved workaround for system perl on OS X.Ruslan Ermilov1-1/+1
The workaround from baf2816d556d stopped to work because the order of "-arch x86_64" and "-arch i386" has changed.
2015-11-23Configure: fixed using OpenSSL include paths.Maxim Dounin1-0/+1
2015-06-10Configure: search OpenSSL in a bunch of standard places.Ruslan Ermilov1-0/+48
2015-03-13Configure: removed obsolete threads bits.Ruslan Ermilov1-5/+0
2014-07-31Configure: remove outdated and unused patch.zlib.h.Piotr Sikora1-10/+0
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2014-06-26Configure: restored "nginx/" missed in 6e4bb1d6679d.Maxim Dounin1-1/+2
2014-06-26Configure: style.Maxim Dounin1-2/+4
2014-06-17Configure: workaround for system perl on OS X (ticket #576).Maxim Dounin1-0/+5
2014-04-30Configure: typo fixed.Maxim Dounin1-1/+1
2013-11-11Configure: call "make distclean" for libatomic.Piotr Sikora1-1/+3
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-11-04Configure: call "make clean" for OpenSSL only if Makefile exists.Piotr Sikora1-1/+1
This change allows to build nginx against git checkout of OpenSSL. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-09-04Win32: MinGW GCC compatibility.Maxim Dounin4-11/+40
Several warnings silenced, notably (ngx_socket_t) -1 is now checked on socket operations instead of -1, as ngx_socket_t is unsigned on win32 and gcc complains on comparison. With this patch, it's now possible to compile nginx using mingw gcc, with options we normally compile on win32.
2013-09-04Win32: Borland C compatibility fixes.Maxim Dounin1-2/+2
Several false positive warnings silenced, notably W8012 "Comparing signed and unsigned" (due to u_short values promoted to int), and W8072 "Suspicious pointer arithmetic" (due to large type values added to pointers). With this patch, it's now again possible to compile nginx using bcc32, with options we normally compile on win32 minus ipv6 and ssl.
2013-09-04Win32: Open Watcom C compatibility fixes.Maxim Dounin1-1/+1
Precompiled headers are disabled as they lead to internal compiler errors with long configure lines. Couple of false positive warnings silenced. Various win32 typedefs are adjusted to work with Open Watcom C 1.9 headers. With this patch, it's now again possible to compile nginx using owc386, with options we normally compile on win32 minus ipv6 and ssl.
2013-08-23Updated PCRE used for win32 builds.Maxim Dounin3-3/+6
As of PCRE 8.33, config.h.generic no longer contains boolean macros. Two of them (SUPPORT_PCRE8 and HAVE_MEMMOVE) were added to appropriate makefiles. This allows PCRE 8.33 to compile and don't change anything for previous versions.
2013-08-23Configure: pcre.lib dependencies fix.Maxim Dounin1-1/+2
Previously, an attempt to build pcre.lib on win32 before anything else failed due to no pcre.h.
2013-07-31Configure: fixed autotest cleanup commands.Sergey Kandaurov1-1/+1
Previously, if configured with --with-cc="clang -g", the autotest.dSYM directories were left unremoved.
2013-07-11Configure: perl Makefile rebuild after configure.Maxim Dounin1-0/+1
The $NGX_AUTO_CONFIG_H added to perl module Makefile dependencies to make sure it's always rebuild after a configure. It is needed as we expand various variables used for Makefile generation during configure (in particular, nginx version).
2013-04-19Configure: fixed perl Makefile generation (ticket #334).Maxim Dounin1-1/+1
Dependancy tracking introduced in r5169 were not handled absolute path names properly. Absolute names might appear in CORE_DEPS if --with-openssl or --with-pcre configure arguments are used to build OpenSSL/PCRE libraries. Additionally, revert part of r5169 to set NGX_INCS from Makefile variables. Makefile variables have $ngx_include_opt in them, which might result in wrong include paths being used. As a side effect, this also restores build with --with-http_perl_module and --without-http at the same time.
2013-04-18Configure: uniformly refer to libs when searching for md5 and sha1.Ruslan Ermilov2-4/+4
2013-04-10Configure: fixed nginx.so rebuild (broken by r5145).Maxim Dounin1-1/+2
To avoid further breaks it's now done properly, all the dependencies are now passed to Makefile.PL. While here, fixed include list passed to Makefile.PL to use Makefile variables rather than a list expanded during configure.
2013-03-28Simplified nginx version maintenance.Ruslan Ermilov1-1/+7
It's no longer necessary to update src/http/modules/perl/nginx.pm when version is bumped, as it's now derived from src/core/nginx.h.
2013-03-28Configure: fixed perl module make rules.Ruslan Ermilov2-2/+4
Filename extension used for dynamically loaded perl modules isn't necessarily ".so" (e.g., it's ".bundle" on Mac OS X). This fixes "make" after "make" unnecessarily rebuilding perl module.
2013-03-28Configure: improved make dependencies for perl module.Ruslan Ermilov1-5/+3
Added missing dependencies for perl module's Makefile. Simplified dependencies for perl module nginx.so: it depends on Makefile that in turn depends on other perl bits.
2013-03-28Configure: improved layout of the generated makefile.Ruslan Ermilov1-12/+12
No functional changes.
2013-02-15Configure: rebuild perl module nginx.so if headers are changed.Maxim Dounin1-1/+2
Note: the "-p" argument of cp(1) dropped intentionally, to force nginx.so rebuild. It is considered too boring to properly list all dependencies in Makefile.PL.
2013-01-24GeoIP: IPv6 support.Ruslan Ermilov1-0/+12
When using IPv6 databases, IPv4 addresses are looked up as IPv4-mapped IPv6 addresses. Mostly based on a patch by Gregor Kališnik (ticket #250).
2013-01-24Configure: fixed GeoIP library detection.Ruslan Ermilov1-1/+4
2013-01-24Configure: fixed style of include directories.Ruslan Ermilov2-2/+2
2012-12-23Configure: added the NGX_ZLIB define.Valentin Bartenev1-1/+4
This was introduced for conditional compilation of the code that requires the zlib library.
2012-12-12Configure: better check for PCRE JIT.Maxim Dounin1-0/+1
On Mac OS X system toolchain by default prefers include files from /usr/local/include, but libraries from /usr/lib. This might result in various problems, in particular the one outlined below. If the PCRE library is installed into /usr/local/, this results in pcre.h being used from /usr/local/include (with PCRE_CONFIG_JIT defined), but libpcre from /usr/lib (as shipped with the OS, without pcre_free_study() symbol). As a result build fails as we use pcre_free_study() function if we try to compile with PCRE JIT support. Obvious workaround is to the root cause is to ask compiler to prefer library from /usr/local/lib via ./configure --with-ld-opt="-L/usr/local/lib". On the other hand, in any case it would be good to check if the function we are going to use is available, hence the change. See thread here for details: http://mailman.nginx.org/pipermail/nginx-devel/2012-December/003074.html Prodded by Piotr Sikora.
2012-12-03Fixed build with embedded perl in certain setups (ticket #48).Ruslan Ermilov1-3/+1
2012-09-27Configure: additional test for ExtUtils::Embed perl module presence.Andrey Belov1-1/+9
Now perl configure will correctly fail if ExtUtils::Embed perl module is not present in the system (found on Amazon Linux AMI, as of release 2012.03).
2012-09-11Configure: fixed make macros to use parentheses instead of braces.Maxim Dounin2-2/+2
Parentheses are more portable, in particular they are understood by nmake while braces aren't.