Index: pypy.git/rpython/translator/platform/__init__.py =================================================================== --- pypy.git.orig/rpython/translator/platform/__init__.py +++ pypy.git/rpython/translator/platform/__init__.py @@ -331,6 +331,13 @@ elif sys.platform == 'cygwin': host_factory = Cygwin else: host_factory = Cygwin64 +elif sys.platform.startswith('sunos'): + from rpython.translator.platform.linux import Linux, LinuxPIC + import platform + if platform.architecture()[0] == '64bit': + host_factory = LinuxPIC + else: + host_factory = Linux else: raise ValueError('unknown sys.platform "%s"', sys.platform) Index: pypy.git/rpython/rlib/rposix.py =================================================================== --- pypy.git.orig/rpython/rlib/rposix.py +++ pypy.git/rpython/rlib/rposix.py @@ -251,7 +251,7 @@ else: 'sched.h', 'grp.h', 'dirent.h', 'sys/stat.h', 'fcntl.h', 'signal.h', 'sys/utsname.h', _ptyh] - if sys.platform.startswith('linux') or sys.platform.startswith('gnu'): + if sys.platform.startswith('linux') or sys.platform.startswith('gnu') or sys.platform.startswith('sunos'): includes.append('sys/sysmacros.h') if sys.platform.startswith('freebsd') or sys.platform.startswith('openbsd'): includes.append('sys/ttycom.h') Index: pypy.git/pypy/config/pypyoption.py =================================================================== --- pypy.git.orig/pypy/config/pypyoption.py +++ pypy.git/pypy/config/pypyoption.py @@ -80,13 +80,6 @@ if sys.platform == "win32": # The _locale module is needed by site.py on Windows default_modules.add("_locale") -if sys.platform == "sunos5": - working_modules.remove('fcntl') # LOCK_NB not defined - working_modules.remove("_minimal_curses") - working_modules.remove("termios") - if "_cppyy" in working_modules: - working_modules.remove("_cppyy") # depends on ctypes - #if sys.platform.startswith("linux"): # _mach = os.popen('uname -m', 'r').read().strip() # if _mach.startswith(...):