blob: 94c87a13f35a881ad763cb7eb389be02b2a2b10e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
;;;; Objective-CL, an Objective-C bridge for Common Lisp.
;;;; Copyright (C) 2007 Matthias Andreas Benkard.
;;;;
;;;; This program is free software: you can redistribute it and/or
;;;; modify it under the terms of the GNU General Public License as
;;;; published by the Free Software Foundation, either version 3 of the
;;;; License, or (at your option) any later version.
;;;;
;;;; This program is distributed in the hope that it will be useful, but
;;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;;;; General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with this program. If not, see
;;;; <http://www.gnu.org/licenses/>.
(in-package #:mulk.objective-cl)
(initialise-runtime)
(eval-when (:load-toplevel)
(unless (boundp '+nil+)
;; As nil is never deallocated, we can safely use MAKE-INSTANCE
;; here.
(defconstant +nil+
(make-instance 'id :pointer (objcl-get-nil))))
(unless (boundp '+yes+)
(defconstant +yes+ (objcl-get-yes)))
(unless (boundp '+no+)
(defconstant +no+ (objcl-get-no)))
(unless (boundp '+runtime-type+)
(defconstant +runtime-type+ (runtime-type)))
(pushnew (case +runtime-type+
((:gnu) 'objcl-features:gnu-runtime)
((:next) 'objcl-features:next-runtime))
*features*))
|