Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v2 0/2] gcc-runtime-related tweaks
@ 2016-07-06 23:48 Paul Eggleton
  2016-07-06 23:48 ` [PATCH v2 1/2] gcc: add runtime packages to RRECOMMENDS Paul Eggleton
  2016-07-06 23:48 ` [PATCH v2 2/2] gcc-runtime: add SUMMARY values Paul Eggleton
  0 siblings, 2 replies; 5+ messages in thread
From: Paul Eggleton @ 2016-07-06 23:48 UTC (permalink / raw)
  To: openembedded-core

Add some RRECOMMENDS to pull in gcc-runtime library packages when
installing gcc/g++, and also set reasonable per-package SUMMARY values
for gcc-runtime. 

Changes since v1:
* Drop libgomp and libitm from RRECOMMENDS for gcc since they aren't
  commonly used
* Move libquadmath from the RRECOMMENDS for gcc to gfortran since it
  appears to be primarily used in conjunction with the latter (and in
  any case we don't actually enable building it unless fortran is
  enabled when building gcc).
* Adjust SUMMARY values in 2/2 to reflect that most of the libs aren't
  specific to gcc

The following changes since commit 53fcfe4348a2ca727844f2b0bd3fca2902cbdda0:

  lib/oeqa: add Galculator to SDK and runtime tests (2016-07-01 16:08:54 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/gcc-runtime
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/gcc-runtime

Paul Eggleton (2):
  gcc: add runtime packages to RRECOMMENDS
  gcc-runtime: add SUMMARY values

 meta/recipes-devtools/gcc/gcc-runtime.inc | 27 +++++++++++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-target.inc  | 19 +++++++++++++++++++
 2 files changed, 46 insertions(+)

-- 
2.5.5



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/2] gcc: add runtime packages to RRECOMMENDS
  2016-07-06 23:48 [PATCH v2 0/2] gcc-runtime-related tweaks Paul Eggleton
@ 2016-07-06 23:48 ` Paul Eggleton
  2016-07-07  0:37   ` Khem Raj
  2016-07-06 23:48 ` [PATCH v2 2/2] gcc-runtime: add SUMMARY values Paul Eggleton
  1 sibling, 1 reply; 5+ messages in thread
From: Paul Eggleton @ 2016-07-06 23:48 UTC (permalink / raw)
  To: openembedded-core

In order to use certain features of gcc, you need the corresponding
runtime library. It seems to me that these ought to be installed by
default when installing the compiler since they are required if certain
command line options are used, so add them to RRECOMMENDS. I used
RRECOMMENDS since some of these packages may or may not exist depending
on architecture and build options; additionally it makes it possible to
use BAD_RECOMMENDATIONS if you really want to exclude them.

The impact of this isn't too bad in the context of an image providing
on-target compilation - about a 30MB increase in size for an image
containing gcc and g++.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-devtools/gcc/gcc-target.inc | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
index 37c5c62..f436fa2 100644
--- a/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/meta/recipes-devtools/gcc/gcc-target.inc
@@ -42,6 +42,10 @@ FILES_${PN} = "\
     ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \
 "
 INSANE_SKIP_${PN} += "dev-so"
+RRECOMMENDS_${PN} += "\
+    libssp \
+    libssp-dev \
+"
 
 FILES_${PN}-dev = "\
     ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \
@@ -69,10 +73,19 @@ FILES_g77-symlinks = "\
     ${bindir}/g77 \
     ${bindir}/f77 \
 "
+RRECOMMENDS_g77 = "\
+    libg2c \
+    libg2c-dev \
+"
+
 FILES_gfortran = "\
     ${bindir}/${TARGET_PREFIX}gfortran \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \
 "
+RRECOMMENDS_gfortran = "\
+    libquadmath \
+    libquadmath-dev \
+"
 FILES_gfortran-symlinks = "\
     ${bindir}/gfortran \
     ${bindir}/f95"
@@ -98,6 +111,12 @@ FILES_g++-symlinks = "\
     ${bindir}/c++ \
     ${bindir}/g++ \
 "
+RRECOMMENDS_g++ = "\
+    libstdc++ \
+    libstdc++-dev \
+    libatomic \
+    libatomic-dev \
+"
 
 FILES_${PN}-doc = "\
     ${infodir} \
-- 
2.5.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] gcc-runtime: add SUMMARY values
  2016-07-06 23:48 [PATCH v2 0/2] gcc-runtime-related tweaks Paul Eggleton
  2016-07-06 23:48 ` [PATCH v2 1/2] gcc: add runtime packages to RRECOMMENDS Paul Eggleton
@ 2016-07-06 23:48 ` Paul Eggleton
  2016-07-07  0:37   ` Khem Raj
  1 sibling, 1 reply; 5+ messages in thread
From: Paul Eggleton @ 2016-07-06 23:48 UTC (permalink / raw)
  To: openembedded-core

It's useful to know what the various libraries are that get produced by
gcc-runtime, as well as to have a specific SUMMARY for the recipe.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-devtools/gcc/gcc-runtime.inc | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 99f50f8..526be55 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -1,5 +1,7 @@
 require gcc-configure-common.inc
 
+SUMMARY = "Runtime libraries from GCC"
+
 # Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3"
 # All gcc-runtime packages are now covered by the runtime exception.
 LICENSE = "GPL-3.0-with-GCC-exception"
@@ -135,73 +137,98 @@ FILES_${PN}-dbg += "\
 "
 
 FILES_libg2c = "${target_libdir}/libg2c.so.*"
+SUMMARY_libg2c = "Companion runtime library for g77"
 FILES_libg2c-dev = "\
     ${libdir}/libg2c.so \
     ${libdir}/libg2c.a \
     ${libdir}/libfrtbegin.a \
 "
+SUMMARY_libg2c-dev = "Companion runtime library for g77 - development files"
 
 FILES_libstdc++ = "${libdir}/libstdc++.so.*"
+SUMMARY_libstdc++ = "GNU standard C++ library"
 FILES_libstdc++-dev = "\
     ${includedir}/c++/ \
     ${libdir}/libstdc++.so \
     ${libdir}/libstdc++*.la \
     ${libdir}/libsupc++.la \
 "
+SUMMARY_libstdc++-dev = "GNU standard C++ library - development files"
 FILES_libstdc++-staticdev = "\
     ${libdir}/libstdc++*.a \
     ${libdir}/libsupc++.a \
 "
+SUMMARY_libstdc++-staticdev = "GNU standard C++ library - static development files"
 
 FILES_libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch"
+SUMMARY_libstdc++-precompile-dev = "GNU standard C++ library - precompiled header files"
 
 FILES_libssp = "${libdir}/libssp.so.*"
+SUMMARY_libssp = "GNU stack smashing protection library"
 FILES_libssp-dev = "\
     ${libdir}/libssp*.so \
     ${libdir}/libssp*_nonshared.a \
     ${libdir}/libssp*.la \
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \
 "
+SUMMARY_libssp-dev = "GNU stack smashing protection library - development files"
 FILES_libssp-staticdev = "${libdir}/libssp*.a"
+SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static development files"
 
 FILES_libquadmath = "${libdir}/libquadmath*.so.*"
+SUMMARY_libquadmath = "GNU quad-precision math library"
 FILES_libquadmath-dev = "\
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \
     ${libdir}/libquadmath*.so \
     ${libdir}/libquadmath.la \
 "
+SUMMARY_libquadmath-dev = "GNU quad-precision math library - development files"
 FILES_libquadmath-staticdev = "${libdir}/libquadmath.a"
+SUMMARY_libquadmath-staticdev = "GNU quad-precision math library - static development files"
 
+# NOTE: mudflap has been removed as of gcc 4.9 and has been superseded by the address sanitiser
 FILES_libmudflap = "${libdir}/libmudflap*.so.*"
+SUMMARY_libmudflap = "Pointer debugging library for gcc"
 FILES_libmudflap-dev = "\
     ${libdir}/libmudflap*.so \
     ${libdir}/libmudflap.la \
 "
+SUMMARY_libmudflap-dev = "Pointer debugging library for gcc - development files"
 FILES_libmudflap-staticdev = "${libdir}/libmudflap.a"
+SUMMARY_libmudflap-staticdev = "Pointer debugging library for gcc - static development files"
 
 FILES_libgomp = "${libdir}/libgomp*${SOLIBS}"
+SUMMARY_libgomp = "GNU OpenMP parallel programming library"
 FILES_libgomp-dev = "\
     ${libdir}/libgomp*${SOLIBSDEV} \
     ${libdir}/libgomp*.la \
     ${libdir}/libgomp.spec \
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \
 "
+SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files"
 FILES_libgomp-staticdev = "${libdir}/libgomp*.a"
+SUMMARY_libgomp-staticdev = "GNU OpenMP parallel programming library - static development files"
 
 FILES_libatomic = "${libdir}/libatomic.so.*"
+SUMMARY_libatomic = "GNU C++11 atomics support library"
 FILES_libatomic-dev = "\
     ${libdir}/libatomic.so \
     ${libdir}/libatomic.la \
 "
+SUMMARY_libatomic-dev = "GNU C++11 atomics support library - development files"
 FILES_libatomic-staticdev = "${libdir}/libatomic.a"
+SUMMARY_libatomic-staticdev = "GNU C++11 atomics support library - static development files"
 
 FILES_libitm = "${libdir}/libitm.so.*"
