fix(elb): all linker fixes — gcc compat, OpenSSL, runtime import conflict #40
@@ -174,6 +174,28 @@ jobs:
|
|||||||
-lcurl -lssl -lcrypto -lpthread -lm -o /tmp/el_native_fs
|
-lcurl -lssl -lcrypto -lpthread -lm -o /tmp/el_native_fs
|
||||||
/tmp/el_native_fs
|
/tmp/el_native_fs
|
||||||
|
|
||||||
|
# Build epm binary using elb (epm lives at repo root, not inside lang/)
|
||||||
|
- name: Build epm
|
||||||
|
run: |
|
||||||
|
ABS_ELB="$(pwd)/dist/bin/elb"
|
||||||
|
ABS_ELC="$(pwd)/dist/platform/elc"
|
||||||
|
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
||||||
|
ABS_OUT="$(pwd)/dist/bin"
|
||||||
|
(cd ../epm && "$ABS_ELB" --clean --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
||||||
|
chmod +x dist/bin/epm
|
||||||
|
echo "epm built"
|
||||||
|
|
||||||
|
# Build el-install binary using elb
|
||||||
|
- name: Build el-install
|
||||||
|
run: |
|
||||||
|
ABS_ELB="$(pwd)/dist/bin/elb"
|
||||||
|
ABS_ELC="$(pwd)/dist/platform/elc"
|
||||||
|
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
||||||
|
ABS_OUT="$(pwd)/dist/bin"
|
||||||
|
(cd tools/install && "$ABS_ELB" --clean --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
||||||
|
chmod +x dist/bin/el-install
|
||||||
|
echo "el-install built"
|
||||||
|
|
||||||
# Publish only after merge (push event), not on PR validation runs
|
# Publish only after merge (push event), not on PR validation runs
|
||||||
- name: Publish El SDK to Artifact Registry (dev)
|
- name: Publish El SDK to Artifact Registry (dev)
|
||||||
if: github.event_name == 'push'
|
if: github.event_name == 'push'
|
||||||
|
|||||||
@@ -170,6 +170,42 @@ jobs:
|
|||||||
-lcurl -lssl -lcrypto -lpthread -lm -o /tmp/el_native_fs
|
-lcurl -lssl -lcrypto -lpthread -lm -o /tmp/el_native_fs
|
||||||
/tmp/el_native_fs
|
/tmp/el_native_fs
|
||||||
|
|
||||||
|
# Build elb (needed for epm and el-install builds below)
|
||||||
|
- name: Build elb
|
||||||
|
run: |
|
||||||
|
mkdir -p dist/bin
|
||||||
|
dist/platform/elc elb.el > dist/elb.c
|
||||||
|
gcc -O2 \
|
||||||
|
-I el-compiler/runtime \
|
||||||
|
dist/elb.c \
|
||||||
|
el-compiler/runtime/el_runtime.c \
|
||||||
|
-lcurl -lssl -lcrypto -lpthread -lm \
|
||||||
|
-o dist/bin/elb
|
||||||
|
chmod +x dist/bin/elb
|
||||||
|
echo "elb built"
|
||||||
|
|
||||||
|
# Build epm binary using elb (epm lives at repo root, not inside lang/)
|
||||||
|
- name: Build epm
|
||||||
|
run: |
|
||||||
|
ABS_ELB="$(pwd)/dist/bin/elb"
|
||||||
|
ABS_ELC="$(pwd)/dist/platform/elc"
|
||||||
|
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
||||||
|
ABS_OUT="$(pwd)/dist/bin"
|
||||||
|
(cd ../epm && "$ABS_ELB" --clean --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
||||||
|
chmod +x dist/bin/epm
|
||||||
|
echo "epm built"
|
||||||
|
|
||||||
|
# Build el-install binary using elb
|
||||||
|
- name: Build el-install
|
||||||
|
run: |
|
||||||
|
ABS_ELB="$(pwd)/dist/bin/elb"
|
||||||
|
ABS_ELC="$(pwd)/dist/platform/elc"
|
||||||
|
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
||||||
|
ABS_OUT="$(pwd)/dist/bin"
|
||||||
|
(cd tools/install && "$ABS_ELB" --clean --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
||||||
|
chmod +x dist/bin/el-install
|
||||||
|
echo "el-install built"
|
||||||
|
|
||||||
# Publish only after merge (push event), not on PR validation runs
|
# Publish only after merge (push event), not on PR validation runs
|
||||||
- name: Publish El SDK to Artifact Registry (stage)
|
- name: Publish El SDK to Artifact Registry (stage)
|
||||||
if: github.event_name == 'push'
|
if: github.event_name == 'push'
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
ABS_ELC="$(pwd)/dist/platform/elc"
|
ABS_ELC="$(pwd)/dist/platform/elc"
|
||||||
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
||||||
ABS_OUT="$(pwd)/dist/bin"
|
ABS_OUT="$(pwd)/dist/bin"
|
||||||
(cd ../epm && "$ABS_ELB" --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
(cd ../epm && "$ABS_ELB" --clean --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
||||||
chmod +x dist/bin/epm
|
chmod +x dist/bin/epm
|
||||||
echo "epm built"
|
echo "epm built"
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ jobs:
|
|||||||
ABS_ELC="$(pwd)/dist/platform/elc"
|
ABS_ELC="$(pwd)/dist/platform/elc"
|
||||||
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
ABS_RUNTIME="$(pwd)/el-compiler/runtime"
|
||||||
ABS_OUT="$(pwd)/dist/bin"
|
ABS_OUT="$(pwd)/dist/bin"
|
||||||
(cd tools/install && "$ABS_ELB" --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
(cd tools/install && "$ABS_ELB" --clean --elc="$ABS_ELC" --runtime="$ABS_RUNTIME" --out="$ABS_OUT")
|
||||||
chmod +x dist/bin/el-install
|
chmod +x dist/bin/el-install
|
||||||
echo "el-install built"
|
echo "el-install built"
|
||||||
|
|
||||||
|
|||||||
@@ -10,15 +10,6 @@
|
|||||||
// export PATH="$HOME/.el/bin:$PATH"
|
// export PATH="$HOME/.el/bin:$PATH"
|
||||||
// export EL_HOME="$HOME/.el"
|
// export EL_HOME="$HOME/.el"
|
||||||
|
|
||||||
// ── Imports ───────────────────────────────────────────────────────────────────
|
|
||||||
|
|
||||||
import "../../runtime/string.el"
|
|
||||||
import "../../runtime/env.el"
|
|
||||||
import "../../runtime/fs.el"
|
|
||||||
import "../../runtime/exec.el"
|
|
||||||
import "../../runtime/json.el"
|
|
||||||
import "../../runtime/http.el"
|
|
||||||
|
|
||||||
// ── Constants ─────────────────────────────────────────────────────────────────
|
// ── Constants ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
fn gitea_releases_url() -> String {
|
fn gitea_releases_url() -> String {
|
||||||
|
|||||||
Reference in New Issue
Block a user