summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorViktor Szakats <vszakats@users.noreply.github.com>2017-10-15 19:42:32 +0000
committerViktor Szakats <vszakats@users.noreply.github.com>2017-10-15 19:42:32 +0000
commit4440b6ad575385b433dc4b8a28ef80000aa95f7f (patch)
treeee0bafe2591abb746ff06e39d864935623da4ac1 /src
parent748f5301c0a91ad8bab2b74097bc25e3d99317b9 (diff)
downloadcurl-4440b6ad575385b433dc4b8a28ef80000aa95f7f.tar.gz
makefile.m32: allow to override gcc, ar and ranlib
Allow to ovverride certain build tools, making it possible to use LLVM/Clang to build curl. The default behavior is unchanged. To build with clang (as offered by MSYS2), these settings can be used: CURL_CC=clang CURL_AR=llvm-ar CURL_RANLIB=llvm-ranlib Closes https://github.com/curl/curl/pull/1993
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.m3213
1 files changed, 10 insertions, 3 deletions
diff --git a/src/Makefile.m32 b/src/Makefile.m32
index e55427a5e..728c814a4 100644
--- a/src/Makefile.m32
+++ b/src/Makefile.m32
@@ -22,7 +22,7 @@
###########################################################################
#
-## Makefile for building curl.exe with MingW (GCC-3.2 or later)
+## Makefile for building curl.exe with MingW (GCC-3.2 or later or LLVM/Clang)
## and optionally OpenSSL (1.0.2a), libssh2 (1.5), zlib (1.2.8), librtmp (2.4)
##
## Usage: mingw32-make -f Makefile.m32 CFG=-feature1[-feature2][-feature3][...]
@@ -88,12 +88,19 @@ ifndef LIBCARES_PATH
LIBCARES_PATH = $(PROOT)/ares
endif
-CC = $(CROSSPREFIX)gcc
+ifeq ($(CURL_CC),)
+CURL_CC := $(CROSSPREFIX)gcc
+endif
+ifeq ($(CURL_AR),)
+CURL_AR := $(CROSSPREFIX)ar
+endif
+
+CC = $(CURL_CC)
CFLAGS = $(CURL_CFLAG_EXTRAS) -g -O2 -Wall -W
CFLAGS += -fno-strict-aliasing
# comment LDFLAGS below to keep debug info
LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_EXE) -s
-AR = $(CROSSPREFIX)ar
+AR = $(CURL_AR)
RC = $(CROSSPREFIX)windres
RCFLAGS = --include-dir=$(PROOT)/include -O COFF
STRIP = $(CROSSPREFIX)strip -g