1Copyright (C) 2004, 2005, 2008, 2009, 2012-2014 Internet Systems Consortium, Inc. ("ISC") 2Copyright (C) 2001, 2002 Internet Software Consortium. 3See COPYRIGHT in the source root or http://isc.org/copyright.html for terms. 4 5 *LEGACY* BIND 9.10 for Win32 Source Build Instructions. 04-Feb-2014 6 7Building BIND 9.10 on Windows using legacy compilers (up to Visual 8Studio 2008) has the following prerequisites: 9 101) Perl, 2) Visual C++ redistributable object, 3) OpenSSL, and 11optionally 4) LibXML2, 5) LibGeoIP, and 6) Readline. 12See ..\build.txt for more details on these prerequisites. 13 14If you want to build using Visual C++ 6.0, you'll need some extra 15files that are to be found in the Platform SDK (which you will need 16to install), namely: 17 18iphlpapi.h 19iptypes.h 20ipexport.h 21iphlpapi.lib 22 23You'll also need an updated Iprtrmib.h - using the VC++6.0 one will 24get you some compilation errors. You can just overwrite the old one if 25you're not using it for any purposes, and maybe keep a backup of it. 26 27You can copy the header files under VC98\INCLUDE and the library file 28under VC98\LIB. I think you can also put them in a separate directory 29and add it to the include search list, but I don't know if that can be 30made persistent. 31 32For building on VC++ 7.0 or more recent, no extra files are required. 33 34The instructions assume a Visual C++ 6.0 compiler with Visual Studio 35and Visual Studio Service Pack 3 or later. It may build and work with 36earlier versions but it has not been tested. The binaries may be built 37and run on any of the following platforms: NT 4.0 Workstation (SP3 or 38later), NT 4.0 Server (SP3 or later), Windows 2000 Professional (SP1 39or later), Windows 2000 Server or any kind (SP1 or later), Windows XP, 40Windows 2003 Server, Windows Vista, Windows 2008 Server, Windows 7, 41Windows 2008 R2 Server, Windows 8, Windows 2012 Server (untested), and 42further (untested as not yet available). It will NOT build or run on 43Windows 95, Windows 98, etc., or Windows RT platforms. 44 45BUILDING BIND 46 47From the command prompt cd to the win32utils\legacy directory under 48the BIND9 root: 49 50 cd bind-9.10.0\win32utils\legacy 51 52If you wish to use nmake from VC++ 6.0 or more recent, run 53the BuildAll.bat file: 54 55 BuildAll 56 57This will do the following: 581) Build the gen application in the lib/dns directory. 592) Run the gen application and build the required lib/dns header 60 files. 613) Create the Build/Release subdirectory under the root of the BIND 62 source tree which will hold the binaries being built. 634) Build the libraries, named, application tools like dig, rndc 64 dnssec tools, installer, checkconf and checkzones programs, 65 BIND 9 Installer. 665) Copies the release notes and the OpenSSL DLL to the BUILD/Release 67 directory. 686) Copies the BIND 9 ARM HTML files and the application HTML files 69 to the Build\Release area. 70 71If you wish to use the Visual Studio GUI for building, you can just 72run the BuildSetup.bat file: 73 74 BuildSetup 75 76This will create or find and copy into place several files which are 77necessary for the build to proceed. It also locates and copies into place 78the DLLs for OpenSSL and libxml2. 79 80Use BINDBuild.dsw (also located in the win32utils\legacy directory) to 81open the workspace for all of the BIND9 libraries and applications. If 82needed Visual Studio will update the workspace (aka solution) and 83project files. Note it is known to give slightly incorrect files on VS 842010 or more recent, for instance BINDInstall is not compiled to use 85DLLs. Finally select "Build->Batch Build", click "Select All", then 86click "Build". 87 88After the build has completed, run the BuildPost.bat file: 89 90 BuildPost 91 92...which does post-build processing. 93 94Installation is accomplished by running the BINDInstall program. All 95DLL's are copied to the Program Files area and all applications 96(including BINDInstall which may be necessary for uninstalling BIND 9) 97to the bin directory. If BIND 8 has previously been installed on the 98system it must be uninstalled first by running it's own BINDInstall 99program. The BIND 9 installer does not yet do this. 100 101All bugs found, whether in the process of building the application or 102running BIND or the tools should be reported to the bind9 bugs email 103account at bind9-bugs@isc.org. 104