Porting GNU libraries
Aditya Kousik
adit267.kousik at ...9...
Tue May 5 05:15:16 CEST 2015
If I get the order of the .port and libports/lib/mk/<port-name>.mk right,
DIRS and DIRS_CONTENT are the generated/copied headers during the build;
and INC_DIR in the .mk file configures make to look at the current folder
for local includes.
I'm asking this because if the include files that appear in
contrib-<hash>/src/lib/include have multiple dependencies, the build will
still work, right? I'm guessing the headers in the DIRS are just for the
genode application to include and the build system takes the actual src
while compiling.
Thanks,
Aditya
On Sat, May 2, 2015 at 7:52 AM, Nobody III <hungryninja101 at ...9...> wrote:
> Well, it seems that I was mostly wrong about dlfcn functions not being
> implemented. That's nice to know.
> Hello Aditya,
>
> * Aditya Kousik <adit267.kousik at ...9...> [2015-04-30 21:47:56 -0700]:
> > Thanks for the replies. Yes, right after I posted the mail, I noticed the
> > native port of 'sqlite' already there. I just have four more dependencies
> > to port. libpcap-dev, boost-1.5, dbus, and pkg-config. I've been creating
> > port and hash files for these to download the sources, but writing the
> > makefile is turning out to be a challenge.
> >
> > How do I write a makefile for the targets, if the original compilation
> does
> > a ./configure followed by make && make install. My main application is
> > built with waf. So any input will help withdrew the porting.
>
> There is a porting guide [1] that explains how to port libraries to
> Genode and features detailed examples. Basically, you just monitor
> what the original build system does, i.e., what flags are used, what
> source files are compiled and so on. The tricky part is to decide
> what actually is needed to use the library on Genode. For example,
> as you observed, there is no extra libdl on Genode. There is none
> because the mechanism libdl provides is already part of the libc [2].
> You are just fine if you link the application using this library
> against it.
>
> I do not know which application you are trying to port but when
> skimming your list of dependencies I can tell you right away you will
> not need to port pkg-config. What you probably need is the information
> pkg-config can give you on your host system, i.e., what compiler and
> linker flags are used that you *might* need to consider when porting
> the library. I can also tell you right away, that you probably end up
> writing a backend for dbus that can be used on Genode. Well, at least
> you have to figure out how to use the functionality that is already
> there or - depending on the requirements - how to extend it (*).
>
> So, for better or worse, porting in general involves more than just
> wrapping up the original build system and writing a Makefile. But that
> is what makes porting fun, challenging and sometimes frustrating [image:
> ☺]
>
>
> Regards
> Josef
>
> [1] http://genode.org/documentation/developer-resources/porting
> [2] repos/libports/src/libc/dynamic_linker.cc
>
> (*) Since there is no support for local UNIX sockets and our TCP/IP
> stack is directly linked against the application you most likely
> will not be able to reuse the POSIX backend without extending
> the libc.
>
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20150504/1aad5166/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: emoji_u263a.png
Type: image/png
Size: 1062 bytes
Desc: not available
URL: <http://lists.genode.org/pipermail/users/attachments/20150504/1aad5166/attachment.png>
More information about the users
mailing list