<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Thanks a lot for all your response, that really helps a lot.<div>My own responses bellow:<br><div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br class="Apple-interchange-newline">--</span></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">Haché Jacques-Olivier</span><br style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;"><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">R&D Engineer at Temasys Communications Pte Ltd</span><br><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">Fr : 06 45 85 48 80<br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">Sg : 9086 3673 </div></div>
</div>
<br><div><div>On 31 Jul 2014, at 16:34, Benjamin Poulain <<a href="mailto:benjamin@webkit.org">benjamin@webkit.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
On 7/30/14, 2:51 AM, Jacques-Olivier wrote:<br>
<blockquote cite="mid:78B0ED4C-0324-4022-A73E-7069A898076E@temasys.com.sg" type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div>I kept working on getting media_stream to work. I think my
understanding of what is happening improved, but I’m still stuck
at the same point:</div>
<div><br>
</div>
<div>I read some more code and did some research about the
Supplement and Supplementable classes.</div>
<div>I mainly found <a moz-do-not-send="true" href="http://trac.webkit.org/wiki/Modules">this page</a> which
explains that Supplements are used to extract code from
“massive” classes and make then more manageable and
maintainable.</div>
<div>Please correct me if I am wrong.</div>
</blockquote>
That's right. Supplement are used to manage complexity by
encapsulating self contained features behind a separate interfaces.<br></div></blockquote><div>Good</div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
<blockquote cite="mid:78B0ED4C-0324-4022-A73E-7069A898076E@temasys.com.sg" type="cite">
<div>Anyway, it doesn’t change that my program has no Supplement
for the key “UserMediaController”.</div>
<div>It looks like most of the supplements are being provided in
two places:</div>
<div>
<ul class="MailOutline">
<li>WebKit::WebView::_commonInitializationWithFrameName</li>
<li>WebKit2::WebPage ’s constructor</li>
</ul>
<div>is there any other place where it should be done?</div>
</div>
</blockquote>
+probably another place in the WebKit layer for Windows, you can
probably ignore that.<br></div></blockquote>I will</div><div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
<blockquote cite="mid:78B0ED4C-0324-4022-A73E-7069A898076E@temasys.com.sg" type="cite">
<div>
<div>WebView actually contains a call to
WebCore::provideUserMediaTo which creates a supplement, but my
debugging show that _commonInitializationWithFrameName is
never called.</div>
<div>WebPage’s constructor does not generate a
UserMediaController supplement.</div>
<div><br>
</div>
<div>
<div>My understanding of the WebView is that it is the
rectangle in which the webpages are rendered. Is this
assumption correct?</div>
</div>
<div>I don’t understand why _commonInitializationWithFrameName
is never called when browsing. From the name of the function,
I would expect it to be called right after the memory
allocation.</div>
</div>
</blockquote>
WebKit1's WebView is not used by Safari.<br>
<br>
The WebKit project has two "application layers": an old one named
WebKit1 that handle web pages in-process, and a new one named
WebKit2 that use a multi-process model.<br></div></blockquote><div><br></div><div>Interesting. Do you know when the shift was done?</div><div>That means that Safari is not using it, but other port might.</div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
<blockquote cite="mid:78B0ED4C-0324-4022-A73E-7069A898076E@temasys.com.sg" type="cite">
<div>
<div>This leaves me with 2 options:</div>
<div>1) Find a way to trigger
_commonInitializationWithFrameName.</div>
<div>I have no idea of how to do that at the moment</div>
</div>
</blockquote>
If you want, you can still use WebKit1 by using the MiniBrowser:
Tools/Scripts/run-minibrowser (IIRC it runs WebKit1 by default, but
if not there is a way to get it to run WebKit1).<br></div></blockquote><div><br></div><div>Awesome!</div><div>I had to comment the permission checking as it seems like a function is missing, but I was able to turn on my camera.</div><div><br></div><div>More precisely, the UIDelegate does not respond to the selector webView:decidePolicyForUserMediaRequestFromOrigin:listener:</div><div>It doesn’t sound impossible to fix.</div><div><br></div><div>Once once the camera is turned on, the success callback is properly called. </div><div>I tried to render it in a video element by doing (JS)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>videoElement.src = stream;</div><div>but I guess it would have been a bit too easy :)</div><div><br></div><div>There is no error, but nothing happens.</div><div>It looks like the <video> element successfully registers the MediaStream, but is not capable of rendering it.</div><div><br></div><div>I will have to do some more digging in how the video element is handling a MediaStream.</div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
<blockquote cite="mid:78B0ED4C-0324-4022-A73E-7069A898076E@temasys.com.sg" type="cite">
<div>
<div>2) Duplicate the call to WebCore::provideUserMediaTo in
WebKit2::WebPage.</div>
<div>I understand this is what is being done for the geolocation
supplement.</div>
<div>I started to implement this solution, but it requires to
translate Objective-C++ code into C++, and I am afraid that
the file inclusion might never end.</div>
<div><br>
</div>
<div>Does any one of these solutions sound more reliable than
the other for you?</div>
</div>
</blockquote>
Long term, if you want WebRTC to work in WebKit, it will have to
work on WebKit2. If you just want to prototype something, it might
be easier to use WebKit1 if its implementation is in a better shape.<br>
<br></div></blockquote><div><br></div><div>I just arrived on Webkit, so I’m still in a discovery phase. </div><div>I think I will start by getting the MediaStream to work with WK1, and move to WK2 once I will be more familiar with the code.</div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
Can you clarify your goals? Do you intent to provide patches for
WebRTC support in WebKit?<br>
<br></div></blockquote><div><br></div><div>Yes, I’m here to complete the implementation of WebRTC in WebKit.</div><div>As I said, I’m still just entering the project, but in time, I will start providing patches.</div><div>I’ll probably get MS to fully work locally, and then move to the PeerConnection.</div><div><br></div><div>Regards,</div><div>J-O</div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
Benjamin<br>
<br>
<blockquote cite="mid:78B0ED4C-0324-4022-A73E-7069A898076E@temasys.com.sg" type="cite">
<div>
<div><br>
</div>
<div>Thanks in advance,</div>
<div>J-O H</div>
<div>
<div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px; background-color: rgb(255,
255, 255);"><br class="Apple-interchange-newline">
--</span></div>
<div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px; background-color: rgb(255,
255, 255);">Haché Jacques-Olivier</span><br style="color:
rgb(34, 34, 34); font-family: arial, sans-serif;
font-size: 13px;">
<span style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px;">R&D Engineer at Temasys
Communications Pte Ltd</span><br>
<div style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px;">Fr : 06 45 85 48 80<br>
</div>
<div style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px;">Sg : 9086 3673 </div>
</div>
</div>
<br>
<div>
<div>On 29 Jul 2014, at 17:45, Jacques-Olivier <<a moz-do-not-send="true" href="mailto:jo.hache@temasys.com.sg">jo.hache@temasys.com.sg</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space;
-webkit-line-break: after-white-space;">Hi everyone,
<div><br>
</div>
<div>I have some updates regarding my enabling of
media_stream and some new question.</div>
<div><br>
</div>
<div>I managed to build the project with the following
options ON:</div>
<div>
<div>
<ul>
<li>ENABLE_MEDIA_CAPTURE</li>
<li>ENABLE_MEDIA_CONTROLS_SCRIPT</li>
<li>ENABLE_MEDIA_SOURCE</li>
<li>ENABLE_MEDIA_STATISTICS</li>
<li>ENABLE_MEDIA_STREAM</li>
<li>ENABLE_VIDEO</li>
<li>ENABLE_VIDEO_TRACK</li>
</ul>
<div>For this I had to:</div>
</div>
<div>
<div>1) copy the content of these folders</div>
<div>
<ul>
<li>WebKit/WebKitBuild/Debug/DerivedSources/WebCore</li>
<li>WebKit/WebKitBuild/Release/DerivedSources/WebCore</li>
</ul>
</div>
<div>into DerivedSources/WebCore</div>
</div>
<div><br>
</div>
<div>2) Add some header and source files to the Xcode
projects. The files were present in the repo, but not
added to the projects.</div>
<div>3) Add some headers to be copied into
WebCore.framework</div>
<div><br>
</div>
<div>Given those changes, I was able to build the
project with both Xcode and the build script;</div>
<div><br>
</div>
<div>I tried running a very basic test that only calls
navigator.webkitGetUserMedia, but the call fails with
the folioing error:</div>
</div>
<blockquote style="margin: 0 0 0 40px; border: none;
padding: 0px;">[Error] NotSupportedError: DOM Exception
9: The implementation did not support the requested type
of object or operation.</blockquote>
<div>
<div><br>
</div>
<div>I went into the code with Xcode’s debugger and
found that the error happens in
NavigatorUserMedia::webkitGetUserMedia (basically the
function’s entrance).</div>
<div>My understanding is that the NavigatorUserMedia is
trying to get the content of a “supplement” for the
key “UserMediaController"</div>
<div>The access to the supplement itself is fine, but
its map only contains one object with a key value set
to NULL.</div>
<div>Therefore the supplement returns NULL, and the
NavigatorUserMedia triggers an error.</div>
<div><br>
</div>
<div>There are some comments in the code about how
supplements work, but not what they are for. Can
anyone enlighten me about this?</div>
<div>Did I miss an initialisation somewhere?</div>
<div><br>
</div>
<div>This was what is blocking me now.</div>
<div>I also have a couple of more generic questions
about the project:</div>
<div><br>
</div>
<div>1) When I build with the script and then with
Xcode, Xcode starts from the beginning, generates new
binaries and links against them. Why are the script
and Xcode not using the same files? It feels like a
waste of time and space.</div>
<div><br>
</div>
<div>2) I had to do a number of modifications to the
project to get here. At some point I will send pull
requests, but I understand most of the people do not
want to have media_stream enabled by default. Does
that mean that for each pull request, I will have to
remove my changes, send the pull request and do them
again?What is the right way of handling this
situation?</div>
<div><br>
</div>
<div>Regards,</div>
<div>J-O H</div>
<div>
<div style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing:
0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px; background-color:
rgb(255, 255, 255);"><br class="Apple-interchange-newline">
--</span></div>
<div style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing:
0px; -webkit-text-stroke-width: 0px;"><span style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px; background-color:
rgb(255, 255, 255);">Haché Jacques-Olivier</span><br style="color: rgb(34, 34, 34); font-family: arial,
sans-serif; font-size: 13px;">
<span style="color: rgb(34, 34, 34); font-family:
arial, sans-serif; font-size: 13px;">R&D
Engineer at Temasys Communications Pte Ltd</span><br>
<div style="color: rgb(34, 34, 34); font-family:
arial, sans-serif; font-size: 13px;">Fr : 06 45 85
48 80<br>
</div>
<div style="color: rgb(34, 34, 34); font-family:
arial, sans-serif; font-size: 13px;">Sg : 9086
3673 </div>
</div>
</div>
<br>
<div>
<div>On 23 Jul 2014, at 16:49, Alexandre GOUAILLARD
<<a moz-do-not-send="true" href="mailto:agouaillard@gmail.com">agouaillard@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div dir="ltr">Hi benjamain, thanks for the
answers,
<div><br>
</div>
<div>Cmake is not a build system in itself, it is
a cross platform build generator. i.e. you can
generate a make file, an VS solution file and a
Xcode file from CMakeLists.txt (cmake -G).</div>
<div><br>
</div>
<div>So you mean to say that the committed make
files and Xcode files are not generated from
CMake, is that correct? Also, do you have any
insight what the people using cmake end up using
for building (is it make/gcc/ld, make/clang/ld,
other flavors of build/compiler/linker) ?</div>
<div><br>
</div>
<div>regards,</div>
<div><br>
</div>
<div>Alex.<br>
<div><br>
</div>
<div> </div>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Jul 23, 2014 at
4:24 PM, Benjamin Poulain <span dir="ltr"><<a moz-do-not-send="true" href="mailto:benjamin@webkit.org" target="_blank">benjamin@webkit.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:
0px 0px 0px 0.8ex; border-left-width: 1px;
border-left-color: rgb(204, 204, 204);
border-left-style: solid; padding-left: 1ex;
position: static; z-index: auto;">
<div bgcolor="#FFFFFF" text="#000000">
<div class=""> <br>
<div>On 7/22/14, 12:48 AM, Jacques-Olivier
wrote:<br>
</div>
<blockquote type="cite"> HI Benjamin,
<div><br>
</div>
<div>Thanks for you answer.</div>
<div><br>
</div>
<div>I just deleted the XCodeBuild
folder and added a couple of files in
the project manually. </div>
<div>My computer is re-building the
project, I will see how it goes.</div>
<div>A couple of extra questions:</div>
<div><br>
</div>
<div>1) After deleting the XCodeBuild
folder, I cannot make my first build
using Xcode. I end up with a file not
found on </div>
<div>
<div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(228,68,72)"><span style="color:#d28f5a">#include </span><llvm-c/Analysis.h></div>
<div>in
JavaScriptCore/llvm/LLVMHeaders.h</div>
<div>I actually had the same issue on
my first build. After a successful
build from build-webkit, I can build
again using Xcode (not clean and
build).</div>
<div>Any lead regarding why?</div>
</div>
</blockquote>
</div>
No idea, I only use build-webkit and make
for building.<br>
A lot of people use Xcode so there must be a
way to get it to work.
<div class=""><br>
<blockquote type="cite">
<div>
<div>2) The Xcode projects is
versioned on the repo. Is there
anyway to re-generate it
automatically?</div>
<div>Having the Xcode project shared
sounds very unsafe. What is someone
introduces a bug in it someday?</div>
</div>
</blockquote>
</div>
The Xcode project files are not generated,
they are real project files created by
Xcode. WebKit contributors maintain 3 build
systems in parallel: Xcode, CMake, and VS.
<div>
<div class="h5">
<blockquote type="cite">
<div>
<div>Regards,</div>
<div>J-O H</div>
<div>
<div style="font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant: normal;
font-weight: normal;
letter-spacing: normal;
line-height: normal; text-align:
start; text-indent: 0px;
text-transform: none;
white-space: normal;
word-spacing: 0px;">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br>
--</span></div>
<div style="font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant: normal;
font-weight: normal;
letter-spacing: normal;
line-height: normal; text-align:
start; text-indent: 0px;
text-transform: none;
white-space: normal;
word-spacing: 0px;">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Haché
Jacques-Olivier</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">R&D
Engineer at Temasys
Communications Pte Ltd</span><br>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">Fr
: 06 45 85 48 80<br>
</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">Sg
: 9086 3673 </div>
</div>
</div>
<br>
<div>
<div>On 22 Jul 2014, at 15:16,
Benjamin Poulain <<a moz-do-not-send="true" href="mailto:benjamin@webkit.org" target="_blank">benjamin@webkit.org</a>>
wrote:</div>
<br>
<blockquote type="cite">
<div bgcolor="#FFFFFF" text="#000000"> Quick answers
inline:<br>
<br>
<div>On 7/21/14, 9:22 PM,
Jacques-Olivier wrote:<br>
</div>
<blockquote type="cite">
<div>
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div>Note: I already
sent this email, but I
didn’t get any answer,
nor can I see the
thread in the
archives. Therefore I
think it was blocked,
maybe because of the
attachment that I
remove this time.</div>
<div><br>
</div>
<div>I’m new on this
mailing so I’ll start
by introducing myself:</div>
<div>My name
Jacques-Olivier Haché
(J-O), I’m working for
Temasys Communication,
and I’m entering the
WebKit project to work
on the implementation
of WebRTC inside
WebKit.</div>
<div>For those who would
be following the
WebRTC’s news, I’m
also the main
developer of the
WebRTC plugin released
by Temasys.</div>
<div><br>
</div>
<div>Back to business:</div>
<div><br>
</div>
<div>I was able to
download the project,
build it and run it
inside Safari. I did
not try to run it in a
different browser yet.</div>
<div><br>
</div>
<div>My configuration:</div>
<div>
<ul>
<li>Macbook Air 2012</li>
<li>Mac OS X 10.9.4</li>
<li>Revision 171167</li>
<li>I’m on master</li>
<li>I suppose I’m
using the regular
Mac port as I
didn’t see where
to change from one
port to another
yet.</li>
<li>building for
debug mode</li>
</ul>
</div>
<div>I am now trying to
enable the WebRTC
related features to
get a better
understanding of the
current state of this
part of the project. </div>
<div>I have to say that
I faced a lack of
documentation on this
area. I found the <a moz-do-not-send="true" href="https://trac.webkit.org/wiki/FeatureFlags" target="_blank">features
list</a>, a document
about <a moz-do-not-send="true" href="https://trac.webkit.org/wiki/AddingFeatures" target="_blank">how
to add a new feature</a> but
nothing about how to
turn a feature on and
off (there is actually
a TODO about that in
the second link).</div>
<div><br>
</div>
<div>I looked into the
files that one needs
to change to add a new
feature and found two
interesting files:</div>
<div>
<ul>
<li><span style="background-color:rgb(255,255,255)">Source/WTF/wtf/FeatureDefines.h
- where the
WebRTC related
contants were
set to 0 instead
of 1</span></li>
<li>Source/cmake/WebKitFeatures.cmake
- where the
contants were set
to OFF</li>
</ul>
</div>
<div>I listed the
following definitions
that look related to
WebRTC</div>
<div>
<ul>
<li>ENABLE_MEDIA_CAPTURE</li>
<li>ENABLE_MEDIA_CONTROLS_SCRIPT</li>
<li>ENABLE_MEDIA_SOURCE</li>
<li>ENABLE_MEDIA_STATISTICS</li>
<li>ENABLE_MEDIA_STREAM</li>
<li>ENABLE_VIDEO</li>
<li>ENABLE_VIDEO_TRACK</li>
</ul>
</div>
<div>I turned those
definitions to 1 and
ON in the respective
file and tried to
build.</div>
<div>The code in the
header
WebCore/Modules/mediastream/mediastream.h
could not compile
apparently because the
observer did not have
a destructor. I
created one:</div>
<div>
<div> class
Observer {</div>
<div> public:</div>
<div> virtual
void
didAddOrRemoveTrack()
= 0;</div>
<div> virtual
~Observer() {};</div>
<div> };</div>
</div>
<div><br>
</div>
<div>and tried to build
again.<br>
<br>
</div>
<div>I now have a
linking error when
building WebCore with
Xcode. </div>
<div><br>
</div>
<div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">Ld
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore
normal x86_64</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
cd
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/Source/WebCore</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
export
MACOSX_DEPLOYMENT_TARGET=10.9</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-arch x86_64
-dynamiclib
-isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
-L/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug
-F/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug
-filelist
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCore.LinkFileList
-Xlinker
--no-demangle
-exported_symbols_list
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/DerivedSources/WebCore/WebCore.LP64.exp
-install_name
/System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore
-mmacosx-version-min=10.9
-lsqlite3 -lobjc
-lANGLE -sub_library
libobjc -umbrella
WebKit
-allowable_client
WebCoreTestSupport
-allowable_client
WebKit2
-allowable_client
WebKitLegacy
-framework
ApplicationServices
-framework AudioUnit
-framework Carbon
-framework Cocoa
-framework IOSurface
-framework OpenGL
-stdlib=libc++
-fobjc-link-runtime
-framework
Accelerate
-framework
AudioToolbox
-framework CoreAudio
-framework IOKit
-framework
JavaScriptCore
-licucore -lobjc
-lxml2 -lz
-framework
QuartzCore
-framework Security
-framework
SystemConfiguration
-single_module
-compatibility_version
1 -current_version
600.1 -Xlinker
-dependency_info
-Xlinker
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCore_dependency_info.dat
-o
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo;min-height:13px"><br>
</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">Undefined
symbols for
architecture x86_64:</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
"__ZN7WebCore11JSNavigator18webkitGetUserMediaEPN3JSC9ExecStateE",
referenced from:</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
__ZN7WebCore46jsNavigatorPrototypeFunctionWebkitGetUserMediaEPN3JSC9ExecStateE
in JSNavigator.o</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
"__ZN7WebCore15RTCOfferOptions6createERKNS_10DictionaryERi",
referenced from:</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
__ZN7WebCore17RTCPeerConnection11createOfferEN3WTF10PassRefPtrINS_29RTCSessionDescriptionCallbackEEENS2_INS_30RTCPeerConnectionErrorCallbackEEERKNS_10DictionaryERi
in
RTCPeerConnection.o</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
"__ZN7WebCore20MediaConstraintsMock17verifyConstraintsEN3WTF10PassRefPtrINS_16MediaConstraintsEEE",
referenced from:</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
__ZN7WebCore21MockMediaStreamCenter26validateRequestConstraintsEN3WTF10PassRefPtrINS_25MediaStreamCreationClientEEENS2_INS_16MediaConstraintsEEES6_
in
MockMediaStreamCenter.o</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
__ZN7WebCore21MockMediaStreamCenter17createMediaStreamEN3WTF10PassRefPtrINS_25MediaStreamCreationClientEEENS2_INS_16MediaConstraintsEEES6_
in
MockMediaStreamCenter.o</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
"__ZN7WebCore21RTCOfferAnswerOptions6createERKNS_10DictionaryERi",
referenced from:</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
__ZN7WebCore17RTCPeerConnection12createAnswerEN3WTF10PassRefPtrINS_29RTCSessionDescriptionCallbackEEENS2_INS_30RTCPeerConnectionErrorCallbackEEERKNS_10DictionaryERi
in
RTCPeerConnection.o</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
"__ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_16RTCConfigurationE",
referenced from:</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">
__ZN7WebCore52jsRTCPeerConnectionPrototypeFunctionGetConfigurationEPN3JSC9ExecStateE
in
JSRTCPeerConnection.o</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">ld:
symbol(s) not found
for architecture
x86_64</div>
<div style="margin:0px
0px 0px
12px;font-size:11px;font-family:Menlo">clang:
error: linker
command failed with
exit code 1 (use -v
to see invocation)</div>
</div>
<div>
<div><br>
</div>
<div>I found that
these strange names
actually meant
WebCore::JSNavigator::webkitGetUserMedia(execState
*) - and same for
the others.</div>
<div>Xcode will not
find the definition
of these functions,
but Sublime_Text
will. It looks like
Xcode projects don’t
include the files
containing these
definitions.</div>
<div>Am I supposed to
run a script to
re-generate the
projects once I
enable new features?
If yes, I cannot
find such a script.</div>
<div>I tried running
cmake, but got this
message:</div>
<div>
<div>Please choose
which WebKit port
to build (one of
Efl;WinCE;GTK;AppleWin;WinCairo)</div>
</div>
<div>When what I want
is the AppleMac port</div>
<div><br>
</div>
<div>If I build using
build-webkit, I get
a different stack</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>=== BUILD
TARGET
WebCoreExportFileGenerator
OF PROJECT WebCore
WITH CONFIGURATION
Debug ===</div>
<div><br>
</div>
<div>Check
dependencies</div>
<div>iOS.xcconfig
line 1: Unable to
find included file
"<DEVELOPER_DIR>/AppleInternal/XcodeConfig/AspenFamily.xcconfig"</div>
<div>Base.xcconfig
line 24: Unable to
find included file
"../../../../Internal/Configurations/UseInternalSDK.xcconfig"</div>
<div><br>
</div>
<div>CompileC
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/Objects-normal/x86_64/ExportFileGenerator.o
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/DerivedSources/WebCore/ExportFileGenerator.cpp
normal x86_64 c++
com.apple.compilers.llvm.clang.1_0.compiler</div>
<div> cd
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/Source/WebCore</div>
<div> export
LANG=en_US.US-ASCII</div>
<div>
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-x c++ -arch
x86_64
-fmessage-length=204
-fdiagnostics-show-note-include-stack
-fmacro-backtrace-limit=0
-fcolor-diagnostics
-std=gnu++11
-stdlib=libc++
-Wno-trigraphs
-fno-exceptions
-fno-rtti
-fpascal-strings
-O0 -Werror
-Wno-missing-field-initializers
-Wmissing-prototypes
-Wnon-virtual-dtor
-Wno-overloaded-virtual
-Wno-exit-time-destructors
-Wno-missing-braces
-Wparentheses
-Wswitch
-Wunused-function
-Wno-unused-label
-Wno-unused-parameter
-Wunused-variable
-Wunused-value
-Wempty-body
-Wuninitialized
-Wno-unknown-pragmas
-Wno-shadow
-Wno-four-char-constants
-Wno-conversion
-Wconstant-conversion
-Wint-conversion
-Wbool-conversion
-Wenum-conversion
-Wsign-compare
-Wno-shorten-64-to-32
-Wnewline-eof
-Wno-c++11-extensions
-DDISABLE_THREAD_CHECK
-DENABLE_3D_RENDERING
-DENABLE_CACHE_PARTITIONING
-DENABLE_CANVAS_PATH
-DENABLE_CHANNEL_MESSAGING
-DENABLE_CSS_BOX_DECORATION_BREAK
-DENABLE_CSS_COMPOSITING
-DENABLE_CSS_EXCLUSIONS
-DENABLE_CSS_FILTERS
-DENABLE_CSS_GRID_LAYOUT
-DENABLE_CSS_REGIONS
-DENABLE_CSS_SHAPES
-DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED
-DENABLE_CSS3_CONDITIONAL_RULES
-DENABLE_CURSOR_VISIBILITY
-DENABLE_DASHBOARD_SUPPORT
-DENABLE_DETAILS_ELEMENT
-DENABLE_DOM4_EVENTS_CONSTRUCTOR
-DENABLE_ENCRYPTED_MEDIA
-DENABLE_ENCRYPTED_MEDIA_V2
-DENABLE_FILTERS
-DENABLE_FULLSCREEN_API
-DENABLE_GAMEPAD
-DENABLE_GEOLOCATION
-DENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING
-DENABLE_ICONDATABASE
-DENABLE_INDEXED_DATABASE
-DENABLE_INDIE_UI
-DENABLE_INPUT_TYPE_COLOR
-DENABLE_INPUT_TYPE_COLOR_POPOVER
-DENABLE_INSPECTOR
-DENABLE_LEGACY_CSS_VENDOR_PREFIXES
-DENABLE_LEGACY_NOTIFICATIONS
-DENABLE_LEGACY_VENDOR_PREFIXES
-DENABLE_LEGACY_WEB_AUDIO
-DENABLE_MATHML
-DENABLE_MEDIA_CONTROLS_SCRIPT
-DENABLE_METER_ELEMENT
-DENABLE_MOUSE_CURSOR_SCALE
-DENABLE_NAVIGATOR_CONTENT_UTILS
-DENABLE_NAVIGATOR_HWCONCURRENCY
-DENABLE_NOTIFICATIONS
-DENABLE_PDFKIT_PLUGIN
-DENABLE_PROMISES
-DENABLE_PUBLIC_SUFFIX_LIST
-DENABLE_REQUEST_ANIMATION_FRAME
-DENABLE_SHARED_WORKERS
-DENABLE_SPEECH_SYNTHESIS
-DENABLE_SQL_DATABASE
-DENABLE_SUBPIXEL_LAYOUT
-DENABLE_SUBTLE_CRYPTO
-DENABLE_SVG_FONTS
-DENABLE_TEMPLATE_ELEMENT
-DENABLE_USERSELECT_ALL
-DENABLE_VIDEO
-DENABLE_VIDEO_TRACK
-DENABLE_DATACUE_VALUE
-DENABLE_WEBGL
-DENABLE_WEB_AUDIO
-DENABLE_WEB_REPLAY
-DENABLE_WEB_SOCKETS
-DENABLE_PICTURE_SIZES
-DENABLE_WEBVTT_REGIONS
-DENABLE_XHR_TIMEOUT
-DENABLE_XSLT
-DENABLE_FTL_JIT
-DWEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST
-isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
-fasm-blocks
-fstrict-aliasing
-Wdeprecated-declarations
-Winvalid-offsetof
-mmacosx-version-min=10.9
-g
-fvisibility=hidden
-fvisibility-inlines-hidden
-fno-threadsafe-statics
-Wno-sign-conversion
-I/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/WebCoreExportFileGenerator.hmap
-I/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/include
-IForwardingHeaders
-Iicu
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxslt
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
-I/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/DerivedSources/WebCore
-I/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/usr/local/include
-I/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/usr/local/include/WebKitAdditions
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/local/include/WebKitAdditions
-I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
-I/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/DerivedSources/x86_64
-I/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/DerivedSources
-Wall -Wextra
-Wcast-qual
-Wchar-subscripts
-Wextra-tokens
-Wformat=2
-Winit-self
-Wmissing-format-attribute
-Wmissing-noreturn
-Wpacked
-Wpointer-arith
-Wredundant-decls
-Wundef
-Wwrite-strings
-Wexit-time-destructors
-Wglobal-constructors
-Wtautological-compare
-Wimplicit-fallthrough
-F/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug
-include
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/PrecompiledHeaders/WebCorePrefix-gcoyowpevvvzkbecqfhdngvxbkag/WebCorePrefix.h
-MMD -MT
dependencies -MF
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/Objects-normal/x86_64/ExportFileGenerator.d
--serialize-diagnostics
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/Objects-normal/x86_64/ExportFileGenerator.dia
-c
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/DerivedSources/WebCore/ExportFileGenerator.cpp
-o
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/Objects-normal/x86_64/ExportFileGenerator.o</div>
<div>fatal error:
file
'/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/usr/local/include/wtf/FeatureDefines.h'
has been modified
since the
precompiled header</div>
<div>
'/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/PrecompiledHeaders/WebCorePrefix-gcoyowpevvvzkbecqfhdngvxbkag/WebCorePrefix.h.pch'
was built</div>
<div>1 error
generated.</div>
<div><br>
</div>
<div>** BUILD FAILED
**</div>
</div>
<div><br>
</div>
<div>
<div><br>
</div>
<div>The following
build commands
failed:</div>
<div><span style="white-space:pre-wrap">
</span>CompileC
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/WebCore.build/Debug/WebCoreExportFileGenerator.build/Objects-normal/x86_64/ExportFileGenerator.o
/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/DerivedSources/WebCore/ExportFileGenerator.cpp
normal x86_64 c++
com.apple.compilers.llvm.clang.1_0.compiler</div>
<div>(1 failure)</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div><br>
</div>
<div>Is anyone used
to turn the WebRTC
code on and off?</div>
</div>
</div>
</div>
</div>
</blockquote>
This code has not been updated
in a while, you will have to
fix some stuff here and there
to get it to do anything.<br>
<blockquote type="cite">
<div>
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div>
<div>
<div>Did I miss an
important step?</div>
</div>
</div>
</div>
</div>
</blockquote>
Probably not.<br>
<blockquote type="cite">
<div>
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div>
<div>
<div>Do you
understand these
errors?</div>
</div>
</div>
</div>
</div>
</blockquote>
The first error could simply
be because the files defining
those symbols are not included
in the XCode project file.
Nobody has worked on WebRTC
for a while, it probably only
builds for GTK.<br>
<br>
The second error is likely a
problem with the incremental
build. I would just delete
WebKitBuild and start a clean
build.<br>
<blockquote type="cite">
<div>
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div>
<div>
<div>Why is the
precompiled header
not re-built when
there are changes
in the headers?</div>
</div>
</div>
</div>
</div>
</blockquote>
Yep, that's weird. I only run
into problems with precompiled
headers when I change my SDK.<br>
But after changing feature
flags you often have to do a
clean build anyway. There are
too many code generators that
are not tracking these kind of
dependencies.<br>
<br>
Good luck!<br>
Benjamin<br>
</div>
_______________________________________________<br>
webkit-dev mailing list<br>
<a moz-do-not-send="true" href="mailto:webkit-dev@lists.webkit.org" target="_blank">webkit-dev@lists.webkit.org</a><br>
<a moz-do-not-send="true" href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank">https://lists.webkit.org/mailman/listinfo/webkit-dev</a><br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
webkit-dev mailing list<br>
<a moz-do-not-send="true" href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>
<a moz-do-not-send="true" href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank">https://lists.webkit.org/mailman/listinfo/webkit-dev</a><br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">Alex. Gouaillard, PhD, PhD, MBA
<div>------------------------------------------------------------------------------------</div>
<div>CTO - Temasys Communications, S'pore /
Mountain View</div>
<div>President - CoSMo Software, Cambridge, MA</div>
<div>------------------------------------------------------------------------------------</div>
<div><a moz-do-not-send="true" href="http://sg.linkedin.com/agouaillard" target="_blank">sg.linkedin.com/agouaillard</a></div>
<div>
<ul style="margin:0px;padding:0px 0px
8px;border:0px;outline:0px;font-size:12px;font-family:Helvetica,Arial,sans-serif;vertical-align:baseline;list-style:none;line-height:17px;display:table-cell;width:504px;color:rgb(51,51,51)">
<li style="margin:0px;padding:8px 12px 2px
0px;border:0px;outline:0px;font-style:inherit;font-size:11px;font-family:inherit;vertical-align:baseline;font-variant:inherit;line-height:1.2em">
<dl style="margin:0px;padding:0px;border:0px;outline:0px;font-style:inherit;font-family:inherit;vertical-align:baseline;font-variant:inherit;line-height:inherit;word-wrap:break-word">
<br>
</dl>
</li>
</ul>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
webkit-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a>
<a class="moz-txt-link-freetext" href="https://lists.webkit.org/mailman/listinfo/webkit-dev">https://lists.webkit.org/mailman/listinfo/webkit-dev</a>
</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>webkit-dev mailing list<br><a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>https://lists.webkit.org/mailman/listinfo/webkit-dev<br></blockquote></div><br></div></body></html>