public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Chema Gonzalez <chema@berkeley.edu>
To: "Gao, Liming" <liming.gao@intel.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: FW: [tianocore/edk2] BaseTools: Barf on unknown HOST_ARCH in C Makefile (#122)
Date: Thu, 4 Jan 2018 11:47:54 -0800	[thread overview]
Message-ID: <CAEb0MffNAZCBNsoCPqimH5-GYJND8qsDwO_SC9EXxoQrKpBgsg@mail.gmail.com> (raw)
In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E19B325@SHSMSX104.ccr.corp.intel.com>

[-- Attachment #1: Type: text/plain, Size: 2294 bytes --]

Added similar changes to `BaseTools/Source/C/Makefiles/header.makefile`.

Thanks,
-Chema


On Fri, Dec 29, 2017 at 7:17 AM, Gao, Liming <liming.gao@intel.com> wrote:
> I suggest GNUmakefile also adds this condition to report error message if HOST_ARCH is not set correctly.
>
>> -----Original Message-----
>> From: chemag@gmail.com [mailto:chemag@gmail.com] On Behalf Of Chema Gonzalez
>> Sent: Friday, December 29, 2017 6:19 AM
>> To: edk2-devel@lists.01.org
>> Cc: Gao, Liming <liming.gao@intel.com>
>> Subject: Fwd: FW: [tianocore/edk2] BaseTools: Barf on unknown HOST_ARCH in C Makefile (#122)
>>
>> Sure.
>>
>> Thanks,
>> -Chema
>>
>> ---------- Forwarded message ----------
>> From: Gao, Liming <liming.gao@intel.com>
>> Date: Wed, Dec 27, 2017 at 5:48 PM
>> Subject: FW: [tianocore/edk2] BaseTools: Barf on unknown HOST_ARCH in
>> C Makefile (#122)
>> To: "chemag@gmail.com" <chemag@gmail.com>
>>
>>
>> Could you send patch to edk2-devel@lists.01.org?
>>
>>
>>
>> From: chemag [mailto:notifications@github.com]
>> Sent: Thursday, December 28, 2017 9:26 AM
>> To: tianocore/edk2 <edk2@noreply.github.com>
>> Cc: Subscribed <subscribed@noreply.github.com>
>> Subject: [tianocore/edk2] BaseTools: Barf on unknown HOST_ARCH in C
>> Makefile (#122)
>>
>>
>>
>> I was getting HOST_ARCH set using the linux arch name ("x86_64"), which
>> is different from the MS one ("X64").
>>
>> It is not clear anyway we can proceed without valid build variables
>> (ARCH_INCLUDE, BIN_PATH, LIB_PATH, SYS_BIN_PATH, and
>> SYS_LIB_PATH).
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Chema Gonzalez chemag@gmail.com
>>
>> ________________________________
>>
>> You can view, comment on, or merge this pull request online at:
>>
>>   https://github.com/tianocore/edk2/pull/122
>>
>> Commit Summary
>>
>> BaseTools: Barf on unknown HOST_ARCH in C Makefile
>>
>> File Changes
>>
>> M BaseTools/Source/C/Makefiles/ms.common (6)
>>
>> Patch Links:
>>
>> https://github.com/tianocore/edk2/pull/122.patch
>> https://github.com/tianocore/edk2/pull/122.diff
>>
>> —
>> You are receiving this because you are subscribed to this thread.
>> Reply to this email directly, view it on GitHub, or mute the thread.

[-- Attachment #2: 0001-BaseTools-Barf-on-unknown-HOST_ARCH-in-C-Makefile.patch --]
[-- Type: text/x-patch, Size: 2516 bytes --]

From f1b7b7ccb78e853433d41652f0be49aa14030f00 Mon Sep 17 00:00:00 2001
From: Chema Gonzalez <chemag@fb.com>
Date: Wed, 27 Dec 2017 16:23:56 -0800
Subject: [PATCH] BaseTools: Barf on unknown HOST_ARCH in C Makefile

I was getting `HOST_ARCH` set using the linux arch name ("x86_64"), which
is different from the MS one ("X64").

It is not clear anyway we can proceed without valid build variables
(`ARCH_INCLUDE`, `BIN_PATH`, `LIB_PATH`, `SYS_BIN_PATH`, and
`SYS_LIB_PATH`).

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Chema Gonzalez <chemag@gmail.com>
---
 BaseTools/Source/C/Makefiles/header.makefile | 12 ++++++------
 BaseTools/Source/C/Makefiles/ms.common       |  6 ++++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index 27aa28b..e034da2 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -29,18 +29,18 @@ BUILD_LD ?= ld
 LINKER ?= $(BUILD_CC)
 ifeq ($(HOST_ARCH), IA32)
 ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/
-endif
 
-ifeq ($(HOST_ARCH), X64)
+else ifeq ($(HOST_ARCH), X64)
 ARCH_INCLUDE = -I $(MAKEROOT)/Include/X64/
-endif
 
-ifeq ($(HOST_ARCH), ARM)
+else ifeq ($(HOST_ARCH), ARM)
 ARCH_INCLUDE = -I $(MAKEROOT)/Include/Arm/
-endif
 
-ifeq ($(HOST_ARCH), AARCH64)
+else ifeq ($(HOST_ARCH), AARCH64)
 ARCH_INCLUDE = -I $(MAKEROOT)/Include/AArch64/
+
+else
+$(error Bad HOST_ARCH)
 endif
 
 INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) 
diff --git a/BaseTools/Source/C/Makefiles/ms.common b/BaseTools/Source/C/Makefiles/ms.common
index a6bfea5..06399df 100644
--- a/BaseTools/Source/C/Makefiles/ms.common
+++ b/BaseTools/Source/C/Makefiles/ms.common
@@ -42,14 +42,16 @@ BIN_PATH     = $(BASE_TOOLS_PATH)\Bin\Win32
 LIB_PATH     = $(BASE_TOOLS_PATH)\Lib\Win32
 SYS_BIN_PATH = $(EDK_TOOLS_PATH)\Bin\Win32
 SYS_LIB_PATH = $(EDK_TOOLS_PATH)\Lib\Win32
-!ENDIF
 
-!IF "$(HOST_ARCH)"=="X64"
+!ELSEIF "$(HOST_ARCH)"=="X64"
 ARCH_INCLUDE = $(SOURCE_PATH)\Include\X64
 BIN_PATH     = $(BASE_TOOLS_PATH)\Bin\Win64
 LIB_PATH     = $(BASE_TOOLS_PATH)\Lib\Win64
 SYS_BIN_PATH = $(EDK_TOOLS_PATH)\Bin\Win64
 SYS_LIB_PATH = $(EDK_TOOLS_PATH)\Lib\Win64
+
+!ELSE
+!ERROR "Unknown HOST_ARCH variable"
 !ENDIF
 
 CC = cl.exe
-- 
2.7.4


  reply	other threads:[~2018-01-04 19:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <tianocore/edk2/pull/122@github.com>
     [not found] ` <4A89E2EF3DFEDB4C8BFDE51014F606A14E199A2D@SHSMSX104.ccr.corp.intel.com>
2017-12-28 22:18   ` FW: [tianocore/edk2] BaseTools: Barf on unknown HOST_ARCH in C Makefile (#122) Chema Gonzalez
2017-12-29 15:17     ` Gao, Liming
2018-01-04 19:47       ` Chema Gonzalez [this message]
2018-01-09  1:42         ` Gao, Liming
2018-01-09  2:34           ` Chema Gonzalez
2018-01-24  1:17             ` Chema Gonzalez
2018-01-24  1:44               ` Gao, Liming

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAEb0MffNAZCBNsoCPqimH5-GYJND8qsDwO_SC9EXxoQrKpBgsg@mail.gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox