[BACK]Return to Makefile.cross CVS log [TXT][DIR] Up to [local] / src

Diff for /src/Makefile.cross between version 1.64 and 1.67

version 1.64, 2013/04/04 10:45:33 version 1.67, 2013/08/06 19:11:53
Line 82 
Line 82 
   
 .include <bsd.own.mk>  .include <bsd.own.mk>
   
 OLD_BINUTILS_ARCH=vax  
   
 .for _arch in ${TARGET_ARCH}  .for _arch in ${TARGET_ARCH}
 .if !empty(GCC2_ARCH:M${_arch})  .if !empty(GCC3_ARCH:M${_arch})
 COMPILER_VERSION=gcc2  
 .elif !empty(GCC4_ARCH:M${_arch})  
 COMPILER_VERSION=gcc4  
 .else  
 COMPILER_VERSION=gcc3  COMPILER_VERSION=gcc3
   .else
   COMPILER_VERSION=gcc4
 .endif  .endif
   
 .if !empty(BINUTILS217_ARCH:M${_arch})  .if !empty(BINUTILS217_ARCH:M${_arch})
Line 108 
Line 104 
 PIE_DEFAULT=  PIE_DEFAULT=
 .endif  .endif
   
 .if !empty(OLD_BINUTILS_ARCH:M${_arch})  
 NEW_BINUTILS?=  No  
 BINUTILS=       ar as ld nm ranlib objcopy objdump strings strip  
 .else  
 NEW_BINUTILS?=  Yes  
 BINUTILS=       ar as gasp ld nm objcopy objdump ranlib readelf size \  BINUTILS=       ar as gasp ld nm objcopy objdump ranlib readelf size \
                 strings strip                  strings strip
 .endif  
 BINUTILS_DIR=gnu/usr.bin/${BINUTILS_VERSION}  BINUTILS_DIR=gnu/usr.bin/${BINUTILS_VERSION}
 .endfor  .endfor
   