+SUMMARY_libitm = "GNU transactional memory support library"
 FILES_libitm-dev = "\
     ${libdir}/libitm.so \
     ${libdir}/libitm.la \
     ${libdir}/libitm.spec \
 "
+SUMMARY_libitm-dev = "GNU transactional memory support library - development files"
 FILES_libitm-staticdev = "${libdir}/libitm.a"
+SUMMARY_libitm-staticdev = "GNU transactional memory support library - static development files"
 
 do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
 do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
-- 
2.5.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] gcc: add runtime packages to RRECOMMENDS
  2016-07-06 23:48 ` [PATCH v2 1/2] gcc: add runtime packages to RRECOMMENDS Paul Eggleton
@ 2016-07-07  0:37   ` Khem Raj
  0 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2016-07-07  0:37 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: Patches and discussions about the oe-core layer

looks good to me

On Wed, Jul 6, 2016 at 4:48 PM, Paul Eggleton
<paul.eggleton@linux.intel.com> wrote:
> In order to use certain features of gcc, you need the corresponding
> runtime library. It seems to me that these ought to be installed by
> default when installing the compiler since they are required if certain
> command line options are used, so add them to RRECOMMENDS. I used
> RRECOMMENDS since some of these packages may or may not exist depending
> on architecture and build options; additionally it makes it possible to
> use BAD_RECOMMENDATIONS if you really want to exclude them.
>
> The impact of this isn't too bad in the context of an image providing
> on-target compilation - about a 30MB increase in size for an image
> containing gcc and g++.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  meta/recipes-devtools/gcc/gcc-target.inc | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
> index 37c5c62..f436fa2 100644
> --- a/meta/recipes-devtools/gcc/gcc-target.inc
> +++ b/meta/recipes-devtools/gcc/gcc-target.inc
> @@ -42,6 +42,10 @@ FILES_${PN} = "\
>      ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \
>  "
>  INSANE_SKIP_${PN} += "dev-so"
> +RRECOMMENDS_${PN} += "\
> +    libssp \
> +    libssp-dev \
> +"
>
>  FILES_${PN}-dev = "\
>      ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \
> @@ -69,10 +73,19 @@ FILES_g77-symlinks = "\
>      ${bindir}/g77 \
>      ${bindir}/f77 \
>  "
> +RRECOMMENDS_g77 = "\
> +    libg2c \
> +    libg2c-dev \
> +"
> +
>  FILES_gfortran = "\
>      ${bindir}/${TARGET_PREFIX}gfortran \
>      ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \
>  "
> +RRECOMMENDS_gfortran = "\
> +    libquadmath \
> +    libquadmath-dev \
> +"
>  FILES_gfortran-symlinks = "\
>      ${bindir}/gfortran \
>      ${bindir}/f95"
> @@ -98,6 +111,12 @@ FILES_g++-symlinks = "\
>      ${bindir}/c++ \
>      ${bindir}/g++ \
>  "
> +RRECOMMENDS_g++ = "\
> +    libstdc++ \
> +    libstdc++-dev \
> +    libatomic \
> +    libatomic-dev \
> +"
>
>  FILES_${PN}-doc = "\
>      ${infodir} \
> --
> 2.5.5
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 2/2] gcc-runtime: add SUMMARY values
  2016-07-06 23:48 ` [PATCH v2 2/2] gcc-runtime: add SUMMARY values Paul Eggleton
@ 2016-07-07  0:37   ` Khem Raj
  0 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2016-07-07  0:37 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: Patches and discussions about the oe-core layer

looks ok now

