Strict Standards: Redefining already defined constructor for class wpdb in /www/htdocs/w006f36b/wp-includes/wp-db.php on line 49

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w006f36b/wp-includes/cache.php on line 35

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /www/htdocs/w006f36b/wp-includes/cache.php on line 400

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 553

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 674

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w006f36b/wp-includes/query.php on line 15

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w006f36b/wp-includes/theme.php on line 505
MauriceK, caught between dev and drums » Taking care of other networks…

January 28, 2008

Taking care of other networks…

Category: Development, Haiku — kaldor @ 11:04 pm

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /www/htdocs/w006f36b/wp-includes/formatting.php on line 76

I couldn’t hesitate to use this topic name, though this is a little bit unrelated to the content of this post…

So, during the last days, I’ve already mentioned that my interest in Haiku is rising. Furthermore there had been a lot of discussions about ProjectConceptor on #beos.de at that time. Project Conceptor is a very promising piece of software, which is at a very early stage of development. Though my interest in actively developing for it is limited, the developers put their latest effort in backporting it from ZETA to BeOS R5.

Using R5 felt completely wrong to me, so I considered making it work for Haiku directly from my linux box, especially my preferred gcc4 version.

Some of you might already know, that I am not one of the biggest fans of Jam. Addtionally I am one kind of developers, who feel extremly annoyed by trying to port something and needing to take care of the build engine in first place. So the logical decision for me was to design a makefile engine, which is capable of building applications crosscompiled for Haiku. Stressing the point of making it easier for developers who are already in the BeOS world, the design of the makefiles have been adopted from what has been there for R5 and ZETA.

So, a classical (helloworld) makefile just looks like this:

NAME = myapp

SRCS = main.cpp

include $(HAIKU_DIR)/makefile-engine
$(HAIKU_DIR) describes the head directory of your checkout of haiku. That one usually will contain the generated directory for your haiku build. The only dependency is to set this variable in your environment and you should be ready to go.

In addition to compiling and linking it appends resources and sets the mimetype. Obviously, these rules have been adopted by the haiku engine and therefore should be compatible.

Oh, and before I forget, in case you want to use it for a gcc2 build, just set the COMPILER_VERSION variable in makefile-vars to 2 and you’re done.

So if you want to try it out, just click here for a download. Feedback is welcomed.

To clarify one thing in the end: This is no intention to replace the jam setup done for the haiku project. It is much superior than what is available here and I guess there has been a lot of research and discussions previously to the core team decided to go for jam. If you are considering to make your projects haiku only, use haiku_jam. If you start a new project for haiku, use haiku_jam. But, if you are just trying to port over an existing R5/ZETA project and want to prioritize the source work over the build engine, then this might be something of your interest.

No Comments »

No comments yet.

RSS feed for comments on this post. | TrackBack URI

Leave a comment

XHTML ( You can use these tags):
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> .