Skip to content

Commit b4f77cf

Browse files
committed
Update windows deployment
1 parent 716776b commit b4f77cf

9 files changed

Lines changed: 49 additions & 24 deletions

File tree

.github/workflows/build-pdf-runtime.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ on:
1818
permissions:
1919
contents: read
2020

21+
env:
22+
EMSDK_VERSION: 3.1.72
23+
2124
jobs:
2225
linux:
2326
name: Linux x64 + musl + WASM
@@ -39,9 +42,21 @@ jobs:
3942
run: pnpm install --frozen-lockfile
4043
- if: ${{ !contains(matrix.target, 'linuxmusl') }}
4144
name: Install build tools
42-
run: sudo apt-get update && sudo apt-get install -y cmake clang
45+
run: sudo apt-get update && sudo apt-get install -y cmake clang lld
46+
- if: matrix.target == 'wasm32'
47+
name: Install Emscripten
48+
run: |
49+
git clone https://github.com/emscripten-core/emsdk.git "$RUNNER_TEMP/emsdk"
50+
"$RUNNER_TEMP/emsdk/emsdk" install "$EMSDK_VERSION"
51+
"$RUNNER_TEMP/emsdk/emsdk" activate "$EMSDK_VERSION"
52+
echo "$RUNNER_TEMP/emsdk/upstream/emscripten" >> "$GITHUB_PATH"
53+
echo "$RUNNER_TEMP/emsdk/upstream/bin" >> "$GITHUB_PATH"
4354
- if: ${{ !contains(matrix.target, 'linuxmusl') }}
4455
name: Build target
56+
env:
57+
CC: clang
58+
CXX: clang++
59+
LDFLAGS: -fuse-ld=lld
4560
run: pnpm --filter @embedpdf/pdf-runtime build:target ${{ matrix.target }}
4661
- if: ${{ contains(matrix.target, 'linuxmusl') }}
4762
name: Build musl target in Alpine
@@ -76,9 +91,13 @@ jobs:
7691
run: pnpm install --frozen-lockfile
7792
- if: ${{ !contains(matrix.target, 'linuxmusl') }}
7893
name: Install build tools
79-
run: sudo apt-get update && sudo apt-get install -y cmake clang
94+
run: sudo apt-get update && sudo apt-get install -y cmake clang lld
8095
- if: ${{ !contains(matrix.target, 'linuxmusl') }}
8196
name: Build target
97+
env:
98+
CC: clang
99+
CXX: clang++
100+
LDFLAGS: -fuse-ld=lld
82101
run: pnpm --filter @embedpdf/pdf-runtime build:target ${{ matrix.target }}
83102
- if: ${{ contains(matrix.target, 'linuxmusl') }}
84103
name: Build musl target in Alpine

packages/pdf-runtime/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ build/local-staging/
99
.cache/
1010

1111
npm/*/pdf-runtime.node
12+
npm/win32-*/pdfium.dll
1213
npm/wasm32/pdfium.js
1314
npm/wasm32/pdfium.cjs
1415
npm/wasm32/pdfium.wasm

packages/pdf-runtime/build/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE
2424
)
2525

2626
if(WIN32)
27-
set(PDFIUM_LIB "${PDFIUM_LIB_DIR}/pdfium.lib")
27+
set(PDFIUM_LIB "${PDFIUM_LIB_DIR}/pdfium.dll.lib")
2828
else()
2929
set(PDFIUM_LIB "${PDFIUM_LIB_DIR}/libpdfium.a")
3030
endif()

packages/pdf-runtime/npm/win32-arm64/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"main": "./pdf-runtime.node",
1515
"files": [
1616
"pdf-runtime.node",
17+
"pdfium.dll",
1718
"README.md",
1819
"LICENSE"
1920
]

packages/pdf-runtime/npm/win32-x64/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"main": "./pdf-runtime.node",
1515
"files": [
1616
"pdf-runtime.node",
17+
"pdfium.dll",
1718
"README.md",
1819
"LICENSE"
1920
]