On Wed, Jul 6, 2016 at 4:48 PM, Paul Eggleton
<paul.eggleton@linux.intel.com> wrote:
> It's useful to know what the various libraries are that get produced by
> gcc-runtime, as well as to have a specific SUMMARY for the recipe.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index 99f50f8..526be55 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -1,5 +1,7 @@
>  require gcc-configure-common.inc
>
> +SUMMARY = "Runtime libraries from GCC"
> +
>  # Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3"
>  # All gcc-runtime packages are now covered by the runtime exception.
>  LICENSE = "GPL-3.0-with-GCC-exception"
> @@ -135,73 +137,98 @@ FILES_${PN}-dbg += "\
>  "
>
>  FILES_libg2c = "${target_libdir}/libg2c.so.*"
> +SUMMARY_libg2c = "Companion runtime library for g77"
>  FILES_libg2c-dev = "\
>      ${libdir}/libg2c.so \
>      ${libdir}/libg2c.a \
>      ${libdir}/libfrtbegin.a \
>  "
> +SUMMARY_libg2c-dev = "Companion runtime library for g77 - development files"
>
>  FILES_libstdc++ = "${libdir}/libstdc++.so.*"
> +SUMMARY_libstdc++ = "GNU standard C++ library"
>  FILES_libstdc++-dev = "\
>      ${includedir}/c++/ \
>      ${libdir}/libstdc++.so \
>      ${libdir}/libstdc++*.la \
>      ${libdir}/libsupc++.la \
>  "
> +SUMMARY_libstdc++-dev = "GNU standard C++ library - development files"
>  FILES_libstdc++-staticdev = "\
>      ${libdir}/libstdc++*.a \
>      ${libdir}/libsupc++.a \
>  "
> +SUMMARY_libstdc++-staticdev = "GNU standard C++ library - static development files"
>
>  FILES_libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch"
> +SUMMARY_libstdc++-precompile-dev = "GNU standard C++ library - precompiled header files"
>
>  FILES_libssp = "${libdir}/libssp.so.*"
> +SUMMARY_libssp = "GNU stack smashing protection library"
>  FILES_libssp-dev = "\
>      ${libdir}/libssp*.so \
>      ${libdir}/libssp*_nonshared.a \
>      ${libdir}/libssp*.la \
>      ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \
>  "
> +SUMMARY_libssp-dev = "GNU stack smashing protection library - development files"
>  FILES_libssp-staticdev = "${libdir}/libssp*.a"
> +SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static development files"
>
>  FILES_libquadmath = "${libdir}/libquadmath*.so.*"
> +SUMMARY_libquadmath = "GNU quad-precision math library"
>  FILES_libquadmath-dev = "\
>      ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \
>      ${libdir}/libquadmath*.so \
>      ${libdir}/libquadmath.la \
>  "
> +SUMMARY_libquadmath-dev = "GNU quad-precision math library - development files"
>  FILES_libquadmath-staticdev = "${libdir}/libquadmath.a"
> +SUMMARY_libquadmath-staticdev = "GNU quad-precision math library - static development files"
>
> +# NOTE: mudflap has been removed as of gcc 4.9 and has been superseded by the address sanitiser
>  FILES_libmudflap = "${libdir}/libmudflap*.so.*"
> +SUMMARY_libmudflap = "Pointer debugging library for gcc"
>  FILES_libmudflap-dev = "\
>      ${libdir}/libmudflap*.so \
>      ${libdir}/libmudflap.la \
>  "
> +SUMMARY_libmudflap-dev = "Pointer debugging library for gcc - development files"
>  FILES_libmudflap-staticdev = "${libdir}/libmudflap.a"
> +SUMMARY_libmudflap-staticdev = "Pointer debugging library for gcc - static development files"
>
>  FILES_libgomp = "${libdir}/libgomp*${SOLIBS}"
> +SUMMARY_libgomp = "GNU OpenMP parallel programming library"
>  FILES_libgomp-dev = "\
>      ${libdir}/libgomp*${SOLIBSDEV} \
>      ${libdir}/libgomp*.la \
>      ${libdir}/libgomp.spec \
>      ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \
>  "
> +SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files"
>  FILES_libgomp-staticdev = "${libdir}/libgomp*.a"
> +SUMMARY_libgomp-staticdev = "GNU OpenMP parallel programming library - static development files"
>
>  FILES_libatomic = "${libdir}/libatomic.so.*"
> +SUMMARY_libatomic = "GNU C++11 atomics support library"
>  FILES_libatomic-dev = "\
>      ${libdir}/libatomic.so \
>      ${libdir}/libatomic.la \
>  "
> +SUMMARY_libatomic-dev = "GNU C++11 atomics support library - development files"
>  FILES_libatomic-staticdev = "${libdir}/libatomic.a"
> +SUMMARY_libatomic-staticdev = "GNU C++11 atomics support library - static development files"
>
>  FILES_libitm = "${libdir}/libitm.so.*"
> +SUMMARY_libitm = "GNU transactional memory support library"
>  FILES_libitm-dev = "\
>      ${libdir}/libitm.so \
>      ${libdir}/libitm.la \
>      ${libdir}/libitm.spec \
>  "
> +SUMMARY_libitm-dev = "GNU transactional memory support library - development files"
>  FILES_libitm-staticdev = "${libdir}/libitm.a"
> +SUMMARY_libitm-staticdev = "GNU transactional memory support library - static development files"
>
>  do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
>  do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
> --
> 2.5.5
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-07-07  0:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-06 23:48 [PATCH v2 0/2] gcc-runtime-related tweaks Paul Eggleton
2016-07-06 23:48 ` [PATCH v2 1/2] gcc: add runtime packages to RRECOMMENDS Paul Eggleton
2016-07-07  0:37   ` Khem Raj
2016-07-06 23:48 ` [PATCH v2 2/2] gcc-runtime: add SUMMARY values Paul Eggleton
2016-07-07  0:37   ` Khem Raj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox