Has CMAKE been considered ? CMAKE should work equally well on windows(visual studio and Cygwin) and linux. You can create a new build system around CMAKE while keeping the current Makefile system alive, and deprecate it later, once the CMAKE based build system is stable.
-Raghu
On Dec 13, 2018, at 04:00 AM, tf-a-request(a)lists.trustedfirmware.org wrote:
Send TF-A mailing list submissions to
tf-a(a)lists.trustedfirmware.org
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.trustedfirmware.org/mailman/listinfo/tf-a
or, via email, send a message with subject or body 'help' to
tf-a-request(a)lists.trustedfirmware.org
You can reach the person managing the list at
tf-a-owner(a)lists.trustedfirmware.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of TF-A digest..."
Today's Topics:
1. New build system based on Kconfig/Kbuild (Antonio Nino Diaz)
2. Re: New build system based on Kconfig/Kbuild (Antonio Nino Diaz)
----------------------------------------------------------------------
Message: 1
Date: Wed, 12 Dec 2018 15:50:15 +0000
From: Antonio Nino Diaz <Antonio.NinoDiaz(a)arm.com>
To: "tf-a(a)lists.trustedfirmware.org" <tf-a(a)lists.trustedfirmware.org>
Subject: [Tf-a] New build system based on Kconfig/Kbuild
Message-ID:
<DB6PR0801MB1943C8DAE7D0574D1C6E15BD89A70(a)DB6PR0801MB1943.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="iso-8859-1"
Hello,
One of the biggest issues that the current codebase of TF-A has is the build
system. It is unfit for the amount of options and dependencies of said options,
and adding new features is now an effort of trying to add the new feature while
not breaking the rest of the code.
There is another problem. When the firmware is compiled with, say, OPTION=1, if
it is recompiled with OPTION=0 without cleaning first, nothing will be rebuilt.
We have had several discussions about this internally and we have decided to
migrate to Kbuild/Kconfig, the build system used by the Linux kernel. There are
already some projects using it, like U-Boot or Zephyr RTOS.
We are starting the work related to this migration, and our intention is to
migrate upstream platforms to this new build system.
However, this change means that:
- All non-upstream platforms will break until they update their makefiles.
- Compilation under Windows won't be possible anymore without Cygwin or MinGW.
We're open to comments.
Regards,
Antonio
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
------------------------------
Message: 2
Date: Wed, 12 Dec 2018 15:54:30 +0000
From: Antonio Nino Diaz <Antonio.NinoDiaz(a)arm.com>
To: Antonio Nino Diaz <Antonio.NinoDiaz(a)arm.com>,
"tf-a(a)lists.trustedfirmware.org" <tf-a(a)lists.trustedfirmware.org>
Cc: nd <nd(a)arm.com>
Subject: Re: [Tf-a] New build system based on Kconfig/Kbuild
Message-ID:
<DB6PR0801MB1943F0BC699C1B37A8787C2889A70(a)DB6PR0801MB1943.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="us-ascii"
Please, ignore the confidentiality notice.
________________________________
From: TF-A <tf-a-bounces(a)lists.trustedfirmware.org> on behalf of Antonio Nino Diaz via TF-A <tf-a(a)lists.trustedfirmware.org>
Sent: 12 December 2018 15:50:24
To: tf-a(a)lists.trustedfirmware.org
Subject: [Tf-a] New build system based on Kconfig/Kbuild
Hello,
One of the biggest issues that the current codebase of TF-A has is the build
system. It is unfit for the amount of options and dependencies of said options,
and adding new features is now an effort of trying to add the new feature while
not breaking the rest of the code.
There is another problem. When the firmware is compiled with, say, OPTION=1, if
it is recompiled with OPTION=0 without cleaning first, nothing will be rebuilt.
We have had several discussions about this internally and we have decided to
migrate to Kbuild/Kconfig, the build system used by the Linux kernel. There are
already some projects using it, like U-Boot or Zephyr RTOS.
We are starting the work related to this migration, and our intention is to
migrate upstream platforms to this new build system.
However, this change means that:
- All non-upstream platforms will break until they update their makefiles.
- Compilation under Windows won't be possible anymore without Cygwin or MinGW.
We're open to comments.
Regards,
Antonio
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
--
TF-A mailing list
TF-A(a)lists.trustedfirmware.org
https://lists.trustedfirmware.org/mailman/listinfo/tf-a
------------------------------
Subject: Digest Footer
TF-A mailing list
TF-A(a)lists.trustedfirmware.org
https://lists.trustedfirmware.org/mailman/listinfo/tf-a
------------------------------
End of TF-A Digest, Vol 1, Issue 1
**********************************
Please, ignore the confidentiality notice.
________________________________
From: TF-A <tf-a-bounces(a)lists.trustedfirmware.org> on behalf of Antonio Nino Diaz via TF-A <tf-a(a)lists.trustedfirmware.org>
Sent: 12 December 2018 15:50:24
To: tf-a(a)lists.trustedfirmware.org
Subject: [Tf-a] New build system based on Kconfig/Kbuild
Hello,
One of the biggest issues that the current codebase of TF-A has is the build
system. It is unfit for the amount of options and dependencies of said options,
and adding new features is now an effort of trying to add the new feature while
not breaking the rest of the code.
There is another problem. When the firmware is compiled with, say, OPTION=1, if
it is recompiled with OPTION=0 without cleaning first, nothing will be rebuilt.
We have had several discussions about this internally and we have decided to
migrate to Kbuild/Kconfig, the build system used by the Linux kernel. There are
already some projects using it, like U-Boot or Zephyr RTOS.
We are starting the work related to this migration, and our intention is to
migrate upstream platforms to this new build system.
However, this change means that:
- All non-upstream platforms will break until they update their makefiles.
- Compilation under Windows won't be possible anymore without Cygwin or MinGW.
We're open to comments.
Regards,
Antonio
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
--
TF-A mailing list
TF-A(a)lists.trustedfirmware.org
https://lists.trustedfirmware.org/mailman/listinfo/tf-a
Hello,
One of the biggest issues that the current codebase of TF-A has is the build
system. It is unfit for the amount of options and dependencies of said options,
and adding new features is now an effort of trying to add the new feature while
not breaking the rest of the code.
There is another problem. When the firmware is compiled with, say, OPTION=1, if
it is recompiled with OPTION=0 without cleaning first, nothing will be rebuilt.
We have had several discussions about this internally and we have decided to
migrate to Kbuild/Kconfig, the build system used by the Linux kernel. There are
already some projects using it, like U-Boot or Zephyr RTOS.
We are starting the work related to this migration, and our intention is to
migrate upstream platforms to this new build system.
However, this change means that:
- All non-upstream platforms will break until they update their makefiles.
- Compilation under Windows won't be possible anymore without Cygwin or MinGW.
We're open to comments.
Regards,
Antonio
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.