Commit Graph

68 Commits

Author SHA1 Message Date
Romain Thomas ab3b10bfa1 Disable stable ABI for testing 2026-02-15 17:41:37 +01:00
Romain Thomas 9b647bdd58 Enable stable ABI in the CI 2026-02-15 16:13:36 +01:00
Romain Thomas f155e94363 Enable stable ABI in the CI 2026-02-15 12:21:53 +01:00
Romain Thomas 85329de16d Update metrics requirements 2026-01-24 09:42:41 +01:00
Romain Thomas 5a19dc9d73 Add support for creating DWARF files
This commit also bootstraps plugin for Ghidra and BinaryNinja

Related to NationalSecurityAgency/ghidra#2687
2025-05-27 14:48:07 +02:00
Romain Thomas e07ac780dc Update metrics requirements 2025-04-19 08:32:40 +02:00
Romain Thomas e4b453bfcf Specify the architecture 2025-04-15 21:23:19 +02:00
Romain Thomas 1de8788c3c CI Update 2025-03-15 06:12:28 +01:00
Romain Thomas 1e7b4beb00 Minor updates 2024-11-30 05:40:00 +01:00
Romain Thomas b0366b3388 Add support to send metrics 2024-11-30 05:01:14 +01:00
Romain Thomas 4cc1dd26be Refactor and clean code in LIEF's abstract layer
Resolve #1119
2024-10-26 05:36:49 +02:00
Romain Thomas 4d2e96a0bf Fix platform 2024-06-08 07:37:26 +02:00
Romain Thomas 588ad8e2a6 Fix AArch64 wheel tag 2024-06-08 07:00:37 +02:00
Romain Thomas 132ac2d971 Add musl config 2024-05-06 16:33:38 +02:00
Romain Thomas 6d18b3b062 Add support for other CI 2024-05-04 06:34:20 +02:00
Romain Thomas a996621de2 Use /MD for the DLL 2024-03-17 03:38:00 +01:00
Romain Thomas 87cc6f8d4b Remove script no longer needed 2023-11-09 21:15:07 +01:00
Romain Thomas 5fe14ae8ae Split test step 2023-11-09 13:19:34 +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 29f7e9d86f Python 3.12 support 2023-10-28 05:39:27 +02:00
Romain Thomas dd96f0129c pip wheel update 2023-09-30 15:56:10 +02:00
Romain Thomas b4c2f47563 Get rid of setup.py (deprecated) 2023-09-30 10:48:42 +02:00
Romain Thomas 9fecc8301a Use cache for the iOS ci and improve testing 2023-07-15 06:34:59 +02:00
Romain Thomas e37ffa9ec8 Switch the bindings to nanobind (and update the CI) 2023-07-09 21:33:43 +02:00
Romain Thomas 622293c64e Fix compiler 2023-06-19 04:36:24 +02:00
Romain Thomas f6f8c749f2 Update to new version 2023-06-18 09:01:18 +02:00
Romain Thomas ee64e7e368 Fix build path 2023-06-10 13:22:59 +02:00
Romain Thomas 177338f28a Fix tests 2023-06-10 13:13:09 +02:00
Romain Thomas aa4d601b8e Remove irrelevant flag 2023-06-03 09:11:46 +02:00
Romain Thomas 2f333ffbd6 Do not force a specific tag 2023-06-03 09:11:25 +02:00
Romain Thomas 5db4acd816 Disable static link with libstdc++ 2023-05-28 12:27:43 +02:00
Romain Thomas e148d9ebd6 Add OSX arm64 workflow 2023-05-28 09:25:43 +02:00
Romain Thomas 0714d2e783 Resolve #904 2023-04-23 12:55:25 +02:00
Romain Thomas 47b131303f Fix fuzzer 2023-03-11 16:27:58 +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 6986f4998c Fix linker flags 2023-02-04 16:06:09 +01:00
Romain Thomas 6f84e2f6c4 Fix linker flags 2023-02-04 15:35:29 +01:00
Romain Thomas 19d395197d Address #704 2023-01-03 10:15:48 +01:00
Romain Thomas 1624c4446f Resolve #747 2022-07-20 06:23:29 +02:00
Romain Thomas 208f2debbf Enhance testing 2022-04-04 06:44:54 +02:00
Romain Thomas 1307d34b55 Fix memory issues 2022-04-03 11:27:34 +02:00
Romain Thomas c2dc898a01 Improve the LIEF tests integration 2022-04-02 19:47:51 +02:00
Romain Thomas 7c7d8e4585 Add a 'sanitize' workflow 2022-04-01 05:04:40 +02:00
Eric Kilmer a2a9d1b137 Export LIEF targets with CMake
With these changes, we no longer need to manually find the LIEF library
by filename. CMake takes care of generating the LIEF::LIEF target and
library location for us in the exported target set. This is basically a
requirement when using external dependencies because the original
functionality did not take care of this.

I have updated the example projects to make sure that they will work
with this new setup. In doing so, I changed quite a bit to more closely
follow CMake best practices that I hope we can agree on to both improve
reliability and reduce maintenance and support questions for people who
configure LIEF with external dependencies.

This project still supports finding static or shared LIEF libraries in
the same install prefix using the find_package COMPONENTS method.

This project still supports development of other projects that want to
use LIEF without installing. Just specify the following option during
configuration of your project that depends on LIEF:

```cmake
cmake -DLIEF_DIR=<LIEF_BUILD_DIR> ...
```
2022-02-25 19:02:36 -05:00
Romain Thomas c572dc7c91 Remove LIEF_ROOT 2022-02-13 18:23:38 +01:00
Romain Thomas 799f21c7ef Fix error with Android 2022-02-11 06:17:09 +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 72ebe0d89e Refector the ELF builder 2022-01-22 13:23:52 +01:00
Romain Thomas 45ffa6db92 Fix platform 2021-11-22 08:34:12 +01:00