From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D3BA221A00AE6 for ; Mon, 5 Nov 2018 06:35:38 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Nov 2018 06:35:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,468,1534834800"; d="scan'208";a="89566606" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga008.jf.intel.com with ESMTP; 05 Nov 2018 06:35:38 -0800 Received: from fmsmsx153.amr.corp.intel.com (10.18.125.6) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 5 Nov 2018 06:35:37 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX153.amr.corp.intel.com (10.18.125.6) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 5 Nov 2018 06:35:36 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.117]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.199]) with mapi id 14.03.0415.000; Mon, 5 Nov 2018 22:35:35 +0800 From: "Gao, Liming" To: Ard Biesheuvel , Prem Kumar CC: "edk2-devel@lists.01.org" Thread-Topic: [edk2] [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM Thread-Index: AQHUdPF4L/gGIvZXz0yDC8sOS04xxKVAd8UAgAABBYCAAMUJkA== Date: Mon, 5 Nov 2018 14:35:34 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E364EA3@SHSMSX104.ccr.corp.intel.com> References: <4A89E2EF3DFEDB4C8BFDE51014F606A14E3644F3@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMzhmNDA0ZDgtZWE4OC00YmRlLWEzZjEtYzNlMzQ5OGM5MTVkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTDVoa0dGNUx4RjBCMkk4WG1YV0J5YUV0UDdwTldvY1Z1N1IrWVZBNFJjTTlJUlFcL3hxeFB6ZEZEYWtGeU5Ia2IifQ== dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Nov 2018 14:35:39 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Current CLANG38 tool chain is for Linux. You can get its more information i= n Conf\tools_def.txt file. So, it depends on GNU make instead of MSFT nmake= . Besides, CLANG38 tool chain depends on the following environments. You ma= y also need to configure them unless those command directory has been added= into system PATH.=20 CLANG38_DLL that points the directory to include the required dll files.=20 CLANG38_BIN that points the directory to include clang command CLANG38_ARM_PREFIX that points the directory to include objcopy CLANG38_AARCH64_PREFIX that points the directory to include objcopy Thanks Liming > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ar= d Biesheuvel > Sent: Monday, November 5, 2018 6:44 PM > To: Prem Kumar > Cc: edk2-devel@lists.01.org; Gao, Liming > Subject: Re: [edk2] [edk2-buildtools] Configuration changes for building = EDK2 for AARCH64 using LLVM >=20 > On 5 November 2018 at 11:39, Prem Kumar wrote: > > Hi Ard Biesheuvel, > > Thanks for your reply. > > > > I've windows environment and LLVM tools chain installed. I'd like to bu= ild > > EDK2 project for ARM and AARCH64. > > > > Just a simple try I've tried CLANG38 tool chain to build MdeModulePkg.d= sc > > like below, > > > > build -t CLANG38 -a AARCH64 -p MdeModulePkg\MdeModulePkg.dsc > > > > Below is the error for above command used, > > C:\UEFIWorkspace\edk2-master_2018_Latest>build -t CLANG38 -a AARCH64 -p > > MdeModulePkg\MdeModulePkg.dsc > > Build environment: Windows-10-10.0.16299 > > Build start time: 16:08:38, Nov.05 2018 > > > > WORKSPACE =3D c:\uefiworkspace\edk2-master_2018_latest > > ECP_SOURCE =3D > > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > > EDK_SOURCE =3D > > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > > EFI_SOURCE =3D > > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > > EDK_TOOLS_PATH =3D c:\uefiworkspace\edk2-master_2018_latest\basetools > > EDK_TOOLS_BIN =3D > > c:\uefiworkspace\edk2-master_2018_latest\basetools\bin\win32 > > CONF_PATH =3D c:\uefiworkspace\edk2-master_2018_latest\conf > > > > > > Architecture(s) =3D AARCH64 > > Build target =3D DEBUG > > Toolchain =3D CLANG38 > > > > Active Platform =3D > > c:\uefiworkspace\edk2-master_2018_latest\MdeModulePkg\MdeModulePkg.dsc > > > > Processing meta-data ...... done! > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckL= ib\BaseStackCheckLib.inf > > [AARCH64] > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\ArmPkg\Library\CompilerIntrins= icsLib\CompilerIntrinsicsLib.inf > > [AARCH64] > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiLib\UefiLib= .inf > > [AARCH64] > > 'make' is not recognized as an internal or external command, > > 'make' is not recognized as an internal or external command, >=20 > It seems you will need GNU make for Windows >=20 > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiApplication= EntryPoint\UefiApplicationEntryPoint.inf > > [AARCH64] > > operable program or batch file. > > operable program or batch file. > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\A= ARCH64\MdePkg\Library\BaseStackCheckLib\BaseS > tackCheckLib] > > 'make' is not recognized as an internal or external command, > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\A= ARCH64\ArmPkg\Library\CompilerIntrinsicsLib\Co > mpilerIntrinsicsLib] > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38= \AARCH64\MdePkg\Library\UefiLib\UefiLib] > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\A= ARCH64\MdePkg\Library\UefiApplicationEntryPoint > \UefiApplicationEntryPoint] > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\A= ARCH64\MdePkg\Library\UefiDevicePathLib\UefiD > evicePathLib] > > > > > > build.py... > > : error F002: Failed to build module > > > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckL= ib\BaseStackCheckLib.inf > > [AARCH64, CLANG38, DEBUG] > > > > - Failed - > > Build end time: 16:08:52, Nov.05 2018 > > > > -- > > Thanks, > > Prem. > > > > On Mon, Nov 5, 2018 at 3:52 PM Ard Biesheuvel > > wrote: > >> > >> On 5 November 2018 at 09:51, Prem Kumar wrote: > >> > Hi All, > >> > > >> > I'm trying to build EDK2 for AARCH64 using LLVM tool chain under > >> > Windows > >> > environment. > >> > > >> > > >> > > >> > Kindly provide any pointers > >> > > >> > - To configure tools chain, > >> > > >> > - Modify Conf folder for LLVM > >> > > >> > - Configure for building ARM and AARCH64 > >> > > >> > > >> > Any pointers are welcome to proceed further. > >> > > >> > >> I'm sorry - I don't have access to a Windows machine, but I am not > >> aware of any reasons why clang for windows wouldn't work with the > >> CLANG38 toolchain profile to build AARCH64 targets. > >> > >> However, GCC5 is by far the best supported one, so if you're after the > >> ability to build AARCH64 targets using whichever toolchain, that is > >> what I would recommend instead. > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel