nt-kit revision 9c3531d72aeaad6c5f01efe6a1c82023e1379e4d
0N/A# Copyright (C) 1999, 2000 Internet Software Consortium. 0N/A# Permission to use, copy, modify, and distribute this software for any 0N/A# purpose with or without fee is hereby granted, provided that the above 0N/A# copyright notice and this permission notice appear in all copies. 0N/A# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS 0N/A# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 0N/A# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE 0N/A# CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 0N/A# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 0N/A# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 0N/A# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 0N/A# $Id: nt-kit,v 1.3 2000/06/22 22:00:42 tale Exp $ 0N/A# XXX no command line options at all. especially useful would be a way 1472N/A# to specify the target directory on the NT machine, since it is needed 0N/A# XXX long term something different clearly needs to be done, so someone 0N/A# without any Unix boxes at all could download the source kit and compile. 0N/A# it'll happen; it has been a higher priority just to try to work 0N/A# on the code issues. echo "usage: $0 rmtdir [dstdir]" >&
2 echo "$0: must be run in bind9 top level directory" >&2 # Try to make an effort to not wipe out current directory or non-bind directory echo "$0: dstdir must not be current directory" >&2 echo "$0: existing dstdir must be a bind9 source directory" >&2 # XXX Tale BSD/OS special # Start with a clean slate. This is not done in the source tree before # the copy so as not to disturb things there. # XXX header files that (currently) need to be built on Unix # Adjust Makefiles to have NT paths and nmake-compatible variable expansion. s%(-I.*)pthreads.*?(\\?)$%$2%; s%(\$\(ARFLAGS\)) \$@%$1 /out:\$@%; s%\$\(UNIXOBJS\)%\$(WIN32OBJS)%; s%^(SUBDIRS.*)(pthreads)(.*)%$1$3%; s%^(SUBDIRS.*)(unix)(.*)%$1win32$3%; s%touch%copy NUL:%' $file # /K is specified in MAKEDEFS *YUCK* because nmake # for some BRAINDAMAGED REASON does not put K # in MAKEFLAGS (confirm with "nmake /PKN foo"; # only P and N are in Makeflags.) However ... doing # things this way ends up putting /K when you might not # want it. Thanks, Microsoft. 'print "MAKEDEFS = /nologo /K\$(MAKEFLAGS)\n" s/for\ i\ in\ \$\(ALL_SUBDIRS\).* /for %i in (\$(ALL_SUBDIRS)) do \\/x; s/if\ \[\ (\S+)\ !=\ "nulldir".* /\@if NOT $1=="nulldir" \\/x; s/^.*echo "making .* in .*\n//; s/\(cd\ (\S+);\ (.*)\);\ \\ /pushd $1 && cd && $2 && popd || popd/x; s/^\t+(fi|done).*\n//' $file # Copy win32 special files # 9 = highest compression