Page MenuHomeFreeBSD

Build gperf as a dependency before gcc for arm releases
ClosedPublic

Authored by emaste on Dec 15 2014, 3:25 PM.

Details

Summary

Older u-boot versions hardcode the use of a host gcc compiler, and gcc relies on having gperf available so we must build and install it first.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

emaste retitled this revision from to Build gperf as a dependency before gcc for arm releases.
emaste updated this object.
emaste edited the test plan for this revision. (Show Details)
emaste added a reviewer: gjb.
emaste added a subscriber: Unknown Object (MLST).
release/arm/release.sh
133 ↗(On Diff #2748)

I've tried this exact change, which sadly does not work.

Discussed in IRC with imp@, building gcc(1) should not be necessary with the sysutils/u-boot-* ports.

Separate gperf build and install

I've applied this change to the set of builds that are in-flight now, though I'd still prefer using the ports ian@ worked on, and avoid building gcc(1) within the build chroot entirely.

I agree moving to the ports is the right path forward, but hopefully this will get things moving again until that switchover.

imp added a reviewer: imp.
imp added a subscriber: imp.
imp added inline comments.
release/arm/release.sh
130 ↗(On Diff #2822)

while this will work, you should transition over to using the u-boot ports for the supported boards, which pulls in the right u-boot and cross compiler...

This revision is now accepted and ready to land.Dec 22 2014, 10:15 PM
emaste edited edge metadata.

Further split make targets

This revision now requires review to proceed.Dec 23 2014, 9:45 PM
release/arm/release.sh
132–133 ↗(On Diff #2831)

Without splitting obj out I get "Warning: Object directory not changed from original /usr/src/gnu/usr.bin/gperf" - i.e., gperf ended up built in the src tree instead of under /usr/obj.

imp edited edge metadata.
This revision is now accepted and ready to land.Dec 24 2014, 1:00 AM
release/arm/release.sh
132–133 ↗(On Diff #2831)

I don't expect this to make a difference, to be honest.

When originally trying to build gperf(1) standalone, I did 'make -C /usr/src/gnu/usr.bin/gperf obj depend all install', which resulted in the same failures I've been seeing, which means something is fundamentally broken here.

Splitting up the make(1) targets should not be a fix.

gjb edited edge metadata.
emaste updated this revision to Diff 2848.

Closed by commit rS276189 (authored by @emaste).