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