yayi:image-locks

Last commit made on 2020-12-01
Get this branch:
git clone -b image-locks https://git.launchpad.net/yayi

Branch merges

Branch information

Name:
image-locks
Repository:
lp:yayi

Recent commits

f9b49b2... by Raffi Enficiaud

WIP

5448c67... by Raffi Enficiaud

Merged in topic/c++17 (pull request #3)

Topic/c++17

c772a87... by Raffi Enficiaud

Fix the Raspberry pi4 illegal instruction issue

Unexplainable error “illegal instruction”. The disassemly
does not show anything obviously wrong.
Seems to happen on the stack unwinding when using boost::scoped_array.
Moving to std::vector silences the issue.

828546f... by Raffi Enficiaud

Cmake and python improvements, symbols

Issues when running on Ubuntu with clang+raspberry4 about symbols not seen accross
shared libraries boundaries. An example: image creation in imagecore then cast in
iopng has a dynamic_cast return of nullptr. This is because clang considers the symbols
as different for eg. the image class (the template one) even if the symbol name is
exactly the same. This is more relaxed in GCC, but the correct fixup is specifying how
symbols are managed when the shared libraries are loaded

- python: making the symbols loading global otherwiwe dynamic_cast just does not work.
  Another workaround is to load the symbols from YayiImageCore (not python) via LD_PRELOAD
  prior to running python.
- findThreads instead of -pthread
- symbols visibility and objects vtable:
  each interface has now a vtable fixed in one shared library via the non-inlining of the dtor
- others:
  - test results in specific folder
  - hdf5 tests resurrect
  - pybind disabling as not working right now
  - increasing test verbosity (when no pytest in use)

HDF5 and NUMPY python tests

Environment variables need a "=" otherwise they are not injected
into the test environment (although correctly set).
Numpy little fixup but still defunc.

140ea1d... by Raffi Enficiaud

Adjustments conan + cmake

- adjusting various things to make boost.python work
  (find_package options dependent on conan usage, shared
   boost in conan)
- fixing bench
- conan imported targets (requires include at the main level)
- update conanfile for libtiff (jpeg option)

761113c... by Raffi Enficiaud

Fixup: time definition from standard functions

- year starts at 1900
- month starts at 0
- readjust to make the returned tuple compatible with datetime/python
- when there is no date (rev passed on the command line), perform
  checks on the parsed date string

9d4cdfc... by Raffi Enficiaud

std::filesystem

- removing the usage of boost.filesystem in favour of the
  c++17 support.

c6f543b... by Raffi Enficiaud

override, noexcept and other C++17 constructs

- using noexcept instead of throw()
- no compiler deficiency handled about noexcept
- removing warnings for boost.test
- use of override
- user of lambdas
- various fixups and cleanup/linting
- gcc8 fixups

88e59a0... by Raffi Enficiaud

Image iterator revisiting / C++17

- using CRTP instead of the complicated class structure
- revisiting python bindings for iterators
- python additional tests on iterators
- start using C++17 like constructs (override, using, unique_ptr, etc)
- some python tests fixup and linting

57ba340... by Raffi Enficiaud

Cmake options for C++17 / pytest

- fixup boost import
- fixing test names
- fixing JUNIT runs
- fixing environment settings
- moving to pytest