Skip to content

Commit

Permalink
feat: omnibus release cleanup
Browse files Browse the repository at this point in the history
feat: use oxc parser from truffle typescript
feat: integrate cargo and gradle builds
feat: switch to explicit target triples for cargo
feat: early musl support for rustlibs
feat: build conventions for target info + triples
feat: use native typescript parser by default
fix: gc of sections by linker
fix: lto and cflags alignment
fix: cross-lang lto with linker plugins
fix: always produce debug symbols on linux
fix: remove vendored native tls in orogene
fix: remove vendored boringssl
fix: native access to oxc parser
fix: bloat from static rust libs
fix: make orogene and uv conditional
fix: target `x86-64-v3`
fix: better support for clang
fix: aligned cflags for hardening
fix: some issues building against musl
fix: drop sqlite math fns for libm dep
fix: build embedded + benchmarks by default
fix: consolidate `elide.target` and related props
fix: entirely eliminate the "elide natives" root
fix: drop bouncycastle (unused)
fix: drop mosaic and compose (tmp, unused)
fix: respect cflags from all native builds
fix: continued support for cfi/branch protection
fix: drop unused / irrelevant resources
fix: colors break native error printing
fix: copy method visibility for node child process records
fix: drop module preloading
chore: add support for es2024 setting
chore: add run configurations for idea
chore: update llvm/clang -> `19.x`
chore: update gradle -> `8.13`
chore: update typescript -> `5.8.2`
chore: update crates
chore: update pnpm deps
chore: update maven deps
chore: trim unused crates and deps
chore: relocate vm feature classes to `engine`
chore: update api pins
chore: update detekt baselines
chore: update pgo profiles

Signed-off-by: Sam Gammon <sam@elide.dev>
  • Loading branch information
sgammon committed Mar 2, 2025
1 parent cf62b54 commit 73b1845
Show file tree
Hide file tree
Showing 148 changed files with 8,113 additions and 8,586 deletions.
32 changes: 32 additions & 0 deletions .cargo/config.clang.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#
# Copyright (c) 2024 Elide Technologies, Inc.
#
# Licensed under the MIT license (the "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://opensource.org/license/mit/
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under the License.
#

[build]
rustflags = [
# Enforce completely position-independent executables.
"-Crelocation-model=pic",

# Link with LLD through clang; enable linker plugin LTO.
"-Clinker=clang",
"-Clink-arg=-fuse-ld=lld",
"-Clinker-plugin-lto",

# Target CPU.
"-Ctarget-cpu=x86-64-v3",
]

[env]
ELIDE_ROOT = { value = ".", relative = true }
SQLITE3_STATIC = { value = "1" }
SQLITE3_LIB_DIR = { value = "third_party/sqlite/install/lib", relative = true }
SQLITE3_INCLUDE_DIR = { value = "third_party/sqlite/install/include", relative = true }
40 changes: 40 additions & 0 deletions .cargo/config.pgo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#
# Copyright (c) 2024 Elide Technologies, Inc.
#
# Licensed under the MIT license (the "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://opensource.org/license/mit/
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under the License.
#

[build]
rustflags = [
# Enforce completely position-independent executables.
"-Crelocation-model=pic",

# Link with LLD through clang; enable linker plugin LTO.
"-Clinker=clang",
"-Clink-arg=-fuse-ld=lld",
"-Clinker-plugin-lto",

# Enable PGO.
"-Cprofile-use=./tools/merged.profdata",

# Target CPU.
"-Ctarget-cpu=x86-64-v3",
]

[env]
CC = { value = "clang" }
CXX = { value = "clang++" }
LD = { value = "lld" }
AR = { value = "llvm-ar" }

ELIDE_ROOT = { value = ".", relative = true }
SQLITE3_STATIC = { value = "1" }
SQLITE3_LIB_DIR = { value = "third_party/sqlite/install/lib", relative = true }
SQLITE3_INCLUDE_DIR = { value = "third_party/sqlite/install/include", relative = true }
40 changes: 40 additions & 0 deletions .cargo/config.profiler.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#
# Copyright (c) 2024 Elide Technologies, Inc.
#
# Licensed under the MIT license (the "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://opensource.org/license/mit/
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under the License.
#

[build]
rustflags = [
# Enforce completely position-independent executables.
"-Crelocation-model=pic",

# Link with LLD through clang; enable linker plugin LTO.
"-Clinker=clang",
"-Clink-arg=-fuse-ld=lld",
"-Clinker-plugin-lto",

# Generate profile data.
"-Cprofile-generate=/tmp/pgo-data",

# Target CPU.
"-Ctarget-cpu=x86-64-v3",
]

[env]
CC = { value = "clang" }
CXX = { value = "clang++" }
LD = { value = "lld" }
AR = { value = "llvm-ar" }

ELIDE_ROOT = { value = ".", relative = true }
SQLITE3_STATIC = { value = "1" }
SQLITE3_LIB_DIR = { value = "third_party/sqlite/install/lib", relative = true }
SQLITE3_INCLUDE_DIR = { value = "third_party/sqlite/install/include", relative = true }
12 changes: 8 additions & 4 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,16 @@

[build]
rustflags = [
# Enable Tokio unstable.
# "--cfg",
# "tokio_unstable",

# Enforce completely position-independent executables.
"-Crelocation-model=pic",

# Link with LLD through clang; enable linker plugin LTO.
"-Clinker=clang",
"-Clink-arg=-fuse-ld=lld",
"-Clinker-plugin-lto",

# Target CPU.
"-Ctarget-cpu=x86-64-v3",
]

[env]
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/job.cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ jobs:
if: success() && !contains(matrix.runner, 'windows')
run: |
pushd packages/cli/build/native/nativeCompile;
xz -9kv elide.debug;
xz -9kv elide;
popd;
echo "Binary compressed.";
- name: "Artifacts: Debug Binary (Unix)"
Expand All @@ -250,14 +250,14 @@ jobs:
with:
name: cli-debug-${{ matrix.tag }}
path: |
./packages/cli/build/native/nativeCompile/elide.debug.xz
./packages/cli/build/native/nativeCompile/elide.xz
- name: "Artifacts: Debug Binary (Windows)"
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
if: success() && contains(matrix.runner, 'windows')
with:
name: cli-debug-${{ matrix.tag }}
path: |
./packages/cli/build/native/nativeCompile/elide.debug
./packages/cli/build/native/nativeCompile/elide
- name: "Artifacts: Dashboard Dump"
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
if: success()
Expand Down
Loading

0 comments on commit 73b1845

Please sign in to comment.