| 768 | #endif |
| 769 | |
| 770 | char * versionString(/*const bool bShowDetails = false*/ ) |
| 771 | { |
| 772 | StringSetS(""); |
| 773 | StringAppend("Singular for %s version %s (%d, %d bit) %s", |
| 774 | S_UNAME, VERSION, // SINGULAR_VERSION, |
| 775 | SINGULAR_VERSION, sizeof(void*)*8, |
| 776 | #ifdef MAKE_DISTRIBUTION |
| 777 | VERSION_DATE); |
| 778 | #else |
| 779 | singular_date); |
| 780 | #endif |
| 781 | StringAppendS("\nwith\n\t"); |
| 782 | |
| 783 | #if defined(mpir_version) |
| 784 | StringAppend("MPIR(%s)~GMP(%s),", mpir_version, gmp_version); |
| 785 | #elif defined(gmp_version) |
| 786 | // #if defined (__GNU_MP_VERSION) && defined (__GNU_MP_VERSION_MINOR) |
| 787 | // StringAppend("GMP(%d.%d),",__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR); |
| 788 | StringAppend("GMP(%s),", gmp_version); |
| 789 | #endif |
| 790 | #ifdef HAVE_NTL |
| 791 | StringAppend("NTL(%s),",NTL_VERSION); |
| 792 | #endif |
| 793 | |
| 794 | #ifdef HAVE_FLINT |
| 795 | StringAppend("FLINT(%s),",FLINT_VERSION); |
| 796 | #endif |
| 797 | // StringAppendS("factory(" FACTORYVERSION "),"); |
| 798 | StringAppendS("\n\t"); |
| 799 | #ifndef HAVE_OMALLOC |
| 800 | StringAppendS("xalloc,"); |
| 801 | #else |
| 802 | StringAppendS("omalloc,"); |
| 803 | #endif |
| 804 | #if defined(HAVE_DYN_RL) |
| 805 | if (fe_fgets_stdin==fe_fgets_dummy) |
| 806 | StringAppendS("no input,"); |
| 807 | else if (fe_fgets_stdin==fe_fgets) |
| 808 | StringAppendS("fgets,"); |
| 809 | if (fe_fgets_stdin==fe_fgets_stdin_drl) |
| 810 | StringAppend("dynamic readline%d),",RL_VERSION_MAJOR); |
| 811 | #ifdef HAVE_FEREAD |
| 812 | else if (fe_fgets_stdin==fe_fgets_stdin_emu) |
| 813 | StringAppendS("emulated readline,"); |
| 814 | #endif |
| 815 | else |
| 816 | StringAppendS("unknown fgets method,"); |
| 817 | #else |
| 818 | #if defined(HAVE_READLINE) && !defined(FEREAD) |
| 819 | StringAppend("static readline(%d),",RL_VERSION_MAJOR); |
| 820 | #else |
| 821 | #ifdef HAVE_FEREAD |
| 822 | StringAppendS("emulated readline,"); |
| 823 | #else |
| 824 | StringAppendS("fgets,"); |
| 825 | #endif |
| 826 | #endif |
| 827 | #endif |