[lfs-patches] r3293 - trunk/x265

fernando at higgs.linuxfromscratch.org fernando at higgs.linuxfromscratch.org
Sat Oct 24 14:19:48 PDT 2015


Author: fernando
Date: Sat Oct 24 14:19:48 2015
New Revision: 3293

Log:
\
• Patch for x265_1.8 to add ENABLE_STATIC:BOOL=ON option, so that the
  static library can be disabled.

Added:
   trunk/x265/
   trunk/x265/x265_1.8-enable_static-1.patch

Added: trunk/x265/x265_1.8-enable_static-1.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/x265/x265_1.8-enable_static-1.patch	Sat Oct 24 14:19:48 2015	(r3293)
@@ -0,0 +1,76 @@
+Submitted By:            Fernando de Oliveira <famobr at yahoo dot com dot br>
+Date:                    2015-10-24
+Initial Package Version: 1.8
+Upstream Status:         not submitted
+Origin:                  https://bitbucket.org/TimothyGu/x265/commits/a9aacc5a16116f1c663d1fcb62ad9a0985043b94/raw/
+                         https://bitbucket.org/TimothyGu/x265/commits/578c5ef3dff46db38e7c36a8d3c6198a65c9746b/raw/
+Description:             Add ENABLE_STATIC:BOOL=ON, so that static lib
+                         can be disabled.
+
+
+
+--- x265_11047/source/CMakeLists.txt.orig	2015-10-08 07:01:36.000000000 -0300
++++ x265_11047/source/CMakeLists.txt	2015-10-24 17:10:57.919861668 -0300
+@@ -419,16 +419,21 @@
+ endif()
+ 
+ source_group(ASM FILES ${YASM_SRCS})
+-add_library(x265-static STATIC $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common> ${YASM_OBJS} ${YASM_SRCS})
+-if(NOT MSVC)
+-    set_target_properties(x265-static PROPERTIES OUTPUT_NAME x265)
+-endif()
+-if(EXTRA_LIB)
+-    target_link_libraries(x265-static ${EXTRA_LIB})
+-endif()
+-install(TARGETS x265-static
+-    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+-    ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
++
++option(ENABLE_STATIC "Build static library" ON)
++if(ENABLE_STATIC)
++    add_library(x265-static STATIC $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common> ${YASM_OBJS} ${YASM_SRCS})
++    if(NOT MSVC)
++        set_target_properties(x265-static PROPERTIES OUTPUT_NAME x265)
++    endif()
++    if(EXTRA_LIB)
++        target_link_libraries(x265-static ${EXTRA_LIB})
++    endif()
++    install(TARGETS x265-static
++        LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++        ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
++endif(ENABLE_STATIC)
++
+ install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
+ 
+ if(CMAKE_RC_COMPILER)
+@@ -490,6 +495,10 @@
+     endif()
+ endif()
+ 
++if(NOT ENABLE_STATIC AND NOT ENABLE_SHARED)
++    message(FATAL_ERROR "Neither static nor shared libraries are enabled.")
++endif()
++
+ if(X265_LATEST_TAG)
+     # convert lists of link libraries into -lstdc++ -lm etc..
+     foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
+@@ -551,12 +560,14 @@
+     else()
+         add_executable(cli ../COPYING ${InputFiles} ${OutputFiles} ${GETOPT} ${X265_RC_FILE}
+                        ${ExportDefs} x265.cpp x265.h x265cli.h x265-extras.h x265-extras.cpp)
+-        if(WIN32 OR NOT ENABLE_SHARED OR INTEL_CXX)
+-            # The CLI cannot link to the shared library on Windows, it
+-            # requires internal APIs not exported from the DLL
+-            target_link_libraries(cli x265-static ${PLATFORM_LIBS})
+-        else()
++        if(WIN32 AND NOT ENABLE_STATIC)
++            message(FATAL_ERROR "The CLI cannot link to shared library on Windows as it requires internal APIs not exported from the DLL.")
++        elseif(INTEL_CXX AND NOT ENABLE_STATIC)
++            message(FATAL_ERROR "The CLI cannot link to shared library with Intel C++ Compiler as it requires internal APIs not exported from the shared library.")
++        elseif(ENABLE_SHARED)
+             target_link_libraries(cli x265-shared ${PLATFORM_LIBS})
++        else()
++            target_link_libraries(cli x265-static ${PLATFORM_LIBS})
+         endif()
+     endif()
+     set_target_properties(cli PROPERTIES OUTPUT_NAME x265)


More information about the patches mailing list