Skip to content

Final version of python.exe, node.exe, ... support #557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 62 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
830bb3b
Extended dynlink for getting symbols of the executable.
viferga Mar 25, 2025
a50b5a9
Add base of plthook.
viferga Mar 25, 2025
e6b92a2
Detour working properly, enum still failing.
viferga Mar 28, 2025
46f840b
Solved metacall fork in linux.
viferga Apr 2, 2025
0e8dcc4
Start to improve node loader.
viferga Apr 2, 2025
73492ee
Improve dynlink and prepare it for managing the dependencies of the l…
viferga Apr 8, 2025
70de2c4
Add loading of the dependencies.
viferga Apr 9, 2025
7c43f63
Improve the implementation.
viferga Apr 9, 2025
4954d8d
Typo on notice.
viferga Apr 10, 2025
9a31798
First version of plthook working, improved dylink and added support f…
viferga Apr 10, 2025
3dd2c54
Minor bug in cmake libgit2.
viferga Apr 10, 2025
73c12f5
Avoid to optimize function in release.
viferga Apr 10, 2025
369de4a
Trying to solve dynlink error.
viferga Apr 10, 2025
dd78067
Solve more issues.
viferga Apr 10, 2025
1bcab45
Solve issues in release.
viferga Apr 10, 2025
9171ce6
Solve issues with atomic.
viferga Apr 10, 2025
06014cf
Solve issues with logs on 32 b32 bits.
viferga Apr 10, 2025
1e24181
Update backtrace.
viferga Apr 11, 2025
69dc5d4
Solve issues in node loader for 32 bits.
viferga Apr 11, 2025
633e9f3
Updated gtest, add comments on fork.
viferga Apr 15, 2025
8d8a6fc
Update google test version.
viferga Apr 15, 2025
8b20384
Solve issues with gtest.
viferga Apr 15, 2025
00600e7
Update gtest properly to c++17.
viferga Apr 15, 2025
75816ff
Trying to solve issues with docker hub ci.
viferga Apr 15, 2025
a75415a
Trying to improve docker hub.
viferga Apr 15, 2025
5db8d09
Sovle issues from dynlink.
viferga Apr 15, 2025
dd45fb3
Solve issues from docker hub.
viferga Apr 15, 2025
e032b9c
Solve issues in tests.
viferga Apr 16, 2025
4ec0950
Add base for detour improvements.
viferga Apr 16, 2025
e169030
Minor bug in metacall link.
viferga Apr 16, 2025
97cfe6f
Trying to solve issues with dockerhub.
viferga Apr 16, 2025
25caa34
Trying path in docker.
viferga Apr 23, 2025
e316bbf
Revert "Trying path in docker."
viferga Apr 23, 2025
7ba0823
Docker path.
viferga Apr 23, 2025
9c2b3e3
Trying to solve issues with docker hub.
viferga Apr 23, 2025
b9d0940
Add deubg.
viferga Apr 23, 2025
0faf2e8
Use the binary on docker hub.
viferga Apr 23, 2025
9a35d0f
Testing things with dockerhub.
viferga Apr 23, 2025
0785ea1
More debug of dockerhub.
viferga Apr 23, 2025
64bd908
Add file dependency for debug dockerhub.
viferga Apr 23, 2025
44379ca
Trying to solve issues with atomic abi.
viferga Apr 24, 2025
bcf26cb
Solve issues on docker, improbe build warnings.
viferga Apr 24, 2025
8a1e352
Trying to solve dockerhub.
viferga Apr 24, 2025
309414f
Trying buildx in dockerhub.
viferga Apr 24, 2025
ef5efab
Improve minor issues rapidjson.
viferga Apr 24, 2025
8b42427
Improved the architecture build.
viferga Apr 24, 2025
787220c
Extend timeout of rpc test.
viferga Apr 24, 2025
27b8fde
Keep trying solving issues with dockerhub.
viferga Apr 24, 2025
549c965
Solve issues dockerhub.
viferga Apr 24, 2025
71da141
Try to improve dockerhub.
viferga Apr 24, 2025
4952f19
Solve issues dockerhub.
viferga Apr 24, 2025
895a214
Solve more issues dockerhub.
viferga Apr 24, 2025
95c73c1
Solve issues dockerhub.
viferga Apr 24, 2025
75af005
Dockerhub.
viferga Apr 24, 2025
4bee75e
Test platform.
viferga Apr 24, 2025
4cc921c
Test platform.
viferga Apr 24, 2025
277e5e4
Final version of dockerhub.
viferga Apr 24, 2025
469c4e4
Simplify list.
viferga Apr 24, 2025
5c01e5b
Testing dockerhub.
viferga Apr 24, 2025
3b370c6
Finished docker hub CI, remove warning from node loader.
viferga Apr 24, 2025
e804bef
Solve issues with macos.
viferga Apr 24, 2025
cb8429f
Solved warnings, trying to mto make windows work.
viferga Apr 25, 2025
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
2 changes: 0 additions & 2 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,10 @@ jobs:

