Page MenuHomeFreeBSD

lang/ghc: port to powerpc64

Authored by arrowd on Jan 18 2019, 11:38 AM.
Referenced Files
F82080828: D18886.id53111.diff
Thu, Apr 25, 8:07 AM
Unknown Object (File)
Sat, Apr 20, 2:12 PM
Unknown Object (File)
Fri, Apr 19, 2:31 PM
Unknown Object (File)
Fri, Apr 19, 10:15 AM
Unknown Object (File)
Thu, Apr 18, 9:30 PM
Unknown Object (File)
Thu, Apr 18, 3:50 PM
Unknown Object (File)
Tue, Apr 16, 11:39 PM
Unknown Object (File)
Thu, Apr 11, 2:35 PM



bootstrap for 12.0 available here

Patches come from
Most of them are already commited upstream.

these 2 patches are not yet committed: (Disable-unboxed-arrays.patch)
For the record, upstream PR for FreeBSD/ppc64:

Test Plan

ok on 12.0 ppc64, 8.6.2 and 8.6.3 (the 8.4.x branch is too old)
ok on amd64

the 'llvm backend' is broken (not sure if it's supposed to work, I'll submit a pr upstream)

Diff Detail

rP FreeBSD ports repository
Lint Not Applicable
Tests Not Applicable

Event Timeline

mikael retitled this revision from lang/ghc: WIP port to powerpc64 to lang/ghc: port to powerpc64.
mikael edited the summary of this revision. (Show Details)
mikael edited the test plan for this revision. (Show Details)
13 ↗(On Diff #53037)

Why do we need that?

21 ↗(On Diff #53037)

Why +=?

21 ↗(On Diff #53037)

Why +=?

21 ↗(On Diff #53037)

I don't know, it seems weird to have ONLY_FOR_ARCHS= powerpc64, it looks like the port is restricted to ppc64 until you look at

13 ↗(On Diff #53037)

I need a recent compiler, I probably just need compiler:c11 (or put use_gcc in the ppc64 'if block')

18 ↗(On Diff #53111)

^ what?

8 ↗(On Diff #53111)

^ why not add powerpc64 here? instead having that confusing line in lang/ghc/Makefile

18 ↗(On Diff #53111)

mat didn't like the ONLY_FOR_ARCHS+= ppc64 notation.
you don't like ONLY_FOR_ARCHS= ppc64
should I remove O_F_A in and list the allowed arches in each Makefile?

8 ↗(On Diff #53111)

It's only for ghc-8.6.x

18 ↗(On Diff #53111)

I did not say I did not liked it, I asked why, because the variable was not set before, and doing += means you are adding to it, which was weird, because it was not defined before.

You should add a comment saying other archs are added later, because it looks weird like this.

This revision is now accepted and ready to land.Jan 29 2019, 7:26 PM
arrowd edited reviewers, added: mikael; removed: arrowd.

Rework ONLY_FOR_ARCHS handling.

This revision now requires review to proceed.Feb 26 2019, 11:18 AM
183 ↗(On Diff #54412)

I wonder if this should not be changed to positive tests with the architectures that actually need this instead of excluding the ones that do not.

239–240 ↗(On Diff #54412)

Same here.

arrowd marked 2 inline comments as done.

Simplify checks.

I want to note that this Diff was about adding powerpc64 support to lang/ghc. It is seems to be moving into "refactor" direction now. I admit there is much to be done here, but it can be done iteratively and later.

This revision is now accepted and ready to land.Feb 26 2019, 12:12 PM
This revision now requires review to proceed.Mar 1 2019, 5:50 AM
91 ↗(On Diff #54569)

For a future revision, couldnt we do something like

_BOOT_GHC_VESRSION_amd64= 8.6.4

You seem to have forgotten adjusting ONLY_FOR_ARCHS :-)

I've fixed that locally and will see what happens overnight.

You seem to have forgotten adjusting ONLY_FOR_ARCHS :-)

Hum? Where?

8 ↗(On Diff #54571)

^ this seems to breaks it:

you cannot include bsd.port[.pre].mk twice

Bring IGNORE= line back to its place, because checking for OSVERSION at the
top requires including, but it should be included after all
other variables are set.

Hum? Where?

OK, I understand it now. The assingments were confusing.

looks good to me again

This revision is now accepted and ready to land.Mar 4 2019, 5:06 AM
This revision was automatically updated to reflect the committed changes.