[meta-ti] Denys Dmytriyenko : libgles-omap3: add automatic selection between softfp and hardfp binaries

Arago Project git git at arago-project.org
Fri Sep 13 09:08:37 PDT 2013


Module: meta-ti
Branch: dylan
Commit: ebfbd8ee95b9945a0a4d0fd5351f1f57d29a9165
URL:    http://arago-project.org/git/meta-ti.git?a=commit;h=ebfbd8ee95b9945a0a4d0fd5351f1f57d29a9165

Author: Denys Dmytriyenko <denys at ti.com>
Date:   Thu Sep 12 21:34:47 2013 -0400

libgles-omap3: add automatic selection between softfp and hardfp binaries

This is based on the work by Franklin Cooper, with following changes:
* Cleanup and simplify the logic
* Reduce the number of Python calls
* Expand support from Raw to X11 variant

The original description:
* The Graphics SDK includes some binaries that are prebuilt.
* These prebuilt binaries come in two versions of the Graphics SDK. By default
  the prebuilt binaries are built using a softfp toolchain. A separate hardfp
  Graphics SDK exist that contains binaries that are prebuilt with a hardfp
  toolchain.
* Add support for both by checking to see if the toolchain used in the OE build
  is using a hardfp or softfp toolchain.

Signed-off-by: Denys Dmytriyenko <denys at ti.com>
Cc: Franklin S. Cooper Jr <fcooper at ti.com>
Acked-by: Chase Maupin <chase.maupin at ti.com>

---

 .../libgles/libgles-omap3-x11_4.09.00.01.bb        |   23 +++++++++++++++----
 .../libgles/libgles-omap3_4.09.00.01.bb            |   23 +++++++++++++++----
 2 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb b/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb
index 6b9c561..df84f9b 100644
--- a/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb
+++ b/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb
@@ -2,11 +2,11 @@ require libgles-omap3-x11.inc
 
 LICENSE = "TSPA"
 
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 DEFAULT_PREFERENCE = "-1"
 
-BINLOCATION_omap3  = "${S}/gfx_rel_es3.x"
+BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
 BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
 BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
 BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
@@ -20,8 +20,20 @@ PVR_INIT = "pvrsrvctl"
 
 SGXPV = "4_09_00_01"
 IMGPV = "1.9.2188537"
-BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
+
 TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
+
+# Select the corresponding hardfp/softfp filename and checksums based on tune flags
+BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
+MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
+SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+
+BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
+MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
+SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
+
+BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
+
 SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
            file://cputype \
            file://rc.pvr \
@@ -29,8 +41,9 @@ SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gf
            file://sample.desktop \
            file://99-bufferclass.rules  \
 "
-SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
-SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+
+SRC_URI[md5sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
+SRC_URI[sha256sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
 
 S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
 
diff --git a/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb b/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb
index a4da2f9..6899cfc 100644
--- a/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb
+++ b/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb
@@ -2,11 +2,11 @@ require libgles-omap3-no-x.inc
 
 LICENSE = "TSPA"
 
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 DEFAULT_PREFERENCE = "-1"
 
-BINLOCATION_omap3  = "${S}/gfx_rel_es3.x"
+BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
 BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
 BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
 BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
@@ -20,15 +20,28 @@ PVR_INIT = "pvrsrvctl"
 
 SGXPV = "4_09_00_01"
 IMGPV = "1.9.2188537"
-BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
+
 TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
+
+# Select the corresponding hardfp/softfp filename and checksums based on tune flags
+BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
+MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
+SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+
+BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
+MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
+SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
+
+BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
+
 SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
            file://cputype \
            file://rc.pvr \
            file://99-bufferclass.rules  \
 "
-SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
-SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
+
+SRC_URI[md5sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
+SRC_URI[sha256sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
 
 S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
 




More information about the meta-ti mailing list