diff --git a/setup.py b/setup.py
index 15d81e4..ee6dba6 100755
--- a/setup.py
+++ b/setup.py
@@ -136,12 +136,12 @@ except (ImportError, OSError):
 
 NAME = 'Pillow'
 PILLOW_VERSION = get_version()
-JPEG_ROOT = None
+JPEG_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
 JPEG2K_ROOT = None
-ZLIB_ROOT = None
+ZLIB_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
 IMAGEQUANT_ROOT = None
-TIFF_ROOT = None
-FREETYPE_ROOT = None
+TIFF_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
+FREETYPE_ROOT = os.path.join(os.environ['STAGING_DIR'], "/usr/lib")
 LCMS_ROOT = None
 
 
@@ -289,159 +289,6 @@ class pil_build_ext(build_ext):
             _add_directory(library_dirs, os.path.join(prefix, "lib"))
             _add_directory(include_dirs, os.path.join(prefix, "include"))
 
-        #
-        # add platform directories
-
-        if self.disable_platform_guessing:
-            pass
-
-        elif sys.platform == "cygwin":
-            # pythonX.Y.dll.a is in the /usr/lib/pythonX.Y/config directory
-            _add_directory(library_dirs,
-                           os.path.join("/usr/lib", "python%s" %
-                                        sys.version[:3], "config"))
-
-        elif sys.platform == "darwin":
-            # attempt to make sure we pick freetype2 over other versions
-            _add_directory(include_dirs, "/sw/include/freetype2")
-            _add_directory(include_dirs, "/sw/lib/freetype2/include")
-            # fink installation directories
-            _add_directory(library_dirs, "/sw/lib")
-            _add_directory(include_dirs, "/sw/include")
-            # darwin ports installation directories
-            _add_directory(library_dirs, "/opt/local/lib")
-            _add_directory(include_dirs, "/opt/local/include")
-
-            # if Homebrew is installed, use its lib and include directories
-            try:
-                prefix = subprocess.check_output(['brew', '--prefix']).strip(
-                ).decode('latin1')
-            except Exception:
-                # Homebrew not installed
-                prefix = None
-
-            ft_prefix = None
-
-            if prefix:
-                # add Homebrew's include and lib directories
-                _add_directory(library_dirs, os.path.join(prefix, 'lib'))
-                _add_directory(include_dirs, os.path.join(prefix, 'include'))
-                ft_prefix = os.path.join(prefix, 'opt', 'freetype')
-
-            if ft_prefix and os.path.isdir(ft_prefix):
-                # freetype might not be linked into Homebrew's prefix
-                _add_directory(library_dirs, os.path.join(ft_prefix, 'lib'))
-                _add_directory(include_dirs,
-                               os.path.join(ft_prefix, 'include'))
-            else:
-                # fall back to freetype from XQuartz if
-                # Homebrew's freetype is missing
-                _add_directory(library_dirs, "/usr/X11/lib")
-                _add_directory(include_dirs, "/usr/X11/include")
-
-        elif sys.platform.startswith("linux"):
-            arch_tp = (plat.processor(), plat.architecture()[0])
-            # This should be correct on debian derivatives.
-            if os.path.exists('/etc/debian_version'):
-                # If this doesn't work, don't just silently patch
-                # downstream because it's going to break when people
-                # try to build pillow from source instead of
-                # installing from the system packages.
-                self.add_multiarch_paths()
-
-            elif arch_tp == ("x86_64", "32bit"):
-                # Special Case: 32-bit build on 64-bit machine.
-                _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
-            else:
-                libdirs = {
-                    'x86_64':  ["/lib64", "/usr/lib64",
-                                "/usr/lib/x86_64-linux-gnu"],
-                    '64bit':   ["/lib64", "/usr/lib64",
-                                "/usr/lib/x86_64-linux-gnu"],
-                    'i386':    ["/usr/lib/i386-linux-gnu"],
-                    'i686':    ["/usr/lib/i386-linux-gnu"],
-                    '32bit':   ["/usr/lib/i386-linux-gnu"],
-                    'aarch64': ["/usr/lib64", "/usr/lib/aarch64-linux-gnu"],
-                    'arm':     ["/usr/lib/arm-linux-gnueabi"],
-                    'armv71':  ["/usr/lib/arm-linux-gnueabi"],
-                    'armv7l':  ["/usr/lib"],
-                    'ppc64':   ["/usr/lib64", "/usr/lib/ppc64-linux-gnu",
-                                "/usr/lib/powerpc64-linux-gnu"],
-                    'ppc64le':   ["/usr/lib64"],
-                    'ppc':     ["/usr/lib/ppc-linux-gnu",
-                                "/usr/lib/powerpc-linux-gnu"],
-                    's390x':   ["/usr/lib64", "/usr/lib/s390x-linux-gnu"],
-                    's390':    ["/usr/lib/s390-linux-gnu"],
-                    }
-
-                for platform_ in arch_tp:
-                    dirs = libdirs.get(platform_, None)
-                    if not dirs:
-                        continue
-                    for path in dirs:
-                        _add_directory(library_dirs, path)
-                    break
-
-                else:
-                    raise ValueError(
-                        "Unable to identify Linux platform: `%s`" % platform_)
-
-                # termux support for android.
-                # system libraries (zlib) are installed in /system/lib
-                # headers are at $PREFIX/include
-                # user libs are at $PREFIX/lib
-                if os.environ.get('ANDROID_ROOT', None):
-                    _add_directory(library_dirs,
-                                   os.path.join(os.environ['ANDROID_ROOT'],
-                                                'lib'))
-
-        elif sys.platform.startswith("gnu"):
-            self.add_multiarch_paths()
-
-        elif sys.platform.startswith("freebsd"):
-            _add_directory(library_dirs, "/usr/local/lib")
-            _add_directory(include_dirs, "/usr/local/include")
-
-        elif sys.platform.startswith("netbsd"):
-            _add_directory(library_dirs, "/usr/pkg/lib")
-            _add_directory(include_dirs, "/usr/pkg/include")
-
-        elif sys.platform.startswith("sunos5"):
-            _add_directory(library_dirs, "/opt/local/lib")
-            _add_directory(include_dirs, "/opt/local/include")
-
-        # FIXME: check /opt/stuff directories here?
-
-        # standard locations
-        if not self.disable_platform_guessing:
-            _add_directory(library_dirs, "/usr/local/lib")
-            _add_directory(include_dirs, "/usr/local/include")
-
-            _add_directory(library_dirs, "/usr/lib")
-            _add_directory(include_dirs, "/usr/include")
-            # alpine, at least
-            _add_directory(library_dirs, "/lib")
-
-        # on Windows, look for the OpenJPEG libraries in the location that
-        # the official installer puts them
-        if sys.platform == "win32":
-            program_files = os.environ.get('ProgramFiles', '')
-            best_version = (0, 0)
-            best_path = None
-            for name in os.listdir(program_files):
-                if name.startswith('OpenJPEG '):
-                    version = tuple(int(x) for x in
-                                    name[9:].strip().split('.'))
-                    if version > best_version:
-                        best_version = version
-                        best_path = os.path.join(program_files, name)
-
-            if best_path:
-                _dbg('Adding %s to search list', best_path)
-                _add_directory(library_dirs, os.path.join(best_path, 'lib'))
-                _add_directory(include_dirs,
-                               os.path.join(best_path, 'include'))
-
         #
         # insert new dirs *before* default libs, to avoid conflicts
         # between Python PYD stub libs and real libraries