More documentation and comment out debugging print.
[maxima.git] / src / maxima.asd
blob38e8bdb782b5fac7a77b98e6a5f0fe958bca0912
1 ; -*- Lisp -*-
3 ; Copyright 2007 by Luigi Panzeri.
4 ; This file is released under the terms of
5 ; the GNU General Public License, version 2.
7 (in-package :asdf)
9 ;; Don't try to optimize so much in ECL.
10 ;; Therefore functions can be redefined (essential for share libraries).
11 #+ecl (declaim (optimize (debug 2)))
13 (in-package :cl-user)
15 (defvar *maxima-build-time* (multiple-value-list (get-decoded-time)))
16 (export '*maxima-build-time*)
18 (eval-when (:compile-toplevel :load-toplevel :execute)
19   (unless (find-package :maxima.system)
20     (defpackage :maxima.system
21       (:use :common-lisp :asdf))))
23 (in-package :maxima.system)
25 (defsystem :maxima
26   :description "Maxima is a symbolic computation program." 
27   :licence "GPL" 
28   :serial t
29   :components
30   ((:module package :pathname ""
31     :components (#-gcl(:file "maxima-package")
32                  #+ecl (:file "ecl-port")
33                  (:file "autoconf-variables" :depends-on ("maxima-package"))))
34    (:module globals :pathname ""
35     :components
36     ((:file "globals")))
37    (:module intl :pathname ""
38     :components
39     (
40      ;; Some versions of CMUCL already have a compatible version of
41      ;; INTL, so skip it if we have it.
42      #+#.(cl:if (cl:and (cl:member :cmu cl:*features*) (cl:find-package '#:intl))  '(or) '(and))
43      (:file "intl")))
44    (:module info :pathname ""
45     :components ((:file "pregexp")
46                  (:file "cl-info")))
47    (:module sloop :pathname ""
48     :components ((:file "sloop")))
49    (:module declarations :pathname ""
50     :depends-on (globals)
51     :components ((:file "lmdcls"))) 
52    (:module destructuring-let :pathname ""
53     :components ((:file "letmac")))
54    (:module compatibility-macros1 :pathname ""
55     :components ((:file "generr")
56                  (:file "clmacs")))
57    (:module defmfun :pathname ""
58     :components
59     ((:file "defmfun-check")))
60    (:module float-properties :pathname ""
61     :depends-on (defmfun)
62     :components
63     ((:file "float-properties")))
64    (:module compatibility-macros :pathname ""
65     :components (#+gcl (:file "gcl-compat")
66                  (:file "commac")))
67    (:module prerequisites :pathname ""
68     :components ((:file "mormac") 
69                  (:file "compat")))
70    (:module maxima-language-compiler-macros :pathname ""
71     :depends-on (compatibility-macros)
72     :components ((:file "transm")))
73    (:module getopt :pathname ""
74     :depends-on (compatibility-macros)
75     :components ((:file "getopt")))
76    (:module command-line :pathname ""
77     :depends-on (compatibility-macros)
78     :depends-on (getopt compatibility-macros)
79     :components ((:file "command-line")))
80    (:module fundamental-macros :pathname ""
81     :depends-on (globals defmfun compatibility-macros)
82     :components ((:file "defcal") 
83                  (:file "maxmac")))
84    (:module utility-macros :pathname ""
85     :depends-on (compatibility-macros)
86     :components ((:file "mopers") 
87                  (:file "mforma")))
88    (:module other-macros :pathname ""
89     :depends-on (compatibility-macros)
90     :components ((:file "mrgmac") 
91                  (:file "rzmac")    
92                  (:file "strmac") 
93                  (:file "displm")
94                  (:file "safe-recursion")))
95    (:module rat-macros :pathname ""
96     :depends-on (compatibility-macros)
97     :components ((:file "ratmac") 
98                  (:file "mhayat")))
99    #+gcl (:file "optimize")             ; jfa check this
100    (:module utilities :pathname ""
101     :depends-on (globals defmfun utility-macros compatibility-macros)
102     :components ((:file "opers")
103                  (:file "utils") 
104                  (:file "sumcon") 
105                  (:file "sublis") 
106                  (:file "merror") 
107                  (:file "mformt") 
108                  (:file "mutils") 
109                  (:file "outmis") 
110                  (:file "ar")))
112    (:module commands :pathname ""
113     :depends-on (globals defmfun compatibility-macros)
114     :components ((:file "comm")
115                  (:file "comm2")))
116    (:module evaluator :pathname ""
117     :depends-on (globals defmfun compatibility-macros)
118     :components ((:file "mlisp") 
119                  (:file "mmacro") 
120                  (:file "buildq")))
122    (:module numerical
123     :depends-on (compatibility-macros)
124     :components
125     (
126      (:module packages :pathname ""
127       :components
128       ((:file "f2cl-package")
129        (:file "slatec")))
130      (:module f2cl-lib :pathname ""
131       :depends-on (packages)
132       :components ((:file "f2cl-lib")))
133      (:module slatec 
134       :depends-on (f2cl-lib packages)
135       :components
136       (
137        (:file "fdump")
138        (:file "j4save")
139        (:file "initds"
140         :depends-on ("xermsg"))
141        (:file "xgetua")
142        (:file "xermsg"
143         :depends-on ("fdump" "j4save" "xercnt" "xerhlt" "xerprn" "xersve"))
144        (:file "xercnt")
145        (:file "xerhlt")
146        (:file "xerprn"
147         :depends-on ("xgetua"))
148        (:file "xersve"
149         :depends-on ("j4save"))
150        (:file "dcsevl"
151         :depends-on ("xermsg"))
152              
153        ;; Gamma function
154        (:file "d9lgmc"
155         :depends-on ("dcsevl" "initds" "xermsg"))
156        (:file "dgamlm"
157         :depends-on ("xermsg"))
158        (:file "dgamma"
159         :depends-on ("d9lgmc" "dcsevl" "dgamlm" "initds" "xermsg"))
160        (:file "dgamln")
161        (:file "dlngam"
162         :depends-on ("d9lgmc" "dgamma" "xermsg"))
163              
164        ;; Bessel J functions
165        (:file "d9b0mp"
166         :depends-on ("dcsevl" "initds" "xermsg"))
167        (:file "d9b1mp"
168         :depends-on ("dcsevl" "initds" "xermsg"))
169        (:file "dbesj0"
170         :depends-on ("d9b0mp" "dcsevl" "initds"))
171        (:file "dbesj1"
172         :depends-on ("d9b1mp" "dcsevl" "initds" "xermsg"))
173        (:file "djairy")
174        (:file "dasyjy")
175        (:file "dbesj"
176         :depends-on ("dasyjy" "djairy" "dlngam" "xermsg"))
177        ;; Bessel I functions
178        (:file "dbsi0e"
179         :depends-on ("dcsevl" "initds"))
180        (:file "dbsi1e"
181         :depends-on ("dcsevl" "initds" "xermsg"))
182        (:file "dbesi0"
183         :depends-on ("dbsi0e" "dcsevl" "initds" "xermsg"))
184        (:file "dbesi1"
185         :depends-on ("dbsi1e" "dcsevl" "initds" "xermsg"))
186        (:file "dasyik")
187        (:file "dbesi"
188         :depends-on ("dasyik" "dlngam" "xermsg"))
189        (:file "zbesi"
190         :depends-on ("zabs" "zbinu"))
191              
192        ;; Bessel J function for complex
193        ;; arg and real order.
195        (:file "zabs")
196        (:file "zacai"
197         :depends-on ("zabs" "zasyi" "zbknu" "zmlri" "zs1s2" "zseri"))
198        (:file "zairy"
199         :depends-on ("zabs" "zacai" "zbknu" "zexp" "zsqrt"))
200        (:file "zasyi"
201         :depends-on ("zabs" "zdiv" "zexp" "zmlt" "zsqrt"))
202        (:file "zbesj"
203         :depends-on ("zabs" "zbinu"))
204        (:file "zbinu"
205         :depends-on ("zabs" "zasyi" "zbuni" "zmlri" "zseri" "zuoik" "zwrsk"))
206        (:file "zbknu"
207         :depends-on ("dgamln" "zabs" "zdiv" "zexp" "zkscl"
208                               "zlog" "zmlt" "zshch" "zsqrt" "zuchk"))
209        (:file "zbuni"
210         :depends-on ("zabs" "zuni1" "zuni2"))
211        (:file "zdiv")
212        (:file "zexp")
213        (:file "zkscl"
214         :depends-on ("zabs" "zlog" "zuchk"))
215        (:file "zlog"
216         :depends-on ("zabs"))
217        (:file "zmlri"
218         :depends-on ("dgamln" "zabs" "zexp" "zlog" "zmlt"))
219        (:file "zmlt")
220        (:file "zrati"
221         :depends-on ("zabs" "zdiv"))
222        (:file "zs1s2"
223         :depends-on ("zabs" "zexp" "zlog"))
224        (:file "zseri"
225         :depends-on ("dgamln" "zabs" "zdiv" "zlog" "zmlt" "zuchk"))
226        (:file "zshch")
227        (:file "zsqrt" :depends-on ("zabs"))
228        (:file "zuchk")
229        (:file "zunhj"
230         :depends-on ("zabs" "zdiv" "zlog" "zsqrt"))
231        (:file "zuni1"
232         :depends-on ("zabs" "zuchk" "zunik" "zuoik"))
233        (:file "zuni2"
234         :depends-on ("zabs" "zairy" "zuchk" "zunhj" "zuoik"))
235        (:file "zunik"
236         :depends-on ("zdiv" "zlog" "zsqrt"))
237        (:file "zuoik"
238         :depends-on ("zabs" "zlog" "zuchk" "zunhj" "zunik"))
239        (:file "zwrsk"
240         :depends-on ("zabs" "zbknu" "zrati"))
241              
242        ;; Bessel Y functions
243        (:file "dbesy0"
244         :depends-on ("d9b0mp" "dbesj0" "dcsevl" "initds" "xermsg"))
245        (:file "dbesy1"
246         :depends-on ("d9b1mp" "dbesj1" "dcsevl" "initds" "xermsg"))
247        (:file "dbesy"
248         :depends-on ("dasyjy" "dbesy0" "dbesy1" "dbsynu" "dyairy" "xermsg"))
249        (:file "dbsynu"
250         :depends-on ("dgamma" "xermsg"))
251        (:file "dyairy")
252              
253        (:file "zbesy"
254         :depends-on ("zbesh"))
255        (:file "zbesh"
256         :depends-on ("zabs" "zacon" "zbknu" "zbunk" "zuoik"))
257        (:file "zacon"
258         :depends-on ("zabs" "zbinu" "zbknu" "zmlt" "zs1s2"))
259        (:file "zbunk"
260         :depends-on ("zunk1" "zunk2"))
261        (:file "zunk1"
262         :depends-on ("zabs" "zs1s2" "zuchk" "zunik"))
263        (:file "zunk2"
264         :depends-on ("zabs" "zairy" "zs1s2" "zuchk" "zunhj"))
266        ;; Bessel K functions
267        (:file "dbesk0"
268         :depends-on ("dbesi0" "dbsk0e" "dcsevl" "initds" "xermsg"))
269        (:file "dbsk0e"
270         :depends-on ("dbesi0" "dcsevl" "initds" "xermsg"))
271        (:file "dbesk1"
272         :depends-on ("dbesi1" "dbsk1e" "dcsevl" "initds" "xermsg"))
273        (:file "dbsk1e"
274         :depends-on ("dbesi1" "dcsevl" "initds" "xermsg"))
275        (:file "dbesk"
276         :depends-on ("dasyik" "dbesk0" "dbesk1" "dbsk0e" "dbsk1e" "dbsknu" "xermsg"))
277        (:file "dbsknu"
278         :depends-on ("dgamma" "xermsg"))
279        (:file "zbesk"
280         :depends-on ("zabs" "zacon" "zbknu" "zbunk" "zuoik"))
281                                    
282        ;; Airy functions
283        (:file "d9aimp"
284         :depends-on ("dcsevl" "initds" "xermsg"))
285        (:file "daie"
286         :depends-on ("d9aimp" "dcsevl" "initds"))
287        (:file "dai"
288         :depends-on ("d9aimp" "daie" "dcsevl" "initds" "xermsg"))
289        (:file "dbie"
290         :depends-on ("d9aimp" "dcsevl" "initds"))
291        (:file "dbi"
292         :depends-on ("d9aimp" "dbie" "dcsevl" "initds" "xermsg"))
293        (:file "zbiry"
294         :depends-on ("zabs" "zbinu" "zdiv" "zsqrt"))
295        ;; Error functions
296        (:file "derf"
297         :depends-on ("dcsevl" "derfc" "initds"))
298        (:file "derfc"
299         :depends-on ("dcsevl" "initds" "xermsg"))
300        ;; Exponential integrals
301        (:file "de1"
302         :depends-on ("dcsevl" "initds" "xermsg"))
303        (:file "dei"
304         :depends-on ("de1"))
305        (:file "dspenc"
306         :depends-on ("d9upak"))
307        (:file "d9upak")))
308      (:module quadpack
309       :pathname "slatec/"
310       :components
311       (
312        ;; Support
313        (:file "dqwgtf")
314        (:file "dqcheb")
315        (:file "dqk15w")
316        (:file "dqwgts")
317        (:file "dqwgtc")
318        (:file "dgtsl")
319        ;; Core integration routines
320        (:file "dqk15")
321        (:file "dqk31")
322        (:file "dqk41")
323        (:file "dqk51")
324        (:file "dqk61")
325        (:file "dqk21")
326        (:file "dqk15i")
327        (:file "dqelg")
328        (:file "dqpsrt")
329        (:file "dqc25s"
330         :depends-on ("dqcheb" "dqk15w"))
331        (:file "dqmomo")
332        (:file "dqc25c"
333         :depends-on ("dqcheb"
334                      "dqk15w"))
335        (:file "dqc25f"
336         :depends-on ("dgtsl"
337                      "dqcheb"
338                      "dqk15w"
339                      "dqwgtf"))
340        ;; Basic integrators
341        (:file "dqage"
342         :depends-on ("dqk15"
343                      "dqk31"
344                      "dqk41"
345                      "dqk51"
346                      "dqk61"
347                      "dqk21"
348                      "dqpsrt"))
349        (:file "dqagie"
350         :depends-on ("dqelg"
351                      "dqk15i"
352                      "dqpsrt"))
353        (:file "dqagp"
354         :depends-on ("dqagpe"))
355        (:file "dqagpe"
356         :depends-on ("dqelg"
357                      "dqpsrt"
358                      "dqk21"
359                      ))
360        (:file "dqagse"
361         :depends-on ("dqk21"
362                      "dqelg"
363                      "dqpsrt"))
364        (:file "dqawfe"
365         :depends-on ("dqagie"
366                      "dqawoe"
367                      "dqelg"))
368        (:file "dqawoe"
369         :depends-on ("dqc25f"
370                      "dqpsrt"
371                      "dqelg"))
372        (:file "dqawse"
373         :depends-on ("dqc25s"
374                      "dqmomo"
375                      "dqpsrt"))
376        (:file "dqawce"
377         :depends-on ("dqc25c"
378                      "dqpsrt"))
379        ;; Simplified interface routines
380        (:file "dqng")
381        (:file "dqag"
382         :depends-on ("dqage"))
383        (:file "dqags"
384         :depends-on ("dqagse"))
385        (:file "dqagi"
386         :depends-on ("dqagie"))
387        (:file "dqawf"
388         :depends-on ("dqawfe"))
389        (:file "dqawo"
390         :depends-on ("dqawoe"))
391        (:file "dqaws"
392         :depends-on ("dqawse"))
393        (:file "dqawc"
394         :depends-on ("dqawce"))
395        ;; Maxima interface
396        (:file "quadpack")
397        )
398       )))
399    (:module simplification :pathname ""
400     :depends-on (globals defmfun compatibility-macros)
401     :components ((:file "simp") 
402                  (:file "float") 
403                  (:file "csimp") 
404                  (:file "csimp2") 
405                  (:file "zero")
406                  (:file "logarc") 
407                  (:file "rpart")))
408    (:module numeric-bigfloat :pathname ""
409     :depends-on (compatibility-macros)
410     :components ((:file "numeric")))
411    (:module server :pathname ""
412     :depends-on (compatibility-macros)
413     :components ((:file "server")))
414    (:module i-o :pathname ""
415     :depends-on (globals defmfun compatibility-macros)
416     :components ((:file "macsys") 
417                  (:file "testsuite")
418                  (:file "mload") 
419                  (:file "suprv1")
420                  (:file "mactex")
421                  (:file "dskfn")))
422    (:module factoring :pathname ""
423     :depends-on (globals defmfun compatibility-macros)
424     :components ((:file "lesfac") 
425                  (:file "factor") 
426                  (:file "algfac") 
427                  (:file "nalgfa") 
428                  (:file "ufact") 
429                  (:file "result")))
430    (:module ifactor :pathname ""
431     :depends-on (compatibility-macros)
432     :components ((:file "ifactor")))
434    (:module rational-functions :pathname ""
435     :depends-on (globals defmfun rat-macros other-macros compatibility-macros ifactor)
436     :components ((:file "rat3a") 
437                  (:file "rat3b") 
438                  (:file "rat3d") 
439                  (:file "rat3c") 
440                  (:file "rat3e") 
441                  (:file "nrat4") 
442                  (:file "ratout")))
444    (:module maxima-language-compiler :pathname ""
445     :depends-on (globals defmfun)
446     :components ((:file "transl") 
447                  (:file "transs") 
448                  (:file "trans1") 
449                  (:file "trans2") 
450                  (:file "trans3") 
451                  (:file "trans4") 
452                  (:file "trans5") 
453                  (:file "transf") 
454                  (:file "troper") 
455                  (:file "trutil") 
456                  (:file "trmode") 
457                  (:file "trdata") 
458                  (:file "trpred") 
459                  (:file "transq") 
460                  (:file "acall")
461                  (:file "fcall") 
462                  (:file "evalw") 
463                  (:file "trprop") 
464                  (:file "mdefun"))
465     :depends-on (maxima-language-compiler-macros compatibility-macros))
467    (:module pattern-matching :pathname ""
468     :depends-on (globals defmfun compatibility-macros)
469     :components ((:file "schatc") 
470                  (:file "matcom") 
471                  (:file "matrun") 
472                  (:file "nisimp")))
474    (:module trigonometry :pathname ""
475     :depends-on (globals defmfun compatibility-macros)
476     :components ((:file "trigi") 
477                  (:file "trigo") 
478                  (:file "trgred")))
480    (:module reader :pathname ""
481     :depends-on (globals defmfun compatibility-macros)
482     :components ((:file "nparse")))
484    (:module display :pathname ""
485     :depends-on (globals defmfun compatibility-macros)
486     :components ((:file "displa") 
487                  (:file "nforma") 
488                  (:file "grind")))
490    (:module gcd :pathname ""
491     :depends-on (globals defmfun compatibility-macros)
492     :components ((:file "spgcd")
493                  (:file "ezgcd")))
494    (:module documentation :pathname ""
495     :depends-on (globals defmfun compatibility-macros)
496     :components ((:file "macdes")
497                  (:file "verify-html-index")))
498    (:module algebraic-database :pathname ""
499     :depends-on (globals defmfun compatibility-macros)
500     :components ((:file "inmis") 
501                  (:file "db") 
502                  (:file "compar") 
503                  (:file "askp")))       ;does this belong here?
504    (:module numerical-functions :pathname ""
505     :depends-on (globals defmfun trigonometry algebraic-database utility-macros compatibility-macros)
506     :components ((:file "bessel")
507                  (:file "ellipt")
508                  (:file "airy"
509                   :depends-on ("ellipt"))
510                  (:file "plasma")
511                  (:file "intpol")))
513    (:module integration :pathname ""
514     :depends-on (globals defmfun compatibility-macros)
515     :components ((:file "sinint") 
516                  (:file "sin") 
517                  (:file "risch")))
518    (:module taylor-series :pathname ""
519     :depends-on (globals defmfun rat-macros compatibility-macros)
520     :components ((:file "hayat")))
521    (:module definite-integration :pathname ""
522     :depends-on (globals defmfun compatibility-macros)
523     :components ((:file "defint") 
524                  (:file "residu")))
525    (:module special-functions :pathname ""
526     :depends-on (globals defmfun compatibility-macros)
527     :components ((:file "specfn")))
528    (:module matrix-algebra :pathname ""
529     :depends-on (globals defmfun compatibility-macros)
530     :components ((:file "mat") 
531                  (:file "linnew")
532                  (:file "matrix")))
533    (:module determinants :pathname ""
534     :depends-on (globals defmfun compatibility-macros)
535     :components ((:file "sprdet") 
536                  (:file "newinv") 
537                  (:file "newdet")))
538    (:module limits :pathname ""
539     :depends-on (globals defmfun compatibility-macros)
540     :components ((:file "tlimit") 
541                  (:file "limit")))
542    (:module solve :pathname ""
543     :depends-on (globals defmfun compatibility-macros)
544     :components ((:file "solve") 
545                  (:file "psolve") 
546                  (:file "algsys") 
547                  (:file "sqrtdenest")
548                  (:file "polyrz") 
549                  (:file "cpoly")))
550    (:module debugging :pathname ""
551     :depends-on (globals defmfun compatibility-macros)
552     :components ((:file "mtrace")
553                  (:file "mdebug")))
554    (:module miscellaneous :pathname ""
555     :depends-on (globals defmfun compatibility-macros)
556     :components ((:file "scs") 
557                  (:file "asum") 
558                  (:file "fortra") 
559                  (:file "optim") 
560                  (:file "marray") 
561                  (:file "mdot") 
562                  (:file "irinte") 
563                  (:file "series") 
564                  (:file "numth")
565                  (:file "laplac") 
566                  (:file "pade") 
567                  (:file "homog") 
568                  (:file "combin") 
569                  (:file "nset")
570                  (:file "rand-mt19937")
571                  (:file "maxmin")
572                  (:file "nummod")
573                  (:file "conjugate")
574                  (:file "expintegral")
575                  (:file "gamma")
576                  (:file "mstuff")))
577    (:module polynomial :pathname ""
578     :depends-on (defmfun)
579     :components
580     ((:file "polynomialp")))
581    (:module poisson-series :pathname ""
582     :depends-on (compatibility-macros)
583     :components ((:file "pois2") 
584                  (:file "pois3")))
585    (:module translated-packages :pathname ""
586     :depends-on (globals defmfun "maxima-language-compiler-macros" compatibility-macros)
587     :components
588     ((:file "desoln")
589      (:file "elim")
590      (:file "invert")
591      (:file "hypgeo")
592      (:file "hyp")
593      (:file "hypergeometric")
594      (:file "nfloat")
595      (:file "todd-coxeter")
596      (:file "plot")))
597    (:module graphics-drivers :pathname ""
598     :depends-on (compatibility-macros)
599     :components ((:file "gnuplot_def")
600                  (:file "xmaxima_def")
601                  (:file "geomview_def")))
603    (:module final :pathname ""
604     :depends-on (globals defmfun compatibility-macros)
605     ;; These are not compiled, for whatever reason
606     :components ((:file "autol")
607                  (:file "max_ext")
608                  (:file "init-cl"))))
609   :serial t
610   :depends-on ())