From 1f046163171fd064ce1211f41896614cf48a3752 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 16 Mar 2012 01:34:21 +0000 Subject: Fix path to windres on Win64 --- mk/config.mk.in | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mk/config.mk.in') diff --git a/mk/config.mk.in b/mk/config.mk.in index 2b5bd46aba..2482da869d 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -622,6 +622,12 @@ ifeq "$(CrossCompiling)" "YES" SRC_HSC2HS_OPTS += --cross-compile endif +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +WINDRES = $(INPLACE_MINGW)/bin/windres +else ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32" +WINDRES = $(INPLACE_MINGW)/bin/x86_64-w64-mingw32-windres +endif + #----------------------------------------------------------------------------- # Mingwex Library # -- cgit v1.2.1 From b22501b408ddb0503a06a188b06d9cff9be697cd Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Wed, 12 Oct 2011 00:49:12 -0400 Subject: Add linker support for ELF on ARM Add support for ELF objects on ARM to the runtime linker. While the list of relocation types in the "ELF for the ARM Architecture" specification spans four pages, we thankfully only see a handful of these in the wild. Thus, at the moment we only support the following .rel relocation types, * R_ARM_ABS32 * R_ARM_TARGET1 * R_ARM_REL32 * R_ARM_CALL * R_ARM_JUMP24 * R_ARM_MOVT_ABS * R_ARM_MOVW_ABS_NC * R_ARM_THM_CALL * R_ARM_THM_JUMP24 * R_ARM_THM_MOVT_ABS * R_ARM_THM_MOVW_ABS_NC * R_ARM_THM_JUMP8 * R_ARM_THM_JUMP11 Signed-off-by: Ben Gamari --- mk/config.mk.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mk/config.mk.in') diff --git a/mk/config.mk.in b/mk/config.mk.in index 2482da869d..da13af1d93 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -172,7 +172,7 @@ GhcWithSMP=$(strip $(if $(filter YESNO, $(ArchSupportsSMP)$(GhcUnregisterised)), # has support for this OS/ARCH combination. OsSupportsGHCi=$(strip $(patsubst $(TargetOS_CPP), YES, $(findstring $(TargetOS_CPP), mingw32 cygwin32 linux solaris2 freebsd dragonfly netbsd openbsd darwin kfreebsdgnu))) -ArchSupportsGHCi=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 powerpc sparc sparc64))) +ArchSupportsGHCi=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 powerpc sparc sparc64 arm))) ifeq "$(OsSupportsGHCi)$(ArchSupportsGHCi)" "YESYES" GhcWithInterpreter=YES -- cgit v1.2.1 From 88f694dd488bfe475c7dfac20ad47781c5689785 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 4 May 2012 20:07:56 +0100 Subject: Enable and fix building dynlibs on Win64 --- mk/config.mk.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'mk/config.mk.in') diff --git a/mk/config.mk.in b/mk/config.mk.in index da13af1d93..fe0feb0121 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -119,7 +119,7 @@ SharedLibsPlatformList = \ i386-unknown-freebsd x86_64-unknown-freebsd \ i386-unknown-openbsd x86_64-unknown-openbsd \ i386-unknown-netbsd x86_64-unknown-netbsd \ - i386-unknown-mingw32 \ + i386-unknown-mingw32 x86_64-unknown-mingw32 \ i386-apple-darwin x86_64-apple-darwin powerpc-apple-darwin ifeq "$(SOLARIS_BROKEN_SHLD)" "NO" @@ -632,7 +632,11 @@ endif # 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/x86_64-w64-mingw32-dlltool.exe +endif #----------------------------------------------------------------------------- # Flex (currently unused, could be moved to glafp-utils) -- cgit v1.2.1 From 9949db0a135da28d3d5497b0d31a6a50dad4a8c6 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sun, 6 May 2012 19:39:41 +0100 Subject: Fix the way we call strip on DLLs On Win64, "install -s" calls a strip that doesn't understand 64bit binaries. For some reason, this means the DLLs end up non-executable, which means executables that use them just segfault. --- mk/config.mk.in | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mk/config.mk.in') diff --git a/mk/config.mk.in b/mk/config.mk.in index fe0feb0121..b998946239 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -768,7 +768,11 @@ endif # REAL_SHELL = $(SHELL) +ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32" +STRIP_CMD = $(TOP)/inplace/mingw/bin/x86_64-w64-mingw32-strip.exe +else STRIP_CMD = strip +endif PATCH_CMD = @PatchCmd@ TAR_CMD = @TarCmd@ BZIP2_CMD = bzip2 -- cgit v1.2.1 From ca2debb201bf44b518bc06a8d37ca1017ccf390f Mon Sep 17 00:00:00 2001 From: Paolo Capriotti Date: Fri, 4 May 2012 13:04:43 +0100 Subject: Rename package-conf flags to package-db. Rename package database flags in both GHC and ghc-pkg so that they are consistent with Cabal nomenclature. Add a version check to the build system so that the correct set of package db flags are used when the bootstrapping GHC has version < 7.5. --- mk/config.mk.in | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mk/config.mk.in') diff --git a/mk/config.mk.in b/mk/config.mk.in index b998946239..1cf8685383 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -543,6 +543,8 @@ compiler/cmm/Bitmap_HC_OPTS += -ffull-laziness # for some unknown reason, so turn full-laziness back on for this module. endif +GHC_PACKAGE_DB_FLAG = @GHC_PACKAGE_DB_FLAG@ + #----------------------------------------------------------------------------- # C compiler # -- cgit v1.2.1 From 7c987d10f012e2f175344fa2c28b36f073bda293 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sun, 17 Jun 2012 21:49:18 +0100 Subject: Switch to using the 'rubenvb' mingw builds --- mk/config.mk.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mk/config.mk.in') diff --git a/mk/config.mk.in b/mk/config.mk.in index 1cf8685383..36b277b979 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -627,7 +627,7 @@ endif ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" WINDRES = $(INPLACE_MINGW)/bin/windres else ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32" -WINDRES = $(INPLACE_MINGW)/bin/x86_64-w64-mingw32-windres +WINDRES = $(INPLACE_MINGW)/bin/windres endif #----------------------------------------------------------------------------- @@ -637,7 +637,7 @@ HaveLibMingwEx = @HaveLibMingwEx@ ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" DLLTOOL = inplace/mingw/bin/dlltool.exe else ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32" -DLLTOOL = inplace/mingw/bin/x86_64-w64-mingw32-dlltool.exe +DLLTOOL = inplace/mingw/bin/dlltool.exe endif #----------------------------------------------------------------------------- @@ -771,7 +771,7 @@ endif REAL_SHELL = $(SHELL) ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32" -STRIP_CMD = $(TOP)/inplace/mingw/bin/x86_64-w64-mingw32-strip.exe +STRIP_CMD = $(TOP)/inplace/mingw/bin/strip.exe else STRIP_CMD = strip endif -- cgit v1.2.1 From 5ddc841a547d2d37428280b04c071a1d4b83e10d Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 29 Jun 2012 01:33:17 +0100 Subject: On Windows, detect if DLLs have too many symbols; trac #5987 The test isn't very pretty; it involves trawling through the objdump -p output. I couldn't find an easier way, unfortuantely. --- mk/config.mk.in | 1 + 1 file changed, 1 insertion(+) (limited to 'mk/config.mk.in') diff --git a/mk/config.mk.in b/mk/config.mk.in index 36b277b979..81298e4a93 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -714,6 +714,7 @@ DTRACE = @DtraceCmd@ LD = @LdCmd@ NM = @NmCmd@ +OBJDUMP = @ObjdumpCmd@ LLC = @LlcCmd@ OPT = @OptCmd@ -- cgit v1.2.1