diff -ruwN source/configure source-new/configure --- source/configure 2019-07-08 12:03:50.000000000 -0600 +++ source-new/configure 2019-07-16 21:25:29.432607847 -0600 @@ -3261,6 +3261,9 @@ *-*-cygwin*) ac_sys_system=Cygwin ;; + *-*-redox*) + ac_sys_system=Redox + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -3293,7 +3296,7 @@ if test "$cross_compiling" = yes; then case "$host" in - *-*-linux*) + *-*-linux*|*-*-redox*) case "$host_cpu" in arm*) _host_cpu=arm diff -ruwN source/Lib/distutils/util.py source-new/Lib/distutils/util.py --- source/Lib/distutils/util.py 2019-07-08 12:03:50.000000000 -0600 +++ source-new/Lib/distutils/util.py 2019-07-16 22:07:35.994862914 -0600 @@ -131,7 +131,7 @@ if not os.path.isabs(pathname): return os.path.join(new_root, pathname) else: - return os.path.join(new_root, pathname[1:]) + return os.path.join(new_root, pathname.lstrip('/')) elif os.name == 'nt': (drive, path) = os.path.splitdrive(pathname) diff -ruwN source/Modules/main.c source-new/Modules/main.c --- source/Modules/main.c 2019-07-08 12:03:50.000000000 -0600 +++ source-new/Modules/main.c 2019-07-16 21:46:53.037866142 -0600 @@ -56,6 +56,16 @@ } \ } while (0) +#if defined(__redox__) +wchar_t * wcstok(wchar_t * wcs, const wchar_t * delimiters, wchar_t ** ptr) { + return NULL; +} + +long wcstol(const wchar_t *restrict nptr, wchar_t **restrict endptr, int base) { + return 0; +} +#endif + #ifdef MS_WINDOWS #define WCSTOK wcstok_s #else diff -ruwN source/Python/pathconfig.c source-new/Python/pathconfig.c --- source/Python/pathconfig.c 2019-07-08 12:03:50.000000000 -0600 +++ source-new/Python/pathconfig.c 2019-07-16 21:55:34.549726910 -0600 @@ -5,6 +5,10 @@ #include "internal/pystate.h" #include +#if defined(__redox__) +wchar_t * wcstok(wchar_t * wcs, const wchar_t * delimiters, wchar_t ** ptr); +#endif + #ifdef __cplusplus extern "C" { #endif diff -ruwN source/Python/pytime.c source-new/Python/pytime.c --- source/Python/pytime.c 2019-07-08 12:03:50.000000000 -0600 +++ source-new/Python/pytime.c 2019-07-16 21:36:53.233119225 -0600 @@ -7,6 +7,19 @@ #include /* mach_absolute_time(), mach_timebase_info() */ #endif +#if defined(__redox__) +int clock_getres(clockid_t clk_id, struct timespec *res) { + if (res) { + res->tv_sec = 0; + res->tv_nsec = 1000; + return 0; + } else { + errno = EFAULT; + return -1; + } +} +#endif + #define _PyTime_check_mul_overflow(a, b) \ (assert(b > 0), \ (_PyTime_t)(a) < _PyTime_MIN / (_PyTime_t)(b) \