You copied the Doc URL to your clipboard.

Default behavior for armclang -E in a scatter file

armlink behaves in the same way as armclang when invoking other ARM tools.

armlink searches for the armclang binary in the following order:

  1. The same location as armlink.
  2. The PATH locations.

armlink invokes armclang with the -Iscatter_file_path option so that any relative #includes work. The linker only adds this option if the full name of the preprocessor tool given is armclang or armclang.exe. This means that if an absolute path or a relative path is given, the linker does not give the -Iscatter_file_path option to the preprocessor. This also happens with the --cpu option.

On Windows, .exe suffixes are handled, so armclang.exe is considered the same as armclang. Executable names are case insensitive, so ARMCLANG is considered the same as armclang. The portable way to write scatter file preprocessing lines is to use correct capitalization and omit the .exe suffix.