- name: Build
working-directory: ./build
# TODO: Remove the disable option for fork safe once funchook problem is solved
run: |
if [ "$(uname)" == "Darwin" ]; then
. .env
fi
cmake -DOPTION_FORK_SAFE=OFF ..
bash ../tools/metacall-build.sh $METACALL_BUILD_OPTIONS
env:
METACALL_BUILD_OPTIONS: release benchmarks
Expand Down
105 changes: 71 additions & 34 deletions .github/workflows/docker-hub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,53 @@ env:
IMAGE_NAME: core
BUILDKIT_VERSION: 0.13.0

# TODO: Tests failing
# - linux/s390x
# TODO: Not tested or no hooking support
# - linux/mips64le
# - linux/mips64
# - linux/loong64
PLATFORM_LIST: >
[
"linux/amd64",
"linux/amd64/v2",
"linux/amd64/v3",
"linux/386",
"linux/arm64",
"linux/riscv64",
"linux/ppc64le",
"linux/arm/v7",
"linux/arm/v6"
]

jobs:
matrix:
name: Generate Platform List
runs-on: ubuntu-latest
outputs:
platform_list: ${{ steps.generate_platform_list.outputs.platform_list }}
steps:
- name: Generate platform list
id: generate_platform_list
run: |
set -exuo pipefail
PLATFORM_STRING=$(cat <<EOF
${{ env.PLATFORM_LIST }}
EOF
)
PLATFORM_LIST=$(echo $PLATFORM_STRING | jq -c .)
echo "PLATFORM_LIST=$PLATFORM_LIST" >> $GITHUB_ENV
echo "::set-output name=platform_list::$PLATFORM_LIST"

build:
name: Build
runs-on: ubuntu-latest
needs: matrix
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/386
- linux/arm64
- linux/riscv64
- linux/ppc64le
- linux/s390x
- linux/arm/v7
- linux/arm/v6
platform: ${{ fromJSON(needs.matrix.outputs.platform_list) }}

steps:
- name: Checkout Repository
uses: actions/checkout@v4
Expand All @@ -58,42 +89,44 @@ jobs:
- name: Build MetaCall Docker Images
env:
METACALL_PLATFORM: ${{ matrix.platform }}
DOCKER_BUILDKIT: 1
run: |
./docker-compose.sh platform

- name: Tag Platform Images
- name: Run Tests
env:
DOCKER_BUILDKIT: 1
run: |
platform_tag=$(echo "${{ matrix.platform }}" | tr '/' '-')
echo "Platform Tag: ${platform_tag}"
for tag in "deps" "dev" "runtime" "cli"; do
docker tag metacall/${IMAGE_NAME}:${tag} \
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag}-${platform_tag}
done
set -exuo pipefail
docker image inspect ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:cli --format='{{.Os}}/{{.Architecture}}'
cat <<EOF > Dockerfile.test
FROM ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:cli
RUN apt-get update && apt-get install -y file
RUN file /usr/local/bin/metacallcli && ldd /usr/local/bin/metacallcli
RUN echo "console.log('0123456789abcdef')" > script.js
RUN metacallcli script.js | tee output.txt
RUN grep 0123456789abcdef output.txt
EOF

