Generate WebCoreHeaderDetection.h on Windows to define HAVE_AVCF
authorjeffm@apple.com <jeffm@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 Aug 2011 20:15:53 +0000 (20:15 +0000)
committerjeffm@apple.com <jeffm@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 Aug 2011 20:15:53 +0000 (20:15 +0000)
https://bugs.webkit.org/show_bug.cgi?id=65634

AVFoundation support on Windows will (eventually) be predicated on the
availability of AVFoundationCF headers and libraries in the WebKit Support
Libraries, so we test for the existence of one of the header files (AVCFBase.h)
to determine whether to AVCF is available.

For now, even if AVFoundationCF is available, leave WTF_USE_AVFOUNDATION off, since
it's not ready to be turned on yet (which is covered by http://webkit.org/b/65400).

Ideally, we would generate WebCoreHeaderDetection.h on all platforms so we could
include it unconditionally in WebCore's config.h, but unfortunately the Mac-only file
ExportFileGenerator.cpp depends on WTF_USE_AVFOUNDATION being set correctly, and since this
.cpp file is also generated it doesn't have access to WebCoreHeaderDetection.h.

Reviewed by Adam Roben.

No change in functionality, so new tests.

* DerivedSources.make: Add rule to generate WebCoreHeaderDetection.h to set HAVE_AVCF on Windows.
* config.h: Include WebCoreHeaderDetection.h on Windows, check for HAVE(AVCF) but always leave WTF_USE_AVFOUNDATION off on Windows for now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@92308 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.make
Source/WebCore/config.h

index 72a4588..1560ebb 100644 (file)
@@ -1,3 +1,28 @@
+2011-08-03  Jeff Miller  <jeffm@apple.com>
+
+        Generate WebCoreHeaderDetection.h on Windows to define HAVE_AVCF
+        https://bugs.webkit.org/show_bug.cgi?id=65634
+        
+        AVFoundation support on Windows will (eventually) be predicated on the
+        availability of AVFoundationCF headers and libraries in the WebKit Support
+        Libraries, so we test for the existence of one of the header files (AVCFBase.h)
+        to determine whether to AVCF is available.
+        
+        For now, even if AVFoundationCF is available, leave WTF_USE_AVFOUNDATION off, since
+        it's not ready to be turned on yet (which is covered by http://webkit.org/b/65400).
+        
+        Ideally, we would generate WebCoreHeaderDetection.h on all platforms so we could
+        include it unconditionally in WebCore's config.h, but unfortunately the Mac-only file
+        ExportFileGenerator.cpp depends on WTF_USE_AVFOUNDATION being set correctly, and since this
+        .cpp file is also generated it doesn't have access to WebCoreHeaderDetection.h.
+
+        Reviewed by Adam Roben.
+
+        No change in functionality, so new tests.
+
+        * DerivedSources.make: Add rule to generate WebCoreHeaderDetection.h to set HAVE_AVCF on Windows.
+        * config.h: Include WebCoreHeaderDetection.h on Windows, check for HAVE(AVCF) but always leave WTF_USE_AVFOUNDATION off on Windows for now.
+
 2011-08-03  Tommy Widenflycht  <tommyw@google.com>
 
         MediaStream API: Implement PeerConnection and SignalingCallback
index d44662b..6ac55b0 100644 (file)
@@ -973,3 +973,16 @@ DOM%.h : %.idl $(DOM_BINDINGS_SCRIPTS) bindings/objc/PublicDOMInterfaces.h
 # --------
 
 endif # MACOS
+
+# ------------------------
+
+# Header detection
+
+ifeq ($(OS),Windows_NT)
+
+all : WebCoreHeaderDetection.h
+
+WebCoreHeaderDetection.h : DerivedSources.make
+       if [ -f "$(WEBKITLIBRARIESDIR)/include/AVFoundationCF/AVCFBase.h" ]; then echo "#define HAVE_AVCF 1" > $@; else echo > $@; fi
+
+endif # Windows_NT
index 6945825..d8fa041 100644 (file)
 
 #include <wtf/Platform.h>
 
+#if OS(WINDOWS)
+#include <WebCore/WebCoreHeaderDetection.h>
+#endif
+
 /* See note in wtf/Platform.h for more info on EXPORT_MACROS. */
 #if USE(EXPORT_MACROS)
 
@@ -221,3 +225,7 @@ typedef float CGFloat;
 #define WTF_USE_AVFOUNDATION 1
 #endif
 
+#if PLATFORM(WIN) && HAVE(AVCF)
+/// FIXME: Adopt AVCF media back end on Windows http://webkit.org/b/65400
+#define WTF_USE_AVFOUNDATION 0
+#endif