-
Notifications
You must be signed in to change notification settings - Fork 76
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
[WIP] Script to build-from-scratch from upstream webrtc #32
base: master
Are you sure you want to change the base?
Conversation
Note that we can't just remove the cgo CXXFLAGS, the build fails when we do that. It seems that cgo sets a std *different* from what the system default compiler does when compiling plain C++ code. :/
On Debian we built libwebrtc-magic using the same settings as chromium-browser which links against certain system libs instead of bundled libs.
This is awesome! Thanks for doing this. Ran into a couple issues at first, but then made it work 👍
Totally great that you've managed to skip the |
Also, we have two choices to get this to work with Travis CI...
Having a cleaner repo is nice, though a very long test setup is less nice. Choices! |
|
Nice to hear it works on Arch! I wasn't aware you had to set I like @arlolra's idea with the second repo, if it's possible to configure travis like that. (I'm new to travis, and haven't seen the build config options.) |
Error when JAVA_HOME isn't set
|
Here is a more specific list of dependencies. It should be fairly close. |
Hey, this is pretty neat. This does make me wonder, though: has the person that provided e.g. I'm tempted to write bindings for Haskell (but first, I'd like to package WebRTC for NixOS), and I'd like to avoid experiencing the pain of building WebRTC if at all possible 😅. |
I've just updated the pull request for #51 per code review and it appears
to be working well. This is a different approach from #32 but hopefully
useful.
#51
…On Tue, Jan 3, 2017 at 11:39 AM, Arlo Breault ***@***.***> wrote:
@cstrahan <https://github.com/cstrahan> see #51
<#51>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#32 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAqyU_NZ5i8C-XA_QNAu8JkvY5S0IgGEks5rOqPcgaJpZM4HR9YZ>
.
|
Since this stuff was fresh in my brain, I rebased this on top of my #90 pull request: And threw it in a gitlab-ci job running in Debian/testing: |
This is perhaps more interesting, it is running only the Seems the pkg-config libs also needs an update. |
See the first few lines of
build-gnu-linux.sh
for a broad description of what it does. (Forms part of a solution for #23).We avoid
depot_tools
, to reduce the resource burden on whoever wants to build this project. Currently we pull in the latest upstream versions 49.xxx of both webrtc and chromium, and apply some patches specific to these versions. These will need to be maintained as the upstream repos are updated, but this shouldn't be too hard. The upstream build process by default currently builds vpx, boringssl, protobuf_lite, etc. Later I will play with trying to avoid that, and instead link against system libraries. (It already links against some, like jpeg and srtp.) Later also I will try to persuade upstream to expose a more finalised public API version oflibjingle_peerconnection_internal
.The script takes about 20 minutes to run on my machine. It should be adaptable to FreeBSD-based systems such as a certain other popular OS, but I don't have a system to test that on.
I didn't update README yet, because I wanted to check that you're fine with the general approach here. There's some untidy bits like automatically patching the
.pc
files, better suggestions welcome.