Commit 6387a29a authored by Christophe Rhodes's avatar Christophe Rhodes
Browse files

0.8.4.27:

	OK, here's the deal.
	... *MODULE-PROVIDER-FUNCTIONS* no longer call PROVIDE.  It's
		now the job of user code to do that (as it probably
		should always have been.
	... OK, so as a result, our one-file contribs now need to
		PROVIDE themselves.  Make it so.
	... fix asdf-install/asdf autorequiration; an installed sbcl
		can now require asdf-install (as well as all the other
		asdfized contribs) as the first command in a clean core
	... update contrib/{README,STANDARDS} to match what we currently
		do.
parent 85c1cf85
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -8,15 +8,11 @@ There are two kinds of contrib module in this directory:
  * Newer contrib modules conform to the contrib standard (see 
    STANDARDS) and are automatically built and installed along with
    SBCL itself.  Each of these is in its own subdirectory with a
    Makefile, and can be loaded with REQUIRE
    Makefile, and can be loaded with REQUIRE.

    Many of them use ASDF, so you have to require that first: e.g.

        * (require 'asdf)
        * (require 'sb-bsd-sockets)

  * Older standalone files are effectively unpackaged and may or may 
    not work with the current SBCL version.
  * Older standalone files in the contrib directory itself are
    effectively unpackaged and may or may not work with the current
    SBCL version.

Some good candidates for future extensions here are:
  * bindings to existing foreign libraries (e.g. to a regexp library
+7 −6
Original line number Diff line number Diff line
Proposed contrib standard, version $Revision$
Proposed contrib standard, $Revision$

The SBCL contrib mechanism provides a mechanism to
manage code which does not form part of SBCL itself, but which is
@@ -49,17 +49,18 @@ A contrib package must contain a Makefile. This is to have three targets

all:     # do whatever compilation is necessary
test:    # run the package tests
install: # copy all necessary files into $(INSTALL_DIR)
install: # copy all necessary files into $(BUILD_ROOT)$(INSTALL_DIR)

If the contrib package involves more than one file, you are encouraged
to use ASDF to build it and load it.  A version of asdf is bundled as
an SBCL contrib, which knows to look in $SBCL_HOME/systems/ for asd
files - your install target should create an appropriate symlink there
to the installed location of the system file.  Look in sb-bsd-sockets/Makefile
for an example of an asdf-using contrib
to the installed location of the system file.  Look in
sb-bsd-sockets/Makefile for an example of an asdf-using contrib.

$(INSTALL_DIR) will have been created by the system before your
install target is called.  You do not need to make it yourself.
$(BUILD_ROOT)$(INSTALL_DIR) will have been created by the system
before your install target is called.  You do not need to make it
yourself.

* Tests

+7 −4
Original line number Diff line number Diff line
@@ -4,7 +4,10 @@ EXTRA_INSTALL_TARGETS=asdf-install-install
include ../asdf-module.mk

asdf-install-install: asdf-install
	if test -f $(INSTALL_ROOT)/bin/sbcl-asdf-install ; then \
	 mv $(INSTALL_ROOT)/bin/sbcl-asdf-install $(INSTALL_ROOT)/bin/sbcl-asdf-install.old ; \
	if test -f $(BUILD_ROOT)$(INSTALL_ROOT)/bin/sbcl-asdf-install ; then \
	  mv $(BUILD_ROOT)$(INSTALL_ROOT)/bin/sbcl-asdf-install $(BUILD_ROOT)$(INSTALL_ROOT)/bin/sbcl-asdf-install.old ; \
	fi
	cp asdf-install $(INSTALL_ROOT)/bin/sbcl-asdf-install
# KLUDGE: mv rather than cp because keeping asdf-install in that
# directory interferes with REQUIRE, and this is done before the tar 
# in ../asdf-module.mk.  Better solutions welcome.
	mv asdf-install $(BUILD_ROOT)$(INSTALL_ROOT)/bin/sbcl-asdf-install
+6 −4
Original line number Diff line number Diff line
;;; This is asdf: Another System Definition Facility.  1.77
;;; This is asdf: Another System Definition Facility.  1.79
;;;
;;; Feedback, bug reports, and patches are all welcome: please mail to
;;; <cclan-list@lists.sf.net>.  But note first that the canonical
@@ -106,7 +106,7 @@

(in-package #:asdf)

(defvar *asdf-revision* (let* ((v "1.77")
(defvar *asdf-revision* (let* ((v "1.79")
			       (colon (or (position #\: v) -1))
			       (dot (position #\. v)))
			  (and v colon dot 
@@ -118,7 +118,7 @@
(defvar *compile-file-warnings-behaviour* :warn)
(defvar *compile-file-failure-behaviour* #+sbcl :error #-sbcl :warn)

(defvar *verbose-out* *trace-output*)
(defvar *verbose-out* nil)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; utility stuff
@@ -803,7 +803,7 @@ system."))
		    :original-initargs args args))
	 (*verbose-out*
	  (if (getf args :verbose t)
	      *verbose-out*
	      *trace-output*
	      (make-broadcast-stream)))
	 (system (if (typep system 'component) system (find-system system)))
	 (steps (traverse op system)))
@@ -1099,3 +1099,5 @@ output to *verbose-out*. Returns the shell's exit code."
   *central-registry*)
  
  (pushnew 'module-provide-asdf sb-ext:*module-provider-functions*))

(provide 'asdf)
+1 −1
Original line number Diff line number Diff line
@@ -49,4 +49,4 @@ exec sbcl --noinform ~{~A ~}--eval \"(with-open-file (i \\\"$0\\\" :element-type
				   (if (logand prot  #o40)  #o10)
				   (if (logand prot   #o4)   #o1)))))
			 
  
 No newline at end of file
(provide 'sb-executable)
Loading