## PKG_ADD
## add paths of io pkg java jars. 

## First check if Java support was built in anyway
if (octave_config_info ("features").JAVA)
  ## OK, Java built-in / supported. Check environment var
  userdir = getenv ("OCTAVE_IO_JAVALIBS");
  if (ispc)
    homedir = getenv ("USERPROFILE");
    # (MinGW) assume jar files are in /lib/java 
    libdir = octave_config_info ("libdir");
# elseif (ismac)
    ## Who knows where OSX keeps e.g., Apache POI stuff? if it does at all...
  elseif (isunix)
    homedir = tilde_expand ("~");
    ## On linux spreadsheet .jars are often found somewhere in /usr/share/java
    libdir = "/usr/share";
  else
    ## Set libdir to "." to avoid searching in a root dir
    libdir = ".";
  endif

  ## Find LibreOffice
  ooopath = '/usr/share/libreoffice';
  if exist ("/usr/share/libreoffice/program", "dir") ...
          && exist ("/usr/share/libreoffice/program/classes/unoil.jar", "file") ...
          && exist ("/usr/share/java/jurt.jar", "file") ...
          && exist ("/usr/share/java/juh.jar", "file") ...
          && exist ("/usr/share/java/unoloader.jar", "file") ...
          && exist ("/usr/share/java/ridl.jar", "file")
      javaaddpath /usr/share/libreoffice/program
      javaaddpath /usr/share/libreoffice/program/classes/unoil.jar
      javaaddpath /usr/share/java/jurt.jar
      javaaddpath /usr/share/java/juh.jar
      javaaddpath /usr/share/java/unoloader.jar
      javaaddpath /usr/share/java/ridl.jar
  endif

  ## One big try-catch to circumvent possible problems on Linux
  try
    if (! isempty (userdir))
      if (strcmpi (userdir, "no") || strcmpi (userdir, "false") || strcmpi (userdir, "0"))
        ## Do not load Java class libs .jar files). First clean up
        clear libdir spr_status userdir homedir ;
        return
      endif
      ## First allow some time for io package to be fully loaded
      pause (0.25);
      ## Check first for user-, then system supplied jars
      if (exist (userdir) == 7)
        ## Userdir is a subdir
        spr_status = chk_spreadsheet_support (userdir, 0, ooopath);
      endif
      ## Also try user's home directory
    else
      ## Allow some time for io package to be fully loaded
      pause (0.25);
    endif
    ## Try <HOME>/java
    spr_status = chk_spreadsheet_support ([ homedir filesep "java" ], 0, ooopath);
    ## Only then search for system-supplied jars
    spr_status = chk_spreadsheet_support ([ libdir filesep "java" ], 0, ooopath);
  catch
    warning ("(Automatic loading of spreadsheet I/O Java classlibs failed)\n");
  end_try_catch
endif
## Clean up
clear libdir spr_status userdir homedir ooopath;
