Changeset 13303


Ignore:
Timestamp:
05/27/11 14:13:18 (10 years ago)
Author:
Mark Evenson
Message:

Automagically find contrib via (REQUIRE :ABCL-CONTRIB).

REQUIREing :ABCL-CONTRIB will look for a 'abcl-contrib.jar' in the
same directory as 'abcl.jar'. If found, all the ASDF definitions one
level deep will be added to the ASDF search path, allowing contribs to
be loaded via REQUIRE or ASDF:LOAD-SYSTEM.

No longer compile contribs as ASDF will do this for us. Since we
moved to ASDF2, the contrib FASLs have been compiled but not packaged,
so this doesn't change any behavior except making packaging shorter.
When we figure out how to package FASLs with ASDF systems in jar
files, we will revisit this topic.

Location:
trunk/abcl
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/build.xml

    r13293 r13303  
    470470    </target>
    471471
    472     <!-- XXX Generalize when (if?) we get more contribs -->
    473     <target name="abcl.contrib.compile" depends="abcl.jar">
    474       <java fork="true"
    475             failonerror="true"
    476             classpathref="abcl.classpath.dist"
    477             inputstring="(require 'asdf) (handler-case (progn (setf *default-pathname-defaults* &quot;${basedir}/contrib/asdf-install/&quot;) (asdf:operate 'asdf:compile-op :asdf-install)) (t (x) (progn (format t &quot;~A: ~A~%&quot; (type-of x) x) (exit :status -1))))"
    478             classname="org.armedbear.lisp.Main">
    479         <arg value="--noinit"/>
    480       </java>
    481     </target>
    482    
    483     <target name="abcl.contrib" depends="abcl.contrib.compile">
     472    <target name="abcl.contrib">
    484473      <jar destfile="dist/abcl-contrib.jar"
    485474           compress="true"
     
    488477          <include name="**/*.asd"/>
    489478          <include name="**/*.lisp"/>
    490           <include name="**/*.abcl"/>
    491479        </patternset>
    492480      </jar>
     
    494482Packaged contribs in ${dist.dir}/abcl-contrib.jar.
    495483
    496 To use ASDF-INSTALL, use the following in your ~/.abclrc:
    497 
    498   (require 'asdf)
    499   (pushnew "jar:file:${dist.dir}/abcl-contrib.jar!/asdf-install/" asdf:*central-registry*)
    500 
    501 Then issuing
    502 
    503   CL-USER> (require 'asdf-install)
    504 
    505 will load ASDF-INSTALL.
     484To use contribs, ensure that 'abcl-contrib.jar' is in the same
     485directory as 'abcl.jar', then
     486
     487  CL-USER> (require 'abcl-contrib)
     488
     489will place all the contribs in the ASDF registry path.
     490
     491To load a contrib, something like
     492
     493  CL-USER> (require 'jss)
     494
     495will compile (if necessary) and load JSS.
    506496</echo>
    507497    </target>
  • trunk/abcl/src/org/armedbear/lisp/compile-system.lisp

    r13271 r13303  
    127127      (load (do-compile "asdf.lisp"))
    128128      ;; But not for these.
    129       (mapc #'do-compile '("adjoin.lisp"
     129      (mapc #'do-compile '("abcl-contrib.lisp"
     130         "adjoin.lisp"
    130131                           "and.lisp"
    131132                           "apropos.lisp"
  • trunk/abcl/src/org/armedbear/lisp/require.lisp

    r13193 r13303  
    4848                  module e))
    4949        nil))))
     50
    5051   
    5152(defvar *module-provider-functions* nil)
Note: See TracChangeset for help on using the changeset viewer.