scalc UNO api compilation question about header files

Neeraj Rai rneeraj.rai at gmail.com
Fri Mar 8 19:17:46 PST 2013


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 <sbergman at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130308/8d58918b/attachment.html>


More information about the LibreOffice mailing list