chore: remove one-off build troubleshooting scripts
Keep only build_qemu_step4.sh (the DLL relink step used in production). Deleted: build_qemu_dll.sh, build_qemu_step3.sh, check_tools.sh, fix_distlib.sh, fix_distlib2.sh, install_git.sh, install_meson.sh (all were used once during initial DLL compilation setup) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>pull/47/head
parent
d1492c48cb
commit
67256e7b18
|
|
@ -1,4 +1,4 @@
|
|||
from contextlib import asynccontextmanager
|
||||
.0from contextlib import asynccontextmanager
|
||||
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
|
|
|||
|
|
@ -1,84 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Build libqemu-xtensa.dll from lcgamboa QEMU (MSYS2 MINGW64)
|
||||
set -euo pipefail
|
||||
|
||||
export PATH=/mingw64/bin:/usr/bin:$PATH
|
||||
export MINGW_PREFIX=/mingw64
|
||||
|
||||
REPO="/e/Hardware/wokwi_clon/wokwi-libs/qemu-lcgamboa"
|
||||
OUT="/e/Hardware/wokwi_clon/backend/app/services"
|
||||
|
||||
cd "$REPO"
|
||||
echo "=== Working dir: $(pwd) ==="
|
||||
echo "=== Step 1: Patch meson.build for libiconv ==="
|
||||
if grep -q "qemu_ldflags = \[\]" meson.build; then
|
||||
sed -z -i "s/qemu_ldflags = \[\]/qemu_ldflags = \['-liconv','-Wl,--allow-multiple-definition'\]/g" -- meson.build
|
||||
echo " Patched OK"
|
||||
else
|
||||
echo " Already patched or pattern not found"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Step 2: Configure ==="
|
||||
./configure \
|
||||
--target-list=xtensa-softmmu \
|
||||
--disable-werror \
|
||||
--disable-alsa \
|
||||
--enable-tcg \
|
||||
--enable-system \
|
||||
--enable-gcrypt \
|
||||
--enable-slirp \
|
||||
--enable-iconv \
|
||||
--enable-debug \
|
||||
--enable-debug-info \
|
||||
--without-default-features \
|
||||
2>&1 || { echo "CONFIGURE FAILED"; cat meson-logs/meson-log.txt 2>/dev/null | tail -50; exit 1; }
|
||||
|
||||
echo ""
|
||||
echo "=== Step 3: Build ($(nproc) cores) ==="
|
||||
make -j$(nproc) 2>&1
|
||||
|
||||
echo ""
|
||||
echo "=== Step 4: Relink as DLL ==="
|
||||
cd build
|
||||
|
||||
echo " Removing old qemu-system-xtensa to force ninja to output link command..."
|
||||
rm -f qemu-system-xtensa.exe qemu-system-xtensa.rsp qemu-system-xtensa_.rsp
|
||||
|
||||
echo " Capturing ninja link command..."
|
||||
ninja -v -d keeprsp 2>&1 > qemu-system-xtensa_.rsp
|
||||
|
||||
echo " Extracting last line (link command)..."
|
||||
sed -i -n '$p' qemu-system-xtensa_.rsp
|
||||
|
||||
CMD=$(sed 's/-o .*//' qemu-system-xtensa_.rsp | sed 's/\[.\/.\] //g' | sed 's/@qemu-system-xtensa.rsp//g')
|
||||
|
||||
if [ ! -f qemu-system-xtensa.rsp ]; then
|
||||
cp qemu-system-xtensa_.rsp qemu-system-xtensa.rsp
|
||||
fi
|
||||
sed -i 's/.*-o /-o /' qemu-system-xtensa.rsp
|
||||
|
||||
# Remove main(), change output to DLL
|
||||
sed -i 's|qemu-system-xtensa.p/softmmu_main.c.o||g' qemu-system-xtensa.rsp
|
||||
sed -i 's|-o qemu-system-xtensa|-shared -Wl,--export-all-symbols -o libqemu-xtensa.dll|g' qemu-system-xtensa.rsp
|
||||
|
||||
echo " Linking DLL..."
|
||||
eval "$CMD -ggdb @qemu-system-xtensa.rsp" 2>&1
|
||||
|
||||
if [ -f libqemu-xtensa.dll ]; then
|
||||
echo ""
|
||||
echo "=== SUCCESS: libqemu-xtensa.dll created ==="
|
||||
ls -lh libqemu-xtensa.dll
|
||||
|
||||
echo ""
|
||||
echo "=== Checking exports ==="
|
||||
objdump -p libqemu-xtensa.dll 2>/dev/null | grep -E "qemu_picsimlab|qemu_init|qemu_main" | head -20 || echo "objdump not available"
|
||||
|
||||
echo ""
|
||||
echo "=== Copying to backend ==="
|
||||
cp libqemu-xtensa.dll "$OUT/"
|
||||
echo " Copied to $OUT/libqemu-xtensa.dll"
|
||||
else
|
||||
echo "FAILED: libqemu-xtensa.dll not produced"
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
export PATH=/mingw64/bin:/usr/bin:$PATH
|
||||
|
||||
cd /e/Hardware/wokwi_clon/wokwi-libs/qemu-lcgamboa/build
|
||||
echo "=== Building qemu-system-xtensa.exe only ==="
|
||||
ninja -j$(nproc) qemu-system-xtensa.exe 2>&1
|
||||
echo "=== Build exit code: $? ==="
|
||||
ls -lh qemu-system-xtensa.exe 2>/dev/null || echo "Binary not found"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
export PATH=/mingw64/bin:/usr/bin:$PATH
|
||||
cd /e/Hardware/wokwi_clon/wokwi-libs/qemu-lcgamboa
|
||||
echo "=== gcc ==="
|
||||
gcc --version 2>&1 | head -1
|
||||
echo "=== ninja ==="
|
||||
ninja --version 2>&1 | head -1
|
||||
echo "=== glib-2.0 ==="
|
||||
pkg-config --modversion glib-2.0 2>&1
|
||||
echo "=== slirp ==="
|
||||
pkg-config --modversion slirp 2>&1 | head -1
|
||||
echo "=== python ==="
|
||||
python3 --version 2>&1 | head -1
|
||||
echo "=== meson ==="
|
||||
meson --version 2>&1 | head -1
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
export PATH=/mingw64/bin:/usr/bin:$PATH
|
||||
# Install distlib into the system python so QEMU configure can find it
|
||||
python3 -m pip install distlib 2>&1
|
||||
echo "=== distlib installed ==="
|
||||
python3 -c "import distlib; print('distlib version:', distlib.__version__)"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
export PATH=/mingw64/bin:/usr/bin:$PATH
|
||||
# Install pip and distlib
|
||||
pacman -S --noconfirm mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-distlib 2>&1 || true
|
||||
# Check what python packages are available
|
||||
pacman -Ss python-distlib 2>&1 | head -10
|
||||
pacman -Ss python-pip 2>&1 | head -5
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"version": "1.0.0",
|
||||
"generatedAt": "2026-03-06T13:12:51.254Z",
|
||||
"generatedAt": "2026-03-14T15:29:57.121Z",
|
||||
"components": [
|
||||
{
|
||||
"id": "arduino-mega",
|
||||
|
|
@ -223,40 +223,6 @@
|
|||
"ili9341"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ili9341-cap-touch",
|
||||
"tagName": "wokwi-ili9341",
|
||||
"name": "ILI9341 Cap Touch",
|
||||
"category": "displays",
|
||||
"description": "ILI9341 TFT display with FT6206 capacitive touch controller",
|
||||
"thumbnail": "<svg width=\"64\" height=\"64\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"64\" height=\"64\" fill=\"#e0e0e0\" rx=\"4\"/><text x=\"50%\" y=\"50%\" text-anchor=\"middle\" dy=\".3em\" font-size=\"9\" fill=\"#666\">ILI9341 CAP</text></svg>",
|
||||
"properties": [
|
||||
{
|
||||
"name": "flipHorizontal",
|
||||
"type": "string",
|
||||
"defaultValue": false,
|
||||
"control": "text"
|
||||
},
|
||||
{
|
||||
"name": "flipVertical",
|
||||
"type": "string",
|
||||
"defaultValue": false,
|
||||
"control": "text"
|
||||
}
|
||||
],
|
||||
"defaultValues": {
|
||||
"flipHorizontal": false,
|
||||
"flipVertical": false
|
||||
},
|
||||
"pinCount": 0,
|
||||
"tags": [
|
||||
"ili9341",
|
||||
"ili9341-cap-touch",
|
||||
"tft",
|
||||
"capacitive",
|
||||
"touch"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "lcd2004",
|
||||
"tagName": "wokwi-lcd2004",
|
||||
|
|
@ -734,51 +700,6 @@
|
|||
"segment"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "74hc595",
|
||||
"tagName": "wokwi-74hc595",
|
||||
"name": "74HC595 Shift Register",
|
||||
"category": "other",
|
||||
"thumbnail": "<svg width=\"64\" height=\"64\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"64\" height=\"64\" fill=\"#1a1a2e\" rx=\"4\"/><rect x=\"4\" y=\"16\" width=\"56\" height=\"30\" rx=\"2\" fill=\"#222\" stroke=\"#555\" stroke-width=\"0.8\"/><text x=\"32\" y=\"34\" text-anchor=\"middle\" font-size=\"7\" font-weight=\"bold\" fill=\"#eee\" font-family=\"monospace\">74HC595</text></svg>",
|
||||
"properties": [
|
||||
{
|
||||
"name": "values",
|
||||
"type": "number",
|
||||
"defaultValue": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"control": "range"
|
||||
}
|
||||
],
|
||||
"defaultValues": {
|
||||
"values": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"pinCount": 16,
|
||||
"tags": [
|
||||
"74hc595",
|
||||
"shift register",
|
||||
"ic",
|
||||
"chip",
|
||||
"74",
|
||||
"595"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "analog-joystick",
|
||||
"tagName": "wokwi-analog-joystick",
|
||||
|
|
@ -1781,198 +1702,6 @@
|
|||
"motion",
|
||||
"sensor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "lcd1602",
|
||||
"tagName": "wokwi-lcd1602",
|
||||
"name": "LCD 1602",
|
||||
"category": "displays",
|
||||
"thumbnail": "<svg width=\"64\" height=\"64\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"64\" height=\"64\" fill=\"#1a5e1a\" rx=\"4\"/><rect x=\"4\" y=\"14\" width=\"56\" height=\"36\" rx=\"2\" fill=\"#2e7d32\"/><rect x=\"7\" y=\"18\" width=\"10\" height=\"5\" rx=\"1\" fill=\"#4caf50\" opacity=\"0.7\"/><rect x=\"19\" y=\"18\" width=\"10\" height=\"5\" rx=\"1\" fill=\"#4caf50\" opacity=\"0.7\"/><rect x=\"31\" y=\"18\" width=\"10\" height=\"5\" rx=\"1\" fill=\"#4caf50\" opacity=\"0.7\"/><rect x=\"43\" y=\"18\" width=\"10\" height=\"5\" rx=\"1\" fill=\"#4caf50\" opacity=\"0.7\"/><rect x=\"7\" y=\"26\" width=\"10\" height=\"5\" rx=\"1\" fill=\"#4caf50\" opacity=\"0.7\"/><text x=\"32\" y=\"50\" text-anchor=\"middle\" font-size=\"7\" fill=\"#81c784\" font-family=\"monospace\">LCD 1602</text></svg>",
|
||||
"properties": [
|
||||
{
|
||||
"name": "color",
|
||||
"type": "string",
|
||||
"defaultValue": "black",
|
||||
"control": "text"
|
||||
},
|
||||
{
|
||||
"name": "background",
|
||||
"type": "string",
|
||||
"defaultValue": "green",
|
||||
"control": "text"
|
||||
},
|
||||
{
|
||||
"name": "pins",
|
||||
"type": "string",
|
||||
"defaultValue": "full",
|
||||
"control": "text"
|
||||
}
|
||||
],
|
||||
"defaultValues": {
|
||||
"color": "black",
|
||||
"background": "green",
|
||||
"pins": "full"
|
||||
},
|
||||
"pinCount": 16,
|
||||
"tags": [
|
||||
"lcd1602",
|
||||
"lcd 1602",
|
||||
"lcd",
|
||||
"16x2",
|
||||
"1602",
|
||||
"display",
|
||||
"hd44780"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "stepper-motor",
|
||||
"tagName": "wokwi-stepper-motor",
|
||||
"name": "Stepper Motor",
|
||||
"category": "output",
|
||||
"thumbnail": "<svg width=\"64\" height=\"64\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"64\" height=\"64\" fill=\"#37474f\" rx=\"4\"/><circle cx=\"32\" cy=\"32\" r=\"20\" fill=\"#546e7a\" stroke=\"#90a4ae\" stroke-width=\"2\"/><circle cx=\"32\" cy=\"32\" r=\"6\" fill=\"#b0bec5\"/><line x1=\"32\" y1=\"12\" x2=\"32\" y2=\"32\" stroke=\"#ffd54f\" stroke-width=\"2\" stroke-linecap=\"round\"/><text x=\"32\" y=\"56\" text-anchor=\"middle\" font-size=\"7\" fill=\"#b0bec5\" font-family=\"monospace\">STEPPER</text></svg>",
|
||||
"properties": [
|
||||
{
|
||||
"name": "angle",
|
||||
"type": "number",
|
||||
"defaultValue": 0,
|
||||
"control": "text"
|
||||
},
|
||||
{
|
||||
"name": "size",
|
||||
"type": "string",
|
||||
"defaultValue": "23",
|
||||
"control": "text"
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"type": "string",
|
||||
"defaultValue": "",
|
||||
"control": "text"
|
||||
},
|
||||
{
|
||||
"name": "units",
|
||||
"type": "string",
|
||||
"defaultValue": "",
|
||||
"control": "text"
|
||||
}
|
||||
],
|
||||
"defaultValues": {
|
||||
"angle": 0,
|
||||
"size": "23",
|
||||
"value": "",
|
||||
"units": ""
|
||||
},
|
||||
"pinCount": 4,
|
||||
"tags": [
|
||||
"stepper-motor",
|
||||
"stepper motor",
|
||||
"stepper",
|
||||
"motor",
|
||||
"nema"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "logic-gate-and",
|
||||
"tagName": "wokwi-logic-and",
|
||||
"name": "AND Gate",
|
||||
"description": "2-input AND logic gate",
|
||||
"category": "logic-gates",
|
||||
"pinCount": 3,
|
||||
"width": 72,
|
||||
"height": 48,
|
||||
"defaultProperties": {},
|
||||
"properties": [],
|
||||
"keywords": [
|
||||
"logic",
|
||||
"gate",
|
||||
"and"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "logic-gate-nand",
|
||||
"tagName": "wokwi-logic-nand",
|
||||
"name": "NAND Gate",
|
||||
"description": "2-input NAND logic gate",
|
||||
"category": "logic-gates",
|
||||
"pinCount": 3,
|
||||
"width": 72,
|
||||
"height": 48,
|
||||
"defaultProperties": {},
|
||||
"properties": [],
|
||||
"keywords": [
|
||||
"logic",
|
||||
"gate",
|
||||
"nand"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "logic-gate-or",
|
||||
"tagName": "wokwi-logic-or",
|
||||
"name": "OR Gate",
|
||||
"description": "2-input OR logic gate",
|
||||
"category": "logic-gates",
|
||||
"pinCount": 3,
|
||||
"width": 72,
|
||||
"height": 48,
|
||||
"defaultProperties": {},
|
||||
"properties": [],
|
||||
"keywords": [
|
||||
"logic",
|
||||
"gate",
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "logic-gate-nor",
|
||||
"tagName": "wokwi-logic-nor",
|
||||
"name": "NOR Gate",
|
||||
"description": "2-input NOR logic gate",
|
||||
"category": "logic-gates",
|
||||
"pinCount": 3,
|
||||
"width": 72,
|
||||
"height": 48,
|
||||
"defaultProperties": {},
|
||||
"properties": [],
|
||||
"keywords": [
|
||||
"logic",
|
||||
"gate",
|
||||
"nor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "logic-gate-xor",
|
||||
"tagName": "wokwi-logic-xor",
|
||||
"name": "XOR Gate",
|
||||
"description": "2-input XOR logic gate",
|
||||
"category": "logic-gates",
|
||||
"pinCount": 3,
|
||||
"width": 72,
|
||||
"height": 48,
|
||||
"defaultProperties": {},
|
||||
"properties": [],
|
||||
"keywords": [
|
||||
"logic",
|
||||
"gate",
|
||||
"xor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "logic-gate-not",
|
||||
"tagName": "wokwi-logic-not",
|
||||
"name": "NOT Gate",
|
||||
"description": "Single-input NOT gate",
|
||||
"category": "logic-gates",
|
||||
"pinCount": 2,
|
||||
"width": 56,
|
||||
"height": 36,
|
||||
"defaultProperties": {},
|
||||
"properties": [],
|
||||
"keywords": [
|
||||
"logic",
|
||||
"gate",
|
||||
"not",
|
||||
"inverter"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
export PATH=/mingw64/bin:/usr/bin:$PATH
|
||||
pacman -S --noconfirm git mingw-w64-x86_64-git 2>&1 || pacman -S --noconfirm git 2>&1
|
||||
git --version 2>&1
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
export PATH=/mingw64/bin:/usr/bin:$PATH
|
||||
pacman -S --noconfirm mingw-w64-x86_64-meson 2>&1
|
||||
echo "=== meson version ==="
|
||||
meson --version 2>&1
|
||||
Loading…
Reference in New Issue