Line 201 
Line 191 
 ${CROSSBINUTILS}:       ${CROSSINCLUDES}  ${CROSSBINUTILS}:       ${CROSSINCLUDES}
         (cd ${.CURDIR}/${BINUTILS_DIR}; \          (cd ${.CURDIR}/${BINUTILS_DIR}; \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} PIE_DEFAULT=${PIE_DEFAULT} \              PIE_DEFAULT=${PIE_DEFAULT} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             PATH=${CROSSPATH} \              PATH=${CROSSPATH} \
             ${MAKE} -f Makefile.bsd-wrapper depend && \              ${MAKE} -f Makefile.bsd-wrapper depend && \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} PIE_DEFAULT=${PIE_DEFAULT} \              PIE_DEFAULT=${PIE_DEFAULT} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             ${MAKE} -f Makefile.bsd-wrapper all && \              ${MAKE} -f Makefile.bsd-wrapper all && \
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             COMPILER_VERSION=${COMPILER_VERSION} \              COMPILER_VERSION=${COMPILER_VERSION} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} PIE_DEFAULT=${PIE_DEFAULT} \              PIE_DEFAULT=${PIE_DEFAULT} \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \  
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             ${MAKE} -f Makefile.bsd-wrapper install)              ${MAKE} -f Makefile.bsd-wrapper install)
 .if ${NEW_BINUTILS:L} != "yes"  
         (cd ${.CURDIR}/gnu/usr.bin/gas; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/as \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/as  
         (cd ${.CURDIR}/gnu/usr.bin/ld; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOPIC= NOMAN= depend all; \  
             TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOPIC= NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/ld \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/ld  
         (cd ${.CURDIR}/usr.bin/ar; \  
             ELF_TOOLCHAIN=no \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \  
             ELF_TOOLCHAIN=no \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/ar \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/ar  
         @(cd ${.CURDIR}/usr.bin/ranlib; \  
             ELF_TOOLCHAIN=no \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \  
             ELF_TOOLCHAIN=no \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/ranlib \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib  
         (cd ${.CURDIR}/usr.bin/strip; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             NOMAN= depend all; \  
             DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \  
             ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \  
             NOMAN= install)  
         ln -sf ${CROSSDIR}/usr/bin/strip \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/strip  
 .endif  
         @for cmd in ${BINUTILS}; do \          @for cmd in ${BINUTILS}; do \
          if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \           if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \
             cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \              cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \
Line 282 
Line 227 
   
   
 ${CROSSGCC}:            ${CROSSBINUTILS}  ${CROSSGCC}:            ${CROSSBINUTILS}
 .if ${COMPILER_VERSION:L} == "gcc4"  .if ${COMPILER_VERSION:L} == "gcc3"
         (cd ${.CURDIR}/gnu/usr.bin/cc; \          (cd ${.CURDIR}/gnu/usr.bin/gcc; \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             CROSSDIR=${CROSSDIR} \              CROSSDIR=${CROSSDIR} \
             MACHINE=${TARGET} \              PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \
             PATH=${CROSSPATH} ${MAKE} depend  )  
         (cd ${.CURDIR}/gnu/usr.bin/cc; \  
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             CROSSDIR=${CROSSDIR} \              CROSSDIR=${CROSSDIR} \
             MACHINE=${TARGET} \              ${MAKE} -f Makefile.bsd-wrapper all && \
             ${MAKE} all )  
         (cd ${.CURDIR}/gnu/usr.bin/cc; \  
             env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install)
             MACHINE=${TARGET} \  
             PATH=${CROSSPATH} ${MAKE} install)  
         cp -f ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++  
         cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++          cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++
         cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp  
         cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc          cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
           cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
           rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp
         ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc          ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
           ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++
         cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc  
         rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp  
         # fix links  
         rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \          sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \
             -e 's/@GNUC@//' \              -e 's/@GNUC@/-D__GNUC__/' \
             -e 's#/usr/include#${CROSSDIR}/usr/include#' \              -e 's#/usr/include#${CROSSDIR}/usr/include#' \
             -e 's/@dollaropt@//' \              -e 's/@dollaropt@//' \
             ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp              ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp          ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp
 .elif ${COMPILER_VERSION:L} == "gcc3"  .else
         (cd ${.CURDIR}/gnu/usr.bin/gcc; \          (cd ${.CURDIR}/gnu/usr.bin/cc; \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             CROSSDIR=${CROSSDIR} \              CROSSDIR=${CROSSDIR} \
             PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \              MACHINE=${TARGET} \
               PATH=${CROSSPATH} ${MAKE} depend  )
           (cd ${.CURDIR}/gnu/usr.bin/cc; \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             CROSSDIR=${CROSSDIR} \              CROSSDIR=${CROSSDIR} \
             ${MAKE} -f Makefile.bsd-wrapper all && \              MACHINE=${TARGET} \
               ${MAKE} all )
           (cd ${.CURDIR}/gnu/usr.bin/cc; \
             env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install)              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
               MACHINE=${TARGET} \
               PATH=${CROSSPATH} ${MAKE} install)
           cp -f ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++
         cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++          cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++
         cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc  
         cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp          cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
         rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp          cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
         ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc          ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
         ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++  
           cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
           rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp
           # fix links
         rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \          sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \
             -e 's/@GNUC@/-D__GNUC__/' \              -e 's/@GNUC@//' \
             -e 's#/usr/include#${CROSSDIR}/usr/include#' \              -e 's#/usr/include#${CROSSDIR}/usr/include#' \
             -e 's/@dollaropt@//' \              -e 's/@dollaropt@//' \
             ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp              ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp          ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp
 .else  
         (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \  
             /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \  
             --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \  
             --target ${TARGET_CANON} \  
             --enable-languages="c,c++" --enable-cpp --disable-nls \  
             --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \  
             PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \  
             CFLAGS="${CFLAGS} -DOPENBSD_CROSS -I${.CURDIR}/gnu/lib/libiberty/include" \  
             LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \  
             DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \  
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \  
             ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \  
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \  
             CFLAGS="${CFLAGS} -DOPENBSD_CROSS -I${.CURDIR}/gnu/lib/libiberty/include" \  
             LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \  
             build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)  
         mv -f ${CROSSDIR}/usr/bin/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp  
         rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp  
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \  
             -e 's/@GNUC@/-D__GNUC__/' \  
             -e 's#/usr/include#${CROSSDIR}/usr/include#' \  
             -e 's/@dollaropt@/-$$/' ${.CURDIR}/usr.bin/cpp/cpp.sh > \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp  
         chmod ${BINMODE} \  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp  
         chown ${BINOWN}:${BINGRP}\  
             ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp  
         ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp  
         ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc  
         ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc  
         cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++  
         ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++  
 .endif  .endif
         @touch ${CROSSGCC}          @touch ${CROSSGCC}
   

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.67