view liboctave/system/lo-sysdep.h @ 21949:baeffde5c87d

fix build for Windows systems * file-stat.cc, oct-syscalls.cc, syscalls.cc: Include <ctime>. * sysdep.cc: Include <shellapi.h> for Windows. * lo-sysdep.cc: Include <fcntl.h> and <io.h> for Windows. * wait-wrappers.c (WIFCONTINUED): Define if sys/wait.h does not. * signal-wrappers.c (octave_kill_wrapper): Return -1 if kill is missing. * main.in.cc (prepare_spawn): Move to unistd-wrappers.c. (octave_exec): Eliminate special case for Windows. (main): Display message if exec fails. * unistd-wrappers.h, fcntl-wrappers.h, lo-sysdep.h: Include <sys/types.h> * unistd-wrappers.c (octave_execv_wrapper): Handle Windows implementation here. Free sanitized command vector if spawnv fails. (octave_getegid_wrapper): Return -1 if getegid is missing. (octave_geteuid_wrapper): Return -1 if geteuid is missing. (octave_getgid_wrapper): Return -1 if getgid is missing. (octave_getpgrp_wrapper): Return -1 if getpgrp is missing. (octave_getpid_wrapper): Return -1 if getpid is missing. (octave_getppid_wrapper): Return -1 if getppid is missing. (octave_getuid_wrapper): Return -1 if getuid is missing. (octave_setsid_wrapper): Return -1 if setsid is missing. * configure.ac: Check for setsid. * lo-sysdep.cc (win_popen2): Move to octave-popen2.c. * lo-sysdep.h (win_popen2): Delete decl. (octave_popen2): Delete deprecated function pointer. * octave-popen2, octave-popen2.c (octave_popen2): New arg, ERRMSG. Handle Windows implemenation here. (make_command_string): New static function. * oct-syscalls.cc (octave::sys::popen2): Eliminate special case for Windows. Defined deprecated inline functions for old octave_popen2 interface. * quit.h: Don't include <windows.h>. (w32_sigint_init, w32_raise_final, w32_raise, w32_in_main_thread): Delete decls of undefined and unused functions. * toplev.cc: Include <windows.h>. * sysdep.cc: Include <windows.h> before <tlhelp32.h> and <shellapi.h>.
author John W. Eaton <jwe@octave.org>
date Sat, 18 Jun 2016 10:55:49 -0400
parents 590c39b94618
children bac0d6f07a3e
line wrap: on
line source

/*

Copyright (C) 1996-2015 John W. Eaton

This file is part of Octave.

Octave 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.

Octave 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 Octave; see the file COPYING.  If not, see
<http://www.gnu.org/licenses/>.

*/

#if ! defined (octave_lo_sysdep_h)
#define octave_lo_sysdep_h 1

#include "octave-config.h"

#include <string>

#include <sys/types.h>

#include "lo-ieee.h"

class string_vector;

namespace octave
{
  namespace sys
  {
    extern std::string getcwd (void);

    extern int chdir (const std::string&);
  }
}

#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)

OCTAVE_DEPRECATED ("use 'octave::sys::getcwd' instead")
const auto octave_getcwd = octave::sys::getcwd;

OCTAVE_DEPRECATED ("use 'octave::sys::chdir' instead")
const auto octave_chdir = octave::sys::chdir;

#endif

#endif