diff --git a/Cargo.lock b/Cargo.lock index 055f5c144..40dc8fa18 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,9 +68,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a03e93e97a28fbc9f42fbc5ba0886a3c67eb637b476dbee711f80a6ffe8223d" +checksum = "ecc78c299ae753905840c5d3ba036c51f61ce5a98a83f98d9c9d29dffd427f71" [[package]] name = "async-io" @@ -123,15 +123,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" -dependencies = [ - "byteorder", -] - [[package]] name = "base64" version = "0.13.0" @@ -298,11 +289,11 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "charset" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f426e64df1c3de26cbf44593c6ffff5dbfd43bbf9de0d075058558126b3fc73" +checksum = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46" dependencies = [ - "base64 0.10.1", + "base64", "encoding_rs", ] @@ -1017,7 +1008,7 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ee6e1ca1c8396da58f8128176f6980dd57bec84c8670a479519d3655f2d6734" dependencies = [ - "base64 0.13.0", + "base64", "charset", "quoted_printable", ] @@ -1033,7 +1024,7 @@ name = "maturin" version = "0.12.2" dependencies = [ "anyhow", - "base64 0.13.0", + "base64", "bytesize", "cargo_metadata", "cbindgen", @@ -1322,9 +1313,9 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "platform-info" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ea9cd21d89bffb387b6c7363d23bead0807be9de676c671b474dd29e7436d3" +checksum = "84332c4de03d567e6f5ea143e35e63ceed534a34f768218aabf57879d7edf2a0" dependencies = [ "libc", "winapi", @@ -1547,7 +1538,7 @@ version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66d2927ca2f685faf0fc620ac4834690d29e7abb153add10f5812eef20b5e280" dependencies = [ - "base64 0.13.0", + "base64", "bytes", "encoding_rs", "futures-core", @@ -1584,7 +1575,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87ecf2ba387f446155e26796aabb727e9ae1427dd13ac9cc21773a3fbda19d77" dependencies = [ - "base64 0.13.0", + "base64", "charset", "quoted_printable", ] @@ -1626,7 +1617,7 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ - "base64 0.13.0", + "base64", "log", "ring", "sct", @@ -1635,9 +1626,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" [[package]] name = "same-file" diff --git a/Cargo.toml b/Cargo.toml index 85c3d0f4b..423e2af7c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ flate2 = "1.0.18" goblin = "0.4.3" human-panic = { version = "1.0.3", optional = true } keyring = { version = "0.10.4", optional = true } -platform-info = "0.1.0" +platform-info = "0.2.0" pretty_env_logger = { version = "0.4.0", optional = true } regex = "1.4.5" reqwest = { version = "0.11.2", optional = true, default-features = false, features = ["blocking", "multipart"] } diff --git a/Changelog.md b/Changelog.md index b302dc700..ad5bcd39f 100644 --- a/Changelog.md +++ b/Changelog.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 wheels on linux in [#709](https://github.com/PyO3/maturin/pull/709) * Revert back to Rust 2018 edition in [#710](https://github.com/PyO3/maturin/pull/710) * Warn missing `cffi` package dependency in [#711](https://github.com/PyO3/maturin/pull/711) +* Add support for Illumos in [#712](https://github.com/PyO3/maturin/pull/712) ## [0.12.2] - 2021-11-26 diff --git a/src/python_interpreter.rs b/src/python_interpreter.rs index 81f347dec..df1a2455e 100644 --- a/src/python_interpreter.rs +++ b/src/python_interpreter.rs @@ -380,8 +380,9 @@ impl PythonInterpreter { pub fn get_tag(&self, platform_tag: PlatformTag, universal2: bool) -> String { // Restrict `sysconfig.get_platform()` usage to Windows and non-portable Linux only for now // so we don't need to deal with macOS deployment target - let use_sysconfig_platform = - self.target.is_windows() || (self.target.is_linux() && !platform_tag.is_portable()); + let use_sysconfig_platform = self.target.is_windows() + || (self.target.is_linux() && !platform_tag.is_portable()) + || self.target.is_illumos(); let platform = if use_sysconfig_platform { self.platform .clone() diff --git a/src/target.rs b/src/target.rs index f96f35e95..c6c7c1242 100644 --- a/src/target.rs +++ b/src/target.rs @@ -20,6 +20,7 @@ enum Os { FreeBsd, NetBsd, OpenBsd, + Illumos, } impl fmt::Display for Os { @@ -31,6 +32,7 @@ impl fmt::Display for Os { Os::FreeBsd => write!(f, "FreeBSD"), Os::NetBsd => write!(f, "NetBSD"), Os::OpenBsd => write!(f, "OpenBSD"), + Os::Illumos => write!(f, "Illumos"), } } } @@ -83,6 +85,7 @@ fn get_supported_architectures(os: &Os) -> Vec { Arch::X86_64, ], Os::OpenBsd => vec![Arch::X86, Arch::X86_64, Arch::Aarch64], + Os::Illumos => vec![Arch::X86, Arch::X86_64], } } @@ -123,6 +126,7 @@ impl Target { target_lexicon::OperatingSystem::Netbsd => Os::NetBsd, target_lexicon::OperatingSystem::Freebsd => Os::FreeBsd, target_lexicon::OperatingSystem::Openbsd => Os::OpenBsd, + target_lexicon::OperatingSystem::Illumos => Os::Illumos, unsupported => bail!("The operating system {:?} is not supported", unsupported), }; @@ -190,6 +194,40 @@ impl Target { arch ) } + (Os::Illumos, Arch::X86) + | (Os::Illumos, Arch::X86_64) => { + let info = match PlatformInfo::new() { + Ok(info) => info, + Err(error) => panic!("{}", error), + }; + let mut release = info.release().replace(".", "_").replace("-", "_"); + let mut arch = info.machine().replace(' ', "_").replace('/', "_"); + + let mut os = self.os.to_string().to_ascii_lowercase(); + // See https://github.com/python/cpython/blob/46c8d915715aa2bd4d697482aa051fe974d440e1/Lib/sysconfig.py#L722-L730 + if let Some((major, other)) = release.split_once('_') { + let major_ver: u64 = major.parse().expect("illumos major version is not a number"); + if major_ver >= 5 { + // SunOS 5 == Solaris 2 + os = "solaris".to_string(); + release = format!("{}_{}", major_ver - 3, other); + let bitness = match self.arch { + Arch::X86_64 => "64bit".to_string(), + Arch::X86 => "32bit".to_string(), + _ => panic!( + "unsupported architecture should not have reached get_platform_tag()" + ), + }; + arch = format!("{}_{}", arch, bitness); + } + } + format!( + "{}_{}_{}", + os, + release, + arch + ) + } (Os::Linux, _) => { let arch = if self.cross_compiling { self.arch.to_string() @@ -234,6 +272,7 @@ impl Target { Os::FreeBsd => "freebsd", Os::NetBsd => "netbsd", Os::OpenBsd => "openbsd", + Os::Illumos => "sunos", } } @@ -269,7 +308,7 @@ impl Target { pub fn is_unix(&self) -> bool { match self.os { Os::Windows => false, - Os::Linux | Os::Macos | Os::FreeBsd | Os::NetBsd | Os::OpenBsd => true, + Os::Linux | Os::Macos | Os::FreeBsd | Os::NetBsd | Os::OpenBsd | Os::Illumos => true, } } @@ -298,6 +337,11 @@ impl Target { self.os == Os::Windows } + /// Returns true if the current platform is illumos + pub fn is_illumos(&self) -> bool { + self.os == Os::Illumos + } + /// Returns true if the current platform's target env is Musl pub fn is_musl_target(&self) -> bool { matches!( diff --git a/sysconfig/cpython-omnios-3.9.txt b/sysconfig/cpython-omnios-3.9.txt new file mode 100644 index 000000000..8e30c8277 --- /dev/null +++ b/sysconfig/cpython-omnios-3.9.txt @@ -0,0 +1,720 @@ +Platform: "solaris-2.11-i86pc.64bit" +Python version: "3.9" +Current installation scheme: "posix_prefix" + +Paths: + data = "/usr" + include = "/usr/include/python3.9" + platinclude = "/usr/include/python3.9" + platlib = "/usr/lib/python3.9/site-packages" + platstdlib = "/usr/lib/python3.9" + purelib = "/usr/lib/python3.9/site-packages" + scripts = "/usr/bin" + stdlib = "/usr/lib/python3.9" + +Variables: + ABIFLAGS = "" + AC_APPLE_UNIVERSAL_BUILD = "0" + AIX_BUILDDATE = "0" + AIX_GENUINE_CPLUSPLUS = "0" + ALT_SOABI = "0" + ANDROID_API_LEVEL = "0" + AR = "ar" + ARFLAGS = "rcs" + BASECFLAGS = "-Wno-unused-result -Wsign-compare" + BASECPPFLAGS = "" + BASEMODLIBS = "" + BINDIR = "/usr/bin" + BINLIBDEST = "/usr/lib/amd64/python3.9" + BLDLIBRARY = "-Wl,-R,/usr/lib/amd64 -L. -lpython3.9" + BLDSHARED = "gcc -m64 -shared -m64" + BUILDEXE = "" + BUILDPYTHON = "python" + BUILD_GNU_TYPE = "x86_64-pc-solaris2.11" + BYTESTR_DEPS = "\" + CC = "gcc -m64" + CCSHARED = "-fPIC" + CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -fno-aggressive-loop-optimizations -fstack-protector-strong -gdwarf-2 -gstrict-dwarf -m64 -D_REENTRANT" + CFLAGSFORSHARED = "-fPIC" + CFLAGS_ALIASING = "" + CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in" + CONFIGURE_CFLAGS = "-O2 -fno-aggressive-loop-optimizations -fstack-protector-strong -gdwarf-2 -gstrict-dwarf -m64 -D_REENTRANT" + CONFIGURE_CFLAGS_NODIST = "-std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden" + CONFIGURE_CPPFLAGS = "-I/usr/include/ncurses -D_LARGEFILE64_SOURCE -DSKIP_ZIP_PATH" + CONFIGURE_LDFLAGS = "-m64" + CONFIGURE_LDFLAGS_NODIST = "" + CONFIG_ARGS = "'--prefix=/usr' '--sysconfdir=/etc' '--includedir=/usr/include' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--libdir=/usr/lib/amd64' '--libexecdir=/usr/libexec/amd64' '--enable-shared' '--with-dtrace' '--with-system-ffi' '--with-system-expat' '--enable-ipv6' '--without-ensurepip' '--enable-optimizations' 'ac_cv_func_getentropy=no' 'CC=gcc -m64' 'CFLAGS=-O2 -fno-aggressive-loop-optimizations -fstack-protector-strong -gdwarf-2 -gstrict-dwarf -m64' 'LDFLAGS= -m64' 'CPPFLAGS= -I/usr/include/ncurses -D_LARGEFILE64_SOURCE -DSKIP_ZIP_PATH ' 'PKG_CONFIG_PATH='" + CONFINCLUDEDIR = "/usr/include" + CONFINCLUDEPY = "/usr/include/python3.9" + COREPYTHONPATH = "" + COVERAGE_INFO = "/data/omnios-build/omniosorg/r151040/_build/Python-3.9.8/Python-3.9.8/coverage.info" + COVERAGE_REPORT = "/data/omnios-build/omniosorg/r151040/_build/Python-3.9.8/Python-3.9.8/lcov-report" + COVERAGE_REPORT_OPTIONS = "--no-branch-coverage --title "CPython lcov report"" + CPPFLAGS = "-I. -I./Include -I/usr/include/ncurses -D_LARGEFILE64_SOURCE -DSKIP_ZIP_PATH" + CXX = "g++" + DESTDIRS = "/usr /usr/lib/amd64 /usr/lib/amd64/python3.9 /usr/lib/amd64/python3.9/lib-dynload" + DESTLIB = "/usr/lib/python3.9" + DESTPATH = "" + DESTSHARED = "/usr/lib/amd64/python3.9/lib-dynload" + DFLAGS = "-64" + DIRMODE = "755" + DIST = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy" + DISTDIRS = "Include Lib Misc Ext-dummy" + DISTFILES = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in" + DLINCLDIR = "." + DLLLIBRARY = "" + DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 = "0" + DOUBLE_IS_BIG_ENDIAN_IEEE754 = "0" + DOUBLE_IS_LITTLE_ENDIAN_IEEE754 = "1" + DTRACE = "/usr/sbin/dtrace" + DTRACE_DEPS = "\" + DTRACE_HEADERS = "Include/pydtrace_probes.h" + DTRACE_OBJS = "Python/pydtrace.o" + DYNLOADFILE = "dynload_shlib.o" + ENABLE_IPV6 = "1" + ENSUREPIP = "no" + EXE = "" + EXEMODE = "755" + EXPORTSFROM = "" + EXPORTSYMS = "" + EXTRATESTOPTS = "" + EXTRA_CFLAGS = "" + EXT_SUFFIX = ".cpython-39.so" + FILEMODE = "644" + FLOAT_WORDS_BIGENDIAN = "0" + FLOCK_NEEDS_LIBBSD = "0" + GETPGRP_HAVE_ARG = "0" + GITBRANCH = "" + GITTAG = "" + GITVERSION = "" + GNULD = "no" + HAVE_ACCEPT4 = "1" + HAVE_ACOSH = "1" + HAVE_ADDRINFO = "1" + HAVE_ALARM = "1" + HAVE_ALIGNED_REQUIRED = "0" + HAVE_ALLOCA_H = "1" + HAVE_ALTZONE = "1" + HAVE_ASINH = "1" + HAVE_ASM_TYPES_H = "0" + HAVE_ATANH = "1" + HAVE_BIND_TEXTDOMAIN_CODESET = "1" + HAVE_BLUETOOTH_BLUETOOTH_H = "0" + HAVE_BLUETOOTH_H = "0" + HAVE_BROKEN_MBSTOWCS = "0" + HAVE_BROKEN_NICE = "0" + HAVE_BROKEN_PIPE_BUF = "0" + HAVE_BROKEN_POLL = "0" + HAVE_BROKEN_POSIX_SEMAPHORES = "0" + HAVE_BROKEN_PTHREAD_SIGMASK = "0" + HAVE_BROKEN_SEM_GETVALUE = "0" + HAVE_BROKEN_UNSETENV = "0" + HAVE_BUILTIN_ATOMIC = "1" + HAVE_CHFLAGS = "0" + HAVE_CHOWN = "1" + HAVE_CHROOT = "1" + HAVE_CLOCK = "1" + HAVE_CLOCK_GETRES = "1" + HAVE_CLOCK_GETTIME = "1" + HAVE_CLOCK_SETTIME = "1" + HAVE_COMPUTED_GOTOS = "1" + HAVE_CONFSTR = "1" + HAVE_CONIO_H = "0" + HAVE_COPYSIGN = "1" + HAVE_COPY_FILE_RANGE = "0" + HAVE_CRYPT_H = "1" + HAVE_CRYPT_R = "0" + HAVE_CTERMID = "1" + HAVE_CTERMID_R = "0" + HAVE_CURSES_FILTER = "1" + HAVE_CURSES_H = "1" + HAVE_CURSES_HAS_KEY = "1" + HAVE_CURSES_IMMEDOK = "1" + HAVE_CURSES_IS_PAD = "1" + HAVE_CURSES_IS_TERM_RESIZED = "1" + HAVE_CURSES_RESIZETERM = "1" + HAVE_CURSES_RESIZE_TERM = "1" + HAVE_CURSES_SYNCOK = "1" + HAVE_CURSES_TYPEAHEAD = "1" + HAVE_CURSES_USE_ENV = "1" + HAVE_CURSES_WCHGAT = "1" + HAVE_DECL_ISFINITE = "1" + HAVE_DECL_ISINF = "1" + HAVE_DECL_ISNAN = "1" + HAVE_DECL_RTLD_DEEPBIND = "0" + HAVE_DECL_RTLD_GLOBAL = "1" + HAVE_DECL_RTLD_LAZY = "1" + HAVE_DECL_RTLD_LOCAL = "1" + HAVE_DECL_RTLD_MEMBER = "0" + HAVE_DECL_RTLD_NODELETE = "1" + HAVE_DECL_RTLD_NOLOAD = "1" + HAVE_DECL_RTLD_NOW = "1" + HAVE_DECL_TZNAME = "1" + HAVE_DEVICE_MACROS = "1" + HAVE_DEV_PTC = "0" + HAVE_DEV_PTMX = "1" + HAVE_DIRECT_H = "0" + HAVE_DIRENT_D_TYPE = "0" + HAVE_DIRENT_H = "1" + HAVE_DIRFD = "1" + HAVE_DLFCN_H = "1" + HAVE_DLOPEN = "1" + HAVE_DUP2 = "1" + HAVE_DUP3 = "1" + HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0" + HAVE_DYNAMIC_LOADING = "1" + HAVE_ENDIAN_H = "1" + HAVE_EPOLL = "0" + HAVE_EPOLL_CREATE1 = "1" + HAVE_ERF = "1" + HAVE_ERFC = "1" + HAVE_ERRNO_H = "1" + HAVE_EXECV = "1" + HAVE_EXPLICIT_BZERO = "1" + HAVE_EXPLICIT_MEMSET = "0" + HAVE_EXPM1 = "1" + HAVE_FACCESSAT = "1" + HAVE_FCHDIR = "1" + HAVE_FCHMOD = "1" + HAVE_FCHMODAT = "1" + HAVE_FCHOWN = "1" + HAVE_FCHOWNAT = "1" + HAVE_FCNTL_H = "1" + HAVE_FDATASYNC = "1" + HAVE_FDOPENDIR = "1" + HAVE_FDWALK = "1" + HAVE_FEXECVE = "0" + HAVE_FINITE = "1" + HAVE_FLOCK = "1" + HAVE_FORK = "1" + HAVE_FORKPTY = "0" + HAVE_FPATHCONF = "1" + HAVE_FSEEK64 = "0" + HAVE_FSEEKO = "1" + HAVE_FSTATAT = "1" + HAVE_FSTATVFS = "1" + HAVE_FSYNC = "1" + HAVE_FTELL64 = "0" + HAVE_FTELLO = "1" + HAVE_FTIME = "1" + HAVE_FTRUNCATE = "1" + HAVE_FUTIMENS = "1" + HAVE_FUTIMES = "1" + HAVE_FUTIMESAT = "1" + HAVE_GAI_STRERROR = "1" + HAVE_GAMMA = "1" + HAVE_GCC_ASM_FOR_MC68881 = "0" + HAVE_GCC_ASM_FOR_X64 = "1" + HAVE_GCC_ASM_FOR_X87 = "1" + HAVE_GCC_UINT128_T = "1" + HAVE_GETADDRINFO = "1" + HAVE_GETC_UNLOCKED = "1" + HAVE_GETENTROPY = "0" + HAVE_GETGRGID_R = "1" + HAVE_GETGRNAM_R = "1" + HAVE_GETGROUPLIST = "1" + HAVE_GETGROUPS = "1" + HAVE_GETHOSTBYNAME = "0" + HAVE_GETHOSTBYNAME_R = "1" + HAVE_GETHOSTBYNAME_R_3_ARG = "0" + HAVE_GETHOSTBYNAME_R_5_ARG = "1" + HAVE_GETHOSTBYNAME_R_6_ARG = "0" + HAVE_GETITIMER = "1" + HAVE_GETLOADAVG = "1" + HAVE_GETLOGIN = "1" + HAVE_GETNAMEINFO = "1" + HAVE_GETPAGESIZE = "1" + HAVE_GETPEERNAME = "1" + HAVE_GETPGID = "1" + HAVE_GETPGRP = "1" + HAVE_GETPID = "1" + HAVE_GETPRIORITY = "1" + HAVE_GETPWENT = "1" + HAVE_GETPWNAM_R = "1" + HAVE_GETPWUID_R = "1" + HAVE_GETRANDOM = "1" + HAVE_GETRANDOM_SYSCALL = "0" + HAVE_GETRESGID = "0" + HAVE_GETRESUID = "0" + HAVE_GETSID = "1" + HAVE_GETSPENT = "1" + HAVE_GETSPNAM = "1" + HAVE_GETWD = "1" + HAVE_GLIBC_MEMMOVE_BUG = "0" + HAVE_GRP_H = "1" + HAVE_HSTRERROR = "0" + HAVE_HTOLE64 = "1" + HAVE_HYPOT = "1" + HAVE_IEEEFP_H = "1" + HAVE_IF_NAMEINDEX = "1" + HAVE_INET_ATON = "1" + HAVE_INET_PTON = "1" + HAVE_INITGROUPS = "1" + HAVE_INTTYPES_H = "1" + HAVE_IO_H = "0" + HAVE_IPA_PURE_CONST_BUG = "0" + HAVE_KILL = "1" + HAVE_KILLPG = "1" + HAVE_KQUEUE = "0" + HAVE_LANGINFO_H = "1" + HAVE_LARGEFILE_SUPPORT = "0" + HAVE_LCHFLAGS = "0" + HAVE_LCHMOD = "0" + HAVE_LCHOWN = "1" + HAVE_LGAMMA = "1" + HAVE_LIBDL = "1" + HAVE_LIBDLD = "0" + HAVE_LIBIEEE = "0" + HAVE_LIBINTL_H = "1" + HAVE_LIBREADLINE = "1" + HAVE_LIBRESOLV = "0" + HAVE_LIBSENDFILE = "1" + HAVE_LIBUTIL_H = "0" + HAVE_LIBUUID = "1" + HAVE_LINK = "1" + HAVE_LINKAT = "1" + HAVE_LINUX_CAN_BCM_H = "0" + HAVE_LINUX_CAN_H = "0" + HAVE_LINUX_CAN_J1939_H = "0" + HAVE_LINUX_CAN_RAW_FD_FRAMES = "0" + HAVE_LINUX_CAN_RAW_H = "0" + HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "0" + HAVE_LINUX_MEMFD_H = "0" + HAVE_LINUX_NETLINK_H = "0" + HAVE_LINUX_QRTR_H = "0" + HAVE_LINUX_RANDOM_H = "0" + HAVE_LINUX_TIPC_H = "0" + HAVE_LINUX_VM_SOCKETS_H = "0" + HAVE_LINUX_WAIT_H = "0" + HAVE_LOCKF = "1" + HAVE_LOG1P = "1" + HAVE_LOG2 = "1" + HAVE_LONG_DOUBLE = "1" + HAVE_LSTAT = "1" + HAVE_LUTIMES = "1" + HAVE_MADVISE = "1" + HAVE_MAKEDEV = "1" + HAVE_MBRTOWC = "1" + HAVE_MEMFD_CREATE = "0" + HAVE_MEMRCHR = "1" + HAVE_MINIX_CONFIG_H = "0" + HAVE_MKDIRAT = "1" + HAVE_MKFIFO = "1" + HAVE_MKFIFOAT = "1" + HAVE_MKNOD = "1" + HAVE_MKNODAT = "1" + HAVE_MKTIME = "1" + HAVE_MMAP = "1" + HAVE_MREMAP = "0" + HAVE_NCURSES_H = "1" + HAVE_NDIR_H = "0" + HAVE_NETPACKET_PACKET_H = "1" + HAVE_NET_IF_H = "1" + HAVE_NICE = "1" + HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0" + HAVE_OPENAT = "1" + HAVE_OPENPTY = "0" + HAVE_PATHCONF = "1" + HAVE_PAUSE = "1" + HAVE_PIPE2 = "1" + HAVE_PLOCK = "1" + HAVE_POLL = "1" + HAVE_POLL_H = "1" + HAVE_POSIX_FADVISE = "1" + HAVE_POSIX_FALLOCATE = "1" + HAVE_POSIX_SPAWN = "1" + HAVE_POSIX_SPAWNP = "1" + HAVE_PREAD = "1" + HAVE_PREADV = "1" + HAVE_PREADV2 = "0" + HAVE_PRLIMIT = "0" + HAVE_PROCESS_H = "0" + HAVE_PROTOTYPES = "1" + HAVE_PTHREAD_CONDATTR_SETCLOCK = "1" + HAVE_PTHREAD_DESTRUCTOR = "0" + HAVE_PTHREAD_GETCPUCLOCKID = "0" + HAVE_PTHREAD_H = "1" + HAVE_PTHREAD_INIT = "0" + HAVE_PTHREAD_KILL = "1" + HAVE_PTHREAD_SIGMASK = "1" + HAVE_PTY_H = "0" + HAVE_PWRITE = "1" + HAVE_PWRITEV = "1" + HAVE_PWRITEV2 = "0" + HAVE_READLINK = "1" + HAVE_READLINKAT = "1" + HAVE_READV = "1" + HAVE_REALPATH = "1" + HAVE_RENAMEAT = "1" + HAVE_RL_APPEND_HISTORY = "1" + HAVE_RL_CATCH_SIGNAL = "1" + HAVE_RL_COMPLETION_APPEND_CHARACTER = "1" + HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK = "1" + HAVE_RL_COMPLETION_MATCHES = "1" + HAVE_RL_COMPLETION_SUPPRESS_APPEND = "1" + HAVE_RL_PRE_INPUT_HOOK = "1" + HAVE_RL_RESIZE_TERMINAL = "1" + HAVE_ROUND = "1" + HAVE_RTPSPAWN = "0" + HAVE_SCHED_GET_PRIORITY_MAX = "1" + HAVE_SCHED_H = "1" + HAVE_SCHED_RR_GET_INTERVAL = "1" + HAVE_SCHED_SETAFFINITY = "0" + HAVE_SCHED_SETPARAM = "1" + HAVE_SCHED_SETSCHEDULER = "1" + HAVE_SEM_CLOCKWAIT = "0" + HAVE_SEM_GETVALUE = "1" + HAVE_SEM_OPEN = "1" + HAVE_SEM_TIMEDWAIT = "1" + HAVE_SEM_UNLINK = "1" + HAVE_SENDFILE = "1" + HAVE_SETEGID = "1" + HAVE_SETEUID = "1" + HAVE_SETGID = "1" + HAVE_SETGROUPS = "1" + HAVE_SETHOSTNAME = "1" + HAVE_SETITIMER = "1" + HAVE_SETLOCALE = "1" + HAVE_SETPGID = "1" + HAVE_SETPGRP = "1" + HAVE_SETPRIORITY = "1" + HAVE_SETREGID = "1" + HAVE_SETRESGID = "0" + HAVE_SETRESUID = "0" + HAVE_SETREUID = "1" + HAVE_SETSID = "1" + HAVE_SETUID = "1" + HAVE_SETVBUF = "1" + HAVE_SHADOW_H = "1" + HAVE_SHM_OPEN = "1" + HAVE_SHM_UNLINK = "1" + HAVE_SIGACTION = "1" + HAVE_SIGALTSTACK = "1" + HAVE_SIGFILLSET = "1" + HAVE_SIGINFO_T_SI_BAND = "1" + HAVE_SIGINTERRUPT = "1" + HAVE_SIGNAL_H = "1" + HAVE_SIGPENDING = "1" + HAVE_SIGRELSE = "1" + HAVE_SIGTIMEDWAIT = "1" + HAVE_SIGWAIT = "1" + HAVE_SIGWAITINFO = "1" + HAVE_SNPRINTF = "1" + HAVE_SOCKADDR_ALG = "0" + HAVE_SOCKADDR_SA_LEN = "0" + HAVE_SOCKADDR_STORAGE = "1" + HAVE_SOCKETPAIR = "1" + HAVE_SPAWN_H = "1" + HAVE_SSIZE_T = "1" + HAVE_STATVFS = "1" + HAVE_STAT_TV_NSEC = "1" + HAVE_STAT_TV_NSEC2 = "0" + HAVE_STDARG_PROTOTYPES = "1" + HAVE_STDINT_H = "1" + HAVE_STDIO_H = "1" + HAVE_STDLIB_H = "1" + HAVE_STD_ATOMIC = "1" + HAVE_STRDUP = "1" + HAVE_STRFTIME = "1" + HAVE_STRINGS_H = "1" + HAVE_STRING_H = "1" + HAVE_STRLCPY = "1" + HAVE_STROPTS_H = "1" + HAVE_STRSIGNAL = "1" + HAVE_STRUCT_PASSWD_PW_GECOS = "1" + HAVE_STRUCT_PASSWD_PW_PASSWD = "1" + HAVE_STRUCT_STAT_ST_BIRTHTIME = "0" + HAVE_STRUCT_STAT_ST_BLKSIZE = "1" + HAVE_STRUCT_STAT_ST_BLOCKS = "1" + HAVE_STRUCT_STAT_ST_FLAGS = "0" + HAVE_STRUCT_STAT_ST_GEN = "0" + HAVE_STRUCT_STAT_ST_RDEV = "1" + HAVE_STRUCT_TM_TM_ZONE = "0" + HAVE_SYMLINK = "1" + HAVE_SYMLINKAT = "1" + HAVE_SYNC = "1" + HAVE_SYSCONF = "1" + HAVE_SYSEXITS_H = "1" + HAVE_SYS_AUDIOIO_H = "1" + HAVE_SYS_BSDTTY_H = "0" + HAVE_SYS_DEVPOLL_H = "1" + HAVE_SYS_DIR_H = "0" + HAVE_SYS_ENDIAN_H = "0" + HAVE_SYS_EPOLL_H = "1" + HAVE_SYS_EVENT_H = "0" + HAVE_SYS_FILE_H = "1" + HAVE_SYS_IOCTL_H = "1" + HAVE_SYS_KERN_CONTROL_H = "0" + HAVE_SYS_LOADAVG_H = "1" + HAVE_SYS_LOCK_H = "1" + HAVE_SYS_MEMFD_H = "0" + HAVE_SYS_MKDEV_H = "1" + HAVE_SYS_MMAN_H = "1" + HAVE_SYS_MODEM_H = "0" + HAVE_SYS_NDIR_H = "0" + HAVE_SYS_PARAM_H = "1" + HAVE_SYS_POLL_H = "1" + HAVE_SYS_RANDOM_H = "1" + HAVE_SYS_RESOURCE_H = "1" + HAVE_SYS_SELECT_H = "1" + HAVE_SYS_SENDFILE_H = "1" + HAVE_SYS_SOCKET_H = "1" + HAVE_SYS_STATVFS_H = "1" + HAVE_SYS_STAT_H = "1" + HAVE_SYS_SYSCALL_H = "1" + HAVE_SYS_SYSMACROS_H = "1" + HAVE_SYS_SYS_DOMAIN_H = "0" + HAVE_SYS_TERMIO_H = "1" + HAVE_SYS_TIMES_H = "1" + HAVE_SYS_TIME_H = "1" + HAVE_SYS_TYPES_H = "1" + HAVE_SYS_UIO_H = "1" + HAVE_SYS_UN_H = "1" + HAVE_SYS_UTSNAME_H = "1" + HAVE_SYS_WAIT_H = "1" + HAVE_SYS_XATTR_H = "0" + HAVE_TCGETPGRP = "1" + HAVE_TCSETPGRP = "1" + HAVE_TEMPNAM = "1" + HAVE_TERMIOS_H = "1" + HAVE_TERM_H = "1" + HAVE_TGAMMA = "1" + HAVE_TIMEGM = "1" + HAVE_TIMES = "1" + HAVE_TMPFILE = "1" + HAVE_TMPNAM = "1" + HAVE_TMPNAM_R = "1" + HAVE_TM_ZONE = "0" + HAVE_TRUNCATE = "1" + HAVE_TZNAME = "1" + HAVE_UCS4_TCL = "0" + HAVE_UNAME = "1" + HAVE_UNISTD_H = "1" + HAVE_UNLINKAT = "1" + HAVE_USABLE_WCHAR_T = "0" + HAVE_UTIL_H = "0" + HAVE_UTIMENSAT = "1" + HAVE_UTIMES = "1" + HAVE_UTIME_H = "1" + HAVE_UUID_CREATE = "0" + HAVE_UUID_ENC_BE = "0" + HAVE_UUID_GENERATE_TIME_SAFE = "0" + HAVE_UUID_H = "0" + HAVE_UUID_UUID_H = "1" + HAVE_WAIT3 = "1" + HAVE_WAIT4 = "1" + HAVE_WAITID = "1" + HAVE_WAITPID = "1" + HAVE_WCHAR_H = "1" + HAVE_WCSCOLL = "1" + HAVE_WCSFTIME = "1" + HAVE_WCSXFRM = "1" + HAVE_WMEMCMP = "1" + HAVE_WORKING_TZSET = "1" + HAVE_WRITEV = "1" + HAVE_X509_VERIFY_PARAM_SET1_HOST = "1" + HAVE_ZLIB_COPY = "1" + HAVE__GETPTY = "0" + HOST_GNU_TYPE = "x86_64-pc-solaris2.11" + INCLDIRSTOMAKE = "/usr/include /usr/include /usr/include/python3.9 /usr/include/python3.9" + INCLUDEDIR = "/usr/include" + INCLUDEPY = "/usr/include/python3.9" + INSTALL = "/usr/bin/install -c" + INSTALL_DATA = "/usr/bin/install -c -m 644" + INSTALL_PROGRAM = "/usr/bin/install -c" + INSTALL_SCRIPT = "/usr/bin/install -c" + INSTALL_SHARED = "/usr/bin/install -c -m 755" + INSTSONAME = "libpython3.9.so.1.0" + IO_H = "Modules/_io/_iomodule.h" + IO_OBJS = "\" + LDCXXSHARED = "g++ -shared" + LDFLAGS = "-m64" + LDLIBRARY = "libpython3.9.so" + LDLIBRARYDIR = "" + LDSHARED = "gcc -m64 -shared -m64" + LDVERSION = "3.9" + LIBC = "" + LIBDEST = "/usr/lib/python3.9" + LIBDIR = "/usr/lib/amd64" + LIBFFI_INCLUDEDIR = "" + LIBM = "-lm" + LIBOBJDIR = "Python/" + LIBOBJS = "" + LIBPC = "/usr/lib/amd64/pkgconfig" + LIBPL = "/usr/lib/python3.9/config-3.9" + LIBPYTHON = "" + LIBRARY = "libpython3.9.a" + LIBRARY_OBJS = "\" + LIBRARY_OBJS_OMIT_FROZEN = "\" + LIBS = "-lsocket -lnsl -lintl -ldl -lsendfile -lm" + LIBSUBDIRS = "tkinter tkinter/test tkinter/test/test_tkinter \" + LINKCC = "gcc -m64" + LINKFORSHARED = "" + LIPO_32BIT_FLAGS = "" + LIPO_INTEL64_FLAGS = "" + LLVM_PROF_ERR = "no" + LLVM_PROF_FILE = "" + LLVM_PROF_MERGER = "true" + LN = "ln" + LOCALMODLIBS = "" + MACHDEP = "sunos5" + MACHDEP_OBJS = "" + MACHDESTLIB = "/usr/lib/amd64/python3.9" + MACOSX_DEPLOYMENT_TARGET = "" + MAINCC = "gcc -m64" + MAJOR_IN_MKDEV = "1" + MAJOR_IN_SYSMACROS = "0" + MAKESETUP = "./Modules/makesetup" + MANDIR = "/usr/share/man" + MKDIR_P = "/usr/gnu/bin/mkdir -p" + MODBUILT_NAMES = "posix errno pwd _sre _codecs _weakref _functools _operator _collections _abc itertools atexit _signal _stat time _thread _locale _io faulthandler _tracemalloc _peg_parser _symtable xxsubtype" + MODDISABLED_NAMES = "" + MODLIBS = "" + MODOBJS = "Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/_operator.o Modules/_collectionsmodule.o Modules/_abc.o Modules/itertoolsmodule.o Modules/atexitmodule.o Modules/signalmodule.o Modules/_stat.o Modules/timemodule.o Modules/_threadmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/faulthandler.o Modules/_tracemalloc.o Modules/_peg_parser.o Modules/symtablemodule.o Modules/xxsubtype.o" + MODULE_OBJS = "\" + MULTIARCH = "" + MULTIARCH_CPPFLAGS = "" + MVWDELCH_IS_EXPRESSION = "1" + NO_AS_NEEDED = "" + OBJECT_OBJS = "\" + OPENSSL_INCLUDES = "-I/usr/ssl-1.1/include" + OPENSSL_LDFLAGS = "-L/usr/ssl-1.1/lib/amd64" + OPENSSL_LIBS = "-lssl -lcrypto" + OPT = "-DNDEBUG -g -O3 -Wall" + OTHER_LIBTOOL_OPT = "" + PACKAGE_BUGREPORT = "0" + PACKAGE_NAME = "0" + PACKAGE_STRING = "0" + PACKAGE_TARNAME = "0" + PACKAGE_URL = "0" + PACKAGE_VERSION = "0" + PARSER_HEADERS = "\" + PARSER_OBJS = "\ \ Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o" + PEGEN_HEADERS = "\" + PEGEN_OBJS = "\" + PGO_PROF_GEN_FLAG = "-fprofile-generate" + PGO_PROF_USE_FLAG = "-fprofile-use -fprofile-correction" + PLATLIBDIR = "lib" + POBJS = "\" + POSIX_SEMAPHORES_NOT_ENABLED = "0" + PROFILE_TASK = "-m test --pgo" + PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1" + PTHREAD_SYSTEM_SCHED_SUPPORTED = "1" + PURIFY = "" + PY3LIBRARY = "libpython3.so" + PYLONG_BITS_IN_DIGIT = "0" + PYTHON = "python" + PYTHONFRAMEWORK = "" + PYTHONFRAMEWORKDIR = "no-framework" + PYTHONFRAMEWORKINSTALLDIR = "" + PYTHONFRAMEWORKPREFIX = "" + PYTHONPATH = "" + PYTHON_FOR_BUILD = "./python -E" + PYTHON_HEADERS = "\" + PYTHON_OBJS = "\" + PY_BUILTIN_HASHLIB_HASHES = ""md5,sha1,sha256,sha512,sha3,blake2"" + PY_BUILTIN_MODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -fno-aggressive-loop-optimizations -fstack-protector-strong -gdwarf-2 -gstrict-dwarf -m64 -D_REENTRANT -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-use -fprofile-correction -I./Include/internal -I. -I./Include -I/usr/include/ncurses -D_LARGEFILE64_SOURCE -DSKIP_ZIP_PATH -fPIC -DPy_BUILD_CORE_BUILTIN" + PY_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -fno-aggressive-loop-optimizations -fstack-protector-strong -gdwarf-2 -gstrict-dwarf -m64 -D_REENTRANT" + PY_CFLAGS_NODIST = "-std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-use -fprofile-correction -I./Include/internal" + PY_COERCE_C_LOCALE = "1" + PY_CORE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -fno-aggressive-loop-optimizations -fstack-protector-strong -gdwarf-2 -gstrict-dwarf -m64 -D_REENTRANT -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-use -fprofile-correction -I./Include/internal -I. -I./Include -I/usr/include/ncurses -D_LARGEFILE64_SOURCE -DSKIP_ZIP_PATH -fPIC -DPy_BUILD_CORE" + PY_CORE_LDFLAGS = "-m64" + PY_CPPFLAGS = "-I. -I./Include -I/usr/include/ncurses -D_LARGEFILE64_SOURCE -DSKIP_ZIP_PATH" + PY_FORMAT_SIZE_T = ""z"" + PY_LDFLAGS = "-m64" + PY_LDFLAGS_NODIST = "" + PY_SSL_DEFAULT_CIPHERS = "1" + PY_SSL_DEFAULT_CIPHER_STRING = "0" + PY_STDMODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -fno-aggressive-loop-optimizations -fstack-protector-strong -gdwarf-2 -gstrict-dwarf -m64 -D_REENTRANT -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-use -fprofile-correction -I./Include/internal -I. -I./Include -I/usr/include/ncurses -D_LARGEFILE64_SOURCE -DSKIP_ZIP_PATH -fPIC" + Py_DEBUG = "0" + Py_ENABLE_SHARED = "1" + Py_HASH_ALGORITHM = "0" + Py_TRACE_REFS = "0" + QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \" + READELF = "readelf" + RESSRCDIR = "Mac/Resources/framework" + RETSIGTYPE = "void" + RUNSHARED = "LD_LIBRARY_PATH=/data/omnios-build/omniosorg/r151040/_build/Python-3.9.8/Python-3.9.8" + SCRIPTDIR = "/usr/lib" + SETPGRP_HAVE_ARG = "0" + SHELL = "/bin/sh" + SHLIBS = "-lsocket -lnsl -lintl -ldl -lsendfile -lm" + SHLIB_FLAGS = "-shared -fpic" + SHLIB_SUFFIX = ".so" + SHM_NEEDS_LIBRT = "0" + SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0" + SITEPATH = "" + SIZEOF_DOUBLE = "8" + SIZEOF_FLOAT = "4" + SIZEOF_FPOS_T = "8" + SIZEOF_INT = "4" + SIZEOF_LONG = "8" + SIZEOF_LONG_DOUBLE = "16" + SIZEOF_LONG_LONG = "8" + SIZEOF_OFF_T = "8" + SIZEOF_PID_T = "4" + SIZEOF_PTHREAD_KEY_T = "4" + SIZEOF_PTHREAD_T = "4" + SIZEOF_SHORT = "2" + SIZEOF_SIZE_T = "8" + SIZEOF_TIME_T = "8" + SIZEOF_UINTPTR_T = "8" + SIZEOF_VOID_P = "8" + SIZEOF_WCHAR_T = "4" + SIZEOF__BOOL = "1" + SO = ".cpython-39.so" + SOABI = "cpython-39" + SRCDIRS = "Parser Parser/pegen Objects Python Modules Modules/_io Programs" + SRC_GDB_HOOKS = "./Tools/gdb/libpython.py" + STDC_HEADERS = "1" + STRICT_SYSV_CURSES = "/* Don't use ncurses extensions */" + STRIPFLAG = "-s" + SUBDIRS = "" + SUBDIRSTOO = "Include Lib Misc" + SYSLIBS = "-lm" + SYS_SELECT_WITH_SYS_TIME = "1" + TCLTK_INCLUDES = "" + TCLTK_LIBS = "" + TESTOPTS = "" + TESTPATH = "" + TESTPYTHON = "LD_LIBRARY_PATH=/data/omnios-build/omniosorg/r151040/_build/Python-3.9.8/Python-3.9.8 ./python" + TESTPYTHONOPTS = "" + TESTRUNNER = "LD_LIBRARY_PATH=/data/omnios-build/omniosorg/r151040/_build/Python-3.9.8/Python-3.9.8 ./python ./Tools/scripts/run_tests.py" + TESTTIMEOUT = "1200" + TIMEMODULE_LIB = "0" + TIME_WITH_SYS_TIME = "1" + TM_IN_SYS_TIME = "0" + TZPATH = "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo" + UNICODE_DEPS = "\" + UNIVERSALSDK = "" + UPDATE_FILE = "python3.9 ./Tools/scripts/update_file.py" + USE_COMPUTED_GOTOS = "0" + VERSION = "3.9" + WINDOW_HAS_FLAGS = "1" + WITH_DECIMAL_CONTEXTVAR = "1" + WITH_DOC_STRINGS = "1" + WITH_DTRACE = "1" + WITH_DYLD = "0" + WITH_LIBINTL = "1" + WITH_NEXT_FRAMEWORK = "0" + WITH_PYMALLOC = "1" + WITH_VALGRIND = "0" + X87_DOUBLE_ROUNDING = "0" + XMLLIBSUBDIRS = "xml xml/dom xml/etree xml/parsers xml/sax" + abiflags = "" + abs_builddir = "/data/omnios-build/omniosorg/r151040/_build/Python-3.9.8/Python-3.9.8" + abs_srcdir = "/data/omnios-build/omniosorg/r151040/_build/Python-3.9.8/Python-3.9.8" + base = "/usr" + datarootdir = "/usr/share" + exec_prefix = "/usr" + installed_base = "/usr" + installed_platbase = "/usr" + platbase = "/usr" + platlibdir = "lib" + prefix = "/usr" + projectbase = "/usr/bin" + py_version = "3.9.8" + py_version_nodot = "39" + py_version_short = "3.9" + srcdir = "/usr/lib/python3.9/config-3.9" + userbase = "/root/.local" \ No newline at end of file