-
Notifications
You must be signed in to change notification settings - Fork 698
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
Can we change componentBuildDir to distinguish different types of components? #9498
Comments
I'm wondering if I have found the following potentially problematic uses of
|
I think the build directory for a component should always be:
This is also related to #9389. |
Just a note, this does not happen when cabal-install drives a per-component build ( |
I agree with @mpickering's suggestion above. FWIW, I belive that documenting the change and giving a migration path (which in this case could be just be this dir is now that dir) avoids most of the pain. |
So, to make sure I understand:
Does that mean the following course of action is desired:
|
Currently, we have:
Ignoring the Backpack-related stuff about libraries, one issue here is that one can end up with the same build directory for a library and an executable of the same name. Instead, I would expect library build dirs to be given by
buildDir lbi </> "lib" </> nm
and the executable build dirs to bebuildDir lbi </> "exe" </> nm
.This potential for clashes was the source of workarounds, e.g. using
buildDir lbi </> nm </> nl ++ "-tmp"
to avoid the build path for a non-library clashing with the main library build path. I believe this workaround was introduced by commit 56bb1ba.How feasible would such a change be? I imagine changing the structure of these
buildDir
s could break assumptions people make about where build products are put, but I think it would be nicer if build products were always simply put incomponentBuildDir
and that there are no additional workarounds piled on top involving-tmp
.The text was updated successfully, but these errors were encountered: