diff --git a/.github/workflows/Nuget-publishing.yml b/.github/workflows/Nuget-publishing.yml new file mode 100644 index 00000000..75abbf67 --- /dev/null +++ b/.github/workflows/Nuget-publishing.yml @@ -0,0 +1,436 @@ +name: Nuget 📦 Distribution + +on: + push: + paths-ignore: + - ".gitignore" + - "docs/**" + - "README" + - "CREDITS.TXT" + - "COPYING_GLIB" + - "COPYING.LGPL2" + - "AUTHORS.TXT" + - "CHANGELOG" + - "COPYING" + branches: + - dev + - master + +permissions: + packages: write + +jobs: + Windows: + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.name }} + strategy: + fail-fast: true + matrix: + config: + - { + os: windows-2019, + arch: x64, + python-arch: x64, + python-ver: '3.8', + name: 'windows-x64 MSVC 64bit shared', + msvc-arch: x64, + artifact: 'windows_msvc64_shared.7z', + shared: 'yes', + build_type: 'Release', + archiver: '7z a', + generators: 'Visual Studio 16 2019' + } + - { + os: windows-2019, + arch: x86, + python-arch: x86, + python-ver: '3.8', + name: 'windows-x86 MSVC 32bit shared', + msvc-arch: x86, + artifact: 'windows_msvc32_shared.7z', + shared: 'yes', + build_type: 'Release', + archiver: '7z a', + generators: 'Visual Studio 16 2019' + } + compiler: [ gcc ] + steps: + - uses: actions/checkout@v2 + + - name: '🛠️ Win MSVC 64 setup' + if: contains(matrix.config.name, 'MSVC 64') + uses: microsoft/setup-msbuild@v1 + + - name: '🛠️ Win MSVC 64 dev cmd setup' + if: contains(matrix.config.name, 'MSVC 64') + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64 + + - name: '🚧 Win MSVC 64 build' + if: contains(matrix.config.name, 'MSVC 64') + shell: bash + run: | + choco install ninja cmake + ninja --version + cmake --version + mkdir build + cmake \ + -S . \ + -B . \ + -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ + -G "${{ matrix.config.generators }}" \ + -DCMAKE_INSTALL_PREFIX:PATH=instdir \ + -DBUILD_SHARED_LIBS=${{ matrix.config.shared }} + cmake --build . --config ${{ matrix.config.build_type }} + cmake --install . --strip --config ${{ matrix.config.build_type }} + ctest -VV -C ${{ matrix.config.build_type }} + mv Release instdir + + - name: '🛠️ Win MSVC 32 setup' + if: contains(matrix.config.name, 'MSVC 32') + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x86 + + - name: '🚧 Win MSVC 32 build' + if: contains(matrix.config.name, 'MSVC 32') + shell: bash + run: | + choco install ninja cmake + ninja --version + cmake --version + mkdir build + cmake \ + -S . \ + -B . \ + -A "win32" \ + -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ + -G "${{ matrix.config.generators }}" \ + -DCMAKE_INSTALL_PREFIX:PATH=instdir \ + -DBUILD_SHARED_LIBS=${{ matrix.config.shared }} + cmake --build . --config ${{ matrix.config.build_type }} + cmake --install . --strip --config ${{ matrix.config.build_type }} + ctest -VV -C ${{ matrix.config.build_type }} + mv Release instdir + + - name: '📦 Pack artifact' + if: always() + shell: bash + working-directory: instdir + run: | + ls -laR + ${{ matrix.config.archiver }} ../${{ matrix.config.artifact }} . ../test* + + - name: '📤 Upload artifact' + if: always() + uses: actions/upload-artifact@v2 + with: + path: ./${{ matrix.config.artifact }} + name: ${{ matrix.config.artifact }} + + Macos: + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.name }} - ${{ matrix.compiler }} + strategy: + fail-fast: true + matrix: + config: + - { + os: macos-latest, + arch: x64, + python-arch: x64, + python-ver: '3.8', + name: 'macos-x64 cmake shared', + shared: 'yes', + artifact: 'macos-cmake-shared-x64.7z', + build_type: 'Release', + archiver: '7za a', + generators: 'Ninja' + } + compiler: [ gcc ] + steps: + - uses: actions/checkout@v2 + + - name: '🚧 Mac build' + if: contains(matrix.config.name, 'macos-x64') + shell: bash + run: | + brew install p7zip cmake ninja + ninja --version + cmake --version + mkdir build + mkdir instdir + cmake \ + -S . \ + -B . \ + -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ + -G "${{ matrix.config.generators }}" \ + -DCMAKE_INSTALL_PREFIX:PATH=instdir \ + -DBUILD_SHARED_LIBS=${{ matrix.config.shared }} + cmake --build . --config ${{ matrix.config.build_type }} + cmake --install . --strip + ctest -VV -C ${{ matrix.config.build_type }} + + - name: '📦 Pack artifact' + if: always() + shell: bash + working-directory: instdir + run: | + ls -laR + ${{ matrix.config.archiver }} ../${{ matrix.config.artifact }} . ../test* + + - name: '📤 Upload artifact' + if: always() + uses: actions/upload-artifact@v2 + with: + path: ./${{ matrix.config.artifact }} + name: ${{ matrix.config.artifact }} + + Linux: + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.name }} - ${{ matrix.compiler }} + strategy: + fail-fast: false + matrix: + config: + - { + os: ubuntu-latest, + arch: x64, + python-arch: x64, + python-ver: '3.8', + name: 'ubuntu-x64 cmake shared', + shared: 'yes', + artifact: 'ubuntu-cmake-shared-x64.7z', + build_type: 'Release', + archiver: '7z a', + generators: 'Ninja' + } + - { + os: ubuntu-latest, + arch: x86, + python-arch: x86, + python-ver: '3.8', + name: 'ubuntu-x86 cmake shared', + shared: 'yes', + artifact: 'ubuntu-cmake-shared-x86.7z', + build_type: 'Release', + archiver: '7z a', + generators: 'Ninja' + } + - { + os: ubuntu-latest, + arch: aarch64, + python-arch: aarch64, + python-ver: '3.8', + name: 'ubuntu-aarch64 cmake', + artifact: 'ubuntu-cmake-aarch64.7z', + build_type: 'Release', + archiver: '7z a', + generators: 'Ninja', + distro: ubuntu20.04 + } + - { + os: ubuntu-latest, + arch: ppc64le, + python-arch: ppc, + python-ver: '3.8', + name: 'ubuntu-ppc64le cmake', + artifact: 'ubuntu-cmake-ppc64le.7z', + build_type: 'Release', + archiver: '7z a', + generators: 'Ninja', + distro: ubuntu20.04 + } + compiler: [ gcc ] + steps: + - uses: actions/checkout@v2 + + - name: '🚧 Linux x64/x86 build' + if: contains(matrix.config.arch, 'x64') || contains(matrix.config.arch, 'x86') + shell: 'script -q -e -c "bash {0}"' + run: | + if [ ${{ matrix.config.arch }} == 'x64' ]; then + sudo apt install -q -y libcmocka-dev ninja-build + else + export CFLAGS="-m32" LDFLAGS="-m32" LDFLAGS_STATIC="-m32" UNICORN_QEMU_FLAGS="--cpu=i386" + sudo dpkg --add-architecture i386 + sudo apt install -q -y lib32ncurses-dev lib32z1-dev lib32gcc-9-dev libc6-dev-i386 gcc-multilib \ + libcmocka-dev:i386 libcmocka0:i386 libc6:i386 libgcc-s1:i386 ninja-build + fi + mkdir build + mkdir instdir + cmake \ + -S . \ + -B . \ + -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ + -G "${{ matrix.config.generators }}" \ + -DCMAKE_INSTALL_PREFIX:PATH=instdir \ + -DBUILD_SHARED_LIBS=${{ matrix.config.shared }} + cmake --build . --config ${{ matrix.config.build_type }} + cmake --install . --strip + ctest -VV -C ${{ matrix.config.build_type }} + + - name: '🚧 Linux ppc64le/aarch64 build' + if: contains(matrix.config.arch, 'ppc64le') || contains(matrix.config.arch, 'aarch64') + uses: uraimo/run-on-arch-action@v2.0.5 + with: + arch: ${{ matrix.config.arch }} + distro: ${{ matrix.config.distro }} + setup: | + mkdir -p "${PWD}/instdir" + dockerRunArgs: | + --volume "${PWD}/instdir:/instdir" + shell: /bin/sh + install: | + apt-get update -q -y + apt-get install -q -y git cmake build-essential automake libcmocka-dev pkg-config ${{ matrix.compiler }} ninja-build + run: | + mkdir build + cmake \ + -S . \ + -B . \ + -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ + -G "${{ matrix.config.generators }}" \ + -DCMAKE_INSTALL_PREFIX:PATH=/instdir + cmake --build . --config ${{ matrix.config.build_type }} + cmake --install . --strip + ctest -VV -C ${{ matrix.config.build_type }} + + - name: '📦 Pack artifact' + if: always() + shell: bash + working-directory: instdir + run: | + ls -laR + ${{ matrix.config.archiver }} ../${{ matrix.config.artifact }} . ../test* + + - name: '📤 Upload artifact' + if: always() + uses: actions/upload-artifact@v2 + with: + path: ./${{ matrix.config.artifact }} + name: ${{ matrix.config.artifact }} + + publish: + needs: ["Windows", "Macos", "Linux"] + if: ${{ needs.Windows.result == 'success' && needs.Macos.result == 'success' && needs.Linux.result == 'success' }} + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: 🛠️ Download artifacts + uses: actions/download-artifact@v3 + with: + path: artifacts + + - name: 🛠️ Extract artifacts + shell: python + run: | + import subprocess + import os + + artifactPath = os.path.join(os.getcwd(), "artifacts") + bindingsPath = os.path.join(os.getcwd(), "bindings", "dotnet", "UnicornEngine") + + ARTIFACT_CONFIG = { + "ubuntu-cmake-aarch64.7z": { + "sourceDir": "lib/", + "sourceFile": "libunicorn.so.*", + "destDir": "runtimes/linux-arm64/native", + "destFile": "libunicorn.so" + }, + "ubuntu-cmake-ppc64le.7z": { + "sourceDir": "lib/", + "sourceFile": "libunicorn.so.*", + "destDir": "runtimes/linux-ppc64le/native", + "destFile": "libunicorn.so" + }, + "ubuntu-cmake-shared-x86.7z": { + "sourceDir": "lib/", + "sourceFile": "libunicorn.so.*", + "destDir": "runtimes/linux-x64/native", + "destFile": "libunicorn.so" + }, + "macos-cmake-shared-x64.7z": { + "sourceDir": "lib/", + "sourceFile": "libunicorn.*.dylib", + "destDir": "runtimes/osx-x64/native", + "destFile": "libunicorn.dylib" + }, + "windows_msvc64_shared.7z": { + "sourceDir": "", + "sourceFile": "unicorn.dll", + "destDir": "runtimes/win-x64/native", + "destFile": "unicorn.dll" + }, + "windows_msvc32_shared.7z": { + "sourceDir": "", + "sourceFile": "unicorn.dll", + "destDir": "runtimes/win-x86/native", + "destFile": "unicorn.dll" + } + } + + if len(os.listdir(artifactPath)) < len(ARTIFACT_CONFIG.keys()): + print("Some artifacts are missing. Aborting.") + exit(1) + + for artifact in os.listdir(artifactPath): + if artifact in ARTIFACT_CONFIG.keys(): + print("Working on:", artifact) + config = ARTIFACT_CONFIG[artifact] + destDir = os.path.join(bindingsPath, config["destDir"]) + print("Creating dir:", destDir) + os.makedirs(destDir, exist_ok=True) + + print(f"Extracting library from 7z file to: {config['destDir']}/{config['sourceFile']}") + result = subprocess.run(["7z", "e", f"-o{destDir}/", os.path.join(artifactPath, artifact), f"{config['sourceDir']}{config['sourceFile']}"]) + result.check_returncode() + + if config["sourceFile"] != config["destFile"]: + output = subprocess.run(["ls", destDir], stdout=subprocess.PIPE) + sourceFile = output.stdout.decode().strip() + print(f"Renaming {sourceFile} to {config['destFile']}") + os.rename(os.path.join(destDir, sourceFile), os.path.join(destDir, config["destFile"])) + + print("Done!") + + - name: 🛠️ Get short sha + id: git_short_sha + run: echo "result=$(git rev-parse --short "${{ github.sha }}")" >> $GITHUB_OUTPUT + + - uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + + - name: 🛠️ Authenticate to Github Packages + working-directory: bindings/dotnet/UnicornEngine + run: dotnet nuget add source --username "${{ github.repository_owner }}" --password "${{ secrets.GITHUB_TOKEN }}" --store-password-in-clear-text --name github "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json" + + - name: 🛠️ List all native libraries + working-directory: bindings/dotnet/UnicornEngine + run: find ./runtimes -type f -print + + - name: 🚧 Package .NET distribution + working-directory: bindings/dotnet/UnicornEngine + run: | + [[ "${{ github.ref_name }}" == "master" ]] \ + && dotnet pack -c Release \ + || dotnet pack -c Release --version-suffix="${{ steps.git_short_sha.outputs.result }}" + + - name: '📤 Upload artifact' + uses: actions/upload-artifact@v2 + with: + path: ${{ github.workspace }}/bindings/dotnet/UnicornEngine/bin/Release/UnicornEngine.Unicorn.*.nupkg + + - name: 📦 Publish to Github Packages + working-directory: bindings/dotnet/UnicornEngine + run: dotnet nuget push "bin/Release/UnicornEngine.Unicorn.*.nupkg" --source "github" --api-key "${{ secrets.GHPR_TOKEN }}" + + - name: 📦 Publish Nuget package + working-directory: bindings/dotnet/UnicornEngine + run: dotnet nuget push "bin/Release/UnicornEngine.Unicorn.*.nupkg" -k "$NUGET_AUTH_TOKEN" -s https://api.nuget.org/v3/index.json + env: + NUGET_AUTH_TOKEN: ${{ secrets.NUGET_KEY }} diff --git a/bindings/const_generator.py b/bindings/const_generator.py index 2a74c864..6d529630 100644 --- a/bindings/const_generator.py +++ b/bindings/const_generator.py @@ -90,10 +90,10 @@ template = { 'comment_close': '', }, 'dotnet': { - 'header': "// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT\n\nnamespace UnicornManaged.Const\n\nopen System\n\n[]\nmodule %s =\n", + 'header': "// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT\n\nnamespace UnicornEngine.Const\n\nopen System\n\n[]\nmodule %s =\n", 'footer': "\n", 'line_format': ' let UC_%s = %s\n', - 'out_file': os.path.join('dotnet', 'UnicornManaged', 'Const', '%s.fs'), + 'out_file': os.path.join('dotnet', 'UnicornEngine', 'Const', '%s.fs'), # prefixes for constant filenames of all archs - case sensitive 'arm.h': 'Arm', 'arm64.h': 'Arm64', diff --git a/bindings/dotnet/UnicornDotNet.sln b/bindings/dotnet/UnicornDotNet.sln index 90aa5b60..abe168e9 100644 --- a/bindings/dotnet/UnicornDotNet.sln +++ b/bindings/dotnet/UnicornDotNet.sln @@ -5,7 +5,7 @@ VisualStudioVersion = 14.0.23107.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnicornSamples", "UnicornSamples\UnicornSamples.csproj", "{B80B5987-1E24-4309-8BF9-C4F91270F21C}" EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "UnicornManaged", "UnicornManaged\UnicornManaged.fsproj", "{0C21F1C1-2725-4A46-9022-1905F85822A5}" +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "UnicornEngine", "UnicornEngine\UnicornEngine.fsproj", "{0C21F1C1-2725-4A46-9022-1905F85822A5}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/bindings/dotnet/UnicornManaged/Binding/BindingFactory.fs b/bindings/dotnet/UnicornEngine/Binding/BindingFactory.fs similarity index 84% rename from bindings/dotnet/UnicornManaged/Binding/BindingFactory.fs rename to bindings/dotnet/UnicornEngine/Binding/BindingFactory.fs index 6ea0b183..30c7f821 100644 --- a/bindings/dotnet/UnicornManaged/Binding/BindingFactory.fs +++ b/bindings/dotnet/UnicornEngine/Binding/BindingFactory.fs @@ -1,4 +1,4 @@ -namespace UnicornManaged.Binding +namespace UnicornEngine.Binding module BindingFactory = diff --git a/bindings/dotnet/UnicornManaged/Binding/IBinding.fs b/bindings/dotnet/UnicornEngine/Binding/IBinding.fs similarity index 97% rename from bindings/dotnet/UnicornManaged/Binding/IBinding.fs rename to bindings/dotnet/UnicornEngine/Binding/IBinding.fs index 7ef6d279..b6c3edc0 100644 --- a/bindings/dotnet/UnicornManaged/Binding/IBinding.fs +++ b/bindings/dotnet/UnicornEngine/Binding/IBinding.fs @@ -1,4 +1,4 @@ -namespace UnicornManaged.Binding +namespace UnicornEngine.Binding open System diff --git a/bindings/dotnet/UnicornManaged/Binding/MockBinding.fs b/bindings/dotnet/UnicornEngine/Binding/MockBinding.fs similarity index 98% rename from bindings/dotnet/UnicornManaged/Binding/MockBinding.fs rename to bindings/dotnet/UnicornEngine/Binding/MockBinding.fs index 7b99c8e5..3eeefe89 100644 --- a/bindings/dotnet/UnicornManaged/Binding/MockBinding.fs +++ b/bindings/dotnet/UnicornEngine/Binding/MockBinding.fs @@ -1,4 +1,4 @@ -namespace UnicornManaged.Binding +namespace UnicornEngine.Binding open System diff --git a/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs b/bindings/dotnet/UnicornEngine/Binding/NativeBinding.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs rename to bindings/dotnet/UnicornEngine/Binding/NativeBinding.fs index 6be7b2f3..efaccc48 100644 --- a/bindings/dotnet/UnicornManaged/Binding/NativeBinding.fs +++ b/bindings/dotnet/UnicornEngine/Binding/NativeBinding.fs @@ -1,4 +1,4 @@ -namespace UnicornManaged.Binding +namespace UnicornEngine.Binding open System open System.Runtime.InteropServices diff --git a/bindings/dotnet/UnicornManaged/Const/Arm.fs b/bindings/dotnet/UnicornEngine/Const/Arm.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/Arm.fs rename to bindings/dotnet/UnicornEngine/Const/Arm.fs index 08766baf..8a275261 100644 --- a/bindings/dotnet/UnicornManaged/Const/Arm.fs +++ b/bindings/dotnet/UnicornEngine/Const/Arm.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/Arm64.fs b/bindings/dotnet/UnicornEngine/Const/Arm64.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/Arm64.fs rename to bindings/dotnet/UnicornEngine/Const/Arm64.fs index 4c509d03..9e9878a7 100644 --- a/bindings/dotnet/UnicornManaged/Const/Arm64.fs +++ b/bindings/dotnet/UnicornEngine/Const/Arm64.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/Common.fs b/bindings/dotnet/UnicornEngine/Const/Common.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/Common.fs rename to bindings/dotnet/UnicornEngine/Const/Common.fs index d6b92eae..d0ed7b98 100644 --- a/bindings/dotnet/UnicornManaged/Const/Common.fs +++ b/bindings/dotnet/UnicornEngine/Const/Common.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/M68k.fs b/bindings/dotnet/UnicornEngine/Const/M68k.fs similarity index 97% rename from bindings/dotnet/UnicornManaged/Const/M68k.fs rename to bindings/dotnet/UnicornEngine/Const/M68k.fs index b9189d2d..768bc12b 100644 --- a/bindings/dotnet/UnicornManaged/Const/M68k.fs +++ b/bindings/dotnet/UnicornEngine/Const/M68k.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/Mips.fs b/bindings/dotnet/UnicornEngine/Const/Mips.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/Mips.fs rename to bindings/dotnet/UnicornEngine/Const/Mips.fs index 7f85a0cf..d4818783 100644 --- a/bindings/dotnet/UnicornManaged/Const/Mips.fs +++ b/bindings/dotnet/UnicornEngine/Const/Mips.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/Ppc.fs b/bindings/dotnet/UnicornEngine/Const/Ppc.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/Ppc.fs rename to bindings/dotnet/UnicornEngine/Const/Ppc.fs index 1727c157..54a18b3b 100644 --- a/bindings/dotnet/UnicornManaged/Const/Ppc.fs +++ b/bindings/dotnet/UnicornEngine/Const/Ppc.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/Riscv.fs b/bindings/dotnet/UnicornEngine/Const/Riscv.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/Riscv.fs rename to bindings/dotnet/UnicornEngine/Const/Riscv.fs index bf578024..fe61ec2c 100644 --- a/bindings/dotnet/UnicornManaged/Const/Riscv.fs +++ b/bindings/dotnet/UnicornEngine/Const/Riscv.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/S390x.fs b/bindings/dotnet/UnicornEngine/Const/S390x.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/S390x.fs rename to bindings/dotnet/UnicornEngine/Const/S390x.fs index 97f7ec4b..c4bd76e6 100644 --- a/bindings/dotnet/UnicornManaged/Const/S390x.fs +++ b/bindings/dotnet/UnicornEngine/Const/S390x.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/Sparc.fs b/bindings/dotnet/UnicornEngine/Const/Sparc.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/Sparc.fs rename to bindings/dotnet/UnicornEngine/Const/Sparc.fs index 8eb8cc23..8350af5c 100644 --- a/bindings/dotnet/UnicornManaged/Const/Sparc.fs +++ b/bindings/dotnet/UnicornEngine/Const/Sparc.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/TriCore.fs b/bindings/dotnet/UnicornEngine/Const/TriCore.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/TriCore.fs rename to bindings/dotnet/UnicornEngine/Const/TriCore.fs index 0c82fb97..b2c78e2e 100644 --- a/bindings/dotnet/UnicornManaged/Const/TriCore.fs +++ b/bindings/dotnet/UnicornEngine/Const/TriCore.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/Const/X86.fs b/bindings/dotnet/UnicornEngine/Const/X86.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Const/X86.fs rename to bindings/dotnet/UnicornEngine/Const/X86.fs index 8d2fd5b3..5e115b9e 100644 --- a/bindings/dotnet/UnicornManaged/Const/X86.fs +++ b/bindings/dotnet/UnicornEngine/Const/X86.fs @@ -1,6 +1,6 @@ // For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT -namespace UnicornManaged.Const +namespace UnicornEngine.Const open System diff --git a/bindings/dotnet/UnicornManaged/ConvertUtility.fs b/bindings/dotnet/UnicornEngine/ConvertUtility.fs similarity index 94% rename from bindings/dotnet/UnicornManaged/ConvertUtility.fs rename to bindings/dotnet/UnicornEngine/ConvertUtility.fs index 5e455bf7..a453c861 100644 --- a/bindings/dotnet/UnicornManaged/ConvertUtility.fs +++ b/bindings/dotnet/UnicornEngine/ConvertUtility.fs @@ -1,4 +1,4 @@ -namespace UnicornManaged +namespace UnicornEngine open System diff --git a/bindings/dotnet/UnicornManaged/InternalHooks.fs b/bindings/dotnet/UnicornEngine/InternalHooks.fs similarity index 98% rename from bindings/dotnet/UnicornManaged/InternalHooks.fs rename to bindings/dotnet/UnicornEngine/InternalHooks.fs index 36cfc3ce..d9e87954 100644 --- a/bindings/dotnet/UnicornManaged/InternalHooks.fs +++ b/bindings/dotnet/UnicornEngine/InternalHooks.fs @@ -1,4 +1,4 @@ -namespace UnicornManaged +namespace UnicornEngine open System open System.Runtime.InteropServices diff --git a/bindings/dotnet/UnicornManaged/Unicorn.fs b/bindings/dotnet/UnicornEngine/Unicorn.fs similarity index 99% rename from bindings/dotnet/UnicornManaged/Unicorn.fs rename to bindings/dotnet/UnicornEngine/Unicorn.fs index 31decbcd..7d401300 100644 --- a/bindings/dotnet/UnicornManaged/Unicorn.fs +++ b/bindings/dotnet/UnicornEngine/Unicorn.fs @@ -1,11 +1,11 @@ -namespace UnicornManaged +namespace UnicornEngine open System open System.Collections.Generic open System.Runtime.InteropServices open System.Linq -open UnicornManaged.Const -open UnicornManaged.Binding +open UnicornEngine.Const +open UnicornEngine.Binding // exported hooks type CodeHook = delegate of Unicorn * Int64 * Int32 * Object -> unit diff --git a/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj b/bindings/dotnet/UnicornEngine/UnicornEngine.fsproj similarity index 74% rename from bindings/dotnet/UnicornManaged/UnicornManaged.fsproj rename to bindings/dotnet/UnicornEngine/UnicornEngine.fsproj index 1a66562a..f2142473 100644 --- a/bindings/dotnet/UnicornManaged/UnicornManaged.fsproj +++ b/bindings/dotnet/UnicornEngine/UnicornEngine.fsproj @@ -1,11 +1,13 @@  net6.0 - UnicornManaged - UnicornManaged + UnicornEngine.Unicorn + UnicornEngine Copyright © Antonio Parata 2016 https://github.com/unicorn-engine/unicorn - 2.0.0 + .NET bindings for unicorn + 2.0.0 + $(VersionSuffix) 0c21f1c1-2725-4a46-9022-1905f85822a5 true true @@ -15,6 +17,10 @@ 3 + + none + + @@ -36,4 +42,8 @@ + + + + diff --git a/bindings/dotnet/UnicornManaged/UnicornEngineException.fs b/bindings/dotnet/UnicornEngine/UnicornEngineException.fs similarity index 83% rename from bindings/dotnet/UnicornManaged/UnicornEngineException.fs rename to bindings/dotnet/UnicornEngine/UnicornEngineException.fs index fd582557..68622951 100644 --- a/bindings/dotnet/UnicornManaged/UnicornEngineException.fs +++ b/bindings/dotnet/UnicornEngine/UnicornEngineException.fs @@ -1,4 +1,4 @@ -namespace UnicornManaged +namespace UnicornEngine open System diff --git a/bindings/dotnet/UnicornSamples/ShellcodeSample.cs b/bindings/dotnet/UnicornSamples/ShellcodeSample.cs index 7982e5e4..08ab59b1 100644 --- a/bindings/dotnet/UnicornSamples/ShellcodeSample.cs +++ b/bindings/dotnet/UnicornSamples/ShellcodeSample.cs @@ -3,8 +3,8 @@ using Gee.External.Capstone.X86; using System; using System.Diagnostics; using System.Text; -using UnicornManaged; -using UnicornManaged.Const; +using UnicornEngine; +using UnicornEngine.Const; namespace UnicornSamples { diff --git a/bindings/dotnet/UnicornSamples/UnicornSamples.csproj b/bindings/dotnet/UnicornSamples/UnicornSamples.csproj index bd603441..4ba2d49e 100644 --- a/bindings/dotnet/UnicornSamples/UnicornSamples.csproj +++ b/bindings/dotnet/UnicornSamples/UnicornSamples.csproj @@ -17,9 +17,9 @@ - + {0c21f1c1-2725-4a46-9022-1905f85822a5} - UnicornManaged + UnicornEngine diff --git a/bindings/dotnet/UnicornSamples/X86Sample32.cs b/bindings/dotnet/UnicornSamples/X86Sample32.cs index 24333839..bff69e79 100644 --- a/bindings/dotnet/UnicornSamples/X86Sample32.cs +++ b/bindings/dotnet/UnicornSamples/X86Sample32.cs @@ -3,8 +3,8 @@ using Gee.External.Capstone.X86; using System; using System.Diagnostics; using System.Text; -using UnicornManaged; -using UnicornManaged.Const; +using UnicornEngine; +using UnicornEngine.Const; namespace UnicornSamples {