Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
16c8780
[pre-commit.ci] pre-commit autoupdate (#409)
pre-commit-ci[bot] Jul 22, 2024
05fc31e
Update version to 9.2.113.dev0 [ci skip]
github-actions[bot] Jul 23, 2024
a677018
[pre-commit.ci] pre-commit autoupdate (#410)
pre-commit-ci[bot] Jul 29, 2024
5d0d7de
Update version to 9.2.114.dev0 [ci skip]
github-actions[bot] Jul 30, 2024
a63ebe4
[pre-commit.ci] pre-commit autoupdate (#411)
pre-commit-ci[bot] Aug 5, 2024
0915591
Update version to 9.2.115.dev0 [ci skip]
github-actions[bot] Aug 6, 2024
34be1c4
[pre-commit.ci] pre-commit autoupdate (#412)
pre-commit-ci[bot] Aug 12, 2024
bee6897
Update version to 9.2.116.dev0 [ci skip]
github-actions[bot] Aug 13, 2024
454f478
[pre-commit.ci] pre-commit autoupdate (#413)
pre-commit-ci[bot] Aug 19, 2024
469f2a7
Update version to 9.2.117.dev0 [ci skip]
github-actions[bot] Aug 20, 2024
a536f6c
[pre-commit.ci] pre-commit autoupdate (#414)
pre-commit-ci[bot] Aug 26, 2024
d7ab63f
Update version to 9.2.118.dev0 [ci skip]
github-actions[bot] Aug 27, 2024
390b91e
[pre-commit.ci] pre-commit autoupdate (#415)
pre-commit-ci[bot] Sep 2, 2024
b33ad35
Update vex submodule to 54fca3e (#417)
mborgerson Sep 9, 2024
cfe9b3b
[pre-commit.ci] pre-commit autoupdate (#416)
pre-commit-ci[bot] Sep 9, 2024
b2a4051
Update vex submodule to 1ac1f89 (#419)
mborgerson Sep 11, 2024
b321040
Update vex submodule to c0bace1c (#420)
mborgerson Sep 12, 2024
996e2ca
[pre-commit.ci] pre-commit autoupdate (#421)
pre-commit-ci[bot] Sep 16, 2024
76f3e28
Update version to 9.2.119.dev0 [ci skip]
github-actions[bot] Sep 17, 2024
80957ec
Use python3 in fuzzing/build.sh (#422)
twizmwazin Sep 17, 2024
f6945ba
[pre-commit.ci] pre-commit autoupdate (#423)
pre-commit-ci[bot] Sep 23, 2024
aec94b7
Update version to 9.2.120.dev0 [ci skip]
github-actions[bot] Sep 24, 2024
55b9f96
[pre-commit.ci] pre-commit autoupdate (#424)
pre-commit-ci[bot] Sep 30, 2024
0b02523
Update version to 9.2.121.dev0 [ci skip]
github-actions[bot] Oct 1, 2024
08edc93
Implement the first version of constant propagation support. (#426)
ltfish Oct 7, 2024
b1bd611
[pre-commit.ci] pre-commit autoupdate (#427)
pre-commit-ci[bot] Oct 7, 2024
6e083d1
Update version to 9.2.122.dev0 [ci skip]
github-actions[bot] Oct 8, 2024
8b4347b
Update version to 9.2.123.dev0 [ci skip]
github-actions[bot] Oct 8, 2024
6138545
[pre-commit.ci] pre-commit autoupdate (#428)
pre-commit-ci[bot] Oct 14, 2024
73519b5
Update version to 9.2.124.dev0 [ci skip]
github-actions[bot] Oct 15, 2024
d062902
[pre-commit.ci] pre-commit autoupdate (#429)
pre-commit-ci[bot] Oct 21, 2024
cfe2c08
Update version to 9.2.125.dev0 [ci skip]
github-actions[bot] Oct 22, 2024
61054a7
Update version to 9.2.126.dev0 [ci skip]
github-actions[bot] Oct 25, 2024
0ebb549
[pre-commit.ci] pre-commit autoupdate (#430)
pre-commit-ci[bot] Oct 28, 2024
1add9e2
Update version to 9.2.127.dev0 [ci skip]
github-actions[bot] Oct 29, 2024
530d068
Upgrade macos CI to macos 15 (#432)
twizmwazin Nov 4, 2024
36e3832
[pre-commit.ci] pre-commit autoupdate (#431)
pre-commit-ci[bot] Nov 4, 2024
d8f69b0
Update version to 9.2.128.dev0 [ci skip]
github-actions[bot] Nov 5, 2024
151e649
[pre-commit.ci] pre-commit autoupdate (#433)
pre-commit-ci[bot] Nov 12, 2024
10d953f
Update version to 9.2.129.dev0 [ci skip]
github-actions[bot] Nov 12, 2024
b2dfa8d
[pre-commit.ci] pre-commit autoupdate (#434)
pre-commit-ci[bot] Nov 18, 2024
293a89a
Update version to 9.2.130.dev0 [ci skip]
github-actions[bot] Nov 19, 2024
f29ea64
[pre-commit.ci] pre-commit autoupdate (#435)
pre-commit-ci[bot] Nov 25, 2024
96f745b
Update version to 9.2.131.dev0 [ci skip]
github-actions[bot] Nov 26, 2024
ea47010
[pre-commit.ci] pre-commit autoupdate (#436)
pre-commit-ci[bot] Dec 2, 2024
fcfa625
Update vex submodule (#438)
mborgerson Dec 6, 2024
9fe92cf
Update vex submodule (#439)
mborgerson Dec 7, 2024
2fad7d1
[pre-commit.ci] pre-commit autoupdate (#440)
pre-commit-ci[bot] Dec 9, 2024
655b83c
Update version to 9.2.132.dev0 [ci skip]
github-actions[bot] Dec 11, 2024
a7a6b99
ARM: Don't rewrite blcc default jumpkind (#441)
mborgerson Dec 12, 2024
e1eaa97
Typecheck more things (#437)
rhelmot Dec 12, 2024
588fd3f
Add the missing size attribute to V256. (#442)
ltfish Dec 12, 2024
9f34747
Update version to 9.2.133.dev0 [ci skip]
github-actions[bot] Dec 12, 2024
b4160fc
[pre-commit.ci] pre-commit autoupdate (#443)
pre-commit-ci[bot] Dec 16, 2024
d90c463
Update version to 9.2.134.dev0 [ci skip]
github-actions[bot] Dec 17, 2024
3730125
[pre-commit.ci] pre-commit autoupdate (#444)
pre-commit-ci[bot] Dec 24, 2024
dde5df9
Update version to 9.2.135.dev0 [ci skip]
github-actions[bot] Dec 24, 2024
3839ccb
Update version to 9.2.136.dev0 [ci skip]
github-actions[bot] Dec 31, 2024
6d329f4
[pre-commit.ci] pre-commit autoupdate (#446)
pre-commit-ci[bot] Jan 6, 2025
a8cb845
Update version to 9.2.137.dev0 [ci skip]
github-actions[bot] Jan 7, 2025
2f3e60b
Analysis: Detect if the block is a no-op block. (#447)
ltfish Jan 13, 2025
c40fc97
[pre-commit.ci] pre-commit autoupdate (#448)
pre-commit-ci[bot] Jan 13, 2025
fdf5980
Update RTD config to include sphinx configuration key (#449)
twizmwazin Jan 13, 2025
96a57a4
Update version to 9.2.138.dev0 [ci skip]
github-actions[bot] Jan 14, 2025
e0056a4
[pre-commit.ci] pre-commit autoupdate (#450)
pre-commit-ci[bot] Jan 20, 2025
c7f7cdf
Update version to 9.2.139.dev0 [ci skip]
github-actions[bot] Jan 21, 2025
0941064
[pre-commit.ci] pre-commit autoupdate (#451)
pre-commit-ci[bot] Jan 27, 2025
86b38ad
Update version to 9.2.140.dev0 [ci skip]
github-actions[bot] Jan 28, 2025
6baf2c4
Fix FFI cache race condition (#452)
jakelamberson Jan 30, 2025
83ea903
[pre-commit.ci] pre-commit autoupdate (#453)
pre-commit-ci[bot] Feb 3, 2025
114b940
Update version to 9.2.141.dev0 [ci skip]
github-actions[bot] Feb 4, 2025
d5f3fa8
[pre-commit.ci] pre-commit autoupdate (#454)
pre-commit-ci[bot] Feb 10, 2025
cdb4369
Update version to 9.2.142.dev0 [ci skip]
github-actions[bot] Feb 11, 2025
4ec8472
Update vex submodule (#455)
mborgerson Feb 18, 2025
5dcf418
Update version to 9.2.143.dev0 [ci skip]
github-actions[bot] Feb 18, 2025
e944f17
Update version to 9.2.144.dev0 [ci skip]
github-actions[bot] Feb 20, 2025
e8c27fb
[pre-commit.ci] pre-commit autoupdate (#456)
pre-commit-ci[bot] Feb 24, 2025
1151c5f
Update version to 9.2.145.dev0 [ci skip]
github-actions[bot] Feb 25, 2025
7a92b25
Update version to 9.2.146.dev0 [ci skip]
github-actions[bot] Mar 4, 2025
f66825b
[pre-commit.ci] pre-commit autoupdate (#457)
pre-commit-ci[bot] Mar 4, 2025
14978c6
[pre-commit.ci] pre-commit autoupdate (#458)
pre-commit-ci[bot] Mar 10, 2025
1c3096b
Update version to 9.2.147.dev0 [ci skip]
github-actions[bot] Mar 11, 2025
2818434
[pre-commit.ci] pre-commit autoupdate (#459)
pre-commit-ci[bot] Mar 17, 2025
689f220
Update version to 9.2.148.dev0 [ci skip]
github-actions[bot] Mar 18, 2025
d9a9b72
[pre-commit.ci] pre-commit autoupdate (#460)
pre-commit-ci[bot] Mar 24, 2025
b85973b
Update version to 9.2.149.dev0 [ci skip]
github-actions[bot] Mar 25, 2025
8c25ee6
[pre-commit.ci] pre-commit autoupdate (#461)
pre-commit-ci[bot] Mar 31, 2025
be6624a
[pre-commit.ci] pre-commit autoupdate (#462)
pre-commit-ci[bot] Apr 7, 2025
5707e02
Update version to 9.2.150.dev0 [ci skip]
github-actions[bot] Apr 8, 2025
c31a31b
[pre-commit.ci] pre-commit autoupdate (#463)
pre-commit-ci[bot] Apr 14, 2025
df40981
Update version to 9.2.151.dev0 [ci skip]
github-actions[bot] Apr 15, 2025
c18bfab
Update version to 9.2.152.dev0 [ci skip]
github-actions[bot] Apr 16, 2025
625808a
[pre-commit.ci] pre-commit autoupdate (#464)
pre-commit-ci[bot] Apr 21, 2025
b90ca2c
Update version to 9.2.153.dev0 [ci skip]
github-actions[bot] Apr 22, 2025
ed62431
[pre-commit.ci] pre-commit autoupdate (#465)
pre-commit-ci[bot] Apr 28, 2025
142d5f3
Update version to 9.2.154.dev0 [ci skip]
github-actions[bot] Apr 29, 2025
ab069d1
[pre-commit.ci] pre-commit autoupdate (#466)
pre-commit-ci[bot] May 5, 2025
80a1476
Update version to 9.2.155.dev0 [ci skip]
github-actions[bot] May 6, 2025
342b430
[pre-commit.ci] pre-commit autoupdate (#467)
pre-commit-ci[bot] May 12, 2025
8764b63
Update version to 9.2.156.dev0 [ci skip]
github-actions[bot] May 17, 2025
71584af
Update version to 9.2.157.dev0 [ci skip]
github-actions[bot] May 17, 2025
30886ec
[pre-commit.ci] pre-commit autoupdate (#468)
pre-commit-ci[bot] May 19, 2025
d46221f
Update version to 9.2.158.dev0 [ci skip]
github-actions[bot] May 20, 2025
7d38d86
Update version to 9.2.159.dev0 [ci skip]
github-actions[bot] May 27, 2025
e50e58a
[pre-commit.ci] pre-commit autoupdate (#469)
pre-commit-ci[bot] May 27, 2025
1e5fced
pyproject.toml: Migrate setup.cfg options
mborgerson May 27, 2025
197dbd4
pre-commit: Drop setup-cfg-fmt
mborgerson May 27, 2025
18bf447
[pre-commit.ci] pre-commit autoupdate (#471)
pre-commit-ci[bot] Jun 2, 2025
7563049
Update version to 9.2.160.dev0 [ci skip]
github-actions[bot] Jun 3, 2025
ac19980
[pre-commit.ci] pre-commit autoupdate (#472)
pre-commit-ci[bot] Jun 9, 2025
983f571
Update version to 9.2.161.dev0 [ci skip]
github-actions[bot] Jun 10, 2025
d8f49d9
Update version to 9.2.162.dev0 [ci skip]
github-actions[bot] Jun 17, 2025
139474a
[pre-commit.ci] pre-commit autoupdate (#473)
pre-commit-ci[bot] Jun 23, 2025
289461f
Update version to 9.2.163.dev0 [ci skip]
github-actions[bot] Jun 24, 2025
013e394
Update ci to use uv (#475)
twizmwazin Jun 25, 2025
f634235
Switch build system to use scikit-build-core and cmake (#474)
twizmwazin Jun 26, 2025
a057464
Fix lib missing from wheel (#476)
twizmwazin Jun 26, 2025
86dd18d
Install libvex_guest_offsets.h in wheel (#477)
twizmwazin Jun 27, 2025
98f8da6
[pre-commit.ci] pre-commit autoupdate (#478)
pre-commit-ci[bot] Jun 30, 2025
987ca86
Update version to 9.2.164.dev0 [ci skip]
github-actions[bot] Jul 1, 2025
8de569c
Fix headers being copied to wheel without libvex_guest_offsets.h (#479)
twizmwazin Jul 3, 2025
107b205
[pre-commit.ci] pre-commit autoupdate (#480)
pre-commit-ci[bot] Jul 7, 2025
44ac6fb
Update version to 9.2.165.dev0 [ci skip]
github-actions[bot] Jul 8, 2025
cca1413
Update version to 9.2.166.dev0 [ci skip]
github-actions[bot] Jul 10, 2025
5c61746
[pre-commit.ci] pre-commit autoupdate (#483)
pre-commit-ci[bot] Jul 14, 2025
1bd8938
Update version to 9.2.167.dev0 [ci skip]
github-actions[bot] Jul 15, 2025
8c2bbce
[pre-commit.ci] pre-commit autoupdate (#484)
pre-commit-ci[bot] Jul 21, 2025
b9cfce9
Update version to 9.2.168.dev0 [ci skip]
github-actions[bot] Jul 22, 2025
cd76808
[pre-commit.ci] pre-commit autoupdate (#485)
pre-commit-ci[bot] Jul 28, 2025
9a311ad
Update version to 9.2.169.dev0 [ci skip]
github-actions[bot] Jul 29, 2025
66c3147
[pre-commit.ci] pre-commit autoupdate (#488)
pre-commit-ci[bot] Aug 4, 2025
b663151
Update version to 9.2.170.dev0 [ci skip]
github-actions[bot] Aug 5, 2025
843b9df
[pre-commit.ci] pre-commit autoupdate (#489)
pre-commit-ci[bot] Aug 11, 2025
2d684ec
Update version to 9.2.171.dev0 [ci skip]
github-actions[bot] Aug 12, 2025
19ddea8
[pre-commit.ci] pre-commit autoupdate (#490)
pre-commit-ci[bot] Aug 18, 2025
29e527b
Update version to 9.2.172.dev0 [ci skip]
github-actions[bot] Aug 19, 2025
04e9077
[pre-commit.ci] pre-commit autoupdate (#491)
pre-commit-ci[bot] Aug 25, 2025
c2d9fb9
Update version to 9.2.173.dev0 [ci skip]
github-actions[bot] Aug 26, 2025
e7b97ef
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Sep 1, 2025
c8b7f3f
Update version to 9.2.174.dev0 [ci skip]
github-actions[bot] Sep 2, 2025
158d317
Fix typos in readme (#493)
Leonabcd123 Sep 5, 2025
0ba2a4d
[pre-commit.ci] pre-commit autoupdate (#494)
pre-commit-ci[bot] Sep 8, 2025
54b5841
Update version to 9.2.175.dev0 [ci skip]
github-actions[bot] Sep 9, 2025
fbfd07c
[pre-commit.ci] pre-commit autoupdate (#496)
pre-commit-ci[bot] Sep 15, 2025
53b8388
Update version to 9.2.176.dev0 [ci skip]
github-actions[bot] Sep 16, 2025
81ae6b5
[pre-commit.ci] pre-commit autoupdate (#497)
pre-commit-ci[bot] Sep 22, 2025
55473b5
Update version to 9.2.177.dev0 [ci skip]
github-actions[bot] Sep 24, 2025
e666c84
[pre-commit.ci] pre-commit autoupdate (#498)
pre-commit-ci[bot] Sep 29, 2025
ab14248
Update version to 9.2.178.dev0 [ci skip]
github-actions[bot] Sep 30, 2025
291a482
[pre-commit.ci] pre-commit autoupdate (#499)
pre-commit-ci[bot] Oct 6, 2025
e96c1d7
Update version to 9.2.179.dev0 [ci skip]
github-actions[bot] Oct 7, 2025
89192e5
[pre-commit.ci] pre-commit autoupdate (#500)
pre-commit-ci[bot] Oct 13, 2025
6b9176b
Update version to 9.2.180.dev0 [ci skip]
github-actions[bot] Oct 14, 2025
c07578c
Update version to 9.2.181.dev0 [ci skip]
github-actions[bot] Oct 15, 2025
d732a56
[pre-commit.ci] pre-commit autoupdate (#501)
pre-commit-ci[bot] Oct 20, 2025
704629e
Update version to 9.2.182.dev0 [ci skip]
github-actions[bot] Oct 21, 2025
cd08d1d
[pre-commit.ci] pre-commit autoupdate (#503)
pre-commit-ci[bot] Oct 27, 2025
6327984
Update version to 9.2.183.dev0 [ci skip]
github-actions[bot] Oct 28, 2025
7d64d25
ci: Migrate deprecated macos-13 runner to macos-15-intel
mborgerson Oct 31, 2025
6b61cdf
[pre-commit.ci] pre-commit autoupdate (#505)
pre-commit-ci[bot] Nov 3, 2025
5474531
[pre-commit.ci] pre-commit autoupdate (#506)
pre-commit-ci[bot] Nov 10, 2025
a82a5ce
Update version to 9.2.184.dev0 [ci skip]
github-actions[bot] Nov 11, 2025
37b952d
[pre-commit.ci] pre-commit autoupdate (#507)
pre-commit-ci[bot] Nov 17, 2025
6f8ff6e
Update version to 9.2.185.dev0 [ci skip]
github-actions[bot] Nov 18, 2025
df81d40
[pre-commit.ci] pre-commit autoupdate (#508)
pre-commit-ci[bot] Nov 24, 2025
1d79e5e
lift_function: Set allow_arch_optimizations to True. (#509)
ltfish Nov 24, 2025
9d0a15e
Update version to 9.2.186.dev0 [ci skip]
github-actions[bot] Nov 25, 2025
2de7ca0
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Dec 1, 2025
bed873d
Build for python-specific abi instead of abi3 (#511)
twizmwazin Dec 2, 2025
7c82a6d
Update version to 9.2.187.dev0 [ci skip]
github-actions[bot] Dec 2, 2025
76290cc
[pre-commit.ci] pre-commit autoupdate (#512)
pre-commit-ci[bot] Dec 8, 2025
1e45797
Update version to 9.2.188.dev0 [ci skip]
github-actions[bot] Dec 8, 2025
e02f43b
Update version to 9.2.189.dev0 [ci skip]
github-actions[bot] Dec 9, 2025
41b96d5
Fix: Allow multiple users to load the cache. (#487)
ltfish Dec 12, 2025
44c8df4
[pre-commit.ci] pre-commit autoupdate (#514)
pre-commit-ci[bot] Dec 15, 2025
f0e6958
Update version to 9.2.190.dev0 [ci skip]
github-actions[bot] Dec 16, 2025
78b4c32
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Dec 22, 2025
8b9bbe8
Update version to 9.2.191.dev0 [ci skip]
github-actions[bot] Dec 23, 2025
72e4c80
Update version to 9.2.192.dev0 [ci skip]
github-actions[bot] Dec 30, 2025
5c7906d
Update version to 9.2.193.dev0 [ci skip]
github-actions[bot] Jan 6, 2026
b6b228c
[pre-commit.ci] pre-commit autoupdate (#517)
pre-commit-ci[bot] Jan 12, 2026
f769057
Update version to 9.2.194.dev0 [ci skip]
github-actions[bot] Jan 13, 2026
563f34c
[pre-commit.ci] pre-commit autoupdate (#518)
pre-commit-ci[bot] Jan 19, 2026
84fdd4e
Update version to 9.2.195.dev0 [ci skip]
github-actions[bot] Jan 21, 2026
888c7c7
[pre-commit.ci] pre-commit autoupdate (#519)
pre-commit-ci[bot] Jan 26, 2026
171597f
Update version to 9.2.196.dev0 [ci skip]
github-actions[bot] Jan 27, 2026
3f92fec
Update version to 9.2.197.dev0 [ci skip]
github-actions[bot] Jan 29, 2026
ff1de26
Update version to 9.2.198.dev0 [ci skip]
github-actions[bot] Feb 4, 2026
8c74523
pyvex: Add TILEGX to arches
shaymargolis Jul 16, 2024
f356748
pyvex_c: Allow VexArchTILEGX lifting
shaymargolis Jul 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 23 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,28 @@ on:
workflow_dispatch:

jobs:
ci:
ecosystem:
uses: angr/ci-settings/.github/workflows/angr-ci.yml@master
windows:
uses: ./.github/workflows/windows.yml
macos:
uses: ./.github/workflows/macos.yml

test:
name: Test
strategy:
matrix:
os: [windows-2022, macos-15-intel, macos-15, ubuntu-24.04]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
submodules: 'recursive'
- name: Activate msvc
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1
if: startsWith(runner.os, 'windows')
- name: Setup uv
uses: astral-sh/setup-uv@445689ea25e0de0a23313031f5fe577c74ae45a1 # v6
- name: Sync dependencies
run: uv sync -p 3.10
- name: Run tests
run: uv run pytest tests

28 changes: 0 additions & 28 deletions .github/workflows/custom.yml

This file was deleted.

37 changes: 0 additions & 37 deletions .github/workflows/macos.yml

This file was deleted.

41 changes: 0 additions & 41 deletions .github/workflows/windows.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ pyvex/include
vex-master
vex-master.tar.gz
docs/_build
scikit_build
uv.lock
24 changes: 9 additions & 15 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ repos:
#

- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.18
rev: v0.24.1
hooks:
- id: validate-pyproject
fail_fast: true

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v6.0.0
hooks:
# General
- id: check-merge-conflict
Expand All @@ -33,7 +33,7 @@ repos:
fail_fast: true

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v6.0.0
hooks:
- id: check-ast
fail_fast: true
Expand All @@ -42,14 +42,8 @@ repos:
# Modifiers
#

- repo: https://github.com/asottile/setup-cfg-fmt
rev: v2.5.0
hooks:
- id: setup-cfg-fmt
args: ["--include-version-classifiers"]

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v6.0.0
hooks:
- id: mixed-line-ending
- id: trailing-whitespace
Expand All @@ -60,20 +54,20 @@ repos:
- id: rm-unneeded-f-str

- repo: https://github.com/asottile/pyupgrade
rev: v3.16.0
rev: v3.21.2
hooks:
- id: pyupgrade
args: [--py310-plus]

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.5.2
rev: v0.14.14
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]

# Last modifier: Coding Standard
- repo: https://github.com/psf/black
rev: 24.4.2
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 26.1.0
hooks:
- id: black

Expand All @@ -93,7 +87,7 @@ repos:
- id: rst-inline-touching-normal

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v6.0.0
hooks:
- id: debug-statements
- id: check-builtin-literals
Expand Down
3 changes: 3 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@

version: 2

sphinx:
configuration: docs/conf.py

submodules:
include: all

Expand Down
164 changes: 164 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
cmake_minimum_required(VERSION 3.15)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

project(pyvex LANGUAGES C)

# Set the output directory for built libraries
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/pyvex/lib)

# Set the C standard to C99
set(CMAKE_C_STANDARD 99)

# Include directories
include_directories(
${CMAKE_SOURCE_DIR}/pyvex/include
${CMAKE_SOURCE_DIR}/pyvex_c
${CMAKE_SOURCE_DIR}/vex/pub
)

# Source files for the pyvex C library
set(PYVEX_SRC
pyvex_c/pyvex.c
pyvex_c/analysis.c
pyvex_c/logging.c
pyvex_c/postprocess.c
)

# Source files for the VEX C library
set(VEX_SRC
vex/priv/ir_defs.c
vex/priv/ir_match.c
vex/priv/ir_opt.c
vex/priv/ir_inject.c
vex/priv/main_globals.c
vex/priv/main_util.c
vex/priv/s390_disasm.c
vex/priv/host_x86_defs.c
vex/priv/host_amd64_defs.c
vex/priv/host_arm_defs.c
vex/priv/host_arm64_defs.c
vex/priv/host_ppc_defs.c
vex/priv/host_riscv64_defs.c
vex/priv/host_s390_defs.c
vex/priv/host_mips_defs.c
vex/priv/host_x86_isel.c
vex/priv/host_amd64_isel.c
vex/priv/host_arm_isel.c
vex/priv/host_arm64_isel.c
vex/priv/host_ppc_isel.c
vex/priv/host_riscv64_isel.c
vex/priv/host_s390_isel.c
vex/priv/host_mips_isel.c
vex/priv/host_generic_maddf.c
vex/priv/host_generic_regs.c
vex/priv/host_generic_simd64.c
vex/priv/host_generic_simd128.c
vex/priv/host_generic_simd256.c
vex/priv/host_generic_reg_alloc2.c
vex/priv/host_generic_reg_alloc3.c
vex/priv/guest_generic_x87.c
vex/priv/guest_generic_bb_to_IR.c
vex/priv/guest_x86_helpers.c
vex/priv/guest_amd64_helpers.c
vex/priv/guest_arm_helpers.c
vex/priv/guest_arm64_helpers.c
vex/priv/guest_ppc_helpers.c
vex/priv/guest_riscv64_helpers.c
vex/priv/guest_s390_helpers.c
vex/priv/guest_mips_helpers.c
vex/priv/guest_x86_toIR.c
vex/priv/guest_amd64_toIR.c
vex/priv/guest_arm_toIR.c
vex/priv/guest_arm64_toIR.c
vex/priv/guest_ppc_toIR.c
vex/priv/guest_riscv64_toIR.c
vex/priv/guest_s390_toIR.c
vex/priv/guest_mips_toIR.c
vex/priv/multiarch_main_main.c
)

# Build the VEX static library
add_library(vex STATIC ${VEX_SRC})
target_compile_definitions(vex PRIVATE PYVEX)
target_include_directories(vex PUBLIC ${CMAKE_SOURCE_DIR}/vex/pub)

# Build the shared library
add_library(pyvex SHARED ${PYVEX_SRC})
set_target_properties(pyvex PROPERTIES OUTPUT_NAME "pyvex")

# Handle .def file for Windows builds
if (WIN32)
set_target_properties(pyvex PROPERTIES LINK_FLAGS "/DEF:${CMAKE_SOURCE_DIR}/pyvex_c/pyvex.def")
endif()

target_include_directories(pyvex PRIVATE pyvex_c)

target_link_libraries(pyvex PRIVATE vex)

# Install the built library to the Python package
# It is installed twice to handle both editable and non-editable installs
install(TARGETS pyvex DESTINATION ${CMAKE_SOURCE_DIR}/pyvex/lib)
install(TARGETS pyvex DESTINATION pyvex/lib)

# --- BEGIN: Generate pub/libvex_guest_offsets.h ---
add_executable(genoffsets vex/auxprogs/genoffsets.c)
set_target_properties(genoffsets PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/vex/auxprogs)

add_custom_command(
OUTPUT ${CMAKE_SOURCE_DIR}/vex/pub/libvex_guest_offsets.h
COMMAND $<TARGET_FILE:genoffsets> > ${CMAKE_SOURCE_DIR}/vex/pub/libvex_guest_offsets.h
DEPENDS genoffsets
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Generating pub/libvex_guest_offsets.h"
)

add_custom_target(generate_offsets_header
DEPENDS ${CMAKE_SOURCE_DIR}/vex/pub/libvex_guest_offsets.h
)
install(
FILES ${CMAKE_SOURCE_DIR}/vex/pub/libvex_guest_offsets.h
DESTINATION pyvex/include
)

add_dependencies(vex generate_offsets_header)
# --- END: Generate pub/libvex_guest_offsets.h ---

# --- BEGIN: Generate pyvex/vex_ffi.py ---
add_custom_command(
OUTPUT ${CMAKE_SOURCE_DIR}/pyvex/vex_ffi.py
COMMAND ${CMAKE_COMMAND} -E env
${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/make_ffi.py ${CMAKE_SOURCE_DIR}/vex/pub
DEPENDS ${CMAKE_SOURCE_DIR}/vex/pub/libvex_guest_offsets.h
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Generating pyvex/vex_ffi.py using make_ffi.py"
)

add_custom_target(generate_vex_ffi_py
DEPENDS ${CMAKE_SOURCE_DIR}/pyvex/vex_ffi.py
)
install(
FILES ${CMAKE_SOURCE_DIR}/pyvex/vex_ffi.py
DESTINATION pyvex
)
add_dependencies(pyvex generate_vex_ffi_py)
# --- END: Generate pyvex/vex_ffi.py ---

# --- BEGIN: Copy headers to pyvex/include ---
add_custom_command(
OUTPUT ${CMAKE_SOURCE_DIR}/pyvex/include/pub
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/vex/pub ${CMAKE_SOURCE_DIR}/pyvex/include/
DEPENDS ${CMAKE_SOURCE_DIR}/vex/pub
COMMENT "Copying vex/pub to pyvex/include/"
)
add_custom_command(
OUTPUT ${CMAKE_SOURCE_DIR}/pyvex/include/pyvex.h
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/pyvex_c/pyvex.h ${CMAKE_SOURCE_DIR}/pyvex/include/pyvex.h
DEPENDS ${CMAKE_SOURCE_DIR}/pyvex_c/pyvex.h
COMMENT "Copying pyvex_c/pyvex.h to pyvex/include/"
)
add_custom_target(copy_headers ALL
DEPENDS ${CMAKE_SOURCE_DIR}/pyvex/include/pub ${CMAKE_SOURCE_DIR}/pyvex/include/pyvex.h
)
add_dependencies(pyvex copy_headers)
add_dependencies(copy_headers generate_offsets_header)
# --- END: Copy headers to pyvex/include ---
Loading