>>To be sure I correctly understood, I just have to remove (require
>>'speedbar) at compilation time from semantic-bnf.el.
> Yes, that was my experience. It occurred to me later that my
> environment at work may not be typical as there are random versions of
> all CEDET tools floating around out there. I should retry on an
> isolated system.
>>Do you think I should remove "speedbar" from :aux-packages of the
>>"tools" target in Project.ede=3F
> I think that might be possible. A lot of speedbar setup is such that
> tools will load and operate while speedbar is not used nor loaded.
> The requires were originally put in to remove warnings.
> After thinking about it, Semantic may be using some speedbar macros
> which would break if we do the above. I think I may rescind my
> recommendation as too unstable to try at this juncture.
I worked a little more on Semantic byte-compilation issues when both
the speedbar and eieio are not installed.
In that case to safely byte-compile the core of Semantic I had
to remove all the `require' statements inside `eval-when-compile'
forms. The counterpart is a lot of warnings :-(
The files that can't be compiled are: semantic-analyze.el,
semantic-cb.el, semantic-chart.el, semanticdb.el, semantic-ia.el,
semantic-ia-sb.el. Because their code directly depends on eieio
(defclass, defmethod, etc.).
So there is two solutions possible:
- Always install semantic, eieio and speedbar together (I would
- Remove the requirements at compile time (and ignore the bunch of
compilation warnings). Of course the libraries that depend on
eieio will fail to compile if eieio is not installed! And the
semanticdb and chart stuff will not be available!
> The JDEE mailing list is awash with discussions on an install
> program. Perhaps we can recommend this structure for all the tools.
> One script for CVS, and another for stable or beta packages. Then
> users would not have to edit the Makefiles anymore.
Providing a "cedet" package with its own version number (and
Project.ede and Makefile), including compatible and up-to-date
versions of eieio, semantic and speedbar could be a good solution. It
will simplify installation and other packages like JDEE or ECB could
just depend on a "cedet" level.