Alexandru-Cezar Sardan : gcc: Enable SPE & AltiVec generation on powepc*linux target.
A message that is not in the archive (sent off-list or not yet received): 20140228135521.C895C50390@opal
Quoted 116 lines · On Fri, Feb 28, 2014 at 01:55:21PM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: 97f2a81d6796ddaf7bbaab86c2ab9039673c732c URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=97f2a81d6796ddaf7bbaab86c2ab9039673c732cAuthor: Alexandru-Cezar Sardan <[email protected]> Date: Thu Feb 27 14:17:35 2014 +0200gcc: Enable SPE & AltiVec generation on powepc*linux target.
[ADT bug #5761] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=5761
Also this patch adds symlinks to libgcc such that a GCC configured by passing the target parameter without LIBCEXTENSION and ABIEXTENSION specifiers to find the correct startup files from a libgcc configured with these variables.
Signed-off-by Alexandru-Cezar Sardan <[email protected]>Signed-off-by Saul Wold <[email protected]>---
meta/recipes-devtools/gcc/gcc-4.8.inc | 1 + ...AltiVec-generation-on-powepc-linux-target.patch | 42 ++++++++++++++++++++++ meta/recipes-devtools/gcc/libgcc.inc | 24 ++++++++++++- 3 files changed, 66 insertions(+), 1 deletion(-)meta/recipes-devtools/gcc/gcc-4.8.inc +1
-0@@ -69,6 +69,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://0046-libatomic-deptracking.patch \ file://0047-repomembug.patch \ file://0048-PR58854_fix_arm_apcs_epilogue.patch \ + file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \ " SRC_URI[md5sum] = "a3d7d63b9cb6b6ea049469a0c4a43c9d" SRC_URI[sha256sum] = "09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8"meta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch new file +42
-0@@ -0,0 +1,42 @@ +From 9e0e19eac2562f73858602fe26e2044eb8b20c47 Mon Sep 17 00:00:00 2001 +From: Alexandru-Cezar Sardan <[email protected]> +Date: Wed, 5 Feb 2014 16:52:31 +0200 +Subject: [PATCH] Enable SPE & AltiVec generation on powepc*linux target + +When is configured with --target=powerpc-linux, the resulting GCC will +not be able to generate code for SPE targets (e500v1/v2). +GCC configured with --target=powerpc-linuxspe will not be able to +generate AltiVec instructions (for e6500). +This patch modifies the configured file such that SPE or AltiVec code +can be generated when gcc is configured with --target=powerpc-linux. +The ABI and speciffic instructions can be selected through the +"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Alexandru-Cezar Sardan <[email protected]> +--- + gcc/config.gcc | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/gcc/config.gcc b/gcc/config.gcc +index cb7a94e..d392c2b 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2068,7 +2068,12 @@ powerpc-*-rtems*) + tmake_file="rs6000/t-fprules rs6000/t-rtems t-rtems rs6000/t-ppccomm" + ;; + powerpc*-*-linux*) +- tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h" ++ case ${target} in ++ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*) ++ tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h" ;; ++ *) ++ tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h rs6000/linuxaltivec.h rs6000/linuxspe.h rs6000/e500.h" ;; ++ esac + extra_options="${extra_options} rs6000/sysv4.opt" + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" + case ${target} in +-- +1.7.9.5 +meta/recipes-devtools/gcc/libgcc.inc +13
-1@@ -17,7 +17,8 @@ FILES_${PN}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/32 \ ${libdir}/${TARGET_SYS}/${BINV}/x32 \ ${libdir}/${TARGET_SYS}/${BINV}/n32 \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${@base_conditional('TARGET_SYS_NO_EXTENSION', '${TARGET_SYS}', '', '${libdir}/${TARGET_SYS_NO_EXTENSION}', d)}" FILES_libgcov-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ "@@ -141,3 +142,24 @@ python do_multilib_install() { os.unlink(dest) os.symlink(src, dest) } + +addtask extra_symlinks after do_multilib_install before do_package do_populate_sysroot +python do_extra_symlinks() { + targetsysnoext = d.getVar('TARGET_SYS_NO_EXTENSION', True) + + if targetsysnoext != d.getVar('TARGET_SYS', True): + dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + targetsysnoext + src = d.getVar('TARGET_SYS', True) + if not os.path.lexists(dest): + os.symlink(src, dest) +}
meta/recipes-devtools/gcc/libgcc.inc python do_multilib_install() { · line 165
Quoted 10 lines
meta/recipes-devtools/gcc/libgcc.inc +10
-0+ +python () { + targetsysnoext = d.getVar('TARGET_SYS', True) + + for suffix in [d.getVar('ABIEXTENSION', True), d.getVar('LIBCEXTENSION', True)]: + if suffix and targetsysnoext.endswith(suffix): + targetsysnoext = targetsysnoext[:-len(suffix)] + + d.setVar('TARGET_SYS_NO_EXTENSION', targetsysnoext) +}
This seems to trigger some issues (probably caused by rm_work) when it tries to run new do_extra_symlinks task in already removed directories
in first build it somehow passed, but created empty libgcc packages (instead of populated libgcc1)
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 250 of 6994 (ID: 72, /OE/build/shr-core/openembedded-core/meta/recipes-kernel/linux/linux-yocto_3.10.bb, do_fetch)
NOTE: Running task 1300 of 6994 (ID: 2432, /OE/build/shr-core/openembedded-core/meta/recipes-devtools/gcc/libgcc_4.8.bb, do_extra_symlinks)
NOTE: recipe linux-yocto-3.10.32+gitAUTOINC+7b3b87d4d5_78afd3095c-r0: task do_fetch: Started
NOTE: recipe libgcc-4.8.2-r0: task do_extra_symlinks: Started
NOTE: recipe libgcc-4.8.2-r0: task do_extra_symlinks: Succeeded
NOTE: Running task 1301 of 6994 (ID: 2435, /OE/build/shr-core/openembedded-core/meta/recipes-devtools/gcc/libgcc_4.8.bb, do_populate_sysroot)
NOTE: recipe libgcc-4.8.2-r0: task do_populate_sysroot: Started
NOTE: recipe libgcc-4.8.2-r0: task do_populate_sysroot: Succeeded
NOTE: Running task 1429 of 6994 (ID: 2442, /OE/build/shr-core/openembedded-core/meta/recipes-devtools/gcc/libgcc_4.8.bb, do_package)
NOTE: recipe libgcc-4.8.2-r0: task do_package: Started
NOTE: recipe linux-yocto-3.10.32+gitAUTOINC+7b3b87d4d5_78afd3095c-r0: task do_fetch: Succeeded
...
| WARNING: The license listed LGPLv2.1 was not in the licenses collected for eglibc-locale
| WARNING: The license listed CC-BY-SA was not in the licenses collected for fso-sounds
| ls: cannot access /OE/build/shr-core/tmp-eglibc/sysroots/qemux86-64/pkgdata/runtime-reverse/libgcc1: No such file or directory
| readlink: missing operand
| Try 'readlink --help' for more information.
| basename: missing operand
| Try 'basename --help' for more information.
| WARNING: /OE/build/shr-core/tmp-eglibc/work/qemux86_64-oe-linux/shr-image/2.0-r20/temp/run.license_create_manifest.13979:1 exit 1 from
| pkged_name="$(basename $(readlink ${filename}))"
| DEBUG: Python function do_rootfs finished
| ERROR: Function failed: license_create_manifest (log file is located at /OE/build/shr-core/tmp-eglibc/work/qemux86_64-oe-linux/shr-image/2.0-r20/temp/log.do_rootfs.13979)NOTE: recipe shr-image-2.0-r20: task do_rootfs: Failed
and in 2nd build (just different MACHINE) it failed soon enough:
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 267 of 7022 (ID: 72, /OE/build/shr-core/openembedded-core/meta/recipes-kernel/linux/linux-yocto_3.10.bb, do_fetch)
NOTE: Running task 1307 of 7022 (ID: 2361, /OE/build/shr-core/openembedded-core/meta/recipes-devtools/gcc/libgcc_4.8.bb, do_extra_symlinks)
NOTE: recipe linux-yocto-3.10.32+gitAUTOINC+7b3b87d4d5_78afd3095c-r0: task do_fetch: Started
NOTE: recipe libgcc-4.8.2-r0: task do_extra_symlinks: Started
ERROR: Error executing a python function in /OE/build/shr-core/openembedded-core/meta/recipes-devtools/gcc/libgcc_4.8.bb:
The stack trace of python calls that resulted in this exception/failure was:
File: 'do_extra_symlinks', lineno: 12, function: <module>
0008: if not os.path.lexists(dest):
0009: os.symlink(src, dest)
0010:
0011:
*** 0012:do_extra_symlinks(d)
0013:
File: 'do_extra_symlinks', lineno: 9, function: do_extra_symlinks
0005: if targetsysnoext != d.getVar('TARGET_SYS', True):
0006: dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + targetsysnoext
0007: src = d.getVar('TARGET_SYS', True)
0008: if not os.path.lexists(dest):
*** 0009: os.symlink(src, dest)
0010:
0011:
0012:do_extra_symlinks(d)
0013:Exception: OSError: [Errno 2] No such file or directory
ERROR: Function failed: do_extra_symlinks
ERROR: Logfile of failure stored in: /OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/libgcc/4.8.2-r0/temp/log.do_extra_symlinks.29190
NOTE: recipe libgcc-4.8.2-r0: task do_extra_symlinks: Failed
ERROR: Task 2361 (/OE/build/shr-core/openembedded-core/meta/recipes-devtools/gcc/libgcc_4.8.bb, do_extra_symlinks) failed with exit code '1'
NOTE: recipe linux-yocto-3.10.32+gitAUTOINC+7b3b87d4d5_78afd3095c-r0: task do_fetch: Succeeded
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
PATCH 1/1 gcc: Enable SPE & AltiVec generation on powepc*linux target.
[ADT bug #5761] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=5761
Also this patch adds symlinks to libgcc such that a GCC configured by passing the target parameter without LIBCEXTENSION and ABIEXTENSION specifiers to find the correct startup files from a libgcc configured with these variables.
(From OE-Core rev: 97f2a81d6796ddaf7bbaab86c2ab9039673c732c)
--- meta/recipes-devtools/gcc/gcc-4.8.inc | 1 + ...AltiVec-generation-on-powepc-linux-target.patch | 42 ++++++++++++++++++++ meta/recipes-devtools/gcc/libgcc.inc | 24 ++++++++++- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
meta/recipes-devtools/gcc/gcc-4.8.inc +1 -0
@@ -69,6 +69,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://0046-libatomic-deptracking.patch \ file://0047-repomembug.patch \ file://0048-PR58854_fix_arm_apcs_epilogue.patch \ + file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \ " SRC_URI[md5sum] = "a3d7d63b9cb6b6ea049469a0c4a43c9d" SRC_URI[sha256sum] = "09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8"
meta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch new file +42 -0
42 lines not on this page · raw message
meta/recipes-devtools/gcc/libgcc.inc +23 -1
@@ -17,7 +17,8 @@ FILES_${PN}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/32 \ ${libdir}/${TARGET_SYS}/${BINV}/x32 \ ${libdir}/${TARGET_SYS}/${BINV}/n32 \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${@base_conditional('TARGET_SYS_NO_EXTENSION', '${TARGET_SYS}', '', '${libdir}/${TARGET_SYS_NO_EXTENSION}', d)}" FILES_libgcov-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ "
@@ -141,3 +142,24 @@ python do_multilib_install() { os.unlink(dest) os.symlink(src, dest) } + +addtask extra_symlinks after do_multilib_install before do_package do_populate_sysroot +python do_extra_symlinks() { + targetsysnoext = d.getVar('TARGET_SYS_NO_EXTENSION', True) + + if targetsysnoext != d.getVar('TARGET_SYS', True): + dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + targetsysnoext + src = d.getVar('TARGET_SYS', True) + if not os.path.lexists(dest) and os.path.lexists(d.getVar('D', True) + d.getVar('libdir', True)): + os.symlink(src, dest) +} + +python () { + targetsysnoext = d.getVar('TARGET_SYS', True) + + for suffix in [d.getVar('ABIEXTENSION', True), d.getVar('LIBCEXTENSION', True)]: + if suffix and targetsysnoext.endswith(suffix): + targetsysnoext = targetsysnoext[:-len(suffix)] + + d.setVar('TARGET_SYS_NO_EXTENSION', targetsysnoext) +}
Signature · 1 line
1.7.9.5
Re: [PATCH] gcc: Enable SPE & AltiVec generation on powepc*linux target.
I've added an additional check to make sure the symlink is not created in a non-existent directory.
Alex
Quoted 148 lines
-----Original Message-----
From: Alexandru-Cezar Sardan [mailto:[email protected]]
Sent: Monday, March 03, 2014 5:28 PM
To: [email protected]
Cc: Sardan Alexandru Cezar-B41700; Saul Wold; Richard Purdie
Subject: [PATCH] gcc: Enable SPE & AltiVec generation on powepc*linux target.[ADT bug #5761] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=5761
Also this patch adds symlinks to libgcc such that a GCC configured by passing the target parameter without LIBCEXTENSION and ABIEXTENSION specifiers to find the correct startup files from a libgcc configured with these variables.
(From OE-Core rev:
97f2a81d6796ddaf7bbaab86c2ab9039673c732c)Signed-off-by Alexandru-Cezar Sardan <[email protected]>Signed-off-by Saul Wold <[email protected]>Signed-off-by Richard Purdie <[email protected]>--- meta/recipes-devtools/gcc/gcc-4.8.inc | 1 + ...AltiVec-generation-on-powepc-linux-target.patch | 42 ++++++++++++++++++++ meta/recipes-devtools/gcc/libgcc.inc | 24 ++++++++++- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
meta/recipes- renamed from meta/recipes-devtools/gcc/gcc-4.8.inc +0
-0devtools/gcc/gcc-4.8.inc
index fdd0c12..f5e583d 100644meta/recipes-devtools/gcc/gcc-4.8.inc +1
-0@@ -69,6 +69,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc- ${PV}.tar.bz2 \ file://0046-libatomic-deptracking.patch \ file://0047-repomembug.patch \ file://0048-PR58854_fix_arm_apcs_epilogue.patch \ + file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux- target.patch \ "SRC_URI[md5sum] = "
a3d7d63b9cb6b6ea049469a0c4a43c9d" SRC_URI[sha256sum] =
"09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8"(quoted diff) +0
-0generation-on-powepc-linux-target.patch b/meta/recipes-devtools/gcc/gcc-
4.8/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patchnew file mode 100644
index 0000000..b98f8ffmeta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec- new file +0
-0generation-on-powepc-linux-target.patch
meta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec- new file +27
-0@@ -0,0 +1,42 @@ +From 9e0e19eac2562f73858602fe26e2044eb8b20c47 Mon Sep 17 00:00:00 2001 +From: Alexandru-Cezar Sardan <[email protected]> +Date: Wed, 5 Feb 2014 16:52:31 +0200 +Subject: [PATCH] Enable SPE & AltiVec generation on powepc*linux target + +When is configured with --target=powerpc-linux, the resulting GCC will +not be able to generate code for SPE targets (e500v1/v2). +GCC configured with --target=powerpc-linuxspe will not be able to +generate AltiVec instructions (for e6500). +This patch modifies the configured file such that SPE or AltiVec code +can be generated when gcc is configured with --target=powerpc-linux. +The ABI and speciffic instructions can be selected through the +"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Alexandru-Cezar Sardan <[email protected]> +--- + gcc/config.gcc | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/gcc/config.gcc b/gcc/config.gcc +index cb7a94e..d392c2b 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2068,7 +2068,12 @@ powerpc-*-rtems*) + tmake_file="rs6000/t-fprules rs6000/t-rtems t-rtems rs6000/t-ppccomm"
meta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec- new file +6
-0+ ;; + powerpc*-*-linux*) +- tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h" ++ case ${target} in ++ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*) ++ tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h
rs6000/sysv4.h" ;;
++ *)
++ tm_file="${tm_file}dbxelf.helfos.hfreebsd-spec.hrs6000/sysv4.hrs6000/linuxaltivec.hrs6000/linuxspe.hrs6000/e500.h" ;;
++ esacmeta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec- new file +2
-0+ extra_options="${extra_options} rs6000/sysv4.opt" + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
meta/recipes-devtools/gcc/gcc-4.8/0049-Enable-SPE-AltiVec- new file +4
-0+ case ${target} in +-- +1.7.9.5 +meta/recipes- renamed from meta/recipes-devtools/gcc/libgcc.inc +0
-0devtools/gcc/libgcc.inc
index fe98238..96f1969 100644meta/recipes-devtools/gcc/libgcc.inc +2
-1@@ -17,7 +17,8 @@ FILES_${PN}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/32 \ ${libdir}/${TARGET_SYS}/${BINV}/x32 \ ${libdir}/${TARGET_SYS}/${BINV}/n32 \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${@base_conditional('TARGET_SYS_NO_EXTENSION', '${TARGET_SYS}', '','${libdir}/${TARGET_SYS_NO_EXTENSION}', d)}"
FILES_libgcov-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ "meta/recipes-devtools/gcc/libgcc.inc +2
-0@@ -141,3 +142,24 @@ python do_multilib_install() { os.unlink(dest) os.symlink(src, dest) } + +addtask extra_symlinks after do_multilib_install before do_package
do_populate_sysrootmeta/recipes-devtools/gcc/libgcc.inc +5
-0+python do_extra_symlinks() { + targetsysnoext = d.getVar('TARGET_SYS_NO_EXTENSION', True) + + if targetsysnoext != d.getVar('TARGET_SYS', True): + dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' +targetsysnoext
meta/recipes-devtools/gcc/libgcc.inc +2
-0+ src = d.getVar('TARGET_SYS', True) + if not os.path.lexists(dest) and os.path.lexists(d.getVar('D',True) +
d.getVar('libdir', True)):meta/recipes-devtools/gcc/libgcc.inc +7
-0+ os.symlink(src, dest) +} + +python () { + targetsysnoext = d.getVar('TARGET_SYS', True) + + for suffix in [d.getVar('ABIEXTENSION', True),
d.getVar('LIBCEXTENSION', True)]:meta/recipes-devtools/gcc/libgcc.inc +5
-1+ if suffix and targetsysnoext.endswith(suffix): + targetsysnoext = targetsysnoext[:-len(suffix)] + + d.setVar('TARGET_SYS_NO_EXTENSION', targetsysnoext) +} --1.7.9.5
Re: [PATCH] gcc: Enable SPE & AltiVec generation on powepc*linux target.
Quoted 2 lines · On Mon, 2014-03-03 at 15:31 +0000, [email protected] wrote:
I've added an additional check to make sure the symlink is not created in a non-existent directory.
Since the change was merged, could you send an incremental patch against master please?
Thanks,
Richard
PATCH 1/1 libgcc: make sure symlinks are created in a valid directory
When adding extra symlinks, we have to make sure that the directory that the links are created in is valid. Added a check for this.
This is an incremental addition to commit97f2a81d6796ddaf7bbaab86c2ab9039673c732c
--- meta/recipes-devtools/gcc/libgcc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/gcc/libgcc.inc +1 -1
@@ -150,7 +150,7 @@ python do_extra_symlinks() { if targetsysnoext != d.getVar('TARGET_SYS', True): dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + targetsysnoext src = d.getVar('TARGET_SYS', True) - if not os.path.lexists(dest): + if not os.path.lexists(dest) and os.path.lexists(d.getVar('D', True) + d.getVar('libdir', True)): os.symlink(src, dest) }
Signature · 1 line
1.7.9.5