From patchwork Thu May 9 05:08:35 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Frysinger X-Patchwork-Id: 2543011 Return-Path: X-Original-To: patchwork-linux-parisc@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 4CCA4DF24C for ; Thu, 9 May 2013 05:08:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750873Ab3EIFId (ORCPT ); Thu, 9 May 2013 01:08:33 -0400 Received: from smtp.gentoo.org ([140.211.166.183]:60131 "EHLO smtp.gentoo.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750831Ab3EIFId (ORCPT ); Thu, 9 May 2013 01:08:33 -0400 Received: from localhost.localdomain (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 6628433DEE1; Thu, 9 May 2013 05:08:32 +0000 (UTC) From: Mike Frysinger To: linux-parisc@vger.kernel.org, Helge Deller , "James E.J. Bottomley" Cc: John David Anglin Subject: [PATCH] parisc: make default cross compiler search more robust Date: Thu, 9 May 2013 01:08:35 -0400 Message-Id: <1368076115-22262-1-git-send-email-vapier@gentoo.org> X-Mailer: git-send-email 1.8.2.1 Sender: linux-parisc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-parisc@vger.kernel.org People/distros vary how they prefix the toolchain name for 64bit builds. Rather than enforce one convention over another, add a for loop which does a search for all the general prefixes. This code will run for both native and cross builds when CROSS_COMPILE isn't explicitly set. For 64bit builds, we now search for (in order): hppa64-unknown-linux-gnu hppa64-linux-gnu hppa64-linux For 32bit builds, we look for: hppa-unknown-linux-gnu hppa-linux-gnu hppa-linux hppa1.1-unknown-linux-gnu hppa1.1-linux-gnu hppa1.1-linux hppa2.0-unknown-linux-gnu hppa2.0-linux-gnu hppa2.0-linux Signed-off-by: Mike Frysinger --- arch/parisc/Makefile | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile index 2f967cc..523ae34 100644 --- a/arch/parisc/Makefile +++ b/arch/parisc/Makefile @@ -23,9 +23,6 @@ NM = sh $(srctree)/arch/parisc/nm CHECKFLAGS += -D__hppa__=1 LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) -MACHINE := $(shell uname -m) -NATIVE := $(if $(filter parisc%,$(MACHINE)),1,0) - ifdef CONFIG_64BIT UTS_MACHINE := parisc64 CHECKFLAGS += -D__LP64__=1 -m64 @@ -35,12 +32,17 @@ WIDTH := endif # attempt to help out folks who are cross-compiling -ifeq ($(NATIVE),1) -CROSS_COMPILE := hppa$(WIDTH)-linux- -else - ifeq ($(CROSS_COMPILE),) - CROSS_COMPILE := hppa$(WIDTH)-linux-gnu- - endif +ifeq ($(CROSS_COMPILE),) +CROSS_COMPILE := $(shell \ + arches="hppa$(WIDTH)"; \ + [ -z "$(WIDTH)" ] && arches="$$a hppa1.1 hppa2.0"; \ + for a in $$arches; do \ + for p in unknown-linux-gnu linux-gnu linux; do \ + c="$$a-$$p-"; \ + command -v $${c}gcc >/dev/null 2>&1 && echo $$c && break 2; \ + done; \ + done \ +) endif OBJCOPY_FLAGS =-O binary -R .note -R .comment -S