diff -ur slackware64-14.2/source/a/bzip2/bzip2.SlackBuild slackware64-14.2.patcharm/source/a/bzip2/bzip2.SlackBuild
--- slackware64-14.2/source/a/bzip2/bzip2.SlackBuild	2010-09-20 19:34:51.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/bzip2/bzip2.SlackBuild	2017-10-10 01:56:54.072313143 +0200
@@ -55,6 +55,12 @@
 chown -R root:root .
 # This should be ok, since libbz2.so.1.0 will still exist.
 zcat $CWD/bzip2.saneso.diff.gz | patch -p1 || exit
+
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 make -f Makefile-libbz2_so || exit 1
 make -j3 || make || exit 1
 mkdir -p $PKG/usr/include
diff -ur slackware64-14.2/source/a/coreutils/coreutils.SlackBuild slackware64-14.2.patcharm/source/a/coreutils/coreutils.SlackBuild
--- slackware64-14.2/source/a/coreutils/coreutils.SlackBuild	2016-04-17 20:24:52.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/coreutils/coreutils.SlackBuild	2017-10-10 01:57:04.889553140 +0200
@@ -94,6 +94,11 @@
 # Revert change to ls quoting style introduced in coreutils-8.25:
 zcat $CWD/no_ls_quoting.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 # Compilation with glibc version later than 2.3.2 needs the environment
 # variable DEFAULT_POSIX2_VERSION set to 199209.
 # Without that line, the coreutils will start complaining about 'obsolete'
diff -ur slackware64-14.2/source/a/findutils/findutils.SlackBuild slackware64-14.2.patcharm/source/a/findutils/findutils.SlackBuild
--- slackware64-14.2/source/a/findutils/findutils.SlackBuild	2010-07-28 04:56:07.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/findutils/findutils.SlackBuild	2017-10-31 23:24:44.421371330 +0100
@@ -72,6 +72,11 @@
 # Add AArch64 architecture (and new architectures):
 \cp /usr/share/libtool/build-aux/config.* build-aux/
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 # Feel free to change the "--without-fts" if you like find to be faster and
 # less reliable.  With the current setting, "find" will be non-fts(), and
 # ftsfind will still be there if you want to use it.
diff -ur slackware64-14.2/source/a/gawk/gawk.SlackBuild slackware64-14.2.patcharm/source/a/gawk/gawk.SlackBuild
--- slackware64-14.2/source/a/gawk/gawk.SlackBuild	2015-08-07 21:36:50.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/gawk/gawk.SlackBuild	2017-10-10 02:08:38.326374672 +0200
@@ -73,6 +73,11 @@
   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/a/grep/grep.SlackBuild slackware64-14.2.patcharm/source/a/grep/grep.SlackBuild
--- slackware64-14.2/source/a/grep/grep.SlackBuild	2015-11-02 20:20:42.000000000 +0100
+++ slackware64-14.2.patcharm/source/a/grep/grep.SlackBuild	2017-12-07 12:20:30.258424095 +0100
@@ -71,6 +71,11 @@
   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/a/gzip/gzip.SlackBuild slackware64-14.2.patcharm/source/a/gzip/gzip.SlackBuild
--- slackware64-14.2/source/a/gzip/gzip.SlackBuild	2016-05-20 22:41:00.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/gzip/gzip.SlackBuild	2017-08-13 01:28:51.151303308 +0200
@@ -66,6 +66,11 @@
   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 # Configure:
 CFLAGS="$SLKCFLAGS" \
 ./configure \
diff -ur slackware64-14.2/source/a/infozip/infozip.SlackBuild slackware64-14.2.patcharm/source/a/infozip/infozip.SlackBuild
--- slackware64-14.2/source/a/infozip/infozip.SlackBuild	2015-04-19 07:17:24.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/infozip/infozip.SlackBuild	2017-08-13 01:28:51.161302969 +0200
@@ -46,6 +46,10 @@
 tar xvf $CWD/zip$(echo $ZIP | tr -d .).tar.?z* || exit 1
 cd zip$(echo $ZIP | tr -d .)
 chown -R root:root .
+
+# End of preparations
+if ! echo "$*" | grep -qw -- --prep ; then
+
 mkdir -p $PKG/usr/doc/zip-$ZIP
 cp -a BUGS CHANGES INSTALL LICENSE README* TODO US* WHATSNEW WHERE \
       $PKG/usr/doc/zip-$ZIP
@@ -61,6 +65,8 @@
   cat $page | gzip -9c > $PKG/usr/man/man1/$(basename $page).gz
 done
 
+fi
+
 cd $TMP
 rm -rf unzip$(echo $VERSION | tr -d .)
 tar xvf $CWD/unzip$(echo $VERSION | tr -d .).tar.?z* || exit 1
@@ -69,6 +75,10 @@
 zcat $CWD/unzip.process.c.diff.gz | patch -p1 --verbose || exit 1
 zcat $CWD/unzip.git.archive.fix.diff.gz | patch -p0 --verbose || exit 1
 chown -R root:root .
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
 mkdir -p $PKG/usr/doc/unzip-$VERSION
 cp -a BUGS COPYING* Contents History.* INSTALL LICENSE README ToDo WHERE \
       $PKG/usr/doc/unzip-$VERSION
diff -ur slackware64-14.2/source/a/patch/patch.SlackBuild slackware64-14.2.patcharm/source/a/patch/patch.SlackBuild
--- slackware64-14.2/source/a/patch/patch.SlackBuild	2015-12-06 22:41:48.000000000 +0100
+++ slackware64-14.2.patcharm/source/a/patch/patch.SlackBuild	2017-08-13 01:28:51.191301951 +0200
@@ -63,6 +63,11 @@
   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/a/sed/sed.SlackBuild slackware64-14.2.patcharm/source/a/sed/sed.SlackBuild
--- slackware64-14.2/source/a/sed/sed.SlackBuild	2013-10-02 21:51:37.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/sed/sed.SlackBuild	2017-08-13 01:28:51.191301951 +0200
@@ -64,6 +64,11 @@
 find . -perm 777 -exec chmod 755 {} \;
 find . -perm 664 -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/a/tar/tar.SlackBuild slackware64-14.2.patcharm/source/a/tar/tar.SlackBuild
--- slackware64-14.2/source/a/tar/tar.SlackBuild	2016-05-20 22:35:17.000000000 +0200
+++ slackware64-14.2.patcharm/source/a/tar/tar.SlackBuild	2017-08-13 01:28:51.221300932 +0200
@@ -53,6 +53,9 @@
   SLKCFLAGS="-O2"
 fi
 
+# Skip 1.13 for preparations
+if ! echo "$*" | grep -qw -- --prep ; then
+
 # This old version is the only one that won't clobber symlinks, e.g.:
 # someone moves /opt to /usr/opt and makes a symlink.  With newer
 # versions of tar, installing any new package will remove the /opt
@@ -87,6 +90,8 @@
 chmod 0755 $PKG/bin/tar-1.13
 # End building of tar-1.13
 
+fi
+
 cd $TMP
 rm -rf tar-$VERSION
 tar xvf $CWD/tar-$VERSION.tar.xz || exit 1
@@ -101,6 +106,11 @@
 # The "A lone zero block at %s" messages also cause problems:
 zcat $CWD/tar.nolonezero.diff.gz | patch -p1 --verbose || exit 1
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 FORCE_UNSAFE_CONFIGURE=1 \
 CFLAGS="$SLKCFLAGS" \
 ./configure \
diff -ur slackware64-14.2/source/a/util-linux/util-linux.SlackBuild slackware64-14.2.patcharm/source/a/util-linux/util-linux.SlackBuild
--- slackware64-14.2/source/a/util-linux/util-linux.SlackBuild	2015-12-11 04:31:11.000000000 +0100
+++ slackware64-14.2.patcharm/source/a/util-linux/util-linux.SlackBuild	2017-10-10 02:28:43.340366349 +0200
@@ -80,6 +80,11 @@
 # 83 back to "Linux swap":
 zcat $CWD/util-linux.fdisk-no-solaris.diff.gz | patch -p1 --verbose || exit 1
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/a/which/which.SlackBuild slackware64-14.2.patcharm/source/a/which/which.SlackBuild
--- slackware64-14.2/source/a/which/which.SlackBuild	2015-12-11 19:09:31.000000000 +0100
+++ slackware64-14.2.patcharm/source/a/which/which.SlackBuild	2017-08-13 01:28:51.241300253 +0200
@@ -54,6 +54,11 @@
   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS=-O2 \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/a/xz/xz.SlackBuild slackware64-14.2.patcharm/source/a/xz/xz.SlackBuild
--- slackware64-14.2/source/a/xz/xz.SlackBuild	2015-11-24 23:28:59.000000000 +0100
+++ slackware64-14.2.patcharm/source/a/xz/xz.SlackBuild	2018-08-23 15:38:55.625976040 +0200
@@ -84,6 +84,11 @@
   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 CXXFLAGS="$SLKCFLAGS" \
 ./configure \
diff -ur slackware64-14.2/source/ap/ash/ash.SlackBuild slackware64-14.2.patcharm/source/ap/ash/ash.SlackBuild
--- slackware64-14.2/source/ap/ash/ash.SlackBuild	2010-04-25 23:36:47.000000000 +0200
+++ slackware64-14.2.patcharm/source/ap/ash/ash.SlackBuild	2017-08-17 14:11:45.453071734 +0200
@@ -53,6 +53,12 @@
 sed -i -e '/yyerrok;/d' arith.y || exit 1 # "error: 'yyerrstatus' undeclared"
 # Fred Emmott found this on the LFS mailing list:
 sed -i -e 's#extern int hetio_inter#static int hetio_inter#' hetio.h || exit 1
+
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 make || exit 1
 strip sh
 mkdir -p $PKG/bin
diff -ur slackware64-14.2/source/ap/diffutils/diffutils.SlackBuild slackware64-14.2.patcharm/source/ap/diffutils/diffutils.SlackBuild
--- slackware64-14.2/source/ap/diffutils/diffutils.SlackBuild	2013-10-03 23:27:44.000000000 +0200
+++ slackware64-14.2.patcharm/source/ap/diffutils/diffutils.SlackBuild	2017-08-13 01:28:51.271299235 +0200
@@ -73,6 +73,11 @@
 # Fix installation of NLS files:
 zcat $CWD/diffutils.mkdir_p.diff.gz | patch -p1 || exit 1
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/d/gcc/gcc.SlackBuild slackware64-14.2.patcharm/source/d/gcc/gcc.SlackBuild
--- slackware64-14.2/source/d/gcc/gcc.SlackBuild	2016-03-06 18:55:49.000000000 +0100
+++ slackware64-14.2.patcharm/source/d/gcc/gcc.SlackBuild	2017-12-30 01:58:22.424944162 +0100
@@ -168,15 +168,41 @@
   zcat $CWD/sparc64_sanitizer_glibc220.patch.gz | patch -p1 --verbose || exit 1
 ) || exit 1
 
-# Copy ecj.jar into the TLD of the source. Needed for java compiler.
-# This can be retrieved from ftp://sourceware.org/pub/java
-cp $CWD/ecj-4.9.jar gcc-$VERSION/ecj.jar
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
+BUILD_JAVA=1
 
 # Use an antlr runtime to compile javadoc.
 # The runtime can be obtained from:
 #https://oss.sonatype.org/content/repositories/releases/org/antlr/antlr-runtime/
 ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
 
+java_lang="java,"
+java_conf=" \
+     --enable-java-home \
+     --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \
+     --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \
+     --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \
+     --with-antlr-jar=$ANTLJAR \
+     --enable-java-awt=gtk \
+     --disable-gtktest"
+
+if echo "$*" | grep -qw -- --nojava ; then
+  # Java requires GTK+2/libart: do not build when bootstrapping
+  BUILD_JAVA=0
+  java_lang=""
+  java_conf=""
+fi
+
+if [ "$BUILD_JAVA" -eq 1 ] ; then
+# Copy ecj.jar into the TLD of the source. Needed for java compiler.
+# This can be retrieved from ftp://sourceware.org/pub/java
+cp $CWD/ecj-4.9.jar gcc-$VERSION/ecj.jar
+fi
+
 # install docs
 ( cd gcc-$VERSION
   # Smite the fixincludes:
@@ -231,6 +257,7 @@
       fi
     )
 
+    if [ "$BUILD_JAVA" -eq 1 ] ; then
     mkdir -p $PKG5/usr/doc/gcc-${VERSION}/gcc/java
     ( cd java
       cp -a \
@@ -241,6 +268,7 @@
         touch -r ChangeLog $PKG5/usr/doc/gcc-${VERSION}/gcc/java/ChangeLog
       fi
     )
+    fi
   
     mkdir -p $PKG6/usr/doc/gcc-${VERSION}/gcc/objc
     ( cd objc
@@ -295,6 +323,7 @@
     fi
   )
 
+  if [ "$BUILD_JAVA" -eq 1 ] ; then
   mkdir -p $PKG5/usr/doc/gcc-${VERSION}/libjava
   ( cd libjava
     cp -a \
@@ -306,6 +335,7 @@
       touch -r ChangeLog $PKG5/usr/doc/gcc-${VERSION}/libjava/ChangeLog
     fi
   )
+  fi
 
   mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libmudflap
   ( cd libmudflap
@@ -348,6 +378,7 @@
 
 )
 
+if [ "$BUILD_JAVA" -eq 1 ] ; then
 # Add fastjar to the gcc-java package:
 ( cd $TMP
   FASTJARVER=$(echo $CWD/fastjar-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
@@ -412,6 +443,7 @@
   fi
   echo
 ) || exit 1
+fi
 
 # build gcc
 ( mkdir gcc.build.lnx;
@@ -457,7 +489,7 @@
      --infodir=/usr/info \
      --enable-shared \
      --enable-bootstrap \
-     --enable-languages=ada,c,c++,fortran,go,java,lto,objc \
+     --enable-languages=ada,c,c++,fortran,go,${java_lang}lto,objc \
      --enable-threads=posix \
      --enable-checking=release \
      --enable-objc-gc \
@@ -472,14 +504,8 @@
      --disable-install-libiberty \
      --with-gnu-ld \
      --verbose \
-     --enable-java-home \
-     --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \
-     --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \
-     --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \
+     $java_conf \
      --with-arch-directory=$LIB_ARCH \
-     --with-antlr-jar=$ANTLJAR \
-     --enable-java-awt=gtk \
-     --disable-gtktest \
      $GCC_ARCHOPTS \
      --target=${TARGET} \
      --build=${TARGET} \
@@ -558,8 +584,10 @@
   ln -sf gcc-ar ${TARGET}-gcc-ar
   ln -sf gcc-nm ${TARGET}-gcc-nm
   ln -sf gcc-ranlib ${TARGET}-gcc-ranlib
+  if [ "$BUILD_JAVA" -eq 1 ] ; then
   ln -sf gcj ${TARGET}-gcj
   ln -sf gcjh ${TARGET}-gcjh
+  fi
   ln -sf g++-gcc-$VERSION ${TARGET}-c++
   ln -sf g++-gcc-$VERSION ${TARGET}-g++
   ln -sf gfortran-gcc-$VERSION gfortran
@@ -648,6 +676,7 @@
   mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/adalib usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION
 )
 
+if [ "$BUILD_JAVA" -eq 1 ] ; then
 # gcc-java:
 ( cd $PKG5
   mkdir -p usr/bin
@@ -758,6 +787,7 @@
   rm -f usr/man/man3/ffi*
   rm -f usr/info/libffi*
 )
+fi
 
 # gcc-objc:
 ( cd $PKG6
diff -ur slackware64-14.2/source/d/llvm/llvm.SlackBuild slackware64-14.2.patcharm/source/d/llvm/llvm.SlackBuild
--- slackware64-14.2/source/d/llvm/llvm.SlackBuild	2016-06-22 19:38:27.000000000 +0200
+++ slackware64-14.2.patcharm/source/d/llvm/llvm.SlackBuild	2018-08-23 17:02:10.470672935 +0200
@@ -95,13 +95,24 @@
   \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# In bootstrap system clang is not yet available, use gcc
+which clang 2> /dev/null
+if [ $? -eq 0 ]
+then
+  C_COMPILER="clang"
+  CXX_COMPILER="clang++"
+else
+  C_COMPILER="gcc"
+  CXX_COMPILER="g++"
+fi
+
 # need to disable assertions to make llvm thread-safe
 # clang resource dir is a relative path based on the location of the clang binary
 mkdir build
 cd build
   cmake \
-    -DCMAKE_C_COMPILER="clang" \
-    -DCMAKE_CXX_COMPILER="clang++" \
+    -DCMAKE_C_COMPILER="$C_COMPILER" \
+    -DCMAKE_CXX_COMPILER="$CXX_COMPILER" \
     -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
     -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
     -DCMAKE_INSTALL_PREFIX=/usr \
diff -ur slackware64-14.2/source/d/make/make.SlackBuild slackware64-14.2.patcharm/source/d/make/make.SlackBuild
--- slackware64-14.2/source/d/make/make.SlackBuild	2016-05-24 07:10:58.000000000 +0200
+++ slackware64-14.2.patcharm/source/d/make/make.SlackBuild	2017-12-23 23:51:53.276993830 +0100
@@ -73,6 +73,11 @@
 # http://www.linuxquestions.org/questions/slackware-14/requests-for-current-20151216-a-4175561577/page50.html#post5525558
 zcat $CWD/make-4.1-fix_null_returns_from_ttyname.patch.gz | patch -p1 --verbose || exit 1
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 # Configure:
 CFLAGS="$SLKCFLAGS" \
 ./configure \
diff -ur slackware64-14.2/source/d/perl/perl.SlackBuild slackware64-14.2.patcharm/source/d/perl/perl.SlackBuild
--- slackware64-14.2/source/d/perl/perl.SlackBuild	2016-06-03 21:36:03.000000000 +0200
+++ slackware64-14.2.patcharm/source/d/perl/perl.SlackBuild	2018-08-23 17:06:41.920324005 +0200
@@ -157,7 +157,10 @@
 
 # Build perl
 make $NUMJOBS || exit 1
+if ! echo "$*" | grep -qw -- --skiptest ; then
 make test
+fi
+
 
 # Install perl (needed to build modules):
 make install
@@ -178,7 +181,9 @@
     chown -R root:root .
     perl Makefile.PL INSTALLDIRS=vendor
     make
+    if ! echo "$*" | grep -qw -- --skiptest ; then
     make test
+    fi
     make install
     make install DESTDIR=$PKG
     mkdir -p $PKG/usr/doc/perl-$VERSION/DBI-${DBI}
@@ -190,7 +195,9 @@
     chown -R root:root .
     perl Makefile.PL INSTALLDIRS=vendor
     make
+    if ! echo "$*" | grep -qw -- --skiptest ; then
     make test
+    fi
     make install
     make install DESTDIR=$PKG
     mkdir -p $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}
@@ -202,7 +209,9 @@
     chown -R root:root .
     perl Makefile.PL INSTALLDIRS=vendor
     make
+    if ! echo "$*" | grep -qw -- --skiptest ; then
     make test
+    fi
     make install
     make install DESTDIR=$PKG
     mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}
@@ -214,7 +223,9 @@
     chown -R root:root .
     perl Makefile.PL INSTALLDIRS=vendor
     make
+    if ! echo "$*" | grep -qw -- --skiptest ; then
     make test
+    fi
     make install
     make install DESTDIR=$PKG
     mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}
@@ -226,7 +237,9 @@
     chown -R root:root .
     perl Makefile.PL INSTALLDIRS=vendor
     make
+    if ! echo "$*" | grep -qw -- --skiptest ; then
     make test
+    fi
     make install
     make install DESTDIR=$PKG
     mkdir -p $PKG/usr/doc/perl-$VERSION/URI-${URI}
@@ -238,7 +251,9 @@
     chown -R root:root .
     perl Makefile.PL INSTALLDIRS=vendor
     make
+    if ! echo "$*" | grep -qw -- --skiptest ; then
     make test
+    fi
     make install
     make install DESTDIR=$PKG
     mkdir -p $PKG/usr/doc/perl-$VERSION/gettext-${GETTEXT}
@@ -250,7 +265,9 @@
     chown -R root:root .
     perl Makefile.PL INSTALLDIRS=vendor
     make
+    if ! echo "$*" | grep -qw -- --skiptest ; then
     make test
+    fi
     make install
     make install DESTDIR=$PKG
     mkdir -p $PKG/usr/doc/perl-$VERSION/TermReadKey-${TERMREADKEY}
diff -ur slackware64-14.2/source/l/glibc/glibc.SlackBuild slackware64-14.2.patcharm/source/l/glibc/glibc.SlackBuild
--- slackware64-14.2/source/l/glibc/glibc.SlackBuild	2016-02-20 18:34:55.000000000 +0100
+++ slackware64-14.2.patcharm/source/l/glibc/glibc.SlackBuild	2017-10-27 01:06:12.520048990 +0200
@@ -207,6 +207,11 @@
   exit 1
 fi
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 # Make build directory:
 mkdir build-glibc-$VERSION
 cd build-glibc-$VERSION || exit 1
diff -ur slackware64-14.2/source/l/libmpc/libmpc.SlackBuild slackware64-14.2.patcharm/source/l/libmpc/libmpc.SlackBuild
--- slackware64-14.2/source/l/libmpc/libmpc.SlackBuild	2015-04-25 02:02:41.000000000 +0200
+++ slackware64-14.2.patcharm/source/l/libmpc/libmpc.SlackBuild	2017-10-30 00:02:25.878464403 +0100
@@ -71,6 +71,11 @@
 cd $SRCNAM-$VERSION
 chown -R root:root .
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
diff -ur slackware64-14.2/source/l/zlib/zlib.SlackBuild slackware64-14.2.patcharm/source/l/zlib/zlib.SlackBuild
--- slackware64-14.2/source/l/zlib/zlib.SlackBuild	2012-03-19 00:41:26.000000000 +0100
+++ slackware64-14.2.patcharm/source/l/zlib/zlib.SlackBuild	2017-10-09 22:02:10.232149381 +0200
@@ -74,6 +74,11 @@
   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
   -exec chmod 644 {} \;
 
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+  exit 0
+fi
+
 CFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr
