<p dir="ltr">Thank you for the response. I've sort of generated a port for a part of the boost libraries. It builds the src/lib/boost in the contrib folder, the dummy application links the library also. (How do I run applications built on linux_x86 platform?) The boost libraries are mainly .hpp files. By dependencies, I meant, header files #including other header files. </p>
<p dir="ltr">For instance: for simplicity, if I set DIRS_CONTENT(include/regex) := src/lib/boost/boost/regex/regex.hpp. But the actual header file simply has more includes to header files in the same directory, does the build system recognise this?</p>
<p dir="ltr">Cheers<br>
Aditya</p>
<div class="gmail_quote">On May 4, 2015 22:56, "Josef Söntgen" <<a href="mailto:josef.soentgen@...1...">josef.soentgen@...1...</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Aditya,<br>
<br>
* Aditya Kousik <<a href="mailto:adit267.kousik@...9...">adit267.kousik@...9...</a>> [2015-05-04 20:15:16 -0700]:<br>
<br>
> If I get the order of the .port and libports/lib/mk/<port-name>.mk right,<br>
> DIRS and DIRS_CONTENT are the generated/copied headers during the build;<br>
> and INC_DIR in the .mk file configures make to look at the current folder<br>
> for local includes.<br>
<br>
Yes, directories in DIRS get populated from the content in DIRS_CONTENT<br>
while preparing the port. Basically, the populated include directory<br>
should only contain the files that are needed on Genode. The same goes<br>
for the src directory, although we do not do that for most small<br>
libraries/applications but only for larger ones (VirtualBox, Linux<br>
sources etc).<br>
<br>
> I'm asking this because if the include files that appear in<br>
> contrib-<hash>/src/lib/include have multiple dependencies, the build will<br>
> still work, right? I'm guessing the headers in the DIRS are just for the<br>
> genode application to include and the build system takes the actual src<br>
> while compiling.<br>
<br>
Actually, these header files are also used by the library/application<br>
itself. If the libraries depend on other libraries you only have<br>
to add the library to the LIBS variable in the .mk file and the build<br>
system will try to pick up the matching import-<port-name>.mk file.<br>
This in return will extend INC_DIR, that is used by the build system<br>
to generate the right compiler flags.<br>
<br>
On that account, the INC_DIR variable in the import file should only<br>
contain the public header paths used by other libraries/applications.<br>
In the lib/<a href="http://target.mk" target="_blank">target.mk</a> file it is fine to point the build system and<br>
thereby the compiler to other directories in addition, e.g.<br>
$(REP_DIR)/src/lib/<port-name> or even contrib-<hash>/src. In this<br>
regard, the SDL port is a good example.<br>
<br>
<br>
Regards<br>
Josef<br>
<br>
------------------------------------------------------------------------------<br>
One dashboard for servers and applications across Physical-Virtual-Cloud<br>
Widest out-of-the-box monitoring support with 50+ applications<br>
Performance metrics, stats and reports that give you Actionable Insights<br>
Deep dive visibility with transaction tracing using APM Insight.<br>
<a href="http://ad.doubleclick.net/ddm/clk/290420510;117567292;y" target="_blank">http://ad.doubleclick.net/ddm/clk/290420510;117567292;y</a><br>
_______________________________________________<br>
genode-main mailing list<br>
<a href="mailto:genode-main@lists.sourceforge.net">genode-main@...12...ceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/genode-main" target="_blank">https://lists.sourceforge.net/lists/listinfo/genode-main</a><br>
</blockquote></div>