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.