public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Liming" <liming.gao@intel.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Prem Kumar <perry.prem@gmail.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM
Date: Mon, 5 Nov 2018 14:35:34 +0000	[thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E364EA3@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <CAKv+Gu_M_jwKsO2wrEsdTRvC3BZDqpXhrM7ut3=Tx8yhh9fTDA@mail.gmail.com>

Current CLANG38 tool chain is for Linux. You can get its more information in 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 may also need to configure them unless those command directory has been added into system PATH. 

CLANG38_DLL  that points the directory to include the required dll files. 
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 Ard Biesheuvel
> Sent: Monday, November 5, 2018 6:44 PM
> To: Prem Kumar <perry.prem@gmail.com>
> Cc: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
> Subject: Re: [edk2] [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM
> 
> On 5 November 2018 at 11:39, Prem Kumar <perry.prem@gmail.com> wrote:
> > Hi Ard Biesheuvel,
> >  Thanks for your reply.
> >
> > I've windows environment and LLVM tools chain installed. I'd like to build
> > EDK2 project for ARM and AARCH64.
> >
> > Just a simple try I've tried CLANG38 tool chain to build MdeModulePkg.dsc
> > 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        = c:\uefiworkspace\edk2-master_2018_latest
> > ECP_SOURCE       =
> > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg
> > EDK_SOURCE       =
> > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg
> > EFI_SOURCE       =
> > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg
> > EDK_TOOLS_PATH   = c:\uefiworkspace\edk2-master_2018_latest\basetools
> > EDK_TOOLS_BIN    =
> > c:\uefiworkspace\edk2-master_2018_latest\basetools\bin\win32
> > CONF_PATH        = c:\uefiworkspace\edk2-master_2018_latest\conf
> >
> >
> > Architecture(s)  = AARCH64
> > Build target     = DEBUG
> > Toolchain        = CLANG38
> >
> > Active Platform          =
> > c:\uefiworkspace\edk2-master_2018_latest\MdeModulePkg\MdeModulePkg.dsc
> >
> > Processing meta-data ...... done!
> > Building ...
> > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib.inf
> > [AARCH64]
> > Building ...
> > c:\uefiworkspace\edk2-master_2018_latest\ArmPkg\Library\CompilerIntrinsicsLib\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,
> 
> It seems you will need GNU make for Windows
> 
> > Building ...
> > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiApplicationEntryPoint\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\AARCH64\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\AARCH64\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\AARCH64\MdePkg\Library\UefiApplicationEntryPoint
> \UefiApplicationEntryPoint]
> >
> >
> > build.py...
> >  : error 7000: Failed to execute command
> >         make tbuild
> >
> [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiDevicePathLib\UefiD
> evicePathLib]
> >
> >
> > build.py...
> >  : error F002: Failed to build module
> >
> > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\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 <ard.biesheuvel@linaro.org>
> > wrote:
> >>
> >> On 5 November 2018 at 09:51, Prem Kumar <perry.prem@gmail.com> 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


      reply	other threads:[~2018-11-05 14:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAG+YCe0inGqy_60B2LQhAfj0i9nJwMT0Jn0ynZ71TfPUtMUoUA@mail.gmail.com>
     [not found] ` <CAG+YCe2ijxfGKKNk6HgW8Et7fL4xSgeJoKqkxnGVeUkes2F1qg@mail.gmail.com>
     [not found]   ` <4A89E2EF3DFEDB4C8BFDE51014F606A14E3644F3@SHSMSX104.ccr.corp.intel.com>
     [not found]     ` <CAG+YCe2ROe1wvF5QMX7ZEvLFuuy-1XxwPa=087W7jFny1wZ9zQ@mail.gmail.com>
2018-11-05  8:51       ` [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM Prem Kumar
2018-11-05  9:52         ` Gao, Liming
2018-11-05 10:22         ` Ard Biesheuvel
2018-11-05 10:39           ` Prem Kumar
2018-11-05 10:43             ` Ard Biesheuvel
2018-11-05 14:35               ` Gao, Liming [this message]

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=4A89E2EF3DFEDB4C8BFDE51014F606A14E364EA3@SHSMSX104.ccr.corp.intel.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