Re: [cedet-semantic] semantic does not parse out of directory symbols
Brought to you by:
zappo
From: Xaver G. <tor...@ya...> - 2014-10-13 14:45:43
|
Hi Eric, > is there a Makefile.am in every directory, or only at certain levels? > That project type needs Makefile.am at each level to work properly. Ok. That did it. Thx. It was unclear to me that semantic gets its knowledge about the location of files to parse from the *.am makefiles. Indeed part of the subdirectories contains code, headers, and pre-builds of shared *.so libraries without *.am makefiles. It is exactly the set of those subdirectories, for which I don't get semantic to parse anything. Now I have generated dummy 'program' type of EDE projects for each of those subdirectories (not too clever), after which semantic indeed finds the symbols. Xaver On 10/13/2014 12:29 AM, Eric M. Ludlam wrote: > Hi Xaver, > > Are you using the default EDE project that shows up when you edit files > in a project that has Automake in it? Also, is there a Makefile.am in > every directory, or on at certain levels? > > That project type needs Makefile.am at each level to work properly. When > I put it together it didn't occur to me that you might only have one > toplevel Makefile.am. I also never implemented parsing of -I for > purposes of finding symbols, and it doesn't have a way to configure > include paths. > > If your include statement in main.cc was: > > #include "../directory-sub2/Bheader.h" > > that would be found, but I'm assuming you depend on include paths > instead. If you are using a project type where you can can configure > the include path (like cpp-root, or a generic project type) then you > could just add directory-sub2 to the global include path to start > finding symbols there. > > In looking through the old automake project type (the code in > ede/project-am.el) it looks like someone added a feature where you could > set `project-am-localvars-include-path' to a list of paths and it will > automatically use that for your include path instead. See the very end > of project-am.el. I haven't tried that, but it may work for you. You > may need to set them as buffer-local in a c-mode-hook so you don't > pollute other projects. > > If you are using a different EDE project type, then there are different > ways to update your include paths. > > Eric > > > On 10/11/2014 04:07 AM, Xaver Gerster wrote: >> Hi, >> >> I cannot get semantic to parse symbols which are included from files >> which reside outside of the directory where I currently work in. >> >> For example, say, I have an automake project with several >> subdirectories, containing projects with several targets and a minimal >> directory/project structure like this >> >> directoy-top: >> Project.ede >> ... >> configure >> AUTHORS >> other files >> ... >> directory-sub1 >> Project.ede >> ... >> main.cc >> Aheader.h >> ... >> other files >> ... >> directory-sub2 >> Bheader.h >> nicelib.so >> ... >> other files >> >> Here, >> main.cc includes symbols from Aheader.h >> and >> Aheader.h includes symbols from Bheader.h >> >> On the level of compilation, the latter is implemented as usual by >> standard '-I ../directory-sub2' / '-L ../directory-sub2' preprocessor / >> linker CPPFLAGS / LDFLAGS flags. They are contained within the *.ede >> project configuration files. >> >> Now, when I work on main.cc or Aheader.h and do M-x >> semantic-ia-fast-jump, then, semantic *will* jump to symbols which are >> either from files in directory-sub1 or in system-wide include files. >> >> *However*, if working on Aheader.h, I want to look up a symbol which is >> contained in Bheader.h I get >> >> semantic-ia-fast-jump: Could not find suitable jump point for xyz >> >> I tried various ways of setting semanticdb roots and and include paths >> but I remain stuck with this error message. >> >> Any help would be most appreciated. >> >> Xaver >> >> >> ------------------------------------------------------------------------------ >> >> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer >> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports >> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper >> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer >> http://p.sf.net/sfu/Zoho >> _______________________________________________ >> cedet-semantic mailing list >> ced...@li... >> https://lists.sourceforge.net/lists/listinfo/cedet-semantic >> |