Romain Thomas
b0f421bd5e
Allow a static install of the Python bindings (internal usage)
2024-02-17 05:23:58 +01:00
Romain Thomas
638aa18708
Bump nanobind to 1.8.0.r43.g45c2a74
2024-02-17 05:03:04 +01:00
Romain Thomas
979d0ec661
Resolve #1018
2024-02-03 07:02:36 +01:00
Romain Thomas
f5ed2dff32
Fix EXCLUDE_FROM_ALL
2024-01-27 09:52:00 +01:00
Romain Thomas
1e0bc5d522
Simplify CMake
2023-11-10 05:33:41 +01:00
Romain Thomas
78c3196d67
Refactor the ELF Note support
2023-11-09 06:26:56 +01:00
Romain Thomas
1eb2df6e47
Use a CMakeLists.txt in the src/ directory
2023-11-04 05:31:13 +01:00
Romain Thomas
78006bc772
New build backend based on scikit-build-core
2023-11-04 04:06:51 +01:00
Romain Thomas
e5ef1da160
Fix typing
2023-10-22 14:00:04 +02:00
Romain Thomas
a27bd6a644
Add support for os.PathLike inputs in the parsers
...
Resolve : #974
2023-10-21 05:23:42 +02:00
Romain Thomas
3ade2736c0
Improve typing stubs
2023-10-15 22:14:28 +02:00
Romain Thomas
5c43eadcd1
Use Python sys.stderr for LIEF's logger
...
By default, LIEF's logger uses `stderr` to emit log messages which
is not catchable in Python. This commit makes use of `sys.stderr` for
the Python bindings.
2023-10-14 05:36:41 +02:00
Romain Thomas
068512c331
Bump nanobind to 1.6.2.r7.gb4c5af0
2023-10-07 12:48:52 +02:00
Romain Thomas
e37ffa9ec8
Switch the bindings to nanobind (and update the CI)
2023-07-09 21:33:43 +02:00
Romain Thomas
2f2e5bf7fe
Bump LIEF to C++17
...
LIEF internal code now uses C++17 while the API is still C++11 compliant
2023-06-04 10:39:19 +02:00
Romain Thomas
d3aa0f4f93
Remove exceptions
2023-03-05 09:54:48 +01:00
Romain Thomas
9da2466609
Improve the LIEF Python build system by using pyproject.toml
...
- It also provides typing info (close #650 )
- Enhance the test suite
- Remove deprecated PE functions
2023-02-19 20:19:03 +01:00
Romain Thomas
1149e81c2b
Merge pull request #849 from mrexodia/msvc-runtime
...
Fix MSVC runtime selection
2023-01-03 09:20:42 +00:00
Duncan Ogilvie
bbdc62f691
Fix MSVC runtime selection
2023-01-02 17:30:42 +01:00
Romain Thomas
2a10494b8a
Enhance the Python IO interface
...
Related to #832
2022-12-09 10:22:53 +01:00
Romain Thomas
9dbbc39c65
Update dependencies
2022-11-01 08:16:36 +01:00
Romain Thomas
f29aa6ba0d
Fix DOWNLOAD_EXTRACT_TIMESTAMP warning
2022-09-12 06:31:28 +02:00
Romain Thomas
fa306af477
Bump pybind11 version
2022-06-17 06:48:58 +02:00
Romain Thomas
7f878f40ee
Enable to re-compute the PE rich header
...
Resolve #587
2022-03-05 21:29:53 +01:00
Wolf Vollprecht
a15c6d1240
allow external pybind11
2022-03-05 11:42:04 +01:00
Romain Thomas
e9782c5927
Clean & modernize LIEF code base
...
This commit (obviously non-atomic) cleans LIEF's code base by:
- Using pointer semantics (`std::unique_ptr<>`)
- Using LEAF boost error in the binary stream
- Reducing the scope of the iterators (`it_section`, ...)
- Removing `Structures.hpp` from the public headers
- etc
2022-02-05 06:09:06 +01:00
Romain Thomas
b730ec068d
Hide the JSON implementation of LIEF
...
This commit removes the public include of nlohmann/json
as it is a *detail of implementation*. Instead, the public
API exposes:
```cpp
std::string to_json(...);
```
In addition, it enables to externally provide nlohmann/json using
the cmake option ``-DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=on``.
For instance, this option can be used as follows:
```bash
$ cmake -DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=on \
-Dnlohmann_json_DIR=<PATH>/lib/cmake/nlohmann_json
```
Related to #605
2022-01-29 09:51:03 +01:00
rthomas
a615adbee4
This commit cleans and modernizes the code base of LIEF.
...
Among the changes:
- It removes the ``and, or, not`` keywords
- It updates the Documentation
- It moves the internal structures in the ``details::`` namespace
2022-01-27 20:18:54 +01:00
Romain Thomas
076bd5cd23
Resolve #644
2022-01-16 17:04:47 +01:00
Romain Thomas
47b8495973
Bump Pybind11
2021-12-24 12:04:13 +01:00
Romain Thomas
a479b6ee6e
Fix MacOS rpath
2021-01-18 16:58:13 +01:00
Romain Thomas
bdf1264df9
Update doc & tests
2021-01-16 09:44:51 +01:00
Romain Thomas
022ec6e998
Update strip
2020-12-23 09:46:09 +01:00
Romain Thomas
197b699951
Update strip command
2020-12-23 08:00:54 +01:00
Romain Thomas
03ba40b735
Setup Ninja for windows
2020-12-05 11:30:53 +01:00
rthomas
1364f22c78
Improve logging interface
2020-11-09 21:02:50 +01:00
rthomas
3d9b84c6ec
Add support for Python 3.9
2020-10-22 14:48:27 +02:00
rthomas
5684960317
Update dependencies
2020-05-24 06:47:15 +02:00
rthomas
934d84ffea
Move to Pybind11 v2.4.3 and fix enum conflicts
2019-11-19 06:41:11 +01:00
rthomas
208264cb66
Remove unused files
...
Resolve #348
2019-10-02 08:13:12 +02:00
Romain Thomas
0d03b4bdb8
Improve Python setup
2019-03-31 10:15:08 +02:00
Romain Thomas
184074841b
Drop Python 2.7 support. Add Python 3.7 support
2018-11-16 11:00:09 +01:00
Adrien Guinet
4b03ac45e0
Remove LIEF_SHARED_LIB from cmake
...
Moreover, add macros to force the CRT usage when using MSVC.
This is based on the LLVM one.
2018-08-29 08:50:56 +02:00
Romain Thomas
d394e0e58f
Strip file for Release Build
2018-08-20 09:04:28 +02:00
Romain Thomas
68b0958a2a
Set default python version to 3.5
...
Resolve : #127
2018-05-16 10:32:05 +02:00
Romain Thomas
4ef1bb845f
Add new formats: OAT, DEX, VDEX, ART
2018-05-04 12:46:28 +02:00
Romain Thomas
3b17aba10e
Refactor some parts of the Architecture:
...
* JSON visitor are located in the format namespace
* Visitor are *real* visitor
* Visitable class has been renamed to Object
* Due to a bug in Visual Studio 2015, we move to VS2017
2018-03-13 16:49:02 +01:00
Romain Thomas
4cee3fa240
Some improvements in the CMake build
...
* cache dependencies in the 'third-party' directory.
* Enhance Python 'find_library'
2017-11-01 10:12:05 +01:00
Romain Thomas
2e4bd6d4c4
Improve Python packaging
2017-10-03 22:42:13 +02:00
Romain Thomas
ab160a88d6
Move to version 2.2.1 of Pybind11
2017-10-01 20:51:44 +02:00