# HG changeset patch
# User mabshoff@sage.math.washington.edu
# Date 1197589513 28800
# Node ID 5971d008a5908596ca8ca3cdba28aba9e2b15fa8
# Parent c054b93f71cbab2e44fb01a9e74f4a2f52208835
Make all code linked against BLAS also link against BLAS2, since ATLAS is two libraries. This solution isn't very clean.
diff -r c054b93f71cb -r 5971d008a590 setup.py
a
|
b
|
from Cython.Distutils import build_ext |
15 | 15 | ## if you change this!! |
16 | 16 | if os.environ.has_key('SAGE_BLAS'): |
17 | 17 | BLAS=os.environ['SAGE_BLAS'] |
| 18 | BLAS2=os.environ['SAGE_BLAS'] |
18 | 19 | elif os.path.exists('/usr/lib/libcblas.dylib') or \ |
19 | 20 | os.path.exists('/usr/lib/libcblas.so'): |
20 | 21 | BLAS='cblas' |
| 22 | BLAS2='atlas' |
21 | 23 | elif os.path.exists('/usr/lib/libblas.dll.a'): |
22 | 24 | BLAS='gslcblas' |
| 25 | BLAS2='gslcblas' |
23 | 26 | else: |
24 | 27 | # This is very slow (?), but *guaranteed* to be available. |
25 | 28 | BLAS='gslcblas' |
26 | | |
| 29 | BLAS2='gslcblas' |
27 | 30 | if len(sys.argv) > 1 and sys.argv[1] == "sdist": |
28 | 31 | sdist = True |
29 | 32 | else: |
… |
… |
linbox = Extension('sage.libs.linbox.lin |
281 | 284 | linbox = Extension('sage.libs.linbox.linbox', |
282 | 285 | ['sage/libs/linbox/linbox.pyx'], |
283 | 286 | # For this to work on cygwin, linboxwrap *must* be before ntl. |
284 | | libraries = ['linboxwrap', 'ntl', 'linbox', 'gmp', 'gmpxx', 'stdc++', 'givaro', BLAS], |
| 287 | libraries = ['linboxwrap', 'ntl', 'linbox', 'gmp', 'gmpxx', 'stdc++', 'givaro', BLAS, BLAS2], |
285 | 288 | language = 'c++') |
286 | 289 | |
287 | 290 | libsingular = Extension('sage.libs.singular.singular', |
… |
… |
matrix_rational_sparse = Extension('sage |
335 | 338 | # TODO -- change to use BLAS at some point. |
336 | 339 | matrix_integer_dense = Extension('sage.matrix.matrix_integer_dense', |
337 | 340 | ['sage/matrix/matrix_integer_dense.pyx'], |
338 | | libraries = ['iml', 'gmp', 'm', BLAS]) # order matters for cygwin!! |
| 341 | libraries = ['iml', 'gmp', 'm', BLAS, BLAS2]) # order matters for cygwin!! |
339 | 342 | |
340 | 343 | matrix_real_double_dense=Extension('sage.matrix.matrix_real_double_dense', |
341 | | ['sage/matrix/matrix_real_double_dense.pyx'],libraries=['gsl',BLAS], |
| 344 | ['sage/matrix/matrix_real_double_dense.pyx'],libraries=['gsl', BLAS, BLAS2], |
342 | 345 | define_macros=[('GSL_DISABLE_DEPRECATED','1')],include_dirs=[SAGE_ROOT+'/local/lib/python2.5/site-packages/numpy/core/include/numpy']) |
343 | 346 | |
344 | 347 | matrix_complex_double_dense=Extension('sage.matrix.matrix_complex_double_dense', |
345 | | ['sage/matrix/matrix_complex_double_dense.pyx'],libraries=['gsl',BLAS], |
| 348 | ['sage/matrix/matrix_complex_double_dense.pyx'],libraries=['gsl', BLAS, BLAS2], |
346 | 349 | define_macros=[('GSL_DISABLE_DEPRECATED','1')],include_dirs=[SAGE_ROOT+'/local/lib/python2.5/site-packages/numpy/core/include/numpy']) |
347 | 350 | |
348 | 351 | |
349 | | solve = Extension('sage.matrix.solve',['sage/matrix/solve.pyx'],libraries = ['gsl',BLAS],define_macros = |
| 352 | solve = Extension('sage.matrix.solve',['sage/matrix/solve.pyx'],libraries = ['gsl', BLAS, BLAS2],define_macros = |
350 | 353 | [('GSL_DISABLE_DEPRECATED','1')]) |
351 | 354 | |
352 | 355 | matrix_cyclo_dense = Extension('sage.matrix.matrix_cyclo_dense', |
… |
… |
free_module_element = Extension('sage.mo |
377 | 380 | ['sage/modules/free_module_element.pyx']) |
378 | 381 | |
379 | 382 | ################ GSL wrapping ###################### |
380 | | gsl_probability=Extension('sage.gsl.probability_distribution',['sage/gsl/probability_distribution.pyx'],libraries=['gsl',BLAS],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
381 | | gsl_integration=Extension('sage.gsl.integration',['sage/gsl/integration.pyx'],define_macros=[('GSL_DISABLE_DEPRECATED','1')], libraries=['gsl',BLAS]) |
| 383 | gsl_probability=Extension('sage.gsl.probability_distribution',['sage/gsl/probability_distribution.pyx'],libraries=['gsl', BLAS, BLAS2],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
| 384 | gsl_integration=Extension('sage.gsl.integration',['sage/gsl/integration.pyx'],define_macros=[('GSL_DISABLE_DEPRECATED','1')], libraries=['gsl',BLAS, BLAS2]) |
382 | 385 | |
383 | 386 | gsl_ode = Extension('sage.gsl.ode',['sage/gsl/ode.pyx'],libraries=['gsl',BLAS],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
384 | 387 | |
385 | 388 | gsl_fft = Extension('sage.gsl.fft', |
386 | 389 | ['sage/gsl/fft.pyx'], |
387 | | libraries = ['gsl', BLAS],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
| 390 | libraries = ['gsl', BLAS, BLAS2],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
388 | 391 | |
389 | 392 | gsl_interpolation = Extension('sage.gsl.interpolation', |
390 | 393 | ['sage/gsl/interpolation.pyx'], |
391 | | libraries = ['gsl', BLAS], |
| 394 | libraries = ['gsl', BLAS, BLAS2], |
392 | 395 | define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
393 | 396 | |
394 | 397 | gsl_callback = Extension('sage.gsl.callback', |
395 | 398 | ['sage/gsl/callback.pyx'], |
396 | | libraries = ['gsl', BLAS] |
| 399 | libraries = ['gsl', BLAS, BLAS2] |
397 | 400 | ,define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
398 | 401 | |
399 | 402 | real_double = Extension('sage.rings.real_double', |
400 | 403 | ['sage/rings/real_double.pyx'], |
401 | | libraries = ['gsl', 'gmp', BLAS],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
| 404 | libraries = ['gsl', 'gmp', BLAS, BLAS2],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
402 | 405 | |
403 | 406 | complex_double = Extension('sage.rings.complex_double', |
404 | 407 | ['sage/rings/complex_double.pyx'], |
405 | | libraries = ['gsl', BLAS, 'pari', 'gmp']) |
| 408 | libraries = ['gsl', BLAS, BLAS2, 'pari', 'gmp']) |
406 | 409 | |
407 | 410 | real_double_vector = Extension('sage.modules.real_double_vector',['sage/modules/real_double_vector.pyx'], |
408 | | libraries = ['gsl',BLAS,'pari','gmp'],define_macros = [('GSL_DISABLE_DEPRECAED','1')],include_dirs=[SAGE_ROOT+'/local/lib/python2.5/site-packages/numpy/core/include/numpy']) |
| 411 | libraries = ['gsl', BLAS, BLAS2, 'pari','gmp'],define_macros = [('GSL_DISABLE_DEPRECAED','1')],include_dirs=[SAGE_ROOT+'/local/lib/python2.5/site-packages/numpy/core/include/numpy']) |
409 | 412 | |
410 | 413 | complex_double_vector = Extension('sage.modules.complex_double_vector',['sage/modules/complex_double_vector.pyx'], |
411 | | libraries = ['gsl', BLAS, 'pari', 'gmp'],define_macros=[('GSL_DISABLE_DEPRECATED','1')],include_dirs=[SAGE_ROOT+'/local/lib/python2.5/site-packages/numpy/core/include/numpy']) |
| 414 | libraries = ['gsl', BLAS, BLAS2, 'pari', 'gmp'],define_macros=[('GSL_DISABLE_DEPRECATED','1')],include_dirs=[SAGE_ROOT+'/local/lib/python2.5/site-packages/numpy/core/include/numpy']) |
412 | 415 | |
413 | 416 | |
414 | 417 | vector_integer_dense = Extension('sage.modules.vector_integer_dense', |
… |
… |
vector_rational_dense = Extension('sage. |
427 | 430 | libraries = ['gmp']) |
428 | 431 | |
429 | 432 | gsl_array = Extension('sage.gsl.gsl_array',['sage/gsl/gsl_array.pyx'], |
430 | | libraries=['gsl',BLAS],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
| 433 | libraries=['gsl', BLAS, BLAS2],define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |
431 | 434 | |
432 | 435 | gsl_ode = Extension('sage.gsl.ode',['sage/gsl/ode.pyx'],libraries=['gsl',BLAS], |
433 | 436 | define_macros=[('GSL_DISABLE_DEPRECATED','1')]) |