[haiku-appserver] Re: testing under R5

  • From: Adi Oanca <adioanca@xxxxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Thu, 01 Sep 2005 14:55:02 +0300

Hi Ingo!

Ingo Weinhold wrote:
On 2005-09-01 at 11:46:39 [+0200], Adi Oanca wrote:
[...]

   Well with all these advices I managed to have the server working.
   However, I feel there are some things wrong with our build system.
For example: when I build for r5, in system/lib directory I'm getting 2
libbe libraries: libopenbeos.so and libbe.so. Now, why does libbe.so needs
to be build when target platform is r5? It doesn't have to be built!


Right, but that probably holds for 90% of the targets of the build system.

You know better. IMO this can easily be changed. When building for r5 apps should be linked against $(LIBBE) and LIBBE = libopenbeos.so. For haiku LIBBE = libbe.so.

The main target is Haiku and disable the build for non-Haiku target platforms would require to clutter the whole build system with "if $(TARGET_PLATFORM) == haiku) {...".

Can you do it another way?

Besides, in theory a libbe.so for R5 would makes sense, if it were possible to replace the system library (which it isn't, I know).

:-) Then there's no point for it there... It breaks my test environment. :-) I test the server by having app_server built in system/ not system/servers/, so that the lib/ be in the same directory. In there you can find also libbe.so, and because of that ./app_server will not run. Deleting this file every time is annoying; the other way of modifying the src/kits/Jamfile not to build libbe.so is not hard, but it's not practical. So, in the end, libbe.so under r5 obstructs ( my :) ) app_server testing.

The next reincarnation of the build system might support marking targets suitable for building for a certain platform, but for the moment I'd rather not try that with the current build system.

I'm afraid we're doing that already. Check the jamfile from tests/servers/app.

   Another thing: if I want to build the app_server for r5, I must go
to src/tests/servers/app. Why? This is annoying. I want to be able to build
the app server from src/servers/app, the right location IMO.

Well, one can argue about that. In fact you don't want to build the app server, but a special test version of it.

True. :-) It's another way of seeing things. 90% of time I test the server with my own applications, so for me it makes much more sense to set a target platform, go into src/servers/app and build by app_server.

Anyway, doing a "jam haiku_app_server" builds haiku_app_server regardless of where you invoke it, if that helps.

99% of cases I'm in src/servers/app because of svn, grep, ... A simple jam with the platform set seems appropriate to me...

   If nobody has something to say, I'll modify the build system so that:
- ./configure --target=xxx

I wanted to say that before any building invoke ./configure --target=<wanted>

- in src/kits when building for r5 *only* libopenbeos.so be built (no libbe.so!)

If it really annoys you, do it, but I'd actually rather see the build rules for libopenbeos be moved to src/tests/kits/Jamfile just analog to how it was done for the test app server.

Yep, that's what I had in mind. :-)

- app_server be built in src/servers/app no matter the platform.
Please don't.

Why not? A if($(TARGET_PLATFORM) == haiku) { ... } else { ... } in src/servers/app/Jamfile would solve my problem.

- tests/servers/app *not* not be dependent of app_server but only of
(libbe.so libroot.so) | (libopenbeos.so)

Yep, that makes sense (should only be the case for "scrolling" and "textview", I believe).



Thanks! Adi.

Other related posts: