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