Ethereal-dev: Re: [Ethereal-dev] configure and win32

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: aferen@xxxxxxxxxxxx (Andrew C. Feren)
Date: 12 Jul 2001 20:10:11 -0400
Guy Harris <guy@xxxxxxxxxx> writes:

> > I can unpack ethereal-0.8.18 and build it sucessfully on my NT box,
> > but I can not do the same from the source tree.
> > 
> > I pulled the source tree out of CVS (actually 2-3 days ago) and ran
> > autogen.sh on a Solaris box to generate all the various config stuff.
> 
> If you have an NT box with all the tools mentioned in the "README.win32"
> file, you should just be able to
> 
> 	modify the "config.nmake" file to point to the places where
> 	GTK+, GLib, WinPcap, Perl, Python, Flex, and Berkeley YACC or
> 	Bison are located;
> 
> 	build with "nmake -f makefile.nmake";

        Thanks for the response.  That is what I was doing.  I copied
        the directory again and started fresh.  That time everything
        worked or at least worked better.

        Building out of CVS on NT appears to be bumping up against
        some limitations on the length of command lines.  Basically,
        with the addition of new file names since 0.8.18 when
        DISSECTOR_SRC is being expanded the commandline is too long.

        I played around a bit and came up with a kludgy work around.
        For reasons that are not clear to me echo didn't exhibit the
        same line too long behavior (perhaps because it is a builtin
        or something like that?) that I saw when trying to run python.
        Since sh didn't have any problem with the long command line
        either I just echoed the command out to a file and then ran
        the command with sh.

        While I was messing with the make file I noticed a comment
        stating that it would be nice if we could execute python iff
        the variable PYTHON was defined.  Otherwise run the sh
        version.

	I added the ifdef for nmake.  That works, but the sh script
	fails.  I didn't investigate further.
        
	Now I am also seeing a link error, but I'll investigate that
	more tomorrow.  (Windows only...)

Index: Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/Makefile.nmake,v
retrieving revision 1.124
diff -u -r1.124 Makefile.nmake
--- Makefile.nmake	2001/07/11 18:19:15	1.124
+++ Makefile.nmake	2001/07/12 14:15:45
@@ -349,12 +349,16 @@
 	@echo Making packet-ncp2222.c
 	$(PYTHON) ncp2222.py > packet-ncp2222.c
 
-register.c: $(DISSECTOR_SRC)
+register.c: mkreg.sh
 	@echo Making register.c
-	@$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
-#	How are ifdef's done in NMAKE? It would be nice
-#	to use python if PYTHON is defined, otherwise try to use shell.
-#	@sh make-reg-dotc . $(DISSECTOR_SRC)
+	@sh mkreg.sh
+
+mkreg.sh: $(DISSECTOR_SRC)
+!IFDEF PYTHON
+	@echo $(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC) >mkreg.sh
+!ELSE
+	@echo sh make-reg-dotc . $(DISSECTOR_SRC) >mkreg.sh
+!ENDIF
 
 text2pcap-scanner.c : text2pcap-scanner.l
 	$(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
-- 
-Andrew Feren
 Cetacean Networks, Inc.
 Portsmouth, NH