From 79a18634916d26ac369154df6f145cfd36d1e4f2 Mon Sep 17 00:00:00 2001 From: "H.Merijn Brand" Date: Mon, 11 Nov 2013 11:07:10 +0100 Subject: [PATCH] Synology support now more explicit Johan Vromans tested the changes on DS413. The changes I added before are more Synology specific (though perhaps not only appropriate for Synology) but at least wider than just armv5tel --- hints/linux.sh | 56 +++++++++++++++++++++++------------------------ pod/perldelta.pod | 22 +++++-------------- 2 files changed, 32 insertions(+), 46 deletions(-) diff --git a/hints/linux.sh b/hints/linux.sh index 1ac42c0ffb79..83567ec9b949 100644 --- a/hints/linux.sh +++ b/hints/linux.sh @@ -361,35 +361,33 @@ if [ -r /usr/lib/libndbm.so -a -x /usr/bin/nm ] ; then fi fi -# Linux on ARM. This is just one case, possibly needs more exceptions -case "`uname -m`" in - arm*tel) - if [ -d /opt/arm-none-linux-gnueabi ]; then - # Tested on Synology DS213 - # CPU model Marvell Kirkwood mv6282 ARMv5te - # Linux 2.6.32.12 #3211 Tue Apr 16 20:04:57 CST 2013 armv5tel GNU/Linux - # All development stuff is installed in /opt, which is probably a - # symbolic link to /volum1/@opt - # Without /opt/* nothing works. The devel tools installed with ipkg - # all end up in /opt - export LD_LIBRARY_PATH=/opt/local/lib:/opt/lib:/usr/local/lib:/usr/lib:/lib:${LD_LIBRARY_PATH:-} - if [ "$LANG" = "" -o "$LANG" = "C" ]; then - echo 'Your LANG is safe' - else - echo 'Please set $LANG to "C". All other $LANG settings will cause havoc' >&4 - LANG=C - fi - echo 'Setting up to use /opt/*' >&4 - locincpth="/opt/local/include /opt/include $locincpth" - libpth="/opt/local/lib /opt/lib $libpth" - libspth="/opt/local/lib /opt/lib $libspth" - loclibpth="/opt/local/lib /opt/lib $loclibpth" - # POSIX will not link without the pthread lib - libswanted="$libswanted pthread" - echo "$libswanted" >&4 - fi - ;; -esac +# Linux on Synology. +if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then + # Tested on Synology DS213 and DS413 + # OS version info in /etc.defaults/VERSION + # http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have + # Synology DS213 running DSM 4.3-3810-0 (2013-11-06) + # CPU model Marvell Kirkwood mv6282 ARMv5te + # Linux 2.6.32.12 #3810 Wed Nov 6 05:13:41 CST 2013 armv5tel GNU/Linux + # Synology DS413 running DSM 4.3-3810-0 (2013-11-06) + # CPU model Freescale QorIQ P1022 ppc (e500v2) + # linux 2.6.32.12 #3810 ppc GNU/Linux + # All development stuff installed with ipkg is in /opt + if [ "$LANG" = "" -o "$LANG" = "C" ]; then + echo 'Your LANG is safe' + else + echo 'Please set $LANG to "C". All other $LANG settings will cause havoc' >&4 + LANG=C + fi + echo 'Setting up to use /opt/*' >&4 + locincpth="/opt/include $locincpth" + libpth="/opt/lib $libpth" + libspth="/opt/lib $libspth" + loclibpth="/opt/lib $loclibpth" + # POSIX will not link without the pthread lib + libswanted="$libswanted pthread" + echo "$libswanted" >&4 +fi # This script UU/usethreads.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use threads. diff --git a/pod/perldelta.pod b/pod/perldelta.pod index de34297cf12b..5dfc64ff19c5 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -265,28 +265,16 @@ XXX =head1 Platform Support -=over 4 - -=item arm5tel - -Platforms based on cheap ARM CPU's (like the Marvell Kirkwood mv6282) not -meant for workstations or development boxes should build now. The basic -problems are the non-standard location for tools. - -=back - =head2 New Platforms -XXX List any platforms that this version of perl compiles on, that previous -versions did not. These will either be enabled by new files in the F -directories, or new subdirectories and F files at the top level of the -source tree. - =over 4 -=item XXX-some-platform +=item Synology -XXX +Synology ships its NAS boxes with a lean Linux distribution (DSM) on relative +cheap CPU's (like the Marvell Kirkwood mv6282 - ARMv5tel or Freescale QorIQ +P1022 ppc - e500v2) not meant for workstations or development. These boxes +should build now. The basic problems are the non-standard location for tools. =back