From b85bfd55808c68e71f6fc905fceda7668a0b2e9d Mon Sep 17 00:00:00 2001 From: Pat Wilson Date: Mon, 26 Jul 2010 16:47:13 -0700 Subject: [PATCH] CURL support optional --- CMakeLists.txt | 12 +++++++++--- netutils.cpp | 11 +++++++++-- swf.cpp | 2 ++ 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f280174bee..b5a29acc21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,7 @@ SET(COMPILE_LIGHTSPARK TRUE CACHE BOOL "Compile Lightspark?") SET(COMPILE_TIGHTSPARK TRUE CACHE BOOL "Compile Tightspark?") SET(COMPILE_PLUGIN FALSE CACHE BOOL "Compile the Firefox Plugin?") SET(ENABLE_SOUND TRUE CACHE BOOL "Enable sound?") +SET(ENABLE_CURL TRUE CACHE BOOL "Enable CURL? (Required for Downloader functionality)") SET(PLUGIN_DIRECTORY "${LIBDIR}/mozilla/plugins" CACHE STRING "Directory to install Firefox plugin to") IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING @@ -77,7 +78,6 @@ ENDIF(NOT CMAKE_BUILD_TYPE) # Libraries we need INCLUDE(FindLLVM REQUIRED) INCLUDE(FindSDL REQUIRED) -INCLUDE(FindCURL REQUIRED) INCLUDE(FindPkgConfig REQUIRED) INCLUDE(FindZLIB REQUIRED) INCLUDE(FindThreads REQUIRED) @@ -108,7 +108,6 @@ ENDIF(HAVE_AVCODEC_DECODE_AUDIO3) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${LLVM_INCLUDE_DIR}) -INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${Threads_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${EXTRA_LIBS_INCLUDE_DIRS}) @@ -124,6 +123,13 @@ IF(COMPILE_PLUGIN) ADD_DEFINITIONS(-DMOZ_X11 -DCOMPILE_PLUGIN) ENDIF(COMPILE_PLUGIN) +IF(ENABLE_CURL) + INCLUDE(FindCURL REQUIRED) + INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) + SET(OPTIONAL_LIBRARIES ${OPTIONAL_LIBRARIES} ${CURL_LIBRARIES}) + ADD_DEFINITIONS(-DENABLE_CURL) +ENDIF(ENABLE_CURL) + # Compiler defaults flags for different profiles SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wnon-virtual-dtor -Woverloaded-virtual -pipe -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x") @@ -153,7 +159,7 @@ ENDIF(${i386}) # liblightspark.so target ADD_LIBRARY(spark SHARED ${LIBSPARK_SOURCES}) SET_TARGET_PROPERTIES(spark PROPERTIES OUTPUT_NAME lightspark) -TARGET_LINK_LIBRARIES(spark ${SOUND_LIBS_LIBRARIES} ${EXTRA_LIBS_LIBRARIES} ${LIBAVCODEC_LIBRARIES} ${ZLIB_LIBRARIES} ${LLVM_LIBS_CORE} ${LLVM_LIBS_JIT} ${SDL_LIBRARY} ${CURL_LIBRARIES} ${GTK_LIBRARIES} ${lib_glew}) +TARGET_LINK_LIBRARIES(spark ${SOUND_LIBS_LIBRARIES} ${EXTRA_LIBS_LIBRARIES} ${LIBAVCODEC_LIBRARIES} ${ZLIB_LIBRARIES} ${LLVM_LIBS_CORE} ${LLVM_LIBS_JIT} ${SDL_LIBRARY} ${OPTIONAL_LIBRARIES} ${GTK_LIBRARIES} ${lib_glew}) SET_TARGET_PROPERTIES(spark PROPERTIES LINK_FLAGS "${LLVM_LDFLAGS} -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/lightspark.expmap") SET_TARGET_PROPERTIES(spark PROPERTIES LINK_INTERFACE_LIBRARIES "") diff --git a/netutils.cpp b/netutils.cpp index 7ce8d26722..bf26396ae5 100644 --- a/netutils.cpp +++ b/netutils.cpp @@ -20,9 +20,11 @@ #include "swf.h" #include "netutils.h" #include "compat.h" -#include #include #include +#ifdef ENABLE_CURL +#include +#endif using namespace lightspark; extern TLSDATA SystemState* sys; @@ -191,6 +193,7 @@ void CurlDownloader::execute() setFailed(); return; } +#ifdef ENABLE_CURL CURL *curl; CURLcode res; curl = curl_easy_init(); @@ -214,7 +217,11 @@ void CurlDownloader::execute() } else setFailed(); - +#else + //ENABLE_CURL not defined + setFailed(); + LOG(LOG_ERROR,"CURL not enabled in this build. Downloader will always fail."); +#endif sem_post(&(Downloader::terminated)); } diff --git a/swf.cpp b/swf.cpp index 8d934d9726..9c68ebd947 100644 --- a/swf.cpp +++ b/swf.cpp @@ -151,7 +151,9 @@ SystemState::SystemState():RootMovieClip(NULL,true),renderRate(0),error(false),s useInterpreter(true),useJit(false),downloadManager(NULL) { //Do needed global initialization +#ifdef ENABLE_CURL curl_global_init(CURL_GLOBAL_ALL); +#endif avcodec_register_all(); //Create the thread pool