docker buildx build --progress=plain --platform ${{ matrix.platform }} -f Dockerfile.test -t test-image .

- name: Push Platform Images
- name: Tag & Push Platform Images
# Only run when master or when tagging a version
if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.event_name != 'pull_request'
run: |
platform_tag=$(echo "${{ matrix.platform }}" | tr '/' '-')
for tag in "deps" "dev" "runtime" "cli"; do
docker tag \
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag} \
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag}-${platform_tag}

echo "Pushing image for tag: ${tag} with platform: ${platform_tag}"
docker push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag}-${platform_tag}
done

- name: Run Tests
run: |
set -exuo pipefail
platform_tag=$(echo "${{ matrix.platform }}" | tr '/' '-')
cat <<EOF > Dockerfile.test
FROM ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:cli-${platform_tag}
RUN echo "console.log('abcde')" > script.js
RUN metacallcli script.js
EOF

docker build --platform ${{ matrix.platform }} -f Dockerfile.test -t test-image .
docker run --rm --platform=${{ matrix.platform }} test-image

manifest:
name: Create and Push Manifest Lists
needs: build
needs: [matrix, build]
# Only run when master or when tagging a version
if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.event_name != 'pull_request'
runs-on: ubuntu-latest
Expand All @@ -106,8 +139,10 @@ jobs:

- name: Create and Push Manifest Lists
run: |
set -exuo pipefail

tags=("deps" "dev" "runtime" "cli")
platforms=("linux/amd64" "linux/386" "linux/arm64" "linux/riscv64" "linux/ppc64le" "linux/s390x" "linux/arm/v7" "linux/arm/v6")
platforms=($(echo '${{ needs.matrix.outputs.platform_list }}' | jq -r '.[]'))

echo "Create all the tags by platform"

Expand Down Expand Up @@ -151,14 +186,16 @@ jobs:

cleanup:
name: Cleanup Platform Specific Tags
needs: [build, manifest]
needs: [matrix, build, manifest]
runs-on: ubuntu-latest
if: always()
steps:
- name: Remove Platform-Specific Tags
run: |
set -exuo pipefail

tags=("deps" "dev" "runtime" "cli")
platforms=("linux/amd64" "linux/386" "linux/arm64" "linux/riscv64" "linux/ppc64le" "linux/s390x" "linux/arm/v7" "linux/arm/v6")
platforms=($(echo '${{ needs.matrix.outputs.platform_list }}' | jq -r '.[]'))

for tag in "${tags[@]}"; do
for platform in "${platforms[@]}"; do
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/macos-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
- name: Set up the environment
run: sh ./tools/metacall-environment.sh $METACALL_INSTALL_OPTIONS
env:
METACALL_INSTALL_OPTIONS: base python nodejs typescript java ruby wasm rpc file cobol go backtrace #netcore5 c rust rapidjson funchook swig pack # clangformat v8rep51 coverage
METACALL_INSTALL_OPTIONS: base python nodejs typescript java ruby wasm rpc file cobol go backtrace #netcore5 c rust rapidjson swig pack # clangformat v8rep51 coverage

- name: Configure
run: |
Expand All @@ -89,10 +89,8 @@ jobs:

- name: Build
working-directory: ./build
# TODO: Remove the disable option for fork safe once funchook problem is solved
run: |
. .env
cmake -DOPTION_FORK_SAFE=OFF ..
bash ../tools/metacall-build.sh $METACALL_BUILD_OPTIONS
env:
METACALL_BUILD_OPTIONS: ${{ matrix.options.build }} tests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- name: Set up the environment
run: cmd.exe /c "powershell .\tools\metacall-environment.ps1 $Env:METACALL_INSTALL_OPTIONS"
env:
METACALL_INSTALL_OPTIONS: python nodejs java ruby typescript wasm rpc file # netcore5 java c cobol rust rapidjson funchook swig pack # clangformat v8rep51 coverage
METACALL_INSTALL_OPTIONS: python nodejs java ruby typescript wasm rpc file # netcore5 java c cobol rust rapidjson swig pack # clangformat v8rep51 coverage

