-
Notifications
You must be signed in to change notification settings - Fork 189
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
Support older WebRTC releases #30
Comments
beware of the drift in depot_tools .... |
@agouaillard I might have to remove the depot_tools Git submodule, then use CMake to manage it as an ExternalProject. Right now, I'm thinking about focusing with the releases branch heads, maintaining a sort of database (as a file), telling which version of depot_tools and Chromium CMake should retrieve, depending on the specified branch head specified by the user. For instance: {
"refs/branch-heads/54": {
"date": "2016-09-07T08:15:32Z",
"chromium": "e3860bd297e465778059f3d845280634b4074e19", // set in DEPS
"depot_tools": "fbfa601efda3f683e305ff9c82873dd017e11b82" // commit having the closest date
}
"refs/branch-heads/55": {
"date": "2016-11-28T11:03:32Z",
"chromium": "a77953fe670968fe6728796b77cedf48f0954d78",
"depot_tools": "b8c535f696faf93835aa1fe7b99e00cbdc6d5a79"
}
} If the user specifies a commit hash instead of a release branch head, the script would have to figure out which branch head was commited before, using the commit date. Do you know if there would be a simpler solution for this situation ? Auto-update won't be a problem, the environment variable will be set with the |
There is no license problem, unless you compile H.264. I said that making a copy of an already sync libwebrtc and pushing it to GitHub was eventually not maintainable. It makes sense if you only support one OS, but otherwise, bypassing the DEPS mechanism is a bad idea IMHO. As soon as you support more than one OS, you need to keep in your GitHub all the dependencies, while the DEPS mechanism will only download some parts depending on the host and target OSes, to avoid keeping all in one place. Google does not commit to maintain old versions of the dependencies ..... One way to deal with it, to avoid keeping a manually curated DB, is to do by date:
This is all automated, now the remaining problem is the generation and build command itself. You will have to handle GYP and GN and all possible flags there. This is a relatively small subset of things to handle compared to the original problem. Hope This helps. |
Thanks for your advice @agouaillard, I'll focus on managing |
you re welcome. It sounds like the right way to go. There will be more problems going forward, beyond depot_tool versioning and GN/GYP, but I can help when you bump into them. Let's take it step by step ;-) |
Waiting for CI to finish the builds, then I merge the first part into |
The branch-heads/58 (now in beta) is failing with this error below, I tested on Ubuntu 16.04 x64 and Windows 8.1 x64, both failed with the same main error: ninja: error: unknown target 'libjingle_peerconnection' FYI, I tested the branch-heads/59 (unstable version) on Ubuntu and the same error happens. |
Thanks for the report. I'll check which commit removed or renamed this target, then I'll add a git date comparison when I get the time. |
Thank you, I just removed the reference to libjingle_peerconnection from webrtc/CMakeLists.txt.in and the compilation was successful, but I did not link some sample application yet, will test the compilation on Windows later. |
In the meantime, you can just remove all references after the output directory, it should look like |
Testing under branch |
As discussed in #29, older releases using dependencies from the Chromium repository must be supported.
It should be done in two parts:
sync_chromium.py
andsetup_links.py
scripts when they are present. It will take a long time to download (approx. 40 minutes), but it will fix the issue quickly before doing the second part.libwebrtc-chromium-deps
repository back, the classic way. It will only contain the necessary files to compile WebRTC with this project.The text was updated successfully, but these errors were encountered: