Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[csolution] Cannot generate archive library with ".a" extension for AC6 using YAML Input 2.0.0 #1043

Open
ronyrad opened this issue Jul 3, 2023 · 5 comments
Assignees
Labels
discussion done indicates an issue's discussion is completed

Comments

@ronyrad
Copy link

ronyrad commented Jul 3, 2023

In the project yml that was used with cmsis-tools 1.6.0 I had the following output definitions for library output:

output:
type: lib
file: libsomename.a

When converting to cmsis-tools 2.0.0 I had to change "file:" to "base-name:"

output:
type: lib
base-name: libsomename.a

As a result, I get libsomename.a.lib instead of libsomename.a

I cannot get rid of .lib extension

I'm using AC6.6.19.0 compiler

@ronyrad ronyrad added the bug Something isn't working label Jul 3, 2023
@brondani
Copy link
Collaborator

brondani commented Jul 3, 2023

As the name base-name suggests, it regards only the file's base name, not the file's extension.
As decided in #895 (comment):

All artifacts will use their toolchain specific default file extensions

@ronyrad Maybe you can help us with this unanswered question:
#895 (comment)

When is there a need to rename default file extensions?

@ronyrad
Copy link
Author

ronyrad commented Jul 3, 2023

I'm not sure about all possible usecases where the default file extension should be changed.
In my case, I integrated cmsis-build into an existing project where static libraries were built with ".a" extension
.In my opinion, the preferred solution is to provide a user the ability to set either a full name or override the default extension.

BTW is there a way now to modify toolchain-specific default file extensions?

@brondani
Copy link
Collaborator

brondani commented Jul 3, 2023

BTW is there a way now to modify toolchain-specific default file extensions?

No, as a result of #895 the artifact's affixes are currently hardcoded here.

Possible workarounds:

  • edit the generated CPRJ before invoking the build process
<target ...>
  <output lib="libsomename.a"
  • rename the artifact after build completion.

@jkrech jkrech added the discussion Indicates an issue being in discussion label Jul 4, 2023
@jkrech jkrech changed the title Cannot generate archive library with ".a" extenstion [csolution] Cannot generate archive library with ".a" extenstion for AC6 using YAML Input 2.0.0 Jul 4, 2023
@jkrech jkrech changed the title [csolution] Cannot generate archive library with ".a" extenstion for AC6 using YAML Input 2.0.0 [csolution] Cannot generate archive library with ".a" extension for AC6 using YAML Input 2.0.0 Jul 4, 2023
@jkrech jkrech removed the bug Something isn't working label Jul 18, 2023
@jkrech
Copy link
Member

jkrech commented Jul 18, 2023

This is not considered a bug, since the tools implement the specification correctly.
I am wondering whether the proposed "post-build" step should be used for file renaming when required:
https://github.com/ReinhardKeil/devtools/blob/main/tools/projmgr/docs/Manual/YML-Input-Format.md#execute

@ReinhardKeil ReinhardKeil added discussion done indicates an issue's discussion is completed and removed discussion Indicates an issue being in discussion labels Nov 8, 2023
@ReinhardKeil
Copy link
Collaborator

I believe that we should focus next on improving the CMake backend to support 'post-build', etc. As outlined this is the solution to such problems.

I set this therefore to discussion done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion done indicates an issue's discussion is completed
Projects
None yet
Development

No branches or pull requests

4 participants