[omniORB] How to make OmniORB's IDL compiler

Doru-Catalin Togea doru-cat@ifi.uio.no
Tue Apr 8 15:20:02 2003


On Thu, 3 Apr 2003, Duncan Grisby wrote:

> On Thursday 3 April, Doru-Catalin Togea wrote:
>
> > After making changes to "idl.ll" or
> > "idl.yy" files, (I don't remember which one it was), I tried to issue the
> > make command from both the cxx directory and from the omniorb directory.
> > In both cases make went through some underdirecories and reported for each
> > one that there is nothing to be done. I had hope that some make rule would
> > would catch up the fact that either "idl.yy" or "idl.ll" has been changed
> > after the last time make was run, and that it would trigger the making of
> > the compiler again.
>
> The make rules to rebuild when idl.yy and idl.ll are changed are
> commented out in cxx/dir.mk. Just put them back in, remove the source
> files from the source tree, and run make.

Except for sporadic comemnts, the only lines which were comemnted out were
the following (now uncommented):

y.tab.h y.tab.cc: $(YYSRC)
 	@-$(RM) $@                    # my comment: line 43
 	$(BISON) $<
 	mv -f y.tab.c y.tab.cc

lex.yy.cc: $(LLSRC) y.tab.h
 	$(FLEX) $< | sed -e 's/^#include <unistd.h>//' > $@
 	echo '#ifdef __VMS' >> $@
 	echo '// Some versions of DEC C++ for OpenVMS set the module name
used by the' >> $@
 	echo '// librarian based on the last #line encountered.' >> $@
 	echo '#line' `cat $@ | wc -l` '"lex_yy.cc"' >> $@
 	echo '#endif' >> $@

So I guess I uncommented the right lines. (Besides they refer to the YYSRC
and LLSRC variables, so they must be the right lines.)

I have to problems now:

1) After removing the comment signs, Emacs warns me when I try to save
the changes that there is a "Suspicious line 43. Save anyway (y or n)?" I
can save the file by choosing "y" but neither make nor gmake would compile
any more. When issued in the ../cxx/ directory both commands report:
"dir.mk:43: *** missing separator.  Stop."

Should there be any "\" sign anywhere?

2) what do you mean by "remove the source files from the source tree". Do
you mean that I should remove all C and C++ files (that is all .c, .cc,
.h files)? Or just the object files or all? I hope all I need to do is
"make clean", because I am affraid I will have to make the compiler many
times.

Thanks for your help so far,
Catalin


-- 

	<<<< ================================== >>>>
	<<     We are what we repeatedly do.      >>
	<<  Excellence, therefore, is not an act  >>
	<<             but a habit.               >>
	<<<< ================================== >>>>