diff options
author | Dennis Stosberg <dennis@stosberg.net> | 2006-08-15 11:01:31 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-08-15 03:13:47 -0700 |
commit | 60a144f28047b4fa0e4a795972c483fa85a7d3c8 (patch) | |
tree | e06f3ff36980e068c9a3a036f2606122f8134f96 | |
parent | d7b6c3c0f54b951c85cd41c6e6571c65cf090111 (diff) | |
download | git-60a144f28047b4fa0e4a795972c483fa85a7d3c8.tar.gz |
Fix compilation with Sun CC
- Add the CFLAGS variable to config.mak.in to override the Makefile's
default, which is gcc-specific and won't work with Sun CC.
- Prefer "cc" over "gcc", because Pasky's Git.pm will not compile with gcc
on Solaris at all. On Linux and the free BSDs "cc" is linked to "gcc"
anyway.
- Set correct flag to generate position-independent code.
- Add "-xO3" (= use default optimization level) to CFLAGS.
Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | config.mak.in | 2 | ||||
-rw-r--r-- | configure.ac | 9 |
3 files changed, 15 insertions, 2 deletions
@@ -112,6 +112,7 @@ uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not') # CFLAGS and LDFLAGS are for the users to override from the command line. CFLAGS = -g -O2 -Wall +PIC_FLAG = -fPIC LDFLAGS = ALL_CFLAGS = $(CFLAGS) ALL_LDFLAGS = $(LDFLAGS) @@ -402,6 +403,9 @@ endif ifneq (,$(findstring arm,$(uname_M))) ARM_SHA1 = YesPlease endif +ifeq ($(uname_M),sun4u) + USE_PIC = YesPlease +endif ifeq ($(uname_M),x86_64) USE_PIC = YesPlease endif @@ -544,7 +548,7 @@ endif endif endif ifdef USE_PIC - ALL_CFLAGS += -fPIC + ALL_CFLAGS += $(PIC_FLAG) endif ifdef NO_ACCURATE_DIFF BASIC_CFLAGS += -DNO_ACCURATE_DIFF diff --git a/config.mak.in b/config.mak.in index 369e6116e0..addda4f16c 100644 --- a/config.mak.in +++ b/config.mak.in @@ -2,6 +2,8 @@ # @configure_input@ CC = @CC@ +CFLAGS = @CFLAGS@ +PIC_FLAG = @PIC_FLAG@ AR = @AR@ TAR = @TAR@ #INSTALL = @INSTALL@ # needs install-sh or install.sh in sources diff --git a/configure.ac b/configure.ac index 36f9cd94d8..0f93f6fe29 100644 --- a/configure.ac +++ b/configure.ac @@ -95,7 +95,14 @@ AC_SUBST(PYTHON_PATH) ## Checks for programs. AC_MSG_NOTICE([CHECKS for programs]) # -AC_PROG_CC +AC_PROG_CC([cc gcc]) +if test -n "$GCC"; then + PIC_FLAG="-fPIC" +else + AC_CHECK_DECL(__SUNPRO_C, [CFLAGS="$CFLAGS -xO3"; PIC_FLAG="-KPIC"]) +fi +AC_SUBST(PIC_FLAG) + #AC_PROG_INSTALL # needs install-sh or install.sh in sources AC_CHECK_TOOL(AR, ar, :) AC_CHECK_PROGS(TAR, [gtar tar]) |