Ticket #1739 (assigned enhancement)

Opened 3 months ago

Last modified 1 week ago

Include a build system script to generate a proper 'develop' directory on Haiku

Reported by: nielx Assigned to: bonefish (accepted)
Priority: blocker Milestone: R1/alpha1
Component: Build System Version: R1 development
Cc: zooey, andreasf, scottmc Platform: x86

Description (Last modified by nielx)

The build system should have support for creating a working development environment on Haiku.

This means creating a '/boot/develop/' structure and including a working GCC 2.95.3 in that.

It might also mean installing the Makefile engine that is used by a lot of projects, but that's open for interpretation.

Attachments

build_developer_tools.sh (3.5 kB) - added by nielx on 02/03/08 03:19:09.
Build script for the legacy gcc
legacy-gcc-haiku-compile-fix.diff (1.5 kB) - added by nielx on 02/03/08 03:21:02.
Fix for building the legacy gcc compiler for haiku

Change History

02/03/08 03:19:09 changed by nielx

  • attachment build_developer_tools.sh added.

Build script for the legacy gcc

02/03/08 03:21:02 changed by nielx

  • attachment legacy-gcc-haiku-compile-fix.diff added.

Fix for building the legacy gcc compiler for haiku

02/03/08 03:24:14 changed by nielx

Adding one note: the gcc patches do not break creating a cross-compiler on linux.

02/06/08 05:35:41 changed by nielx

Some more poking around. Building a native gcc 4.1.2 with a cross-compiler fails because the cross-linker accepts undefined symbols in applications. This should only happen in shared libraries (and perhaps static). Does anybody know where to look to to change this behavior? Thanks!

02/06/08 05:54:58 changed by nielx

Another update. I managed to get configure to work correctly by passing the '-z defs' option, which is passed on to the linker. How do i put this in the specs?

02/24/08 10:28:45 changed by nielx

  • priority changed from normal to blocker.

Making this a blocker. Even though my script might not make it, this ticket can be used as an umbrella for everything needed to build haiku on haiku.

02/24/08 10:38:31 changed by stippi

Actually, I prefer one ticket per issue. I get confused by tickets which mention multiple different types of issues. Sometimes even comments introduce new (sometimes related sometimes not really related) issues. Then you can't close a ticket without reading all the comments first to see if something would be missed. That's why a prefer one ticked per distinct, precise issue.

02/25/08 06:42:56 changed by bonefish

I agree with Stephan.

The only thing still missing is a downloadable zip file containing a native gcc, BTW. I intend to create one when I actually get around to finishing the tool chain port.

02/26/08 14:09:32 changed by nielx

  • description changed.

Well, I agree too, and the summary of this tickets states that the issue is to create a setting in the build system that creates a proper working develop directory. I updated the description to match the summary. Consider this ticket as a step in the self-hosting requirement.

(follow-up: ↓ 9 ) 03/27/08 02:40:14 changed by nielx

Ingo, as far as I can see you satisfied the requirements of this ticket, didn't you?

Can this ticket be closed?

(in reply to: ↑ 8 ) 03/27/08 08:09:55 changed by bonefish

  • status changed from new to assigned.

Replying to nielx:

Ingo, as far as I can see you satisfied the requirements of this ticket, didn't you?

Nope, a few tools are still missing (jam, flex, bison).

Can this ticket be closed?

Will do when I've added the missing stuff.

(follow-up: ↓ 11 ) 04/06/08 03:42:16 changed by nielx

I'm compiling another status report, what's still missing?

(in reply to: ↑ 10 ; follow-up: ↓ 13 ) 04/06/08 09:15:44 changed by bonefish

Replying to nielx:

I'm compiling another status report, what's still missing?

Aparently everything to build Haiku is included now. So feel free to close the ticket, if you like. On my list are still a few things, though:

  • subversion
  • OpenSSH (not directly development related, but needed for BerliOS non-anonymous svn)
  • gettext: Needed by the auto tools for certain packages.
  • make is a build tool, but included in the Haiku sources. I'd like to re-port it.

04/13/08 12:25:54 changed by andreasf

  • cc changed from zooey to zooey, andreasf.

(in reply to: ↑ 11 ; follow-up: ↓ 16 ) 04/20/08 08:11:27 changed by andreasf

Is it on purpose that the BSD compatibility headers are not being included? libbsd.so is being linked from the develop/lib/x86 folder.

For instance, getpass is being detected, but in order to use it the prototype is needed.

(follow-up: ↓ 17 ) 04/20/08 08:19:16 changed by andreasf

Similarly, I can't find the freetype2 headers despite libfreetype.so being linked there. I'd expect them under 3rdparty.

04/30/08 15:43:42 changed by scottmc

  • cc changed from zooey, andreasf to zooey, andreasf, scottmc.

(in reply to: ↑ 13 ) 05/04/08 08:13:16 changed by andreasf

Update: bsd headers were included in r25137.

(in reply to: ↑ 14 ) 05/04/08 08:21:43 changed by andreasf

In addition to the missing freetype2 headers, the freetype-config tool and its pkg-config files are missing.

pkg-config files are also missing for libpng, whose headers are present under 3rdparty.