Here is the first draft of the mods
It passes the testSuite on Darwin
E
P.S.
There are some more, I will keep researching
[enrico@enrico-imac ooRexx.svn.src]$svn diff
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 11796)
+++ CMakeLists.txt (working copy)
@@ -344,7 +344,20 @@
set (ORX_SYSLIB_PTHREAD pthread)
endif ()
+
# Check header files and functions. These are all defined to the config.h file.
+check_include_file(alloca.h HAVE_ALLOCA_H)
+check_include_file(fnmatch.h HAVE_FNMATCH_H)
+check_include_file(sched.h HAVE_SCHED_H)
+check_include_file(sys/sched.h HAVE_SYS_SCHED_H)
+check_include_file(sys/time.h HAVE_SYS_TIME_H)
+check_include_file(time.h HAVE_TIME_H)
+check_include_file(utime.h HAVE_UTIME_H)
+check_include_file(wordexp.h HAVE_WORDEXP_H)
+
+check_function_exists(wordexp HAVE_WORDEXP)
+check_function_exists(euidaccess HAVE_EUIDACCESS)
+
check_include_file(ctype.h HAVE_CTYPE_H)
check_include_file(float.h HAVE_FLOAT_H)
check_include_file(limits.h HAVE_LIMITS_H)
@@ -360,7 +373,6 @@
check_include_file(stdio.h HAVE_STDIO_H)
check_include_file(stdlib.h HAVE_STDLIB_H)
check_include_file(string.h HAVE_STRING_H)
-check_include_file(time.h HAVE_TIME_H)
check_function_exists(vprintf HAVE_VPRINTF)
check_include_file(fcntl.h HAVE_FCNTL_H)
check_function_exists(nanosleep HAVE_NANOSLEEP)
@@ -411,10 +423,10 @@
return 0;}"
HAVE_DLADDR)
check_symbol_exists(_PC_CASE_SENSITIVE unistd.h HAVE_PC_CASE_SENSITIVE)
+
check_symbol_exists(FNM_CASEFOLD fnmatch.h HAVE_FNM_CASEFOLD)
check_symbol_exists(KDMKTONE linux/kd.h HAVE_KDMKTONE)
check_include_file(pwd.h HAVE_PWD_H)
- check_include_file(sched.h HAVE_SCHED_H)
check_function_exists(sighold HAVE_SIGHOLD)
check_function_exists(strdup HAVE_STRDUP)
check_include_file(strings.h HAVE_STRINGS_H)
@@ -428,7 +440,6 @@
check_include_file(sys/socket.h HAVE_SYS_SOCKET_H)
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
check_include_file(sys/syscall.h HAVE_SYS_SYSCALL_H)
- check_include_file(sys/time.h HAVE_SYS_TIME_H)
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
check_include_file(sys/utsname.h HAVE_SYS_UTSNAME_H)
check_include_file(sys/wait.h HAVE_SYS_WAIT_H)
Index: common/platform/unix/SysSemaphore.cpp
===================================================================
--- common/platform/unix/SysSemaphore.cpp (revision 11796)
+++ common/platform/unix/SysSemaphore.cpp (working copy)
@@ -50,16 +50,26 @@
#include <pthread.h>
#include <memory.h>
#include <stdio.h>
-#include <sys/time.h>
-#ifdef AIX
- #include <sys/sched.h>
- #include <time.h>
+
+#if defined( HAVE_SYS_SCHED_H )
+# include <sys/sched.h>
#endif
+#if defined( HAVE_SCHED_H )
+# include <sched.h>
+#endif
-#if defined(OPSYS_SUN) || defined(__HAIKU__)
- #include <sched.h>
+#if defined( HAVE_SYS_TIME_H )
+# include <sys/time.h>
#endif
+#if defined( HAVE_TIME_H )
+# include <time.h>
+#endif
+
+#if defined( HAVE_UTIME_H )
+#include <utime.h>
+#endif
+
#include <errno.h>
#include "SysSemaphore.hpp"
Index: config.h.in.cmake
===================================================================
--- config.h.in.cmake (revision 11796)
+++ config.h.in.cmake (working copy)
@@ -1,5 +1,37 @@
/* config.h.in. Generated from CMake. */
+/* Define to 1 if you have the <sys/sched.h> header file. */
+#cmakedefine HAVE_SYS_SCHED_H
+
+/* Define to 1 if you have the <sched.h> header file. */
+#cmakedefine HAVE_SCHED_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#cmakedefine HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <time.h> header file. */
+#cmakedefine HAVE_TIME_H
+
+/* Define to 1 if you have the <utime.h> header file. */
+#cmakedefine HAVE_UTIME_H
+
+/* Define to 1 if you have the <alloca.h> header file. */
+#cmakedefine HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <fnmatch.h> header file. */
+#cmakedefine HAVE_FNMATCH_H
+
+/* Define to 1 if you have the <wordexp.h> header file. */
+#cmakedefine HAVE_WORDEXP_H
+
+
+/* Define to 1 if you have the `wordexp' function. */
+#cmakedefine HAVE_WORDEXP
+
+/* Define to 1 if you have the `euidaccess' function. */
+#cmakedefine HAVE_EUIDACCESS
+
+
/* Define to 1 if you have the <attr/xattr.h> header file. */
#cmakedefine HAVE_ATTR_XATTR_H
@@ -97,7 +129,7 @@
#cmakedefine HAVE_DLADDR
/* Define to 1 if _PC_HAVE_CASE_SENSITIVE is a valid value */
-#cmakedefine HAVE_PC_HAVE_CASE_SENSITIVE
+#cmakedefine HAVE_PC_CASE_SENSITIVE
/* Define to 1 if FNM_CASEFOLD is a valid value */
#cmakedefine HAVE_FNM_CASEFOLD
@@ -108,9 +140,6 @@
/* Define to 1 if you have the <pwd.h> header file. */
#cmakedefine HAVE_PWD_H
-/* Define to 1 if you have the <sched.h> header file. */
-#cmakedefine HAVE_SCHED_H
-
/* Define to 1 if you have the `setlocale' function. */
#cmakedefine HAVE_SETLOCALE
@@ -171,8 +200,6 @@
/* Define to 1 if you have the <sys/syscall.h> header file. */
#cmakedefine HAVE_SYS_SYSCALL_H
-/* Define to 1 if you have the <sys/time.h> header file. */
-#cmakedefine HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#cmakedefine HAVE_SYS_TYPES_H
@@ -183,9 +210,6 @@
/* Define to 1 if you have the <sys/wait.h> header file. */
#cmakedefine HAVE_SYS_WAIT_H
-/* Define to 1 if you have the <time.h> header file. */
-#cmakedefine HAVE_TIME_H
-
/* Define to 1 if union semun is defined in sys/sem.h */
#cmakedefine HAVE_UNION_SEMUN
Index: extensions/platform/unix/rxunixsys/rxunixsys.cpp
===================================================================
--- extensions/platform/unix/rxunixsys/rxunixsys.cpp (revision 11796)
+++ extensions/platform/unix/rxunixsys/rxunixsys.cpp (working copy)
@@ -983,7 +983,7 @@
}
-#if !defined (AIX) && !defined (__APPLE__)
+#ifdef HAVE_EUIDACCESS
/**
* Method: SysEuidaccess
*
@@ -1108,7 +1108,7 @@
*
* @return Array of file names.
*/
-#if !defined(OPENBSD)
+#ifdef HAVE_WORDEXP
RexxRoutine1(RexxObjectPtr,
SysWordexp,
CSTRING, inexp)
@@ -1594,7 +1594,7 @@
*
* @param salt The salt: two characters for the default DES encryption,
* other salt lengths may be available depending on the Unix
platform
- * for other encryption algorithms (MD5, Blowfish, SHA-256,
SHA-512)
+ * for other encryption algorithms (MD5, Blowfish, SHA-256,
SHA-512)
*
* @return Encrypted string.
*/
@@ -1766,14 +1766,18 @@
REXX_TYPED_ROUTINE(SysGetgrgid, SysGetgrgid),
REXX_TYPED_ROUTINE(SysStat, SysStat),
REXX_TYPED_ROUTINE(SysAccess, SysAccess),
-#if !defined (AIX) && !defined (__APPLE__)
+
+#ifdef HAVE_EUIDACCESS
REXX_TYPED_ROUTINE(SysEuidaccess, SysEuidaccess),
#endif
+
REXX_TYPED_ROUTINE(SysGetservbyname, SysGetservbyname),
REXX_TYPED_ROUTINE(SysGetservbyport, SysGetservbyport),
-#if !defined(OPENBSD)
+
+#ifdef HAVE_WORDEXP
REXX_TYPED_ROUTINE(SysWordexp, SysWordexp),
-#endif
+#endif
+
#ifdef HAVE_XATTR_H
REXX_TYPED_ROUTINE(SysSetxattr, SysSetxattr),
REXX_TYPED_ROUTINE(SysGetxattr, SysGetxattr),
@@ -1780,6 +1784,7 @@
REXX_TYPED_ROUTINE(SysListxattr, SysListxattr),
REXX_TYPED_ROUTINE(SysRemovexattr, SysRemovexattr),
#endif
+
REXX_TYPED_ROUTINE(SysGetsizeofptr, SysGetsizeofptr),
REXX_TYPED_ROUTINE(SysGethostname, SysGethostname),
REXX_TYPED_ROUTINE(SysChmod, SysChmod),
Index: extensions/platform/unix/rxunixsys/rxunixsys.h
===================================================================
--- extensions/platform/unix/rxunixsys/rxunixsys.h (revision 11796)
+++ extensions/platform/unix/rxunixsys/rxunixsys.h (working copy)
@@ -57,14 +57,25 @@
#include <unistd.h>
#include <pwd.h>
#include <grp.h>
-#include <time.h>
+
+#if defined( HAVE_SYS_TIME_H )
+# include <sys/time.h>
+#endif
+
+#if defined( HAVE_TIME_H )
+# include <time.h>
+#endif
+
#include <netdb.h>
-#if !defined(OPENBSD)
+
+#ifdef HAVE_WORDEXP_H
#include <wordexp.h>
#endif
-#if !defined(AIX) && !defined(OPENBSD)
+
+#ifdef HAVE_ALLOCA_H
#include <alloca.h>
#endif
+
#include <pthread.h>
#include <errno.h>
#include <dirent.h>
@@ -91,6 +102,6 @@
/* Global variables
*/
/*----------------------------------------------------------------------------*/
-
+
#endif /* ORXUNIXAPI_H */
-
+
Index: interpreter/platform/unix/SysActivity.hpp
===================================================================
--- interpreter/platform/unix/SysActivity.hpp (revision 11796)
+++ interpreter/platform/unix/SysActivity.hpp (working copy)
@@ -59,17 +59,22 @@
#if defined( HAVE_SYS_SCHED_H )
# include <sys/sched.h>
#endif
+#if defined( HAVE_SCHED_H )
+# include <sched.h>
+#endif
+#if defined( HAVE_SYS_TIME_H )
+# include <sys/time.h>
+#endif
+
#if defined( HAVE_TIME_H )
# include <time.h>
#endif
-#if defined( HAVE_SCHED_H )
-# include <sched.h>
+#if defined( HAVE_UTIME_H )
+#include <utime.h>
#endif
-#include <utime.h>
-
class Activity;
class SysActivity
Index: interpreter/platform/unix/SysFileSystem.cpp
===================================================================
--- interpreter/platform/unix/SysFileSystem.cpp (revision 11796)
+++ interpreter/platform/unix/SysFileSystem.cpp (working copy)
@@ -56,10 +56,19 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
+
+#if defined( HAVE_UTIME_H )
#include <utime.h>
+#endif
+
#include <pwd.h>
#include <errno.h>
+
+#if defined( HAVE_FNMATCH_H )
#include <fnmatch.h>
+#endif
+
+
#include "SysFileSystem.hpp"
#include "Utilities.hpp"
#include "ActivityManager.hpp"
[enrico@enrico-imac ooRexx.svn.src]$
> On 20 Feb 2019, at 20:14, Erich Steinböck <[email protected]> wrote:
>
> As soon I find all the things to fix
> I will email the svn diff report with some suggested modifications
> Sounds great - waiting for the patch
>
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel