[oe] [meta-oe][Patch] fltk: fix build error when enable package config examples

Khem Raj raj.khem at gmail.com
Wed Dec 11 18:52:42 UTC 2019


somehow patches from you never get into patchwork. I wonder why ?
adding Michael as well

On 12/11/19 1:10 AM, kai.kang at windriver.com wrote:
> From: Kai Kang <kai.kang at windriver.com>
> 
> Backport patch to fix fltk build error when enable package config
> 'examples'. Drop the useless parts such as .gitignore and Makefile
> from the patch.
> 
> fltk-native is also required by package config 'examples'.
> 
> Signed-off-by: Kai Kang <kai.kang at windriver.com>
> ---
>   meta-oe/recipes-support/fltk/fltk.bb          |   7 +-
>   ...-when-enable-package-config-examples.patch | 182 ++++++++++++++++++
>   2 files changed, 187 insertions(+), 2 deletions(-)
>   create mode 100644 meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch
> 
> diff --git a/meta-oe/recipes-support/fltk/fltk.bb b/meta-oe/recipes-support/fltk/fltk.bb
> index 7ad4ac70a..0d033f361 100644
> --- a/meta-oe/recipes-support/fltk/fltk.bb
> +++ b/meta-oe/recipes-support/fltk/fltk.bb
> @@ -5,7 +5,10 @@ DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
>   inherit features_check binconfig lib_package gtk-icon-cache mime
>   REQUIRED_DISTRO_FEATURES = "x11"
>   
> -SRC_URI += "file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch"
> +SRC_URI += " \
> +    file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch \
> +    file://0004-Fix-build-error-when-enable-package-config-examples.patch \
> +"
>   
>   EXTRA_OECMAKE = " \
>       -DOPTION_BUILD_SHARED_LIBS=ON \
> @@ -17,7 +20,7 @@ EXTRA_OECMAKE = " \
>   
>   PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
>   
> -PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,"
> +PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,fltk-native"
>   PACKAGECONFIG[cairo] = "-DOPTION_CAIRO=ON,-DOPTION_CAIRO=OFF,cairo"
>   PACKAGECONFIG[opengl] = "-DOPTION_USE_GL=ON,-DOPTION_USE_GL=OFF,virtual/libgl"
>   PACKAGECONFIG[xinerama] = "-DOPTION_USE_XINERAMA=ON,-DOPTION_USE_XINERAMA=OFF,libxinerama"
> diff --git a/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch b/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch
> new file mode 100644
> index 000000000..974c02fe6
> --- /dev/null
> +++ b/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch
> @@ -0,0 +1,182 @@
> +Fix build error when enable package config examples.
> +
> +Upstream-Status: Backport [https://github.com/fltk/fltk/commit/16774dd]
> +
> +Signed-off-by: Kai Kang <kai.kang at windriver.com>
> +
> +
> +From 16774ddc4e000c89e560fde0ced8be9814ef041e Mon Sep 17 00:00:00 2001
> +From: Albrecht Schlosser <albrechts.fltk at online.de>
> +Date: Wed, 8 Feb 2017 02:06:52 +0000
> +Subject: [PATCH] Rename test/help demo program to test/help_dialog.
> +
> +This change avoids a name conflict with CMake's auto-generated target 'help'
> +for "Unix Makefiles", "Ninja", and supposedly other generators as well.
> +
> +
> +git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
> +---
> + CMake/macros.cmake                        |  5 -----
> + documentation/src/examples.dox            |  8 +++----
> + test/CMakeLists.txt                       | 27 +++++++++++++++++++----
> + test/demo.menu                            |  2 +-
> + test/{help.cxx => help_dialog.cxx}        |  6 ++---
> + test/{help-test.html => help_dialog.html} |  0
> + 6 files changed, 31 insertions(+), 17 deletions(-)
> + rename test/{help.cxx => help_dialog.cxx} (88%)
> + rename test/{help-test.html => help_dialog.html} (100%)
> +
> +diff --git a/CMake/macros.cmake b/CMake/macros.cmake
> +index 5b0d0fa..7134fcb 100644
> +--- a/CMake/macros.cmake
> ++++ b/CMake/macros.cmake
> +@@ -90,11 +90,6 @@ function(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
> +
> +     set (tname ${NAME})		# target name
> +
> +-    # rename reserved target name "help" (CMake 2.8.12 and later)
> +-    if (${tname} MATCHES "^help$")
> +-        set (tname "test_help")
> +-    endif (${tname} MATCHES "^help$")
> +-
> +     foreach(src ${SOURCES})
> +         if ("${src}" MATCHES "\\.fl$")
> +             list(APPEND flsrcs ${src})
> +diff --git a/documentation/src/examples.dox b/documentation/src/examples.dox
> +index 5105b7b..7961b02 100644
> +--- a/documentation/src/examples.dox
> ++++ b/documentation/src/examples.dox
> +@@ -60,7 +60,7 @@ you build FLTK, unlike those in the 'test' directory shown below.
> + </tr>
> + <tr>
> + <td> \ref examples_hello           </td>
> +-<td> \ref examples_help            </td>
> ++<td> \ref examples_help_dialog     </td>
> + <td> \ref examples_iconize         </td>
> + <td> \ref examples_image           </td>
> + <td> \ref examples_inactive        </td>
> +@@ -326,13 +326,13 @@ easily under FLTK.
> + tiny demo shows how little is needed to get a functioning application
> + running with FLTK. Quite impressive, I'd say.
> +
> +-\subsection examples_help help
> ++\subsection examples_help_dialog help_dialog
> +
> + \par
> +-\c help displays the built-in FLTK help browser. The
> ++\c help_dialog displays the built-in FLTK help browser. The
> + Fl_Help_Dialog understands a subset of html and renders
> + various image formats. This widget makes it easy to provide help
> +-pages to the user without depending on the operating system's
> ++pages to the user without depending on the operating system's
> + html browser.
> +
> + \subsection examples_iconize iconize
> +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
> +index 22ec9ab..4caffa5 100644
> +--- a/test/CMakeLists.txt
> ++++ b/test/CMakeLists.txt
> +@@ -1,3 +1,22 @@
> ++#
> ++# "$Id$"
> ++#
> ++# CMakeLists.txt used to build test and demo apps by the CMake build system
> ++#
> ++# Copyright 2004-2017 by Bill Spitzak and others.
> ++#
> ++# This library is free software. Distribution and use rights are outlined in
> ++# the file "COPYING" which should have been included with this file.  If this
> ++# file is missing or damaged, see the license at:
> ++#
> ++#     http://www.fltk.org/COPYING.php
> ++#
> ++# Please report all bugs and problems on the following page:
> ++#
> ++#     http://www.fltk.org/str.php
> ++#
> ++#######################################################################
> ++
> + set(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin/examples)
> +
> + #######################################################################
> +@@ -64,7 +83,7 @@ CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images")
> + CREATE_EXAMPLE(fonts fonts.cxx fltk)
> + CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms")
> + CREATE_EXAMPLE(hello hello.cxx fltk)
> +-CREATE_EXAMPLE(help help.cxx "fltk;fltk_images")
> ++CREATE_EXAMPLE(help_dialog help_dialog.cxx "fltk;fltk_images")
> + CREATE_EXAMPLE(icon icon.cxx fltk)
> + CREATE_EXAMPLE(iconize iconize.cxx fltk)
> + CREATE_EXAMPLE(image image.cxx fltk)
> +@@ -134,7 +153,7 @@ endif(FLTK_HAVE_CAIRO)
> + # Note: this is incomplete as of 11 Feb 2015
> + # Todo: currently all files are copied, but some of them need configuration:
> + # - demo.menu: fluid can't be started (wrong path)
> +-# - demo.menu: help (help-test.html) can't find its images (not copied)
> ++# - demo.menu: help_dialog (help_dialog.html) can't find its images (not copied)
> + # - maybe more ...
> +
> + # prepare for a "better" test file installation path
> +@@ -149,11 +168,11 @@ configure_file(demo.menu ${TESTFILE_PATH}/demo.menu COPYONLY)
> +
> + # use target directory only to avoid redundancy
> + configure_file(rgb.txt ${TESTFILE_PATH} COPYONLY)
> +-configure_file(help-test.html ${TESTFILE_PATH} COPYONLY)
> ++configure_file(help_dialog.html ${TESTFILE_PATH} COPYONLY)
> + configure_file(browser.cxx ${TESTFILE_PATH} COPYONLY)
> + configure_file(editor.cxx ${TESTFILE_PATH} COPYONLY)
> + if(APPLE AND NOT OPTION_APPLE_X11)
> +     configure_file(browser.cxx "${TESTFILE_PATH}/browser.app/Contents/Resources/browser.cxx" COPYONLY)
> +     configure_file(rgb.txt ${TESTFILE_PATH}/colbrowser.app/Contents/Resources/rgb.txt COPYONLY)
> +-    configure_file(help-test.html ${TESTFILE_PATH}/help.app/Contents/Resources/help-test.html COPYONLY)
> ++    configure_file(help_dialog.html ${TESTFILE_PATH}/help_dialog.app/Contents/Resources/help_dialog.html COPYONLY)
> + endif(APPLE AND NOT OPTION_APPLE_X11)
> +diff --git a/test/demo.menu b/test/demo.menu
> +index 337a71c..97e522a 100644
> +--- a/test/demo.menu
> ++++ b/test/demo.menu
> +@@ -77,7 +77,7 @@
> + 	@o:Font Tests...:@of
> + 		@of:Fonts:fonts
> + 		@of:UTF-8:utf8
> +-	@o:HelpDialog:help
> ++	@o:HelpDialog:help_dialog
> + 	@o:Input Choice:input_choice
> + 	@o:Preferences:preferences
> + 	@o:Threading:threads
> +diff --git a/test/help.cxx b/test/help_dialog.cxx
> +similarity index 88%
> +rename from test/help.cxx
> +rename to test/help_dialog.cxx
> +index f5c51d6..7866641 100644
> +--- a/test/help.cxx
> ++++ b/test/help_dialog.cxx
> +@@ -3,7 +3,7 @@
> + //
> + // Fl_Help_Dialog test program.
> + //
> +-// Copyright 1999-2010 by Easy Software Products.
> ++// Copyright 2011-2017 by Bill Spitzak and others.
> + //
> + // This library is free software. Distribution and use rights are outlined in
> + // the file "COPYING" which should have been included with this file.  If this
> +@@ -46,13 +46,13 @@ main(int  argc,			// I - Number of command-line arguments
> +     strcpy(buf, argv[0]);
> +     char *slash = strrchr(buf, '/');
> +     if (slash)
> +-      strcpy(slash, "/../Resources/help-test.html");
> ++      strcpy(slash, "/../Resources/help_dialog.html");
> +     help->load(buf);
> +
> + #else
> +
> +   if (argc <= 1)
> +-    help->load("help-test.html");
> ++    help->load("help_dialog.html");
> +   else
> +     help->load(argv[1]);
> +
> +diff --git a/test/help-test.html b/test/help_dialog.html
> +similarity index 100%
> +rename from test/help-test.html
> +rename to test/help_dialog.html
> 



More information about the Openembedded-devel mailing list