Raymond Toy pushed to branch issue-120-software-type-in-c at cmucl / cmucl Commits: 531ea53c by Raymond Toy at 2023-03-25T07:45:14-07:00 Revert changes to software-type We restore the old code for determining `(software-type)`. This means removing the function from os-common.lisp as well. - - - - - 6 changed files: - src/code/bsd-os.lisp - src/code/linux-os.lisp - src/code/misc.lisp - src/code/sunos-os.lisp - src/i18n/locale/cmucl.pot - src/lisp/os-common.c Changes: ===================================== src/code/bsd-os.lisp ===================================== @@ -42,6 +42,12 @@ #+executable (register-lisp-runtime-feature :executable) +(setq *software-type* #+OpenBSD "OpenBSD" + #+NetBSD "NetBSD" + #+freebsd "FreeBSD" + #+Darwin "Darwin" + #-(or freebsd NetBSD OpenBSD Darwin) "BSD") + ;;; OS-Init initializes our operating-system interface. It sets the values ;;; of the global port variables to what they should be and calls the functions ===================================== src/code/linux-os.lisp ===================================== @@ -26,6 +26,8 @@ (register-lisp-feature :elf) (register-lisp-runtime-feature :executable) +(setq *software-type* "Linux") + ;;; OS-Init initializes our operating-system interface. ;;; (defun os-init () ===================================== src/code/misc.lisp ===================================== @@ -80,23 +80,11 @@ "Returns a string giving the name of the local machine." (unix:unix-gethostname)) -(defvar *software-type* nil - _N"The value of SOFTWARE-TYPE.") +(defvar *software-type* "Unix" + _N"The value of SOFTWARE-TYPE. Set in FOO-os.lisp.") (defun software-type () - _N"Returns a string describing the supporting software." - (unless *software-type* - (setf *software-type* - (let (software-type) - ;; Get the software-type from the C function os_software_type. - (unwind-protect - (progn - (setf software-type - (alien:alien-funcall - (alien:extern-alien "os_software_type" - (function (alien:* c-call:c-string))))) - (unless (zerop (sap-int (alien:alien-sap software-type))) - (alien:cast software-type c-call:c-string))))))) + "Returns a string describing the supporting software." *software-type*) (defvar *software-version* nil ===================================== src/code/sunos-os.lisp ===================================== @@ -31,6 +31,8 @@ #+executable (register-lisp-runtime-feature :executable) +(setq *software-type* "SunOS") + ;;; OS-INIT -- interface. ;;; ;;; Other OS dependent initializations. ===================================== src/i18n/locale/cmucl.pot ===================================== @@ -5632,11 +5632,7 @@ msgid "Returns a string giving the name of the local machine." msgstr "" #: src/code/misc.lisp -msgid "The value of SOFTWARE-TYPE." -msgstr "" - -#: src/code/misc.lisp -msgid "Returns a string describing the supporting software." +msgid "The value of SOFTWARE-TYPE. Set in FOO-os.lisp." msgstr "" #: src/code/misc.lisp ===================================== src/lisp/os-common.c ===================================== @@ -844,20 +844,3 @@ os_software_version(void) return result; } #undef UNAME_RELEASE_AND_VERSION - -char* -os_software_type(void) -{ - int status; - struct utsname uts; - static char os_name[sizeof(uts.sysname)]; - - status = uname(&uts); - if (status != 0) { - return NULL; - } - - strcpy(os_name, uts.sysname); - - return os_name; -} View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/531ea53c4501269b59aa81e3... -- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/531ea53c4501269b59aa81e3... You're receiving this email because of your account on gitlab.common-lisp.net.