I was working on creating a Visual Studio workspace and project files for
Ethereal last night and came to grief over the following items:
1. Sharing DISSECTOR_OBJECTS. The makefile collects together all the
dissector objects into a macro DISSECTOR_OBJECTS and passes this through to
the targets ethereal.exe and tethereal.exe. I couldn't figure out how to
get this into the workspace and share it between the ethereal and tethereal
subprojects, other than by making a Dissectors subproject. This is OK
except that there is no target for this and Visual Studio really wants a
target to build for a project. The only solution I can think of is to
create a dissector library (dissector.lib) and link ethereal and tethereal
to this library.
2. Making register.c. The Visual Studio project files seem to be a
backward make. For custom build steps, i.e. anything that Visual Studio
can't make itself, an input file is required and then the recipe for
producing the outputs from the input file. Register.c depends on all the
dissector objects and packet.c and I'm unable to define a single input file
that Visual Studio finds acceptable. I suppose that if I make a dissector
library as in (1) above then I could use this as the input file. Visual
Studio doesn't seem to need the custom build step to do anything with the
input file.
3. The paths to the external libraries and include directories are
currently hard-coded. I think that they can be passed in with environment
variables but Visual Studio doesn't appear to have the equivalent of makes
include mechanism to read config.nmake.
If anyone has any ideas or thoughts I'd be grateful for input.
Regards,
Graham Bloice
Software Developer
Trihedral UK Limited
Tel: +44 (0)7002 874433
Fax: +44 (0)7002 228880
Email: mailto:graham.bloice@xxxxxxxxxxxxx
Web: http://www.trihedral.com