test: Build dnsdump on Windows too

Thanks to Gisle Vanem for showing the way:
b701af8a24 (commitcomment-22830845)
pull/116/merge
David Drysdale 8 years ago
parent 4a88788ea0
commit 3968d13f7a
  1. 2
      appveyor.yml
  2. 9
      test/Makefile.m32
  3. 17
      test/Makefile.msvc
  4. 7
      test/dns-dump.cc

@ -11,4 +11,4 @@ build_script:
- if "%platform%" == "mingw" ( mingw32-make.exe -f Makefile.m32 demos ) else ( nmake /f Makefile.msvc )
- cd test
- if "%platform%" == "mingw" ( mingw32-make.exe -f Makefile.m32 ) else ( nmake /f Makefile.msvc vtest )
- if "%platform%" == "mingw" ( mingw32-make.exe -f Makefile.m32 aresfuzz.exe aresfuzzname.exe ) else ( nmake /f Makefile.msvc aresfuzz aresfuzzname )
- if "%platform%" == "mingw" ( mingw32-make.exe -f Makefile.m32 aresfuzz.exe aresfuzzname.exe dnsdump.exe ) else ( nmake /f Makefile.msvc aresfuzz aresfuzzname dnsdump )

@ -26,8 +26,9 @@ include Makefile.inc
OBJS := $(patsubst %.cc,%.o,$(strip $(TESTSOURCES)))
FUZZOBJS := $(patsubst %.c,%.o,$(strip $(FUZZSOURCES)))
FUZZNAMEOBJS := $(patsubst %.c,%.o,$(strip $(FUZZNAMESOURCES)))
DNSDUMPOBJS := $(patsubst %.cc,%.o,$(strip $(DUMPSOURCES)))
all: arestest.exe aresfuzz.exe aresfuzzname.exe
all: arestest.exe aresfuzz.exe aresfuzzname.exe dnsdump.exe
arestest.exe: $(OBJS) gmock-all.o gtest-all.o
$(LD) $(LDFLAGS) -o $@ $^ -L$(ARES_BLD_DIR) -lcares $(LDLIBS)
@ -38,6 +39,9 @@ aresfuzz.exe: $(FUZZOBJS)
aresfuzzname.exe: $(FUZZNAMEOBJS)
$(LD) $(LDFLAGS) -o $@ $^ -L$(ARES_BLD_DIR) -lcares $(LDLIBS)
dnsdump.exe: $(DNSDUMPOBJS)
$(LD) $(LDFLAGS) -o $@ $^ -L$(ARES_BLD_DIR) -lcares $(LDLIBS)
$(OBJS): $(TESTHEADERS)
.cc.o:
@ -55,5 +59,6 @@ vtest: arestest.exe
./arestest.exe -v
clean:
$(RM) $(OBJS) gmock-all.o gtest-all.o arestest.exe aresfuzz.exe aresfuzzname.exe
$(RM) $(OBJS) gmock-all.o gtest-all.o arestest.exe aresfuzz.exe aresfuzzname.exe dnsdump.exe

@ -109,7 +109,7 @@ VALID_CFGSET = TRUE
! MESSAGE Usage: nmake /f makefile.msvc CFG=<config> <target>
! MESSAGE
! MESSAGE <config> can be one of: [ lib-release | lib-debug | dll-release | dll-debug }
! MESSAGE <target> can be one of: [ all | arestest | aresfuzz | aresfuzzname | clean }
! MESSAGE <target> can be one of: [ all | arestest | aresfuzz | aresfuzzname | dnsdump | clean }
! MESSAGE
! MESSAGE If <target> is not specified then all targets are built.
! MESSAGE If <config> is not specified then lib-debug will be assumed.
@ -271,6 +271,15 @@ FUZZ_OBJS = $(FUZZ_OBJS:.c=.obj)
!ENDIF
FUZZNAME_OBJS = $(FUZZNAME_OBJS:.c=.obj)
!IF [ECHO DNSDUMP_OBJS=^$(PROG_OBJDIR)\$(DUMPSOURCES: = $(PROG_OBJDIR^)\) > .\dnsdump_objs.inc] == 0
!INCLUDE .\dnsdump_objs.inc
!IF [DEL .\dnsdump_objs.inc]
!ENDIF
!ELSE
!ERROR Problem generating DNSDUMP_OBJS list.
!ENDIF
DNSDUMP_OBJS = $(DNSDUMP_OBJS:.cc=.obj)
GTEST_OBJ = $(PROG_OBJDIR)\gtest-all.obj
GMOCK_OBJ = $(PROG_OBJDIR)\gmock-all.obj
@ -295,7 +304,7 @@ GMOCK_OBJ = $(PROG_OBJDIR)\gmock-all.obj
# Main targets
# ---------------------------------------------------------------------
ALL: arestest aresfuzz aresfuzzname
ALL: arestest aresfuzz aresfuzzname dnsdump
@
test: arestest
@ -315,6 +324,10 @@ aresfuzzname: $(FUZZNAMESOURCES) $(PROG_OUTDIR) $(PROG_OBJDIR) $(FUZZNAME_OBJS)
$(SPROG_LINK) $(SPROG_LFLAGS) /out:$(PROG_OUTDIR)\aresfuzzname.exe $(FUZZNAME_OBJS)
@if exist $(PROG_OUTDIR)\aresfuzzname.exe.manifest mt -nologo -manifest $(PROG_OUTDIR)\aresfuzzname.exe.manifest -outputresource:$(PROG_OUTDIR)\aresfuzzname.exe;1
dnsdump: $(DUMPSOURCES) $(PROG_OUTDIR) $(PROG_OBJDIR) $(DNSDUMP_OBJS)
$(SPROG_LINK) $(SPROG_LFLAGS) /out:$(PROG_OUTDIR)\dnsdump.exe $(DNSDUMP_OBJS)
@if exist $(PROG_OUTDIR)\dnsdump.exe.manifest mt -nologo -manifest $(PROG_OUTDIR)\dnsdump.exe.manifest -outputresource:$(PROG_OUTDIR)\dnsdump.exe;1
$(PROG_OUTDIR): $(PROG_DIR)
@if not exist $(PROG_OUTDIR) mkdir $(PROG_OUTDIR)

@ -1,6 +1,10 @@
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#ifdef _MSC_VER
# include <io.h>
#else
# include <unistd.h>
#endif
#include <iostream>
#include <vector>
@ -31,5 +35,6 @@ int main(int argc, char* argv[]) {
for (int ii = 1; ii < argc; ++ii) {
ares::ShowFile(argv[ii]);
}
return 0;
}

Loading…
Cancel
Save