Ethereal-dev: Re: [Ethereal-dev] Win32 generation toolchain (perl, python, bash, ...) and conf
prosen wrote:
But it makes the default ok, to get a first time build up and running
without too much confusion.
As someone who just went through the pain of a first time build on
Windows, perhaps I can offer my experience.
Well, thats one of those mails, worth printing out and stick on your
office wall ;-)
I would 100% agree on any of your thoughts, although some of them would
really be hard to achieve,
so this won't happen in the near future, or maybe never, I fear.
Some of the topics are simply based on the fact, that Ethereal is a
multiplatform tool, and based and maintained
(also) on unix platforms, as some of the topics you mention isn't an
issue there.
Beside this, I *really, really* like the idea making the first steps to
compile on win32 easier.
1) When I downloaded the source (with Mozilla), the name it gave on my
computer was "ethereal-0.10.0a.tar.gz.tar". I didn't have a utility to
unpack that, so I went down the hall to another programmer who managed
to unpack it with a tool he had. He had to rename it to
"ethereal-0.10.0a.tar.gz" for his tool to work.
That Mozilla appended another .tar to the filename is a bug I
experienced at other places too.
I'm not sure if this is a Mozilla issue, or a problem with the MIME
settings on the server.
See 3) for the tool question.
Windows users expect .zip files, but if that is too much of a
maintenance problem, it would be nice if there were a link on your site
to a tar tool and explicit instructions how to use it.
Well, unix users expect .tar.gz files for source code, again see 3) for
tools.
2) There are a number of dependant libraries that go into
c:\ethereal-win32-libs. Would it be possible to put them all into a
single .zip file that unzipped to c:\ethereal-win32-libs? It took me a
while to get all the libraries and get them in the right path.
I can imagine this is a serious problem, sometimes for myself. I would
tend to agree, that a "one size fits all" zip file would be a good
thing to have available. This might be a maintenance problem, as Gerald
(the maintainer of the webpage), currently
can simply copy the files form their origins onto the webpage.
Gerald, what do you think about that idea? I would love it :-)
3) Could you zip up the necessary extra tools needed for MSVC users
(that is, sed, flex, bison, python, perl) so that I don't have to chase
them down?
I don't know, if it would be enough to have simply the binary files
(.exe) available in one dir,
or if many of additional files had to be added. We also might have to
include the source for the tools too?
It's worth a try nonetheless.
We could use the tools from the cygwin packages, and put them in a
win32tools.zip (or msvctools.zip?).
Which should be put in the rootdir.
Of course this zip should also contain tools for .zip/.tgz/.tar.gz file
decompression.
4) After building ethereal.exe, I double-clicked it from explorer and it
complained about not finding some DLLs. Could the build process put the
necessary DLLs in the same directory as ethereal?
That sounds resonable. Currently, the generated files will be put into
the rootdir.
It might be an idea to put the generated .exe files into a new dir
(Debug1 / Debug2?) and also copy all the required files (e.g.dlls) into it.
It's desireable to have two different dirs for GTK1 and GTK2 version, as
the versions will use different dlls,
so this would avoid possible conflicts.
5) MSVC users tend to like DSW and DSP files instead of make files. They
make it convenient to use the IDE.
As Guy already mentioned, the makefiles for automake (unix) and nmake
(msvc) looking similar, so maintenance
is somewhat easier for developers of "the other" platform.
As the format of the .dsp and .dsw files are plain ascii text, it might
be possible to generate the .dsp files by a tool,
I was thinking a bit about this myself some days ago. The .dsw file
won't change often, so this could be "hand generated" only.
I'm currently using a somewhat handmade .dsw/.dsp combination which is
really odd in a lot of ways. I don't like that myself and
would prefer a good solution here too.
Then, the process for first timers using MSVC is:
1) Download the latest source. Unzip it to the default location.
2) Download the dependant libs. Unzip it to the default location.
3) Download the necessary tools. Unzip it to the default location.
4) Start MSVC, load Ethereal.dsw.
5) Build.
6) Run.
That would have saved me a couple of days of fiddling with it.
I think "a couple of days" is true for most of us. When I first started
compiling Ethereal, I needed two days for the first compile run,
and I *was* familar with the cygwin and other unix tools before :-(
So I'm looking forward, making the generation process on win32 easier to
do :-)
The first thing I will look at is 4) as thats a problem I'm still stuck on.
Regards, ULFL