summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-02-04 18:10:54 -0500
committerBen Gamari <ben@smart-cactus.org>2022-02-09 12:50:21 -0500
commit8fdec9d1e3256cb69edf74df3a7f1a7c39ed3f7e (patch)
tree42dd921036e6caf07ece72a4727fcd72e46ccec0
parent4343ad632bc6138a370048cd3616f9076d548adf (diff)
downloadhaskell-8fdec9d1e3256cb69edf74df3a7f1a7c39ed3f7e.tar.gz
Build system changes
-rw-r--r--configure.ac16
-rw-r--r--m4/fp_settings.m414
-rw-r--r--mk/config.mk.in12
3 files changed, 17 insertions, 25 deletions
diff --git a/configure.ac b/configure.ac
index cf3d586590..3504733476 100644
--- a/configure.ac
+++ b/configure.ac
@@ -442,15 +442,15 @@ then
set_up_tarballs
mingwbin="$hardtop/inplace/mingw/bin/"
- CC="${mingwbin}gcc.exe"
- LD="${mingwbin}ld.exe"
- NM="${mingwbin}nm.exe"
- RANLIB="${mingwbin}ranlib.exe"
- OBJDUMP="${mingwbin}objdump.exe"
- MergeObjsCmd="$LD"
+ CC="${mingwbin}clang.exe"
+ LD="${mingwbin}ld.lld.exe"
+ NM="${mingwbin}llvm-nm.exe"
+ AR="${mingwbin}llvm-ar.exe"
+ RANLIB="${mingwbin}llvm-ranlib.exe"
+ OBJDUMP="${mingwbin}llvm-objdump.exe"
+ DLLTOOL="${mingwbin}llvm-dlltool.exe"
+ MergeObjsCmd="${mingwbin}ld.lld.exe"
MergeObjsArgs="-r --oformat=pe-bigobj-x86-64"
- fp_prog_ar="${mingwbin}ar.exe"
-
AC_PATH_PROG([Genlib],[genlib])
fi
diff --git a/m4/fp_settings.m4 b/m4/fp_settings.m4
index 09a24f33e1..f3f151dd11 100644
--- a/m4/fp_settings.m4
+++ b/m4/fp_settings.m4
@@ -7,18 +7,18 @@ AC_DEFUN([FP_SETTINGS],
if test "$windows" = YES -a "$EnableDistroToolchain" = "NO"
then
mingw_bin_prefix='$$tooldir/mingw/bin/'
- SettingsCCompilerCommand="${mingw_bin_prefix}gcc.exe"
- SettingsHaskellCPPCommand="${mingw_bin_prefix}gcc.exe"
+ SettingsCCompilerCommand="${mingw_bin_prefix}clang.exe"
+ SettingsHaskellCPPCommand="${mingw_bin_prefix}clang.exe"
SettingsHaskellCPPFlags="$HaskellCPPArgs"
- SettingsLdCommand="${mingw_bin_prefix}ld.exe"
+ SettingsLdCommand="${mingw_bin_prefix}ld.lld.exe"
# Overrides FIND_MERGE_OBJECTS in order to avoid hard-coding linker
# path on Windows (#18550).
SettingsMergeObjectsCommand="${SettingsLdCommand}"
SettingsMergeObjectsFlags="-r --oformat=pe-bigobj-x86-64"
- SettingsArCommand="${mingw_bin_prefix}ar.exe"
- SettingsRanlibCommand="${mingw_bin_prefix}ranlib.exe"
- SettingsDllWrapCommand="${mingw_bin_prefix}dllwrap.exe"
- SettingsWindresCommand="${mingw_bin_prefix}windres.exe"
+ SettingsArCommand="${mingw_bin_prefix}llvm-ar.exe"
+ SettingsRanlibCommand="${mingw_bin_prefix}llvm-ranlib.exe"
+ SettingsDllWrapCommand="${mingw_bin_prefix}llvm-dllwrap.exe"
+ SettingsWindresCommand="${mingw_bin_prefix}llvm-windres.exe"
SettingsTouchCommand='$$topdir/bin/touchy.exe'
elif test "$EnableDistroToolchain" = "YES"
then
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 1559e98ea3..1ff7cb4109 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -655,11 +655,7 @@ SRC_HSC2HS_OPTS_STAGE0 += --cflag=-D$(HostArch_CPP)_HOST_ARCH --cflag=-D$(HostOS
SRC_HSC2HS_OPTS_STAGE1 += --cflag=-D$(TargetArch_CPP)_HOST_ARCH --cflag=-D$(TargetOS_CPP)_HOST_OS
SRC_HSC2HS_OPTS_STAGE2 += --cflag=-D$(TargetArch_CPP)_HOST_ARCH --cflag=-D$(TargetOS_CPP)_HOST_OS
-ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-WINDRES = $(INPLACE_MINGW)/bin/windres
-else ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32"
-WINDRES = $(INPLACE_MINGW)/bin/windres
-endif
+WINDRES=@WindresCmd@
#-----------------------------------------------------------------------------
# Python for testsuite driver and code generators
@@ -670,11 +666,7 @@ PYTHON=@PythonCmd@
# Mingwex Library
#
HaveLibMingwEx = @HaveLibMingwEx@
-ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-DLLTOOL = inplace/mingw/bin/dlltool.exe
-else ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32"
-DLLTOOL = inplace/mingw/bin/dlltool.exe
-endif
+DLLTOOL = @DlltoolCmd@
#-----------------------------------------------------------------------------
# Other standard (ha!) Unix utilities