Drop run-time dependency on perl
GHC has stopped requiring perl since 8.2.1 release. The last component written in Perl was the evil splitter (-fsplit-objs), which has been superseded by -fsplit-sections. Hooray!
This commit is contained in:
parent
34eb79ecaf
commit
13e4fbd350
3 changed files with 5 additions and 23 deletions
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: Makefile,v 1.4 2021/04/22 18:15:00 pho Exp $
|
||||
# $NetBSD: Makefile,v 1.5 2021/04/23 00:08:02 pho Exp $
|
||||
# -----------------------------------------------------------------------------
|
||||
# Package metadata
|
||||
#
|
||||
|
@ -44,19 +44,11 @@ EXTRACT_ONLY= ${DEFAULT_DISTFILES}
|
|||
# -----------------------------------------------------------------------------
|
||||
# Tools
|
||||
#
|
||||
# The runtime dependency on perl is due to the evil splitter
|
||||
# (lib/${PKGNAME_NOREV}/ghc-split).
|
||||
USE_TOOLS+= autoconf gmake perl:run
|
||||
USE_TOOLS+= autoconf gmake
|
||||
GNU_CONFIGURE= yes
|
||||
USE_GNU_CONFIGURE_HOST= no
|
||||
USE_LIBTOOL= yes
|
||||
|
||||
# TODO: Disable the splitter entirely so that we can drop the runtime
|
||||
# dependency on perl. The purpose of the splitter is to perform a dead
|
||||
# code elimination by breaking .o files into many pieces. This only
|
||||
# makes sense when linking executables statically, which is rarely
|
||||
# done these days.
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Configuration
|
||||
|
@ -78,7 +70,6 @@ CONFIGURE_ARGS+= ${CONFIGURE_ARGS.common}
|
|||
CONFIGURE_ENV+= \
|
||||
ac_cv_prog_fp_prog_ar=${AR:Q} \
|
||||
ac_cv_prog_LIBTOOL=libtool \
|
||||
PerlCmd=${PERL5:Q} \
|
||||
CC=${CC:Q} \
|
||||
LD=${LD:Q}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: bootstrap.mk,v 1.3 2021/04/22 18:15:00 pho Exp $
|
||||
# $NetBSD: bootstrap.mk,v 1.4 2021/04/23 00:08:02 pho Exp $
|
||||
# -----------------------------------------------------------------------------
|
||||
# Select a bindist of bootstrapping compiler on a per-platform basis.
|
||||
#
|
||||
|
@ -80,13 +80,6 @@ PKG_FAIL_REASON+= "internal error: unsupported platform"
|
|||
SITES.${i}?= ${MASTER_SITE_LOCAL}
|
||||
.endfor
|
||||
|
||||
# Existence of libelf makes LeadingUnderscore being "NO", which is
|
||||
# incorrect for this platform. See ${WRKSRC}/aclocal.m4
|
||||
# (FP_LEADING_UNDERSCORE)
|
||||
.if ${OPSYS} == "Darwin"
|
||||
CONFLICTS+= libelf-[0-9]*
|
||||
.endif
|
||||
|
||||
# current bootstrap binary kit for SmartOS is built with ncurses5
|
||||
.if !empty(MACHINE_PLATFORM:MSunOS-*) && ${OS_VARIANT:U} == "SmartOS"
|
||||
BUILD_DEPENDS+= ncurses>=5.0:../../devel/ncurses
|
||||
|
|
|
@ -9,10 +9,6 @@ BUILD_MAN = NO
|
|||
BUILD_SPHINX_HTML = NO
|
||||
BUILD_SPHINX_PDF = NO
|
||||
|
||||
# Enabling evil-splitter reduces bindist size, which is good. However
|
||||
# it introduces a run-time dependency on perl, which is unacceptable.
|
||||
SplitObjs = NO
|
||||
|
||||
# We only want vanilla libraries and rts. No profiling, no shared
|
||||
# libraries, no debugging, no event logging.
|
||||
GhcLibWays = v
|
||||
|
@ -32,6 +28,8 @@ BIN_DIST_NAME = ghc-$(ProjectVersion)-boot
|
|||
# Don't build or use dynamic Haskell libraries.
|
||||
DYNAMIC_GHC_PROGRAMS = NO
|
||||
|
||||
# The build system attempts to link GHC with threaded RTS by default,
|
||||
# which fails because we only build "vanilla" RTS.
|
||||
ghc_stage1_CONFIGURE_OPTS += -f-threaded
|
||||
ghc_stage2_CONFIGURE_OPTS += -f-threaded
|
||||
ghc_stage3_CONFIGURE_OPTS += -f-threaded
|
||||
|
|
Loading…
Reference in a new issue