packages/pdf-runtime/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"build": "rollup -c",
4545
"build:target": "bash ./scripts/build-target.sh",
4646
"build:local": "bash ./scripts/build-all-local.sh",
47-
"clean": "rimraf dist build/libpdfium build/generated npm/*/pdf-runtime.node npm/wasm32/pdfium.js npm/wasm32/pdfium.cjs npm/wasm32/pdfium.wasm",
47+
"clean": "rimraf dist build/libpdfium build/generated npm/*/pdf-runtime.node npm/win32-*/pdfium.dll npm/wasm32/pdfium.js npm/wasm32/pdfium.cjs npm/wasm32/pdfium.wasm",
4848
"fetch": "bash ./scripts/fetch-libpdfium.sh",
4949
"generate:functions": "node ./build/generate-functions.mjs",
5050
"generate:napi": "node ./build/generate-napi-binding.mjs",
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,42 @@
11
{
22
"fork": "embedpdf/pdfium",
3-
"sha": "c095d6de06b90ec11f69b4d4da66d464dbf40581",
3+
"sha": "6f88a02eb372359bd2138aaa3ac59e630edf10cc",
44
"artifacts": {
55
"darwin-arm64": {
6-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-darwin-arm64-c095d6de0.tar.gz",
7-
"sha256": "332a3cf77de17f4ae5b65af809e07629026587d136f81f1b4f0fe9129593bc3f"
6+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-darwin-arm64-6f88a02eb.tar.gz",
7+
"sha256": "4c9610c30811b625e86ce8394e8befacdf58ddef3d361184f314bb80c7577dd8"
88
},
99
"darwin-x64": {
10-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-darwin-x64-c095d6de0.tar.gz",
11-
"sha256": "508f5eb445031a8c5b2abda09cba4c71abba6a87affdd5ef110c82b73159d21c"
10+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-darwin-x64-6f88a02eb.tar.gz",
11+
"sha256": "d0f8b469096fe763e07e33a03913c065549186d5fe6c2b0e70901d0f5e5a9816"
1212
},
1313
"linux-arm64": {
14-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-linux-arm64-c095d6de0.tar.gz",
15-
"sha256": "58a25e86280a2f2952619a04f7426635d4895e293af307dc9375d217e8646ce5"
14+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-linux-arm64-6f88a02eb.tar.gz",
15+
"sha256": "9cf8e136353805c7bfefd9381a0ea448b2945027958d423f07d713c4e73efc03"
1616
},
1717
"linux-x64": {
18-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-linux-x64-c095d6de0.tar.gz",
19-
"sha256": "1b7f1fb5fb509dfef2bf776630ecdc0fa2a6763cd2053f04bd31594409aab60b"
18+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-linux-x64-6f88a02eb.tar.gz",
19+
"sha256": "fcea3002590fbbb1391f17d5a3e5c762972b86aec7757b2560eb51f80bf55ee9"
2020
},
2121
"linuxmusl-arm64": {
22-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-linuxmusl-arm64-c095d6de0.tar.gz",
23-
"sha256": "b35f16c103ed6026ed7e10c6482989bdc883bcbbbc356be892b2f6b0c0925b97"
22+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-linuxmusl-arm64-6f88a02eb.tar.gz",
23+
"sha256": "abafb0aad88c24623369c140c9aa664be7beecc6b51d6c5825455975e1d61e20"
2424
},
2525
"linuxmusl-x64": {
26-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-linuxmusl-x64-c095d6de0.tar.gz",
27-
"sha256": "9de13b5d9897b1c4bc0a7976a68b228091d147474880aa7aea6e25042d6f78fb"
26+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-linuxmusl-x64-6f88a02eb.tar.gz",
27+
"sha256": "7d243103f32dda872d0502fe4477ab2ab9eb692ddee6a21a067c5c8c948bbdc7"
2828
},
2929
"wasm32": {
30-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-wasm32-c095d6de0.tar.gz",
31-
"sha256": "218a8ecf0524fa97b3c67b9b980865c33627878b0812bbbb9edb8bf102ddbd74"
30+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-wasm32-6f88a02eb.tar.gz",
31+
"sha256": "940b7d3969c1acff439002baec41be05500c855c341a8be8449c5023eedac7d6"
3232
},
3333
"win32-arm64": {
34-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-win32-arm64-c095d6de0.tar.gz",
35-
"sha256": "b5cfb9d020190208c659db3ea1c1725757ce11c2c81539218a6d110cce080376"
34+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-win32-arm64-6f88a02eb.tar.gz",
35+
"sha256": "21a324172610d061e229534b244f015bb43710899f6486436a97be43a6e5022e"
3636
},
3737
"win32-x64": {
38-
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-c095d6de06b90ec11f69b4d4da66d464dbf40581/libembedpdf-pdf-runtime-win32-x64-c095d6de0.tar.gz",
39-
"sha256": "15f9e8f4cb594686abeac2ebe765d3b328f46d87bf91e2b361eec8ec98a8ab20"
38+
"url": "https://github.com/embedpdf/pdfium/releases/download/runtime-6f88a02eb372359bd2138aaa3ac59e630edf10cc/libembedpdf-pdf-runtime-win32-x64-6f88a02eb.tar.gz",
39+
"sha256": "8efa016967cf26d30b6bdae0874d9fb873f3b42be59d864a188446f973c8c6fb"
4040
}
4141
}
4242
}

packages/pdf-runtime/runtime-src

Submodule runtime-src updated 507 files

packages/pdf-runtime/scripts/build-target.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,6 @@ cmake-js compile \
4444

4545
mkdir -p "$ROOT/npm/$TARGET"
4646
cp "$ROOT/build/build/Release/pdf-runtime.node" "$ROOT/npm/$TARGET/pdf-runtime.node"
47+
if [[ "$TARGET" == win32-* ]]; then
48+
cp "$LIB_DIR/bin/pdfium.dll" "$ROOT/npm/$TARGET/pdfium.dll"
49+
fi

0 commit comments

Comments
 (0)