Subject: Re: [PATCH 10/14] Makefile: introduce CROSS_COMPILE variable

From: Junio C Hamano <[email-masked]>
Date: Wed, 08 Oct 2014 12:25:56 -0700

Marat Radchenko <[email-masked]> writes:

> To ease cross-compilation process, introduce a single variable
> with the prefix to all compiler-related executables.
>
> Define CROSS_COMPILE=foo- if your compiler and binary utilities
> are foo-cc, foo-ar, foo-strip, etc.  More specific variables
> override this, so if you set CC=gcc CROSS_COMPILE=ia64-linux-gnu-
> then the compiler will be 'gcc', not 'ia64-linux-gnu-gcc'.
>
> Signed-off-by: Marat Radchenko <[email-masked]>
> ---
>  Makefile         | 19 +++++++++++++------
>  config.mak.uname |  2 +-
>  2 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index f34a2d4..c412996 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -339,6 +339,11 @@ all::
>  # return NULL when it receives a bogus time_t.
>  #
>  # Define HAVE_CLOCK_GETTIME if your platform has clock_gettime in librt.
> +#
> +# Define CROSS_COMPILE=foo- if your compiler and binary utilities
> +# are foo-cc, foo-ar, foo-strip, etc.  More specific variables
> +# override this, so if you set CC=gcc CROSS_COMPILE=ia64-linux-gnu-
> +# then the compiler will be 'gcc', not 'ia64-linux-gnu-gcc'.

I think you forgot the "default to empty", i.e.

CROSS_COMPILE =

somewhere to prevent stray an environment variable from affecting
the build (which you did correctly for RCFLAGS).

>  GIT-VERSION-FILE: FORCE
>  	@$(SHELL_PATH) ./GIT-VERSION-GEN
> @@ -350,7 +355,6 @@ CFLAGS = -g -O2 -Wall
>  LDFLAGS =
>  ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
>  ALL_LDFLAGS = $(LDFLAGS)
> -STRIP ?= strip
>  
>  # Among the variables below, these:
>  #   gitexecdir
> @@ -390,8 +394,12 @@ htmldir_relative = $(patsubst $(prefix)/%,%,$(htmldir))
>  
>  export prefix bindir sharedir sysconfdir gitwebdir localedir
>  
> -CC = cc
> -AR = ar
> +AR = $(CROSS_COMPILE)ar
> +CC = $(CROSS_COMPILE)cc
> +GCOV = $(CROSS_COMPILE)gcov
> +RC = $(CROSS_COMPILE)windres
> +STRIP = $(CROSS_COMPILE)strip
> +
>  RM = rm -f
>  DIFF = diff
>  TAR = tar
> @@ -404,13 +412,12 @@ XGETTEXT = xgettext
>  MSGFMT = msgfmt
>  PTHREAD_LIBS = -lpthread
>  PTHREAD_CFLAGS =
> -GCOV = gcov
>  
>  export TCL_PATH TCLTK_PATH
>  
>  SPARSE_FLAGS =
>  
> -
> +RCFLAGS =
>  
>  ### --- END CONFIGURATION SECTION ---
>  
> @@ -1669,7 +1676,7 @@ $(SCRIPT_LIB) : % : %.sh GIT-SCRIPT-DEFINES
>  	mv $@+ $@
>  
>  git.res: git.rc GIT-VERSION-FILE
> -	$(QUIET_RC)$(RC) \
> +	$(QUIET_RC)$(RC) $(RCFLAGS) \
>  	  $(join -DMAJOR= -DMINOR=, $(wordlist 1,2,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \
>  	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
>  
> diff --git a/config.mak.uname b/config.mak.uname
> index f79c0e0..9f7037e 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -523,7 +523,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
>  	EXTLIBS += -lws2_32
>  	GITLIBS += git.res
>  	PTHREAD_LIBS =
> -	RC = windres -O coff
> +	RCFLAGS += -O coff
>  	NATIVE_CRLF = YesPlease
>  	X = .exe
>  	SPARSE_FLAGS = -Wno-one-bit-signed-bitfield
> -- 
> 2.1.1
>
> -- 

-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to [email-masked]
To unsubscribe from this group, send email to
[email-masked]
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "Git for Windows" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email-masked].
For more options, visit https://groups.google.com/d/optout.