-
Notifications
You must be signed in to change notification settings - Fork 50
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
Stop installing headers from our libraries into the common place #132
Labels
Comments
emaxx-google
added a commit
that referenced
this issue
Oct 28, 2020
This commit disables installation of "public" headers from the //common/cpp library into a common include directory. Instead, the //common/cpp/src directory is simply added into the include search path in needed makefiles. More background on this change is in #132 - to put it simply, this is a pure refactoring that will remove a bunch of compelxity from our build scripts and additionally make migrating them to Emscripten/WebAssembly simpler.
emaxx-google
added a commit
that referenced
this issue
Oct 28, 2020
This commit disables installation of "public" headers from the //common/cpp library into a common include directory. Instead, the //common/cpp/src directory is simply added into the include search path in needed makefiles. More background on this change is in #132 - to put it simply, this is a pure refactoring that will remove a bunch of complexity from our build scripts and additionally make migrating them to Emscripten/WebAssembly simpler.
emaxx-google
added a commit
that referenced
this issue
Nov 9, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/naclport/common library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 9, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/naclport/cpp_client library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 9, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/naclport/common library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 9, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/naclport/cpp_client library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 10, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/naclport/cpp_demo library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 10, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/naclport/cpp_demo library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 13, 2020
This commit disables installation of "public" headers from the //common/integration_testing library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 13, 2020
This commit disables installation of "public" headers from the //common/integration_testing library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
This commit disables installation of "public" headers from the //third_party/libusb library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/server library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/server_clients_management library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
This commit disables installation of "public" headers from the //third_party/libusb library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
This commit disables installation of "public" headers from the //third_party/pcsc-lite/server library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
…#279) This commit disables installation of "public" headers from the //third_party/pcsc-lite/server_clients_management library into a common include directory. Instead, the path to this library is simply added into the include search path in needed makefiles. More background on this refactoring is in #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
This commit deletes the makefile rules that implement the installation of libraries' headers into the comment include directory. All usages of these rules have been removed by now. Also fix one remaining usage of common installed headers - the //common/integration_testing library - which was incorrectly specifying the include directories. This completes the refactoring tracked by #132.
emaxx-google
added a commit
that referenced
this issue
Nov 16, 2020
This commit deletes the makefile rules that implement the installation of libraries' headers into the comment include directory. All usages of these rules have been removed by now. Also fix one remaining usage of common installed headers - the //common/integration_testing library - which was incorrectly specifying the include directories. This completes the refactoring tracked by #132.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, the build process is organized in a way that each sub-library (like //common/cpp) is built separately and then has its .lib+.h files installed into a common place (in the NaCl environment). Copying the headers is managed via a separate fake "headers_installed.stamp" file (which has a dependency on each of the shared .h file and therefore triggers re-installation once any of them changes).
Originally, that was introduced primarily because the NaCl SDK and naclports were using that model. This model allows, for example:
None of those benefits really bring much in the context of sub-libraries within our project, and overall this approach causes a bunch of complexity and fragility in the build scripts. Examples of practical problems:
Therefore the suggestion is to get rid of that model, and instead follow a simpler approach that all headers are included directly from the source tree.
The text was updated successfully, but these errors were encountered: