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

idf_build_component() broken since 065eb918f (IDFGH-1347) #3630

Closed
PerMalmberg opened this issue Jun 14, 2019 · 3 comments
Closed

idf_build_component() broken since 065eb918f (IDFGH-1347) #3630

PerMalmberg opened this issue Jun 14, 2019 · 3 comments

Comments

@PerMalmberg
Copy link
Contributor

PerMalmberg commented Jun 14, 2019

The new CMake changes merged into master in 065eb91 broke idf_build_component(), at least when used from projects that uses IDF as a library - my sdkconfig is not longer getting configuration values from my Kconfig in my configuration-only component, nor does menuconfig display the options. It works fine in 8886e3f.

I see nothing in the latest docs that the use of this function has changed, only that it must be called before idf_build_process, which I do.

I don't have a small example available, but you can see the issue by compiling https://github.com/PerMalmberg/Smooth using the two above mentioned commits of IDF and xtensa-gcc-8. There are some shell scripts available in the root folder of the project that shows how I build it.

Example showing the problem is attached.
idf_as_lib.zip

@github-actions github-actions bot changed the title idf_build_component() broken since 065eb918f idf_build_component() broken since 065eb918f (IDFGH-1347) Jun 14, 2019
@renzbagaporo
Copy link
Contributor

Thanks again for the small example. The only thing I'm noticing in it is that no other component seem to require extra_component, either publicly or privately.

This was a bug in the previous implementation. The comment:

                    # try and trim the build; additional components
                    # will be included as needed based on dependency tree

was obviously not how it happens pre-065eb91.

To solve this either have another component add extra_component to its requirements (that component should also be added by another component as part of a dependency chain, so on and so forth) or also add extra_components to COMPONENTS argument to idf_build_process.

Agree that docs could be clearer about this though.

@PerMalmberg
Copy link
Contributor Author

Ok, that makes total sense.

Perhaps I'm reading too much into the name "idf_build_component"; to me it means it'll be built regardless. A name like "idf_process_component" would make it more clear what it actually does. Change it or leave it as you see fit, I consider this issue closed.

Thank you @renzbagaporo

@renzbagaporo
Copy link
Contributor

The build is used as a noun, idf_build_component as in "this is a component in the build" (which may or may not be used depending on the dependency tree).

Reopening the issue, as clarification of docs is the better fix ;)

@renzbagaporo renzbagaporo reopened this Jun 15, 2019
@igrr igrr closed this as completed in 11924d7 Jun 26, 2019
trombik pushed a commit to trombik/esp-idf that referenced this issue Aug 9, 2019
How idf_build_component and the COMPONENTS argument to idf_build_process
interact is not clear/misleading. Clarify their interaction in the docs.

Closes: espressif#3630
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants