code: @Override
    public File[] getLibraryPath() {
      if (this.libDirs == null) {
        final Vector<String> dirs = new Vector<>();
        // Ask GCC where it will look for its libraries.
        final String[] args = new String[] {
            "g++", "-print-search-dirs"
        };
        final String[] cmdout = CaptureStreamHandler.run(args);
        for (int i = 0; i < cmdout.length; ++i) {
          final int prefixIndex = cmdout[i].indexOf(libPrefix);
          if (prefixIndex >= 0) {
            // Special case DOS-type GCCs like MinGW or Cygwin
            int s = prefixIndex + libPrefix.length();
            int t = cmdout[i].indexOf(';', s);
            while (t > 0) {
              dirs.addElement(cmdout[i].substring(s, t));
              s = t + 1;
              t = cmdout[i].indexOf(';', s);
            }
            dirs.addElement(cmdout[i].substring(s));
            ++i;
            for (; i < cmdout.length; ++i) {
              dirs.addElement(cmdout[i]);
            }
          }
        }
        // Eliminate all but actual directories.
        final String[] libpath = new String[dirs.size()];
        dirs.copyInto(libpath);
        final int count = CUtil.checkDirectoryArray(libpath);
        // Build return array.
        this.libDirs = new File[count];
        int index = 0;
        for (final String element : libpath) {
          if (element != null) {
            this.libDirs[index++] = new File(element);
          }
        }
      }
      return this.libDirs;
    }
docs: Returns library path.