[SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-688-g9b536005
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via 9b536005350ae3f722e23fc775b456cd8b72aa39 (commit) via e7a1ce91cd311fde94a8011e2869a7f9fc018f41 (commit) via 4f71d7035d32e8f74d9b13e0d6a9c0ab4a58062d (commit) via f7ffc0186d90947cb5df395b9fc547ab80115ea0 (commit) via 7704505fbf7d969ff918f8bf2ff9ed976194987a (commit) via 51de097fb10f6167affe710328555113d7bcfa63 (commit) via 08c190937df7e802393b588d3cc82d2bdf00b128 (commit) via 3b980fd5eeadd638874dfe03801c4c15926882c6 (commit) via 4561adcbcae14c71ca6b8eb2668a6c7690c7428a (commit) via 8a4e28dc8121e50d987e888f9688412e1d3ee663 (commit) from 67111f007a38497508b72603408b8f59a8e110a5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9b536005350ae3f722e23fc775b456cd8b72aa39 Author: Richard Kreckel <kreckel@ginac.de> Date: Sat Aug 29 20:22:49 2020 +0200 Remove executable file attribute from last Python script. They are all invoked by ${PYTHON} and lack a shebang line since 8a4e28dc81. commit e7a1ce91cd311fde94a8011e2869a7f9fc018f41 Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Thu Dec 19 18:17:41 2019 +0400 build: use bundled CLN if available So one can unpack CLN tarball (or clone CLN git repository) and compile both CLN and GiNaC in one pass: git clone git://ginac.de/ginac.git cd ginac git clone git://www.ginac.de/cln.git mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make commit 4f71d7035d32e8f74d9b13e0d6a9c0ab4a58062d Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Wed Dec 18 14:52:17 2019 +0400 Use "modern" CMake facilities to manage includes and libs * Use target_link_libraries to specify dependencies (include paths, compiler options, etc) * Export targets and provide `ginac-config.cmake` so the following `CMakeLists.txt` is enough to build a program using GiNaC: cmake_minimum_required(VERSION 3.1) project(foo) find_package(ginac REQUIRED) add_executable(foo foo.cpp) target_link_libraries(foo PRIVATE ginac::ginac) * GiNaC can be included as a (CMake) subproject. One can put GiNaC sources (either from git or a tarball) into a subdirectory (say, `ginac`) and use the following CMakeLists.txt to build everything: cmake_minimum_required(VERSION 3.1) project(foo) add_subdirectory(ginac) add_executable(foo foo.cpp) target_link_libraries(foo PRIVATE ginac::ginac) commit f7ffc0186d90947cb5df395b9fc547ab80115ea0 Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Thu Dec 26 21:45:11 2019 +0400 build: windows: enable automatic imports by default For now there are no dllexport/dllimport markings in GiNaC and CLN, so export all symbols when building GiNaC DLL, and enable automatic imports when linking with it. Note: this works with GNU linker only. commit 7704505fbf7d969ff918f8bf2ff9ed976194987a Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Fri Dec 27 17:34:05 2019 +0400 build: CMake: made it easier to run tests in parallel As of now `make -jN check` executes test suite sequentially (although it builds test executables in parallel). This takes a bit too long, so it would be nice to run tests in parallel. `ctest -jN` or `make test ARGS=-jN` runs tests concurrently, however it does not build test executables, instead it fails if any test binary is missing. Also `test` target is a bit special and it's impossible to add dependencies to it, see https://gitlab.kitware.com/cmake/cmake/issues/8438 To work around the problem define `test_suite` target which builds the tests suite without running it, so one can both compile and run tests in parallel make -j8 test_suite make test ARGS=-j8 commit 51de097fb10f6167affe710328555113d7bcfa63 Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Wed Dec 25 20:41:17 2019 +0400 Made it easier to run tests on windows Put executables and DLLs into the `bin` subdirectory so the system can locate GiNaC (and CLN) DLLs without extra configuration. commit 08c190937df7e802393b588d3cc82d2bdf00b128 Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Wed Dec 18 16:39:12 2019 +0400 numeric.cpp, archive.cpp: don't include config.h config.h is necessary for excompiler only, the rest of the library is pretty portable. Not including dynamically generated headers saves compilation time due to more (c)cache hits. commit 3b980fd5eeadd638874dfe03801c4c15926882c6 Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Mon Jan 6 22:34:09 2020 +0400 Build example programs to avoid breaking them on API changes commit 4561adcbcae14c71ca6b8eb2668a6c7690c7428a Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Thu Dec 19 18:16:53 2019 +0400 build: fixed `ginac-excompiler` installation with CMake commit 8a4e28dc8121e50d987e888f9688412e1d3ee663 Author: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Sun Aug 23 11:28:07 2020 +0400 build: accept both python 3 and python 2 This makes building GiNaC a bit easier for users of "old" distributions where python 3 is not installed by default (Ubuntu 16.04), or even not available (CentOS 7). Scripts themselves work just fine with python 2.7 and python 3.x, so only minor changes to CMakeLists.txt are required (autotools scripts already handle python2/3) ----------------------------------------------------------------------- Summary of changes: CMakeLists.txt | 127 +++++++++++++++++++++++--------------------- INSTALL | 3 +- Makefile.am | 1 + check/CMakeLists.txt | 8 +-- cmake/ginac-config.cmake.in | 9 ++++ cmake/modules/FindCLN.cmake | 23 ++++++++ doc/CMakeLists.txt | 2 +- doc/examples/CMakeLists.txt | 35 +++++++++++- doc/examples/Makefile.am | 27 ++++++++++ doc/examples/archive1.cpp | 6 ++- doc/examples/compile1.cpp | 5 +- doc/examples/compile2.cpp | 4 ++ doc/examples/compile3.cpp | 5 +- doc/examples/derivative.cpp | 4 ++ doc/examples/mystring.cpp | 6 ++- ginac.pc.cmake | 6 +-- ginac/CMakeLists.txt | 42 +++++++++++---- ginac/archive.cpp | 3 -- ginac/function.py | 2 +- ginac/numeric.cpp | 4 -- ginsh/CMakeLists.txt | 19 +++---- ginsh/ginsh_fcn_help.py | 2 +- ginsh/ginsh_op_help.py | 2 +- scripts/fixupind.py | 4 +- scripts/yaptu.py | 2 +- tools/CMakeLists.txt | 8 ++- 26 files changed, 244 insertions(+), 115 deletions(-) create mode 100644 cmake/ginac-config.cmake.in mode change 100755 => 100644 ginac/function.py mode change 100755 => 100644 ginsh/ginsh_fcn_help.py mode change 100755 => 100644 ginsh/ginsh_op_help.py mode change 100755 => 100644 scripts/fixupind.py hooks/post-receive -- GiNaC -- a C++ library for symbolic computations
participants (1)
-
Richard B. Kreckel