Thanks a lot for all your response, that really helps a lot. My own responses bellow:
-- Haché Jacques-Olivier R&D Engineer at Temasys Communications Pte Ltd Fr : 06 45 85 48 80 Sg : 9086 3673 On 31 Jul 2014, at 16:34, Benjamin Poulain <benja...@webkit.org> wrote: > On 7/30/14, 2:51 AM, Jacques-Olivier wrote: >> 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: >> >> I read some more code and did some research about the Supplement and >> Supplementable classes. >> I mainly found this page which explains that Supplements are used to extract >> code from “massive” classes and make then more manageable and maintainable. >> Please correct me if I am wrong. > That's right. Supplement are used to manage complexity by encapsulating self > contained features behind a separate interfaces. Good >> Anyway, it doesn’t change that my program has no Supplement for the key >> “UserMediaController”. >> It looks like most of the supplements are being provided in two places: >> WebKit::WebView::_commonInitializationWithFrameName >> WebKit2::WebPage ’s constructor >> is there any other place where it should be done? > +probably another place in the WebKit layer for Windows, you can probably > ignore that. I will >> WebView actually contains a call to WebCore::provideUserMediaTo which >> creates a supplement, but my debugging show that >> _commonInitializationWithFrameName is never called. >> WebPage’s constructor does not generate a UserMediaController supplement. >> >> My understanding of the WebView is that it is the rectangle in which the >> webpages are rendered. Is this assumption correct? >> 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. > WebKit1's WebView is not used by Safari. > > 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. Interesting. Do you know when the shift was done? That means that Safari is not using it, but other port might. >> This leaves me with 2 options: >> 1) Find a way to trigger _commonInitializationWithFrameName. >> I have no idea of how to do that at the moment > 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). Awesome! I had to comment the permission checking as it seems like a function is missing, but I was able to turn on my camera. More precisely, the UIDelegate does not respond to the selector webView:decidePolicyForUserMediaRequestFromOrigin:listener: It doesn’t sound impossible to fix. Once once the camera is turned on, the success callback is properly called. I tried to render it in a video element by doing (JS) videoElement.src = stream; but I guess it would have been a bit too easy :) There is no error, but nothing happens. It looks like the <video> element successfully registers the MediaStream, but is not capable of rendering it. I will have to do some more digging in how the video element is handling a MediaStream. >> 2) Duplicate the call to WebCore::provideUserMediaTo in WebKit2::WebPage. >> I understand this is what is being done for the geolocation supplement. >> 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. >> >> Does any one of these solutions sound more reliable than the other for you? > 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. > I just arrived on Webkit, so I’m still in a discovery phase. 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. > Can you clarify your goals? Do you intent to provide patches for WebRTC > support in WebKit? > Yes, I’m here to complete the implementation of WebRTC in WebKit. As I said, I’m still just entering the project, but in time, I will start providing patches. I’ll probably get MS to fully work locally, and then move to the PeerConnection. Regards, J-O > Benjamin > >> >> Thanks in advance, >> J-O H >> >> -- >> Haché Jacques-Olivier >> R&D Engineer at Temasys Communications Pte Ltd >> Fr : 06 45 85 48 80 >> Sg : 9086 3673 >> >> On 29 Jul 2014, at 17:45, Jacques-Olivier <jo.ha...@temasys.com.sg> wrote: >> >>> Hi everyone, >>> >>> I have some updates regarding my enabling of media_stream and some new >>> question. >>> >>> I managed to build the project with the following options ON: >>> ENABLE_MEDIA_CAPTURE >>> ENABLE_MEDIA_CONTROLS_SCRIPT >>> ENABLE_MEDIA_SOURCE >>> ENABLE_MEDIA_STATISTICS >>> ENABLE_MEDIA_STREAM >>> ENABLE_VIDEO >>> ENABLE_VIDEO_TRACK >>> For this I had to: >>> 1) copy the content of these folders >>> WebKit/WebKitBuild/Debug/DerivedSources/WebCore >>> WebKit/WebKitBuild/Release/DerivedSources/WebCore >>> into DerivedSources/WebCore >>> >>> 2) Add some header and source files to the Xcode projects. The files were >>> present in the repo, but not added to the projects. >>> 3) Add some headers to be copied into WebCore.framework >>> >>> Given those changes, I was able to build the project with both Xcode and >>> the build script; >>> >>> I tried running a very basic test that only calls >>> navigator.webkitGetUserMedia, but the call fails with the folioing error: >>> [Error] NotSupportedError: DOM Exception 9: The implementation did not >>> support the requested type of object or operation. >>> >>> I went into the code with Xcode’s debugger and found that the error happens >>> in NavigatorUserMedia::webkitGetUserMedia (basically the function’s >>> entrance). >>> My understanding is that the NavigatorUserMedia is trying to get the >>> content of a “supplement” for the key “UserMediaController" >>> The access to the supplement itself is fine, but its map only contains one >>> object with a key value set to NULL. >>> Therefore the supplement returns NULL, and the NavigatorUserMedia triggers >>> an error. >>> >>> There are some comments in the code about how supplements work, but not >>> what they are for. Can anyone enlighten me about this? >>> Did I miss an initialisation somewhere? >>> >>> This was what is blocking me now. >>> I also have a couple of more generic questions about the project: >>> >>> 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. >>> >>> 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? >>> >>> Regards, >>> J-O H >>> >>> -- >>> Haché Jacques-Olivier >>> R&D Engineer at Temasys Communications Pte Ltd >>> Fr : 06 45 85 48 80 >>> Sg : 9086 3673 >>> >>> On 23 Jul 2014, at 16:49, Alexandre GOUAILLARD <agouaill...@gmail.com> >>> wrote: >>> >>>> Hi benjamain, thanks for the answers, >>>> >>>> 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). >>>> >>>> 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) ? >>>> >>>> regards, >>>> >>>> Alex. >>>> >>>> >>>> >>>> >>>> On Wed, Jul 23, 2014 at 4:24 PM, Benjamin Poulain <benja...@webkit.org> >>>> wrote: >>>> >>>> On 7/22/14, 12:48 AM, Jacques-Olivier wrote: >>>>> HI Benjamin, >>>>> >>>>> Thanks for you answer. >>>>> >>>>> I just deleted the XCodeBuild folder and added a couple of files in the >>>>> project manually. >>>>> My computer is re-building the project, I will see how it goes. >>>>> A couple of extra questions: >>>>> >>>>> 1) After deleting the XCodeBuild folder, I cannot make my first build >>>>> using Xcode. I end up with a file not found on >>>>> #include <llvm-c/Analysis.h> >>>>> in JavaScriptCore/llvm/LLVMHeaders.h >>>>> 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). >>>>> Any lead regarding why? >>>> No idea, I only use build-webkit and make for building. >>>> A lot of people use Xcode so there must be a way to get it to work. >>>> >>>>> 2) The Xcode projects is versioned on the repo. Is there anyway to >>>>> re-generate it automatically? >>>>> Having the Xcode project shared sounds very unsafe. What is someone >>>>> introduces a bug in it someday? >>>> 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. >>>>> Regards, >>>>> J-O H >>>>> >>>>> -- >>>>> Haché Jacques-Olivier >>>>> R&D Engineer at Temasys Communications Pte Ltd >>>>> Fr : 06 45 85 48 80 >>>>> Sg : 9086 3673 >>>>> >>>>> On 22 Jul 2014, at 15:16, Benjamin Poulain <benja...@webkit.org> wrote: >>>>> >>>>>> Quick answers inline: >>>>>> >>>>>> On 7/21/14, 9:22 PM, Jacques-Olivier wrote: >>>>>>> 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. >>>>>>> >>>>>>> I’m new on this mailing so I’ll start by introducing myself: >>>>>>> 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. >>>>>>> For those who would be following the WebRTC’s news, I’m also the main >>>>>>> developer of the WebRTC plugin released by Temasys. >>>>>>> >>>>>>> Back to business: >>>>>>> >>>>>>> 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. >>>>>>> >>>>>>> My configuration: >>>>>>> Macbook Air 2012 >>>>>>> Mac OS X 10.9.4 >>>>>>> Revision 171167 >>>>>>> I’m on master >>>>>>> I suppose I’m using the regular Mac port as I didn’t see where to >>>>>>> change from one port to another yet. >>>>>>> building for debug mode >>>>>>> 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. >>>>>>> I have to say that I faced a lack of documentation on this area. I >>>>>>> found the features list, a document about how to add a new feature but >>>>>>> nothing about how to turn a feature on and off (there is actually a >>>>>>> TODO about that in the second link). >>>>>>> >>>>>>> I looked into the files that one needs to change to add a new feature >>>>>>> and found two interesting files: >>>>>>> Source/WTF/wtf/FeatureDefines.h - where the WebRTC related contants >>>>>>> were set to 0 instead of 1 >>>>>>> Source/cmake/WebKitFeatures.cmake - where the contants were set to OFF >>>>>>> I listed the following definitions that look related to WebRTC >>>>>>> ENABLE_MEDIA_CAPTURE >>>>>>> ENABLE_MEDIA_CONTROLS_SCRIPT >>>>>>> ENABLE_MEDIA_SOURCE >>>>>>> ENABLE_MEDIA_STATISTICS >>>>>>> ENABLE_MEDIA_STREAM >>>>>>> ENABLE_VIDEO >>>>>>> ENABLE_VIDEO_TRACK >>>>>>> I turned those definitions to 1 and ON in the respective file and tried >>>>>>> to build. >>>>>>> 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: >>>>>>> class Observer { >>>>>>> public: >>>>>>> virtual void didAddOrRemoveTrack() = 0; >>>>>>> virtual ~Observer() {}; >>>>>>> }; >>>>>>> >>>>>>> and tried to build again. >>>>>>> >>>>>>> I now have a linking error when building WebCore with Xcode. >>>>>>> >>>>>>> Ld >>>>>>> /Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore >>>>>>> normal x86_64 >>>>>>> cd >>>>>>> /Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/Source/WebCore >>>>>>> export MACOSX_DEPLOYMENT_TARGET=10.9 >>>>>>> >>>>>>> /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 >>>>>>> >>>>>>> Undefined symbols for architecture x86_64: >>>>>>> "__ZN7WebCore11JSNavigator18webkitGetUserMediaEPN3JSC9ExecStateE", >>>>>>> referenced from: >>>>>>> >>>>>>> __ZN7WebCore46jsNavigatorPrototypeFunctionWebkitGetUserMediaEPN3JSC9ExecStateE >>>>>>> in JSNavigator.o >>>>>>> "__ZN7WebCore15RTCOfferOptions6createERKNS_10DictionaryERi", >>>>>>> referenced from: >>>>>>> >>>>>>> __ZN7WebCore17RTCPeerConnection11createOfferEN3WTF10PassRefPtrINS_29RTCSessionDescriptionCallbackEEENS2_INS_30RTCPeerConnectionErrorCallbackEEERKNS_10DictionaryERi >>>>>>> in RTCPeerConnection.o >>>>>>> >>>>>>> "__ZN7WebCore20MediaConstraintsMock17verifyConstraintsEN3WTF10PassRefPtrINS_16MediaConstraintsEEE", >>>>>>> referenced from: >>>>>>> >>>>>>> __ZN7WebCore21MockMediaStreamCenter26validateRequestConstraintsEN3WTF10PassRefPtrINS_25MediaStreamCreationClientEEENS2_INS_16MediaConstraintsEEES6_ >>>>>>> in MockMediaStreamCenter.o >>>>>>> >>>>>>> __ZN7WebCore21MockMediaStreamCenter17createMediaStreamEN3WTF10PassRefPtrINS_25MediaStreamCreationClientEEENS2_INS_16MediaConstraintsEEES6_ >>>>>>> in MockMediaStreamCenter.o >>>>>>> "__ZN7WebCore21RTCOfferAnswerOptions6createERKNS_10DictionaryERi", >>>>>>> referenced from: >>>>>>> >>>>>>> __ZN7WebCore17RTCPeerConnection12createAnswerEN3WTF10PassRefPtrINS_29RTCSessionDescriptionCallbackEEENS2_INS_30RTCPeerConnectionErrorCallbackEEERKNS_10DictionaryERi >>>>>>> in RTCPeerConnection.o >>>>>>> >>>>>>> "__ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_16RTCConfigurationE", >>>>>>> referenced from: >>>>>>> >>>>>>> __ZN7WebCore52jsRTCPeerConnectionPrototypeFunctionGetConfigurationEPN3JSC9ExecStateE >>>>>>> in JSRTCPeerConnection.o >>>>>>> ld: symbol(s) not found for architecture x86_64 >>>>>>> clang: error: linker command failed with exit code 1 (use -v to see >>>>>>> invocation) >>>>>>> >>>>>>> I found that these strange names actually meant >>>>>>> WebCore::JSNavigator::webkitGetUserMedia(execState *) - and same for >>>>>>> the others. >>>>>>> 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. >>>>>>> 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. >>>>>>> I tried running cmake, but got this message: >>>>>>> Please choose which WebKit port to build (one of >>>>>>> Efl;WinCE;GTK;AppleWin;WinCairo) >>>>>>> When what I want is the AppleMac port >>>>>>> >>>>>>> If I build using build-webkit, I get a different stack >>>>>>> >>>>>>> >>>>>>> === BUILD TARGET WebCoreExportFileGenerator OF PROJECT WebCore WITH >>>>>>> CONFIGURATION Debug === >>>>>>> >>>>>>> Check dependencies >>>>>>> iOS.xcconfig line 1: Unable to find included file >>>>>>> "<DEVELOPER_DIR>/AppleInternal/XcodeConfig/AspenFamily.xcconfig" >>>>>>> Base.xcconfig line 24: Unable to find included file >>>>>>> "../../../../Internal/Configurations/UseInternalSDK.xcconfig" >>>>>>> >>>>>>> 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 >>>>>>> cd >>>>>>> /Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/Source/WebCore >>>>>>> export LANG=en_US.US-ASCII >>>>>>> >>>>>>> /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 >>>>>>> fatal error: file >>>>>>> '/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/Debug/usr/local/include/wtf/FeatureDefines.h' >>>>>>> has been modified since the precompiled header >>>>>>> >>>>>>> '/Users/jacquesolivierhache/Workspace/Temasys/WebKitProject/WebKit/WebKitBuild/PrecompiledHeaders/WebCorePrefix-gcoyowpevvvzkbecqfhdngvxbkag/WebCorePrefix.h.pch' >>>>>>> was built >>>>>>> 1 error generated. >>>>>>> >>>>>>> ** BUILD FAILED ** >>>>>>> >>>>>>> >>>>>>> The following build commands failed: >>>>>>> >>>>>>> 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 >>>>>>> (1 failure) >>>>>>> >>>>>>> >>>>>>> >>>>>>> Is anyone used to turn the WebRTC code on and off? >>>>>> 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. >>>>>>> Did I miss an important step? >>>>>> Probably not. >>>>>>> Do you understand these errors? >>>>>> 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. >>>>>> >>>>>> The second error is likely a problem with the incremental build. I would >>>>>> just delete WebKitBuild and start a clean build. >>>>>>> Why is the precompiled header not re-built when there are changes in >>>>>>> the headers? >>>>>> Yep, that's weird. I only run into problems with precompiled headers >>>>>> when I change my SDK. >>>>>> 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. >>>>>> >>>>>> Good luck! >>>>>> Benjamin >>>>>> _______________________________________________ >>>>>> webkit-dev mailing list >>>>>> webkit-dev@lists.webkit.org >>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>>> >>>> >>>> >>>> _______________________________________________ >>>> webkit-dev mailing list >>>> webkit-dev@lists.webkit.org >>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>>> >>>> >>>> >>>> >>>> -- >>>> Alex. Gouaillard, PhD, PhD, MBA >>>> ------------------------------------------------------------------------------------ >>>> CTO - Temasys Communications, S'pore / Mountain View >>>> President - CoSMo Software, Cambridge, MA >>>> ------------------------------------------------------------------------------------ >>>> sg.linkedin.com/agouaillard >>>> >>> >> >> >> >> _______________________________________________ >> webkit-dev mailing list >> webkit-dev@lists.webkit.org >> https://lists.webkit.org/mailman/listinfo/webkit-dev > > _______________________________________________ > webkit-dev mailing list > webkit-dev@lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-dev
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev