I think I get it now. I didn't realize earlier and I had to generate headers for system UNO types. The sample Makefile - it seems - was assuming they were generated, so -T was specified to generate the new ones. Once I removed the -T to generate all, both the headers XEnumerationAccess/XDesktop were generated. Also, the sample Makefile I was using, didn't not specify -O so the output was going to current dir. The next steps were including -I. to pick it up. This is not ideal, but for now, it helps me understand. When I have more than 1 project, the system UNO types can all go in common dir and generated once. And this perhaps what stdtarget.mk is trying to acheive via SDKTYPEFLAG. One last question - can I generate the system UNO types once per box, may be after SDK installation?
thanks Neeraj On Fri, Mar 8, 2013 at 3:56 AM, Stephan Bergmann <sberg...@redhat.com>wrote: > On 03/08/2013 01:16 AM, Neeraj Rai wrote: > >> I have a makefile from Simple Calc example. It uses cppumaker to >> generate some header files from my idl files. I think you are saying >> Xdesktop/XEnumerationAccess are genrated in that step. That works and I >> understand it now. >> > > No. An invocation of cppumaker only generates the header files > corresponding to those UNO types you tell it to. So your makefile's > invocation of cppumaker will presumably only generate header files > corresponding to your newly introduced .idl files. > > I don't understand what you said about " if you built an example, they >> are generated". >> I thought they depend on my idl or are they buildable before I start >> writing any uno code? >> > > So this part is about the UNO types that ship with the SDK. > > Once they are generated, I need to specify those paths in -I <include> >> for the _impl.o >> One option is - I know where they are and I can explicitly include those >> paths. >> But I am wondering if they are put in any of the standard paths - >> by standard path I mean those dir which are set by the sdk env script >> (setsdkenv_unix.sh). >> > > Where the header files are generated to is specified in the call to > cppumaker. The header file for the standard UNO types generated via that > rule in the SDK's settings/stdtarget.mk are generated to $(OUT_INC) as > defined in settings/std.mk. > > But I don't see any standard path pointing to libreoffice-4.0.0.3/workdir. >> > > By design, the SDK never points into a LO build's workdir or solver. It > only points at parts of a LO installation. > > But, to get your own local makefile experiments started, it can be easier > to "cheat" and re-use the header files generated for the standard UNO types > there, in solver/*/inc/udkapi and solver/*/inc/offapi (so you would need to > add two -I flags). > > Stephan > > -- ===== Intuition - is the inability to figure out the facts on which we based the decision.
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice