Compiled Library Support / Publish Binaries?

21 Jan 2010

Hi,

I know the mbed team is working to add library publishing support,
but can we get compiled library support? It looks like the compiler is compiling libraries on every build except for the mbed libraries (which are object files, I think), so this would save a bit of time, especially since lwip takes forever to compile... and this would be easier than adding incremental build support (which would only somewhat alleviate the problem).

Also, the option to publish binaries would be nice. There's some things I'd like to try without importing the whole app into the compiler and recompiling it.

Thanks!

22 Jan 2010

Hi Michael,

Good idea to support publishing binaries. We'll look at that.

I think were currently infavour of introducing incrememtal build rather than compiled libraries, but we'll perhaps try and spec them out together to see what could work. Was the compiled library support purely as a speed win, or did you have other ideas/reasons?

Simon

22 Jan 2010

Simon Ford wrote:

Hi Michael,

Good idea to support publishing binaries. We'll look at that.

I think were currently infavour of introducing incrememtal build rather than compiled libraries, but we'll perhaps try and spec them out together to see what could work. Was the compiled library support purely as a speed win, or did you have other ideas/reasons?

Simon

Nah, it's purely a speed thing, though I guess some people could make non-open-source libraries...

15 Dec 2010

I have been struggling with the speed of the compiler. My computer is pretty fast, so I cant blame browser speed on this (Core 2 Duo, 2.7GHz, 3.5GB RAM). My internet is pretty fast (8.4Mbps dn/5.5 up), so I cant blame that.

I saw the compiler feature to Convert a folder To a Library and tried that. But it didn't seem to make a difference. Also the browser status window seemed to indicate libraries are (re) compiled just like non-libraries. So on a side note, what is the ConvertToLibrary used for?

I assume the speed issue is related to my account not saving intermediate compiled file(s) server-side and so the complier can't yet recompile just modified files. And then there is the issue of dependacy discovery.

How slow is it? In my opinion, if it labels mbed as a toy or for student use. I have been using the site for a couple weeks and am already researching gcc or other options. Regretably, this is not in the spirit of the mbed platform.

So I vote for the mbed team to pursue addressing this compiler speed issue. If there are tricks or workarounds to the speed issue then please share them with me.

Greg

15 Dec 2010

Hi Greg,

For info about how libraries work, see /cookbook/Working with Libraries.

As for the speed of the compiler, it is running the standard ARM compiler, so should be fast in that sense. However as you correctly identify, there is currently no support for reuse of built object files, which does slow things down somewhat in very large builds (typically those which include the networking stack). There is a precompiled version of the networking library available which should speed things up considerably.

Improving the build system to enable incremental builds is one of the very next priorities we will be working on.

Thanks,

Dan

01 Feb 2011

Any forecast of when there will be support for compiled libraries? I see it in the bugs & suggestion tracker, but without a timeframe...

Thanks,

hb

29 Apr 2014

Good morning:

In my company we're thinking on use mbed to some new products and open it to the community, but there're some parts of the code that couldn't be released owing to patent's issues. If we could publish our code in a binay form, it could be done.

Any plans to support compiled libraries? (soon)

29 Apr 2014

I *think* that is these days also possible for regular users. For example see: http://mbed.org/components/Tilt-Compensated-eCompass-no-FPU/. Which while added by staff, I think a regular user can do it too. You can import in the online compiler precompiled files, and try to use them.

29 Apr 2014

I'll try it!

Thanks a lot for you answer Erik!