Commit Graph
34 Commits
Author SHA1 Message Date
Ondřej Surý 5fd1df8cfa Disable MSB8028 warning
All our MSVS Project files share the same intermediate directory.  We
know that this doesn't cause any problems, so we can just disable the
detection in the project files.

Example of the warning:

  warning MSB8028: The intermediate directory (.\Release\) contains files shared from another project (dnssectool.vcxproj).  This can lead to incorrect clean and rebuild behavior.

(cherry picked from commit b6c2012d93)
2020-04-16 08:12:39 +02:00
Ondřej Surý 1eb5a77baa Set WarningLevel to Level1 for Release, treat warnings as errors
Our vcxproj files set the WarningLevel to Level3, which is too verbose
for a code that needs to be portable.  That basically leads to ignoring
all the errors that MSVC produces.  This commits downgrades the
WarningLevel to Level1 and enables treating warnings as errors for
Release builds.  For the Debug builds the WarningLevel got upgraded to
Level4, and treating warnings as errors is explicitly disabled.

We should eventually make the code clean of all MSVC warnings, but it's
a long way to go for Level4, so it's more reasonable to start at Level1.

For reference[1], these are the warning levels as described by MSVC
documentation:

  * /W0 suppresses all warnings. It's equivalent to /w.
  * /W1 displays level 1 (severe) warnings. /W1 is the default setting
    in the command-line compiler.
  * /W2 displays level 1 and level 2 (significant) warnings.
  * /W3 displays level 1, level 2, and level 3 (production quality)
    warnings. /W3 is the default setting in the IDE.
  * /W4 displays level 1, level 2, and level 3 warnings, and all level 4
    (informational) warnings that aren't off by default. We recommend
    that you use this option to provide lint-like warnings. For a new
    project, it may be best to use /W4 in all compilations. This option
    helps ensure the fewest possible hard-to-find code defects.
  * /Wall displays all warnings displayed by /W4 and all other warnings
    that /W4 doesn't include — for example, warnings that are off by
    default.
  * /WX treats all compiler warnings as errors. For a new project, it
    may be best to use /WX in all compilations; resolving all warnings
    ensures the fewest possible hard-to-find code defects.

1. https://docs.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level?view=vs-2019

(cherry picked from commit 789d253e3d)
2020-04-16 08:12:39 +02:00
Michał Kępień 61e4c9198a Make VS solution upgrading unnecessary
Until now, the build process for BIND on Windows involved upgrading the
solution file to the version of Visual Studio used on the build host.
Unfortunately, the executable used for that (devenv.exe) is not part of
Visual Studio Build Tools and thus there is no clean way to make that
executable part of a Windows Server container.

Luckily, the solution upgrade process boils down to just adding XML tags
to Visual Studio project files and modifying certain XML attributes - in
files which we pregenerate anyway using win32utils/Configure.  Thus,
extend win32utils/Configure with three new command line parameters that
enable it to mimic what "devenv.exe bind9.sln /upgrade" does.  This
makes the devenv.exe build step redundant and thus facilitates building
BIND in Windows Server containers.

(cherry picked from commit 0476e8f1ac)
2019-09-27 12:13:39 +02:00
Petr MenšíkandMark Andrews 2e8a927912 Normalize windows files and shell scripts
Commands used:
git add --chmod=+x bin/tests/system/ifconfig.sh mkinstalldirs
git add --renormalize 'win32utils/**.txt' '**.dsw'
2019-01-16 19:04:50 -05:00
Mark Andrews 1bce43adcc 4585. [port] win32: Set CompileAS value. [RT #42474]
(cherry picked from commit 3742338a7b)
2017-04-20 12:42:39 +10:00
Witold Krecicki cc51cd2d20 4487. [test] Make system tests work on Windows. [RT #42931] 2016-10-19 17:21:13 +02:00
Evan Hunt 30370d905e [master] removed /Gy- from VS project files
4302.	[port]		win32: fixed a build error in VS 2015. [RT #41426]
2016-01-27 15:27:57 -08:00
Mark Andrews 7867d18ce0 Introduce end-of-line normalization 2015-09-29 08:25:35 +10:00
Mark Andrews 3b83676e07 *.vcxproj.in should use CRLF as EOL 2015-08-27 21:57:18 +00:00
Mark Andrews 2729aea3c1 3738. [bug] --enable-openssl-hash failed to build. [RT #35343] 2014-02-13 15:09:08 +11:00
Mark Andrews c3c8823fed 3681. [port] Update the Windows build system to support feature
selection and WIN64 builds.  This is a work in
                        progress. [RT #34160]
2013-12-04 12:47:23 +11:00
Francis Dupont c59a7b0629 missing updates in recent changes 2009-09-24 14:39:17 +00:00
Evan Hunt aeff7de836 2634. [port] win32: Add support for libxml2, enable
statschannel. [RT #19773]
2009-07-17 06:25:45 +00:00
Mark Andrews 5bbaa0bf5b win32 2006-10-04 03:50:47 +00:00
Mark Andrews df13009162 win32 2006-10-04 03:27:03 +00:00
Mark Andrews 65d86196e5 win32 2006-10-04 03:10:00 +00:00
Mark Andrews 9f53887aef win32 2006-10-04 03:04:29 +00:00
Mark Andrews 543d70c9df win32 2006-10-04 02:51:48 +00:00
Mark Andrews 3dfec9a8f2 win32 2006-10-04 02:44:37 +00:00
Mark Andrews 255e9bff6b win32 2006-10-04 02:08:33 +00:00
Mark Andrews bc8711b148 win32 2006-10-02 07:03:05 +00:00
Mark Andrews 5cf0c55948 2090. [port] win32: Visual C++ 2005 command line manifest support.
[RT #16417]
2006-10-02 02:27:41 +00:00
Mark Andrews 74f261bd2b 1920. [bug] Update windows socket code. [RT #14965] 2005-09-01 02:25:06 +00:00
Mark Andrews 494576ce20 1790. [cleanup] Move lib/dns/sec/dst up into lib/dns. This should
allow parallel make to succeed.
2004-12-09 01:41:25 +00:00
Mark Andrews 3d75a3aef3 1769. [port] win32: change compiler flags /MTd ==> /MDd,
/MT ==> /MD.
2004-11-18 00:30:31 +00:00
Mark Andrews 741a75f81b reviewed: marka
developer: mayer
relative paths
build against openssl 0.9.6g
2002-08-17 01:34:09 +00:00
Mark Andrews 306de01400 Re-order include directories. 2002-08-13 21:51:12 +00:00
Danny Mayer baeb459981 Updated dependencies to include lwres 2002-08-12 18:22:55 +00:00
Danny Mayer 03845b2911 Add the liblwres to the list of paths and lib 2002-08-12 01:31:48 +00:00
Danny Mayer f7a51394db Add the liblwres to the list of paths and lib 2002-08-11 03:36:24 +00:00
Danny Mayer 33b8775d3a Updated to support tree organization changes and to support the lib/bind9 library code 2001-11-18 03:11:06 +00:00
Danny Mayer a59a1d313a Updated .mak files to remove dependancies 2001-08-02 07:05:43 +00:00
Danny Mayer 1fac3f0e70 Build Script modifications 2001-07-22 06:01:52 +00:00
Danny Mayer 9dec38d1ee Added support for win32 2001-07-19 06:22:52 +00:00