diff --git a/gcc43/build.sh b/gcc43/build.sh index 88951a6..de7b39e 100755 --- a/gcc43/build.sh +++ b/gcc43/build.sh @@ -1,38 +1,21 @@ #!/bin/bash # This is a buildpkg build.sh script -# Copyright (C) 2003-2009 Tom G. Christensen - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Written by Tom G. Christensen . - # build.sh helper functions -. ${BUILDPKG_BASE}/scripts/build.sh.functions +. ${BUILDPKG_SCRIPTS}/build.sh.functions # ########################################################### # Check the following 4 variables before running the script snapshot= topdir=gcc version=4.3.4 -pkgver=1 +pkgver=2 source[0]=ftp://ftp.sunet.se/pub/gnu/gcc/releases/$topdir-$version/$topdir-$version.tar.bz2 #source[0]=gcc-4.3-$snapshot.tar.bz2 ## If there are no patches, simply comment this #patch[0]= # Source function library -. ${BUILDPKG_BASE}/scripts/buildpkg.functions +. ${BUILDPKG_SCRIPTS}/buildpkg.functions # Global settings lprefix=$prefix @@ -48,34 +31,48 @@ majorminor=$(echo $version | cut -d. -f1-2) global_config_args="--prefix=$prefix --with-local-prefix=$prefix --with-libiconv-prefix=$lprefix --with-gmp=$lprefix --with-mpfr=$lprefix --disable-nls --enable-shared" langs="--enable-languages=c,ada,c++,fortran,objc,obj-c++" +linker="--without-gnu-ld --with-ld=/usr/ccs/bin/ld" +assembler="--without-gnu-as --with-as=/usr/ccs/bin/as" objdir=all_native # platform/arch specific options -[ "$_os" = "sunos56" ] && platform_configure_args="--enable-threads=posix95 --enable-obsolete" -[ "$_os" = "sunos56" -a "$arch" = "i386" ] && platform_configure_args="$platform_configure_args --with-gnu-as --with-as=$lprefix/bin/gas" +[ "$_os" = "sunos56" -a "$arch" = "i386" ] && assembler="--with-gnu-as --with-as=$lprefix/bin/gas" +[ "$_os" = "sunos56" ] && { platform_configure_args="--enable-threads=posix95 --enable-obsolete"; sol26=1; } +[ "$_os" = "sunos57" ] && { langs="$langs,java --with-java-awt=xlib"; sol27=1; } [ "$arch" = "sparc" ] && { vendor="sun"; sparc=1; } || { vendor="pc"; intel=1; } +[ "$arch" = "sparc" -a -n "$(isalist | grep sparcv9)" ] && { sparcv9=1; m64run=1; } || m64run=0 -configure_args="$global_config_args $langs $platform_configure_args" +configure_args="$global_config_args $linker $assembler $langs $platform_configure_args" export CONFIG_SHELL=/bin/ksh +datestamp() +{ + date +%Y%m%d%H%M +} + reg prep prep() { + datestamp generic_prep + datestamp } reg build build() { + datestamp setdir source ${__mkdir} -p ../$objdir echo "$__configure $configure_args" generic_build ../$objdir + datestamp } reg install install() { + datestamp clean stage setdir ${srcdir}/${objdir} ${__make} DESTDIR=$stagedir install @@ -88,11 +85,40 @@ install() setdir ${stagedir}${prefix}/${_libdir} ${__tar} -cf - libgcc_s.so.1 libstdc++.so.6* libgfortran.so.3* libobjc.so.2* libgomp.so.1* | (cd ${stagedir}${lprefix}/${_libdir}; ${__tar} -xvBpf -) + if [ $m64run -eq 1 ]; then # Also install v9 libraries + ${__mkdir} -p ${stagedir}${lprefix}/${_libdir}/sparcv9 + setdir ${stagedir}${prefix}/${_libdir}/sparcv9 + ${__tar} -cf - libgcc_s.so.1 libstdc++.so.6* libgfortran.so.3* libobjc.so.2* libgomp.so.1* | + (cd ${stagedir}${lprefix}/${_libdir}/sparcv9; ${__tar} -xvBpf -) + fi # Grab gnat libraries from adalib ${__cp} -p ${stagedir}${prefix}/${_libdir}/gcc/${arch}-${vendor}-solaris*/${version}/adalib/libgnarl-$majorminor.so ${stagedir}${lprefix}/${_libdir} ${__cp} -p ${stagedir}${prefix}/${_libdir}/gcc/${arch}-${vendor}-solaris*/${version}/adalib/libgnat-$majorminor.so ${stagedir}${lprefix}/${_libdir} + # Turn all the hardlinks in bin into symlinks + setdir ${stagedir}${prefix}/${_bindir} + for i in c++ ${arch}-${vendor}-solaris*-c++ ${arch}-${vendor}-solaris*-g++ + do + ${__rm} -f $i + ${__ln} -sf g++ $i + done + for i in ${arch}-${vendor}-solaris*-gcc ${arch}-${vendor}-solaris*-gcc-$version + do + ${__rm} -f $i + ${__ln} -sf gcc $i + done + for i in ${arch}-${vendor}-solaris*-gfortran + do + ${__rm} -f $i + ${__ln} -sf gfortran $i + done + for i in ${arch}-${vendor}-solaris*-gcj + do + ${__rm} -f $i + ${__ln} -sf gcj $i + done + # Place share/docs in the regular location prefix=$topinstalldir doc COPYING* MAINTAINERS NEWS @@ -125,21 +151,32 @@ install() compat libgfortran3 4.3.3 1 2 compat libgnat43 4.3.2 1 2 compat libgnat43 4.3.3 1 2 + datestamp } reg check check() { + datestamp setdir source setdir ../$objdir - ${__make} -k check + # If we can run v9 binaries then we also run the testsuite with -m64 + if [ $m64run -eq 0 ]; then + ${__make} -k check + else + echo "Running the testsuite also with -m64" + ${__make} -k RUNTESTFLAGS="--target_board='unix{,-m64}'" check + fi + datestamp } reg pack pack() { + datestamp iprefix=$topdir-$version generic_pack + datestamp } reg distclean diff --git a/gcc43/meta/ChangeLog b/gcc43/meta/ChangeLog new file mode 100644 index 0000000..cfc3bf0 --- /dev/null +++ b/gcc43/meta/ChangeLog @@ -0,0 +1,5 @@ +CHANGELOG +--------- +* Sat May 08 2010 Tom G. Christensen - 4.3.4-2 +- Build for Solaris 7/sparc +- Convert some hardlinks to symlinks to save space diff --git a/gcc43/meta/pkgdef b/gcc43/meta/pkgdef index 963c034..2f479af 100644 --- a/gcc43/meta/pkgdef +++ b/gcc43/meta/pkgdef @@ -14,6 +14,11 @@ $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/crt* $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/libgcc* $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/libgcov* $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/gmon.o +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/gcrt* +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/crt* +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/libgcc* +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/libgcov* +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/gmon.o $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/README $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/X11 $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/Xm @@ -23,7 +28,7 @@ $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/curses.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/iso646.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/limits.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/math.h -$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/memory.h +if(sunos56)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/memory.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/pthread.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/root $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/stdarg.h @@ -66,6 +71,12 @@ if(sparc)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/thre $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/time.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/tzfile.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/widec.h +if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/arpa/nameser_compat.h +if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/rpc/xdr.h +if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/stdio_tag.h +if(sol27)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include-fixed/wchar.h +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ffi.h +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/ffitarget.h $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/install-tools $iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/install-tools $iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/collect2 @@ -78,6 +89,12 @@ $iprefix/lib/libiberty.a $iprefix/lib/libgcc* $iprefix/lib/libgomp* $iprefix/lib/libssp* +if(sparcv9)$iprefix/lib/libffi* +if(sparcv9)$iprefix/lib/sparcv9/libssp* +if(sparcv9)$iprefix/lib/sparcv9/libgomp* +if(sparcv9)$iprefix/lib/sparcv9/libgcc* +if(sparcv9)$iprefix/lib/sparcv9/libiberty* +if(sparcv9)$iprefix/lib/sparcv9/libffi* $iprefix/man/?a?1/gcc.1 $iprefix/man/?a?1/cpp.1 $iprefix/man/?a?1/gcov.1 @@ -97,7 +114,19 @@ pkgvendor="http://gcc.gnu.org" pkgdesc="Ada support for GCC" pkgver="$pkgver" files(-,root,bin) -$iprefix/bin/gnat* +$iprefix/bin/gnat +$iprefix/bin/gnatbind +$iprefix/bin/gnatbl +$iprefix/bin/gnatchop +$iprefix/bin/gnatclean +$iprefix/bin/gnatfind +$iprefix/bin/gnatkr +$iprefix/bin/gnatlink +$iprefix/bin/gnatls +$iprefix/bin/gnatmake +$iprefix/bin/gnatname +$iprefix/bin/gnatprep +$iprefix/bin/gnatxref $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/adainclude $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/adalib $iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/gnat1 @@ -111,9 +140,91 @@ pkgdesc="C++ support for GCC" pkgver="$pkgver" files(-,root,bin) $iprefix/bin/*++* -$iprefix/include/c++ +$iprefix/include/c++/${version}/algorithm +$iprefix/include/c++/${version}/array +$iprefix/include/c++/${version}/backward/* +$iprefix/include/c++/${version}/bits/* +$iprefix/include/c++/${version}/bitset +$iprefix/include/c++/${version}/c++0x_warning.h +$iprefix/include/c++/${version}/cassert +$iprefix/include/c++/${version}/ccomplex +$iprefix/include/c++/${version}/cctype +$iprefix/include/c++/${version}/cerrno +$iprefix/include/c++/${version}/cfenv +$iprefix/include/c++/${version}/cfloat +$iprefix/include/c++/${version}/cinttypes +$iprefix/include/c++/${version}/ciso646 +$iprefix/include/c++/${version}/climits +$iprefix/include/c++/${version}/clocale +$iprefix/include/c++/${version}/cmath +$iprefix/include/c++/${version}/complex +$iprefix/include/c++/${version}/complex.h +$iprefix/include/c++/${version}/csetjmp +$iprefix/include/c++/${version}/csignal +$iprefix/include/c++/${version}/cstdarg +$iprefix/include/c++/${version}/cstdbool +$iprefix/include/c++/${version}/cstddef +$iprefix/include/c++/${version}/cstdint +$iprefix/include/c++/${version}/cstdio +$iprefix/include/c++/${version}/cstdlib +$iprefix/include/c++/${version}/cstring +$iprefix/include/c++/${version}/ctgmath +$iprefix/include/c++/${version}/ctime +$iprefix/include/c++/${version}/cwchar +$iprefix/include/c++/${version}/cwctype +$iprefix/include/c++/${version}/cxxabi-forced.h +$iprefix/include/c++/${version}/cxxabi.h +$iprefix/include/c++/${version}/debug/* +$iprefix/include/c++/${version}/deque +$iprefix/include/c++/${version}/exception +$iprefix/include/c++/${version}/exception_defines.h +$iprefix/include/c++/${version}/ext/* +$iprefix/include/c++/${version}/fenv.h +$iprefix/include/c++/${version}/fstream +$iprefix/include/c++/${version}/functional +$iprefix/include/c++/${version}/iomanip +$iprefix/include/c++/${version}/ios +$iprefix/include/c++/${version}/iosfwd +$iprefix/include/c++/${version}/iostream +$iprefix/include/c++/${version}/istream +$iprefix/include/c++/${version}/iterator +$iprefix/include/c++/${version}/limits +$iprefix/include/c++/${version}/list +$iprefix/include/c++/${version}/locale +$iprefix/include/c++/${version}/map +$iprefix/include/c++/${version}/memory +$iprefix/include/c++/${version}/new +$iprefix/include/c++/${version}/numeric +$iprefix/include/c++/${version}/org/* +$iprefix/include/c++/${version}/ostream +$iprefix/include/c++/${version}/parallel/* +$iprefix/include/c++/${version}/queue +$iprefix/include/c++/${version}/random +$iprefix/include/c++/${version}/regex +$iprefix/include/c++/${version}/set +$iprefix/include/c++/${version}/sstream +$iprefix/include/c++/${version}/stack +$iprefix/include/c++/${version}/stdexcept +$iprefix/include/c++/${version}/streambuf +$iprefix/include/c++/${version}/string +$iprefix/include/c++/${version}/sun/* +$iprefix/include/c++/${version}/tgmath.h +$iprefix/include/c++/${version}/tr1/* +$iprefix/include/c++/${version}/tr1_impl/* +$iprefix/include/c++/${version}/tuple +$iprefix/include/c++/${version}/type_traits +$iprefix/include/c++/${version}/typeinfo +$iprefix/include/c++/${version}/unordered_map +$iprefix/include/c++/${version}/unordered_set +$iprefix/include/c++/${version}/utility +$iprefix/include/c++/${version}/valarray +$iprefix/include/c++/${version}/vector +$iprefix/include/c++/${version}/${arch}-${vendor}-solaris*/bits +if(sparcv9)$iprefix/include/c++/${version}/${arch}-${vendor}-solaris*/sparcv9/bits $iprefix/lib/libstdc++.* $iprefix/lib/libsupc++.a +if(sparcv9)$iprefix/lib/sparcv9/libstdc++.* +if(sparcv9)$iprefix/lib/sparcv9/libsupc++.a $iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1plus $iprefix/man/man1/g++.1 @@ -126,6 +237,7 @@ pkgver="$pkgver" files(-,root,bin) $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/objc $iprefix/lib/libobjc.* +if(sparcv9)$iprefix/lib/sparcv9/libobjc.* $iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/cc1obj [gcc-objc++] @@ -147,6 +259,8 @@ files(-,root,bin) $iprefix/bin/*fortran $iprefix/lib/libgfortran.* $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/libgfortranbegin.a +if(sparcv9)$iprefix/lib/sparcv9/libgfortran.* +if(sparcv9)$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/sparcv9/libgfortranbegin.a $iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/finclude $iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/f951 $iprefix/man/?a?1/gfortran.1 @@ -161,6 +275,7 @@ pkgdesc="Runtime support library for C" pkgver="$pkgver" files(-,root,bin) $_libdir/libgcc_s.so.1* +if(sparcv9)$_libdir/sparcv9/libgcc_s.so.1* [libstdc++6] pkgname="${pkgprefix}lstdc6" @@ -171,6 +286,7 @@ pkgdesc="Runtime support library for C++" pkgver="$pkgver" files(-,root,bin) $_libdir/libstdc++.so.6* +if(sparcv9)$_libdir/sparcv9/libstdc++.so.6* [libobjc2] pkgname="${pkgprefix}lobjc2" @@ -181,6 +297,7 @@ pkgdesc="Runtime support library for Objective-C" pkgver="$pkgver" files(-,root,bin) $_libdir/libobjc.so.2* +if(sparcv9)$_libdir/sparcv9/libobjc.so.2* [libgfortran3] pkgname="${pkgprefix}lgft3" @@ -191,6 +308,7 @@ pkgdesc="Runtime support library for Fortran" pkgver="$pkgver" files(-,root,bin) $_libdir/libgfortran.so.3* +if(sparcv9)$_libdir/sparcv9/libgfortran.so.3* [libgomp1] pkgname="${pkgprefix}lgo1" @@ -201,6 +319,7 @@ pkgdesc="Runtime support library for OpenMP" pkgver="$pkgver" files(-,root,bin) $_libdir/libgomp.so.1* +if(sparcv9)$_libdir/sparcv9/libgomp.so.1* [libgnat43] pkgname="${pkgprefix}lga43" @@ -213,3 +332,86 @@ files(-,root,bin) $_libdir/libgnat-4.3.so $_libdir/libgnarl-4.3.so +# These packages only exist when java is enabled +# RH splits libgcj into it's own package, I can't be bothered... +[gcc-java] +pkgname="${pkgprefix}g${abbrev_ver}jv" +name="gcc-java - GNU Compiler Collection (Java)" +pkgvendor="http://gcc.gnu.org" +pkgdesc="Java support for GCC" +pkgver="$pkgver" +files(-,root,bin) +# These files are gcc-java +$iprefix/bin/*gcj +$iprefix/bin/gcjh +$iprefix/bin/jcf-dump +$iprefix/lib/libgcj-tools.* +$iprefix/lib/libgcj.* +$iprefix/lib/libgij.* +if(sparcv9)$iprefix/lib/sparcv9/libgcj-tools.* +if(sparcv9)$iprefix/lib/sparcv9/libgcj.* +if(sparcv9)$iprefix/lib/sparcv9/libgij.* +$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/jc1 +$iprefix/libexec/gcc/${arch}-${vendor}-solaris*/$version/jvgenmain +$iprefix/man/?a?1/gcj.1 +$iprefix/man/?a?1/gcjh.1 +$iprefix/man/?a?1/jcf-dump.1 +$iprefix/info/gcj.info* +# These files are libgcj +$iprefix/bin/gappletviewer +$iprefix/bin/gcj-dbtool +$iprefix/bin/gij +$iprefix/bin/gjar +$iprefix/bin/gjarsigner +$iprefix/bin/gkeytool +$iprefix/bin/gorbd +$iprefix/bin/grmic +$iprefix/bin/grmid +$iprefix/bin/grmiregistry +$iprefix/bin/gserialver +$iprefix/bin/gtnameserv +$iprefix/bin/jv-convert +$iprefix/lib/gcj-${version}-9/classmap.db +$iprefix/lib/gcj-${version}-9/libjvm.so +$iprefix/lib/gcj-${version}-9/libjvm.a +$iprefix/lib/logging.properties +$iprefix/lib/pkgconfig/libgcj*.pc +$iprefix/lib/security/classpath.security +if(sparcv9)$iprefix/lib/sparcv9/gcj-${version}-9/classmap.db +if(sparcv9)$iprefix/lib/sparcv9/gcj-${version}-9/libjvm.so +if(sparcv9)$iprefix/lib/sparcv9/gcj-${version}-9/libjvm.a +if(sparcv9)$iprefix/lib/sparcv9/logging.properties +if(sparcv9)$iprefix/lib/sparcv9/security/classpath.security +$iprefix/man/?a?1/gappletviewer.1 +$iprefix/man/?a?1/gcj-dbtool.1 +$iprefix/man/?a?1/gij.1 +$iprefix/man/?a?1/gjar.1 +$iprefix/man/?a?1/gjarsigner.1 +$iprefix/man/?a?1/gkeytool.1 +$iprefix/man/?a?1/gorbd.1 +$iprefix/man/?a?1/grmic.1 +$iprefix/man/?a?1/grmid.1 +$iprefix/man/?a?1/grmiregistry.1 +$iprefix/man/?a?1/gserialver.1 +$iprefix/man/?a?1/gtnameserv.1 +$iprefix/man/?a?1/jv-convert.1 +$iprefix/info/cp-tools.info* +$iprefix/share/java/libgcj*-${version}.jar +# These files are libgcj-devel +$iprefix/bin/addr2name.awk +$iprefix/bin/gc-analyze +$iprefix/bin/gjavah +$iprefix/bin/gnative2ascii +$iprefix/include/c++/${version}/gcj +$iprefix/include/c++/${version}/gnu +$iprefix/include/c++/${version}/java +$iprefix/include/c++/${version}/javax +$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/gcj/libgcj-config.h +$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jawt.h +$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jawt_md.h +$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jni.h +$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jni_md.h +$iprefix/lib/gcc/${arch}-${vendor}-solaris*/$version/include/jvmpi.h +$iprefix/man/?a?1/gc-analyze.1 +$iprefix/man/?a?1/gjavah.1 +$iprefix/man/?a?1/gnative2ascii.1 diff --git a/gcc43/meta/relnotes b/gcc43/meta/relnotes deleted file mode 100644 index bd83629..0000000 --- a/gcc43/meta/relnotes +++ /dev/null @@ -1,27 +0,0 @@ -PACKAGE DETAILS ---------------- -Name: %%PKGNAME%% -Version: %%SOURCE_AND_VER%% -Vendor: %%VENDOR%% -Packager: %%PKGEDBY%% - -Source (sha1sum): -%%SOURCE_SHA1SUM%% - -BUILD DETAILS -------------- -Compiler: -%%COMPILER%% - -Environment: -%%ENVIRONMENT%% - -Configure: -%%CONFIGURE%% - -KNOWN DEPENDENCIES ------------------- -%%DEPENDENCIES%% - -ERRORS/MISCELLANEOUS ---------------------