I'm trying to migrate a bare metal ARM project, that was previously built with GCC (arm-xilinx-eabi) and Autotools, over to DS-5 armcc toolchain. Does anyone have a working example of using Autotools (autoconf / automake) with armcc, armlink, armar, etc.? I've hacked up a configure.ac file along with some patched .m4 macros and have it sort of working but have to believe that someone has already blazed this trail. Any help would be greatly appreciated.
Thanks!
Our compiler support team haven't seen any examples like the one you're asking for and I can't spot any - you might be the trailblazer!
What are you trying to do exactly ? Migrate on another OS, other board,... ?
I have a fairly complex bare metal A9 software design that is being prototyped on a Xilinx ZYNQ FPGA. The final design will run on a custom A9 based SoC. The toolchain that we are using for the ZYNQ development is supplied by Xilinx and is GNU based. For the final implementation running on the custom SoC we want to use the DS-5 / armcc toolchain. Since the code base is fairly complex and we are dealing with several target configurations and toolchains I decided to use Autotools.
Autotools worked perfectly with the Xilinx toolchain and I have been very pleased with the way that the overall build system is coming together. But migrating to armcc has not been easy. Autotools does have intrinsic knowledge of other non-GCC compilers, such as the Intel compiler and clang. Unfortunately it knows nothing of armcc. So it gets hung up on little thinks like not being able to run: "armcc --version" or not recognizing the linkers default output file name "__image.axf". I did try running armcc using the "--translate_gcc" option. That helped a little bit but was not a complete solution. So the only option is to write some custom .m4 macro files that override Autotools default behavior.
Autotools uses a lot of package to operate. I think that this may be a problem of dependence or missing library.
You could try to recompile the software with their sources to make sure everything is in place. Instead of using the binaries provided by the package.If a library is missing you should be warned by an error message when compiling.
I already pulled the upstream sources from gnu.org and verified that there currently is no support for armcc.
If I had more time I would really like to develop and submit a patch upstream. But there never is enough time...