- name: Configure
run: |
Expand Down
10 changes: 5 additions & 5 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ All external code and licenses used by **METACALL** are always wrapped into plug
- [2. Serials](#2-serials)
- [2.1 RapidJSON](#21-rapidjson)
- [3. Detours](#3-detours)
- [3.1 FuncHook](#31-funchook)
- [3.1 PLTHook](#31-plthook)
- [4. Ports](#4-ports)
- [4.1 Swig](#41-swig)

Expand Down Expand Up @@ -80,11 +80,11 @@ All external code and licenses used by **METACALL** are always wrapped into plug

## 3. Detours

### 3.1 FuncHook
### 3.1 PLTHook

| Software | License |
| :----------: | :-------------------------------------------------------------------------------------------------: |
| **FuncHook** | [GPLv2 or later with a GPL linking exception](https://github.com/kubo/funchook/blob/master/LICENSE) |
| Software | License |
| :----------: | :------------------------------------------------------------------------------------------: |
| **PLTHook** | [2-clause BSD-style license](https://github.com/metacall/plthook?tab=readme-ov-file#license) |

## 4. Ports

Expand Down
6 changes: 3 additions & 3 deletions cmake/FindLibGit2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,13 @@ endif()

if(NOT LibGit2_VERSION AND LibGit2_INCLUDE_DIR)
file(STRINGS "${LibGit2_INCLUDE_DIR}/git2/version.h" LibGit2_VERSION_MAJOR REGEX "^#define LIBGIT2_VER_MAJOR +([0-9]+)")
string(REGEX MATCH "([0-9]+)$" LibGit2_VERSION_MAJOR ${LibGit2_VERSION_MAJOR})
string(REGEX MATCH "([0-9]+)$" LibGit2_VERSION_MAJOR "${LibGit2_VERSION_MAJOR}")

file(STRINGS "${LibGit2_INCLUDE_DIR}/git2/version.h" LibGit2_VERSION_MINOR REGEX "^#define LIBGIT2_VER_MINOR +([0-9]+)")
string(REGEX MATCH "([0-9]+)$" LibGit2_VERSION_MINOR ${LibGit2_VERSION_MINOR})
string(REGEX MATCH "([0-9]+)$" LibGit2_VERSION_MINOR "${LibGit2_VERSION_MINOR}")

file(STRINGS "${LibGit2_INCLUDE_DIR}/git2/version.h" LibGit2_VERSION_REVISION REGEX "^#define LIBGIT2_VER_REVISION +([0-9]+)")
string(REGEX MATCH "([0-9]+)$" LibGit2_VERSION_REVISION ${LibGit2_VERSION_REVISION})
string(REGEX MATCH "([0-9]+)$" LibGit2_VERSION_REVISION "${LibGit2_VERSION_REVISION}")

set(LibGit2_VERSION "${LibGit2_VERSION_MAJOR}.${LibGit2_VERSION_MINOR}.${LibGit2_VERSION_REVISION}")
endif()
Expand Down
4 changes: 2 additions & 2 deletions cmake/InstallGTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

if(NOT GTEST_FOUND OR USE_BUNDLED_GTEST)
if(NOT GTEST_VERSION OR USE_BUNDLED_GTEST)
set(GTEST_VERSION 1.11.0)
set(GTEST_VERSION 1.16.0)
endif()

find_package(Threads REQUIRED)
Expand All @@ -38,7 +38,7 @@ if(NOT GTEST_FOUND OR USE_BUNDLED_GTEST)
# Import Google Test Framework
ExternalProject_Add(google-test-depends
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-${GTEST_VERSION}
GIT_TAG v${GTEST_VERSION}
CMAKE_ARGS
-Dgtest_build_samples=OFF
-Dgtest_build_tests=OFF
Expand Down
2 changes: 1 addition & 1 deletion cmake/InstallRapidJSON.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

if(NOT RAPIDJSON_FOUND OR USE_BUNDLED_RAPIDJSON)
if(NOT RAPIDJSON_VERSION OR USE_BUNDLED_RAPIDJSON)
set(RAPIDJSON_VERSION ab1842a2dae061284c0a62dca1cc6d5e7e37e346)
set(RAPIDJSON_VERSION 24b5e7a8b27f42fa16b96fc70aade9106cf7102f)
endif()

ExternalProject_Add(rapid-json-depends
Expand Down
12 changes: 6 additions & 6 deletions cmake/Portability.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,10 @@ set(PROJECT_ARCH_NAME ${CMAKE_SYSTEM_PROCESSOR})

# 32 or 64 bit Linux
if(PROJECT_OS_LINUX)
if(${PROJECT_ARCH_NAME} STREQUAL "x86")
if (${PROJECT_ARCH_NAME} MATCHES "^(x86|i[3-6]86|x86_64)$" AND "${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
set(PROJECT_ARCH_32BIT TRUE BOOL INTERNAL)
endif()

if(${PROJECT_ARCH_NAME} MATCHES "(x86_64)|(amd64)|(AMD64)")
set(PROJECT_ARCH_X86 TRUE BOOL INTERNAL)
elseif(${PROJECT_ARCH_NAME} MATCHES "(x86_64)|(amd64)|(AMD64)")
set(PROJECT_ARCH_64BIT TRUE BOOL INTERNAL)
set(PROJECT_ARCH_AMD64 TRUE BOOL INTERNAL)
elseif(${PROJECT_ARCH_NAME} STREQUAL "aarch64")
Expand All @@ -162,6 +161,7 @@ if(PROJECT_OS_LINUX)
set(PROJECT_ARCH_64BIT TRUE BOOL INTERNAL)
endif()

# Verify the architecture is correct
if(PROJECT_ARCH_32BIT)
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
message(STATUS "Linux ${PROJECT_ARCH_NAME} 32bit detected")
Expand All @@ -183,15 +183,15 @@ endif()
if(NOT PROJECT_ARCH_32BIT AND NOT PROJECT_ARCH_64BIT)
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
message(STATUS "32bit architecture ${PROJECT_ARCH_NAME} detected")
set(PROJECT_ARCH_32BIT TRUE BOOL INTERNAL)
set(PROJECT_ARCH_32BIT TRUE BOOL INTERNAL)

if(PROJECT_OS_WIN)
set(WINXBITS Win32)
endif()

elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
message(STATUS "64bit architecture ${PROJECT_ARCH_NAME} detected")
set(PROJECT_ARCH_64BIT TRUE BOOL INTERNAL)
set(PROJECT_ARCH_64BIT TRUE BOOL INTERNAL)

if(PROJECT_OS_WIN)
set(WINXBITS Win64)
Expand Down
5 changes: 3 additions & 2 deletions cmake/Warnings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ if(WARNINGS_ENABLED)

# Define C compiler warning flags
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
# TODO: Uncomment the rest of the warnings, enable Weverything for clang
add_compile_options(-Wall)
add_compile_options(-Wextra)
add_compile_options(-Wunused)
Expand Down Expand Up @@ -85,7 +86,7 @@ if(WARNINGS_ENABLED)
string(REPLACE "/W1" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
string(REPLACE "/W2" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
string(REPLACE "/W3" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4 /Wall")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") # /Wall
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CTR_NONSTDC_NO_WARNINGS=1")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CTR_SECURE_NO_WARNINGS=1")
set(WARNINGS_C_AVAILABLE 1)
Expand All @@ -105,7 +106,7 @@ if(WARNINGS_ENABLED)
string(REPLACE "/W1" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "/W2" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "/W3" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") # /Wall
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D _CTR_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D _CTR_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D _CTR_NONSTDC_NO_WARNINGS=1")
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ services:
build:
args:
METACALL_BUILD_TYPE: ${METACALL_BUILD_TYPE}
METACALL_INSTALL_OPTIONS: base python ruby netcore7 nodejs typescript file rpc wasm java c cobol go rust rapidjson funchook swig pack backtrace sandbox ${METACALL_BUILD_COVERAGE} # clangformat v8rep51
METACALL_INSTALL_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson swig pack backtrace sandbox ${METACALL_BUILD_COVERAGE} # clangformat v8rep51
dev:
image: metacall/core:dev
build:
args:
METACALL_BUILD_TYPE: ${METACALL_BUILD_TYPE}
METACALL_BUILD_OPTIONS: ${METACALL_BUILD_SANITIZER} python ruby netcore7 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks ${METACALL_BUILD_COVERAGE} # v8
METACALL_BUILD_OPTIONS: ${METACALL_BUILD_SANITIZER} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks ${METACALL_BUILD_COVERAGE} # v8
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ services:
METACALL_PATH: $METACALL_PATH
METACALL_TOOLS_PATH: $METACALL_PATH/tools
METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE
METACALL_INSTALL_OPTIONS: base python ruby nodejs typescript file rpc rapidjson funchook swig pack backtrace # clangformat v8rep51 coverage
METACALL_INSTALL_OPTIONS: base python ruby nodejs typescript file rpc rapidjson swig pack backtrace # clangformat v8rep51 coverage
environment:
DEBIAN_FRONTEND: noninteractive
# Work around https://github.com/dotnet/cli/issues/1582 until Docker releases a
Expand Down
8 changes: 4 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Use the [installer](https://github.com/metacall/install) and try [some examples]
- [5.3.2.1 MetaCall](#5321-metacall)
- [5.3.2.2 RapidJSON](#5322-rapidjson)
- [5.3.3 Detours](#533-detours)
- [5.3.3.1 FuncHook](#5331-funchook)
- [5.3.3.1 PLTHook](#5331-plthook)
- [5.4 Ports](#54-ports)
- [5.5 Serialization](#55-serialization)
- [5.6 Memory Layout](#56-memory-layout)
Expand Down Expand Up @@ -251,7 +251,7 @@ The environment variables are optional, in case you want to modify default paths

- [`detours`](/source/detours) implement the [`detour`](/source/detour) interface by using a plugin architecture. The current list of available detour plugins is the following one.

- [`funchook_detour`](/source/detours/funchook_detour) implemented by means of FuncHook library.
- [`plthook_detour`](/source/detours/plthook_detour) implemented by means of PLTHook library.

- [`dynlink`](/source/dynlink) implements a cross-platform method to dynamically load libraries. It is used to dynamically load plugins into **METACALL**.

Expand Down Expand Up @@ -499,7 +499,7 @@ A loader must implement it to be considered a valid loader.

#### 5.3.3 Detours

##### 5.3.3.1 FuncHook
##### 5.3.3.1 PLTHook

### 5.4 Ports

Expand Down Expand Up @@ -666,7 +666,7 @@ It is possible to enable or disable concrete loaders, script, ports, serials or
| **OPTION*BUILD_LOADERS*** | `C` `JS` `CS` `MOCK` `PY` `JSM` `NODE` `RB` `FILE` |
| **OPTION*BUILD_SCRIPTS*** | `C` `CS` `JS` `NODE` `PY` `RB` `JAVA` |
| **OPTION*BUILD_SERIALS*** | `METACALL` `RAPID_JSON` |
| **OPTION*BUILD_DETOURS*** | `FUNCHOOK` |
| **OPTION*BUILD_DETOURS*** | `PLTHOOK` |
| **OPTION*BUILD_PORTS*** | `CS` `CXX` `D` `GO` `JAVA` `JS` `LUA` `NODE` `PHP` `PL` `PY` `R` `RB` |

To format the entire C/C++ codebase use:
Expand Down
Loading
Loading