Opened 3 years ago

Last modified 14 months ago

#13356 new bug

gmp/ghc.mk's use of TARGETPLATFORM and BUILDPLATFORM is wrong

Reported by: rwbarton Owned by:
Priority: normal Milestone:
Component: Build System (make) Version: 8.1
Keywords: Cc: nicolast
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Building GHC failed Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

libraries/integer-gmp/gmp/ghc.mk invokes libgmp's configure script with the options

--host=$(TARGETPLATFORM) --build=$(BUILDPLATFORM)

Using TARGETPLATFORM is wrong, as it is the GHC-munged target triple. For example if the triple passed to the top-level configure script was --target=aarch64-apple-darwin14 (for iPhone), TARGETPLATFORM will be aarch64-apple-ios, which configure does not understand.

Instead of TARGETPLATFORM we should use TargetPlatformFull. I don't think we have a corresponding variable for BUILDPLATFORM, so we should add one if it's important.

Change History (2)

comment:1 Changed 2 years ago by nicolast

Cc: nicolast added

Interesting, I wasn't aware those variables don't correspond to what Autoconf handles when landing the related change (https://phabricator.haskell.org/D1960)

Somewhat related: looking for TargetPlatformAll in the GHC tree, I noticed

rules/build-package-data.mk:$1_$2_CONFIGURE_OPTS += --configure-option=--host=$(TargetPlatformFull)

which seems a bit odd.

comment:2 Changed 14 months ago by bgamari

Component: Build SystemBuild System (make)

The new Hadrian build system has been merged. Relabeling the tickets concerning the legacy make build system to prevent confusion.

Note: See TracTickets for help on using tickets.