Configure revision 9ecd39b2ca51fe83b662e01efb56a8f3ed2c3b86
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync# Copyright (C) 2013-2017 Internet Systems Consortium, Inc. ("ISC")
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# This Source Code Form is subject to the terms of the Mozilla Public
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# License, v. 2.0. If a copy of the MPL was not distributed with this
c58f1213e628a545081c70e26c6b67a841cff880vboxsync# file, You can obtain one at http://mozilla.org/MPL/2.0/.
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# This script builds nmake and visual studio build files
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncrequire 5.000;
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# files to configure
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncmy $platformfile = "..\\lib\\isc\\win32\\include\\isc\\platform.h";
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncmy @filelist = ("..\\bin\\check\\win32\\checktool.dsp",
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsyncmy @projectlist = ("..\\bin\\check\\win32\\checkconf.vcxproj",
65697a26b524640b83828b715160c798c43a0424vboxsync "..\\bin\\check\\win32\\checkconf.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\check\\win32\\checktool.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\check\\win32\\checkzone.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\confgen\\win32\\confgentool.vcxproj.filters",
65697a26b524640b83828b715160c798c43a0424vboxsync "..\\bin\\confgen\\win32\\ddnsconfgen.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\bin\\confgen\\win32\\rndcconfgen.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\dnssec\\win32\\dnssectool.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\dnssec\\win32\\dsfromkey.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\dnssec\\win32\\importkey.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\dnssec\\win32\\keyfromlabel.vcxproj.filters",
e18d16f31765f000e2a4a111a3df6d211cd825f1vboxsync "..\\bin\\dnssec\\win32\\signzone.vcxproj.filters",
5761ae063fc6a6dcc410a6b56ddc286ba16855c8vboxsync "..\\bin\\nsupdate\\win32\\nsupdate.vcxproj.filters",
5761ae063fc6a6dcc410a6b56ddc286ba16855c8vboxsync "..\\bin\\pkcs11\\win32\\pk11destroy.vcxproj.filters",
5761ae063fc6a6dcc410a6b56ddc286ba16855c8vboxsync "..\\bin\\pkcs11\\win32\\pk11keygen.vcxproj.filters",
5761ae063fc6a6dcc410a6b56ddc286ba16855c8vboxsync "..\\bin\\pkcs11\\win32\\pk11list.vcxproj.filters",
5761ae063fc6a6dcc410a6b56ddc286ba16855c8vboxsync "..\\bin\\pkcs11\\win32\\pk11tokens.vcxproj.filters",
0dd6dfbebcda0af90da4413aaea5f3b9d1817556vboxsync "..\\bin\\tools\\win32\\genrandom.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\bin\\tools\\win32\\ischmacfixup.vcxproj.filters",
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync "..\\bin\\tools\\win32\\journalprint.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\tools\\win32\\nsec3hash.vcxproj.filters",
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync "..\\bin\\tools\\win32\\rrchecker.vcxproj.filters",
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsync "..\\bin\\tests\\atomic\\win32\\t_atomic.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\dst\\win32\\t_dst.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\master\\win32\\t_master.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\mem\\win32\\t_mem.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\hashes\\win32\\t_hashes.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\names\\win32\\t_names.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\rbt\\win32\\t_rbt.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\resolver\\win32\\t_resolver.vcxproj",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\resolver\\win32\\t_resolver.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\sockaddr\\win32\\t_sockaddr.vcxproj",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\sockaddr\\win32\\t_sockaddr.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\bigkey.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\feature-test.vcxproj",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\feature-test.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\gencheck.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\keycreate.vcxproj",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\keycreate.vcxproj.filters",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\keydelete.vcxproj",
eb8371e8297aff06a1982468835ff62e1ab77b30vboxsync "..\\bin\\tests\\system\\win32\\keydelete.vcxproj.filters",
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsync "..\\bin\\tests\\system\\win32\\lwtest.vcxproj.filters",
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync "..\\bin\\tests\\system\\win32\\pipequeries.vcxproj",
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsync "..\\bin\\tests\\system\\win32\\pipequeries.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\bin\\tests\\tasks\\win32\\t_tasks.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\tests\\timers\\win32\\t_timers.vcxproj.filters",
65697a26b524640b83828b715160c798c43a0424vboxsync "..\\bin\\tests\\win32\\backtrace_test.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\tests\\win32\\inter_test.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\bin\\tests\\win32\\makejournal.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\bin\\tests\\win32\\rwlock_test.vcxproj.filters",
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsync "..\\bin\\tests\\win32\\shutdown_test.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\tests\\win32\\sock_test.vcxproj.filters",
0dd6dfbebcda0af90da4413aaea5f3b9d1817556vboxsync "..\\bin\\tests\\win32\\task_test.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\tests\\win32\\timer_test.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\bin\\tests\\win32\\inter_test.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\tests\\win32\\rwlock_test.vcxproj.filters",
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsync "..\\bin\\tests\\win32\\shutdown_test.vcxproj.filters",
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsync "..\\bin\\tests\\win32\\sock_test.vcxproj.filters",
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsync "..\\bin\\tests\\win32\\task_test.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\bin\\tests\\win32\\timer_test.vcxproj.filters",
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync "..\\bin\\win32\\BINDInstall\\BINDInstall.vcxproj",
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync "..\\bin\\win32\\BINDInstall\\BINDInstall.vcxproj.filters",
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync "..\\lib\\isccfg\\win32\\libisccfg.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\lib\\samples\\win32\\resolve.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\lib\\samples\\win32\\request.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync "..\\lib\\samples\\win32\\nsprobe.vcxproj.filters",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync "..\\lib\\win32\\bindevt\\bindevt.vcxproj.filters",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# conditions
b0db50948c349fa76655abf252f7946b515e8204vboxsync# general arguments
b0db50948c349fa76655abf252f7946b515e8204vboxsyncmy @optionlist = ("help", "verbose", "legacy", "win32", "x64", "clean");
b0db50948c349fa76655abf252f7946b515e8204vboxsync" legacy (options) process only files for legacy build\n",
b0db50948c349fa76655abf252f7946b515e8204vboxsync" <none> (command) print a summary of the configuration\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" enable-intrinsics enable instrinsic/atomic functions [default=yes]\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" enable-native-pkcs11 use native PKCS#11 for all crypto [default=no]\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" enable-openssl-hash use OpenSSL for hash functions [default=yes]\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" enable-isc-spnego use SPNEGO from lib/dns [default=yes]\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" enable-filter-aaaa enable filtering of AAAA records [default=yes]\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" enable-fixed-rrset enable fixed rrset ordering [default=no]\n",
b0db50948c349fa76655abf252f7946b515e8204vboxsync" enable-developer enable developer build settings [default=no]\n",
b0db50948c349fa76655abf252f7946b515e8204vboxsync" enable-querytrace enable very verbose query trace [default=no]\n",
b0db50948c349fa76655abf252f7946b515e8204vboxsync" enable-rpz-nsip enable rpz-nsip rules [default=yes]\n",
b0db50948c349fa76655abf252f7946b515e8204vboxsync" enable-rpz-nsdname enable rpz-nsdname rules [default=yes]\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" with-system-tests build with system test suite\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" with-openssl[=PATH] build with OpenSSL yes|no|path\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" with-pkcs11[=PATH] build with PKCS#11 support yes|no|provider-path\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" with-cc-alg choose the algorithm for cookies aes|sha1|sha256\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" with-gssapi[=PATH] build with MIT KfW GSSAPI yes|no|path\n",
faee255cc48bfbf17cb9f72fca70c8b9d3020ec4vboxsync" with-libxml2[=PATH] build with libxml2 library yes|no|path\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" with-geoip[=PATH] build with GeoIP support yes|no|path\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" with-python[=COMMAND] specify python interpreter python|command\n",
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync" with-readline[=PATH] build with readline library support yes|no|path\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" with-idn[=PATH] build with IDN kit support yes|no|path\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" with-iconv[=PATH] path of the iconv DLL [default=same than idn]\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" with-zlib[=PATH] build with zlib library yes|no|path\n",
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync" with-vcredist[=PATH] visual C++ redistributable package yes|path\n",
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync" with-tuning=OPTION tune for plaform size (large|default)\n",
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync" with-cross-compile 32 / 64 bit build / host plaforms\n");
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync# Parse arguments
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsyncmy $gssapi_path = "C:\\Program\ Files\\MIT\\Kerberos\\";
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync# no arguments -> usage
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync# parse arguments
0c4004948fca34f2db87e7b38013137e9472c306vboxsync# legacy default to win32
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync# configure the platform
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncif (($want_win32 eq "yes") && ($want_x64 eq "yes")) {
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync die "can't ask for both Win32 and x64 platforms\n";
0c4004948fca34f2db87e7b38013137e9472c306vboxsync $configdefp{"ISC_PLATFORM_BUSYWAITNOP"} = "__asm { rep nop }";
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync $configdefp{"ISC_PLATFORM_BUSYWAITNOP"} = "_mm_pause()";
0c4004948fca34f2db87e7b38013137e9472c306vboxsync# Standard configure variable
0c4004948fca34f2db87e7b38013137e9472c306vboxsync# get the version information
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync if ($name eq 'PRODUCT' || $name eq 'DESCRIPTION') {
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync $version = "$Versions{'MAJORVER'}.$Versions{'MINORVER'}";
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync $version = "$version$Versions{'RELEASETYPE'}$Versions{'RELEASEVER'}";
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# append seen args to CONFIGARGS define
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync my $arg = $_[0];
1e1273b11e17928ec3c3a8fff45121aa7a169413vboxsyncsub myenable {
1e1273b11e17928ec3c3a8fff45121aa7a169413vboxsync my $key = $_[0];
1e1273b11e17928ec3c3a8fff45121aa7a169413vboxsync my $val = $_[1];
1e1273b11e17928ec3c3a8fff45121aa7a169413vboxsync if ($key =~ /^intrinsics$/i) {
1e1273b11e17928ec3c3a8fff45121aa7a169413vboxsync if ($val =~ /^no$/i) {
1e1273b11e17928ec3c3a8fff45121aa7a169413vboxsync } elsif ($key =~ /^native-pkcs11$/i) {
1e1273b11e17928ec3c3a8fff45121aa7a169413vboxsync if ($val =~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^openssl-hash$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($val =~ /^no$/i) {
c28fa006ba669ad8f26ae31d00a338379c04ea1bvboxsync } elsif ($key =~ /^isc-spnego$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^no$/i) {
c28fa006ba669ad8f26ae31d00a338379c04ea1bvboxsync } elsif ($key =~ /^filter-aaaa$/i) {
e74eef731a813e4e06680c587a6759b9974b29c9vboxsync if ($val =~ /^no$/i) {
a8139954a84d6e9090dd3a8371aa788351d45bc3vboxsync } elsif ($key =~ /^fixed-rrset$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^yes$/i) {
a8139954a84d6e9090dd3a8371aa788351d45bc3vboxsync } elsif ($key =~ /^developer$/i) {
36411046d85fccaa66061120a064225fd1b5ae01vboxsync if ($val =~ /^yes$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync } elsif ($key =~ /^querytrace$/i) {
cab115cfa31c584def7069312a1e23c3fc88533bvboxsync if ($val =~ /^yes$/i) {
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync } elsif ($key =~ /^rpz-nsip$/i) {
4c42ef40805493bd6d76103b90f71bcd6dbc0f00vboxsync if ($val =~ /^no$/i) {
4c42ef40805493bd6d76103b90f71bcd6dbc0f00vboxsync } elsif ($key =~ /^rpz-nsdname$/i) {
4c42ef40805493bd6d76103b90f71bcd6dbc0f00vboxsync if ($val =~ /^no$/i) {
36411046d85fccaa66061120a064225fd1b5ae01vboxsync# enable-developer expansion now
36411046d85fccaa66061120a064225fd1b5ae01vboxsync # no atf on WIN32
36411046d85fccaa66061120a064225fd1b5ae01vboxsync # TODO: dlz filesystem
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncsub mywith {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync my $key = $_[0];
4c42ef40805493bd6d76103b90f71bcd6dbc0f00vboxsync my $val = $_[1];
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($key =~ /^tests$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^yes$/i) {
da3503c04ce76e653401396fe2795a9bc2427a1dvboxsync } elsif ($key =~ /^extra-tests$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^system-tests$/i) {
da3503c04ce76e653401396fe2795a9bc2427a1dvboxsync if ($val =~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^samples$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^openssl$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^no$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($val !~ /^yes$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync } elsif ($key =~ /^pkcs11$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync if ($val =~ /^yes$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync } elsif ($val !~ /^no$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync $pkcs11_path =~ s/\.dll$//i;
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync } elsif ($key =~ /^ecdsa$/i) {
9b789c281103a2489742bf32f6ab500e38b2ecd5vboxsync if ($val =~ /^no$/i) {
9b789c281103a2489742bf32f6ab500e38b2ecd5vboxsync } elsif ($val =~ /^yes$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync } elsif ($key =~ /^eddsa$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync if ($val =~ /^no$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync } elsif ($val !~ /^no$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync if ($val =~ /^all$/i) {
e18d16f31765f000e2a4a111a3df6d211cd825f1vboxsync } elsif ($key =~ /^gost$/i) {
e18d16f31765f000e2a4a111a3df6d211cd825f1vboxsync if ($val =~ /^no$/i) {
e18d16f31765f000e2a4a111a3df6d211cd825f1vboxsync } elsif ($val !~ /^no$/i) {
0a3cfc177eb2cca0805ca23cf5f98b0080b2ec21vboxsync } elsif ($key =~ /^aes$/i) {
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync if ($val =~ /^no$/i) {
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync } elsif ($val =~ /^yes$/i) {
5cece736b63cc917f3781c8c7e46fd3ea98c4e20vboxsync } elsif ($key =~ /^cc-alg$/i) {
5cece736b63cc917f3781c8c7e46fd3ea98c4e20vboxsync } elsif ($key =~ /^gssapi$/i) {
5cece736b63cc917f3781c8c7e46fd3ea98c4e20vboxsync if ($val !~ /^no$/i) {
5cece736b63cc917f3781c8c7e46fd3ea98c4e20vboxsync if ($val !~ /^yes$/i) {
5cece736b63cc917f3781c8c7e46fd3ea98c4e20vboxsync } elsif ($key =~ /^libxml2$/i) {
5cece736b63cc917f3781c8c7e46fd3ea98c4e20vboxsync if ($val =~ /^no$/i) {
5cece736b63cc917f3781c8c7e46fd3ea98c4e20vboxsync } elsif ($val !~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^geoip$/i) {
9b789c281103a2489742bf32f6ab500e38b2ecd5vboxsync if ($val !~ /^no$/i) {
9b789c281103a2489742bf32f6ab500e38b2ecd5vboxsync if ($val !~ /^yes$/i) {
c91345f92b829d3fba05ce7a97206d83c5183ce0vboxsync } elsif ($key =~ /^readline$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val !~ /^no$/i) {
44a2ecaf2d0fc196ab76cab13b3f909299e386d1vboxsync if ($val !~ /^yes$/i) {
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync } elsif ($key =~ /^idn$/i) {
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync if ($val !~ /^no$/i) {
36411046d85fccaa66061120a064225fd1b5ae01vboxsync if ($val !~ /^yes$/i) {
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync } elsif ($key =~ /^iconv$/i) {
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync if ($val =~ /^no$/i) {
b0db50948c349fa76655abf252f7946b515e8204vboxsync $unknown_value = "without-iconv doesn't make sense)";
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync } elsif ($val !~ /^yes$/i) {
b0db50948c349fa76655abf252f7946b515e8204vboxsync $iconv_path = $val;
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^zlib$/i) {
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync if ($val !~ /^no$/i) {
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync $use_zlib = "yes";
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync if ($val !~ /^yes$/i) {
f4aad55f8addd816ef005845842a2418bbdc3ea2vboxsync $zlib_path = $val;
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^python$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^no$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $use_python = "no";
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $use_python = "yes";
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val !~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $python_command = $val;
5b465a7c1237993faf8bb50120d247f3f0319adavboxsync } elsif ($key =~ /^vcredist$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^no$/i) {
ad77e3ec3cde24263bc7537575f5cae442bee3b1vboxsync $want_unknown = "yes";
ad77e3ec3cde24263bc7537575f5cae442bee3b1vboxsync $unknown_value = "without-vcredist (vcredist is required)";
ad77e3ec3cde24263bc7537575f5cae442bee3b1vboxsync } elsif ($val !~ /^yes$/i) {
ad77e3ec3cde24263bc7537575f5cae442bee3b1vboxsync $vcredist_path = $val;
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^cross-compile$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^yes$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $cross_compile = "yes";
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync } elsif ($key =~ /^tuning$/i) {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val =~ /^large$/i) {
ad48e47654d22f79b025dc4b21cb162cb123801avboxsync $tuning = "large";
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $want_unknown = "yes";
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($val eq "no") {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $unknown_value = "without-" . $key;
ad77e3ec3cde24263bc7537575f5cae442bee3b1vboxsync $unknown_value = "with-" . $key;
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# resolve enable-openssl-hash
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncif ($enable_openssl_hash eq "auto") {
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync if ($use_openssl ne "no") {
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync if ($enable_native_pkcs11 eq "yes") {
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync $enable_openssl_hash="no";
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $enable_openssl_hash="yes";
cba6719bd64ec749967bbe931230452664109857vboxsync $enable_openssl_hash="no";
cba6719bd64ec749967bbe931230452664109857vboxsyncif ($want_help ne "no") {
cba6719bd64ec749967bbe931230452664109857vboxsync foreach (@help) {
if ($verbose) {
if ($verbose) {
my $rfile;
if (-f $vp) {
if ($verbose) {
my $msc_ver = 0;
#include <windows.h>
#include <stdio.h>
print STDERR "only the legacy (cf legacy\\win32-build.txt) will work\n";
open F, ">cross.c" || die $!;
#include <windows.h>
#include <stdio.h>
my $compret = `cl /nologo /MD cross.c`;
if (grep { -f and -x } ".\\cross.exe") {
my $cross = `.\\cross.exe`;
#include <windows.h>
#include <stdio.h>
if ($cross) {
print STDERR $cross;
my $file;
last;
last;
my $openssl_new = 0;
$openssl_new = 1;
close F;
#include <stdio.h>
#include <openssl/opensslv.h>
OPENSSL_VERSION_NUMBER >= 0x0090804fL)
close F;
close F;
close F;
close F;
close F;
close F;
close F;
ENGINE *e;
close F;
EVP_CIPHER *aes128, *aes192, *aes256;
close F;
AES_KEY k;
const unsigned char bufin[16];
unsigned char bufout[16];
close F;
my $gssapi_lib;
my $krb5_lib;
return GeoIP_open != 0;
close F;
#include <GeoIP.h>
int flag = 1;
close F;
#include <GeoIP.h>
#include <GeoIPCity.h>
int i = GEOIP_CITY_EDITION_REV0_V6;
int flag = 1;
close F;
my $file;
last;
print STDERR
print STDERR
# setup config.h with %configdefh
my $line;
my @Lines;
@Lines = <F>;
close F;
close F;
# setup platform.h with %configdefp
my $line;
my @Lines;
@Lines = <F>;
close F;
close F;
# setup conf.sh with %configtest and %configvar
my $line;
my @Lines;
my $val;
@Lines = <F>;
close F;
if (defined($configvar{$1})) {
$val = kw($configvar{$1});
die "unknown control $& in $confshfile.win32\n";
# setup isc-config.sh with %configvar accepting undefined
my $def = $configdefd{$1};
if (defined($configinc{$1})) {
if (defined($configlib{$1})) {
$val = kw($configlib{$1});
close F;
my $line;
my @Linesin;
my @Linesout;
my $projectname = $_[0];
my $cond;
my @conds;
my $pass = 1;
my @passes;
my $val;
@Linesin = <F>;
close F;
$cond = $1;
$pass = 0;
$pass = 0;
$pass = 1;
$pass = 1;
if (defined($configdefd{$1})) {
$val = kw($configdefd{$1});
if (defined($configdll{$1})) {
$val = kw($configdll{$1});
# make versions.h
my $versionfile = "versions.h";
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
if ($Versions{'PATCHVER'} ne "") {
if ($verbose) {
my $dir;
my $apifile;
$name =~ s/\s+//;
$value =~ s/\s+//;
$ApiVersions{$name} = $value;
close A;
close O;
# make srcid.h
my $data;
my $name;
my $value;
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
my $name;
my $name;
my $file;
# Notes: Unix configure.in options