@@ -17,45 +17,83 @@ APP_PATH="${BUILD_PATH}/${APP_NAME}"
17
17
CONTENTS_PATH=" ${APP_PATH} /Contents"
18
18
RESOURCES_PATH=" ${CONTENTS_PATH} /Resources"
19
19
20
- VM_ARM_TARGET=" ${CONTENTS_PATH} /Linux-ARM"
21
20
if [[ " ${IMAGE_BITS} " == " 64" ]]; then
22
- VM_LIN_TARGET=" ${CONTENTS_PATH} /Linux-x86_64"
21
+ VM_MAC_TARGET_NAME=" MacOS" # unified binary
22
+
23
+ VM_LIN_TARGET_NAME=" Linux-x86_64"
24
+ VM_LIN_ARM_TARGET_NAME=" Linux-arm64"
25
+
26
+ VM_WIN_TARGET_NAME=" Windows-x86_64"
27
+ # VM_WIN_ARM_TARGET_NAME="Win32-arm64"
23
28
else
24
- VM_LIN_TARGET=" ${CONTENTS_PATH} /Linux-i686"
29
+ VM_LIN_TARGET_NAME=" Linux-i686"
30
+ VM_LIN_ARM_TARGET_NAME=" Linux-arm"
31
+ VM_WIN_TARGET_NAME=" Windows-x86"
32
+ # VM_WIN_ARM_TARGET_NAME="Win32-arm"
25
33
fi
26
- VM_MAC_TARGET=" ${CONTENTS_PATH} /MacOS"
27
- VM_WIN_TARGET=" ${CONTENTS_PATH} /Win32"
34
+
35
+ VM_MAC_TARGET=" ${CONTENTS_PATH} /${VM_MAC_TARGET_NAME} "
36
+ VM_LIN_TARGET=" ${CONTENTS_PATH} /${VM_LIN_TARGET_NAME} "
37
+ VM_LIN_ARM_TARGET=" ${CONTENTS_PATH} /${VM_LIN_ARM_TARGET_NAME} "
38
+ VM_WIN_TARGET=" ${CONTENTS_PATH} /${VM_WIN_TARGET_NAME} "
39
+ # VM_WIN_ARM_TARGET="${CONTENTS_PATH}/${VM_WIN_ARM_TARGET_NAME}"
28
40
29
41
echo " ...copying VMs into bundle..."
30
- cp -R " ${TMP_PATH} /${VM_MAC} /Squeak.app" " ${APP_PATH} "
31
- if is_32bit; then
32
- cp -R " ${TMP_PATH} /${VM_ARM6} " " ${VM_ARM_TARGET} "
42
+ if [[ " ${IMAGE_BITS} " == " 64" ]]; then
43
+ cp -R " ${TMP_PATH} /${VM_MAC} /Squeak.app" " ${APP_PATH} " # unified binary
44
+ cp -R " ${TMP_PATH} /${VM_LIN_X86} " " ${VM_LIN_TARGET} "
45
+ cp -R " ${TMP_PATH} /${VM_LIN_ARM} " " ${VM_LIN_ARM_TARGET} "
46
+ cp -R " ${TMP_PATH} /${VM_WIN_X86} " " ${VM_WIN_TARGET} "
47
+ # cp -R "${TMP_PATH}/${VM_WIN_ARM}" "${VM_WIN_ARM_TARGET}"
48
+ else # 32-bit
49
+ mkdir -p " ${APP_PATH} " # no 32-bit macOS .app anymore
50
+ mkdir -p " ${CONTENTS_PATH} " # no 32-bit macOS .app anymore
51
+ mkdir -p " ${RESOURCES_PATH} " # no 32-bit macOS .app anymore
52
+ cp -R " ${TMP_PATH} /${VM_LIN_X86} " " ${VM_LIN_TARGET} "
53
+ cp -R " ${TMP_PATH} /${VM_LIN_ARM} " " ${VM_LIN_ARM_TARGET} "
54
+ cp -R " ${TMP_PATH} /${VM_WIN_X86} " " ${VM_WIN_TARGET} "
55
+ # cp -R "${TMP_PATH}/${VM_WIN_ARM}" "${VM_WIN_ARM_TARGET}"
33
56
fi
34
- cp -R " ${TMP_PATH} /${VM_LIN} " " ${VM_LIN_TARGET} "
35
- cp -R " ${TMP_PATH} /${VM_WIN} " " ${VM_WIN_TARGET} "
36
57
37
58
copy_resources " ${RESOURCES_PATH} "
38
59
39
60
echo " ...merging template..."
40
- cp " ${AIO_TEMPLATE_PATH } /squeak.bat" " ${BUILD_PATH} /"
41
- cp " ${AIO_TEMPLATE_PATH } /squeak.sh" " ${BUILD_PATH} /"
42
- cp " ${AIO_TEMPLATE_PATH } /Squeak.app/Contents/Info.plist" " ${CONTENTS_PATH} /"
61
+ cp " ${WIN_TEMPLATE_PATH } /squeak.bat" " ${BUILD_PATH} /"
62
+ cp " ${LIN_TEMPLATE_PATH } /squeak.sh" " ${BUILD_PATH} /"
63
+ cp " ${MAC_TEMPLATE_PATH } /Squeak.app/Contents/Info.plist" " ${CONTENTS_PATH} /"
43
64
cp " ${ICONS_PATH} /${SMALLTALK_NAME} " * .icns " ${RESOURCES_PATH} /"
44
- ENGLISH_PATH=" ${AIO_TEMPLATE_PATH } /Squeak.app/Contents/Resources/English.lproj"
65
+ ENGLISH_PATH=" ${MAC_TEMPLATE_PATH } /Squeak.app/Contents/Resources/English.lproj"
45
66
cp " ${ENGLISH_PATH} /Credits.rtf" " ${RESOURCES_PATH} /English.lproj/"
46
- cp " ${AIO_TEMPLATE_PATH} /Squeak.app/Contents/Win32 /Squeak.ini" " ${VM_WIN_TARGET} /"
67
+ cp " ${WIN_TEMPLATE_PATH} /Squeak.ini" " ${VM_WIN_TARGET} /"
47
68
48
69
echo " ...setting permissions..."
49
- chmod +x " ${VM_LIN_TARGET} /squeak" " ${VM_MAC_TARGET} /Squeak" " ${VM_WIN_TARGET} /Squeak.exe" \
50
- " ${BUILD_PATH} /squeak.sh" " ${BUILD_PATH} /squeak.bat"
70
+ chmod +x \
71
+ " ${BUILD_PATH} /squeak.sh" \
72
+ " ${BUILD_PATH} /squeak.bat"
73
+ if [[ " ${IMAGE_BITS} " == " 64" ]]; then
74
+ chmod +x \
75
+ " ${VM_MAC_TARGET} /Squeak" \
76
+ " ${VM_LIN_TARGET} /squeak" \
77
+ " ${VM_LIN_ARM_TARGET} /squeak" \
78
+ " ${VM_WIN_TARGET} /Squeak.exe"
79
+ # "${VM_WIN_ARM_TARGET}/Squeak.exe"
80
+ else # 32-bit
81
+ chmod +x \
82
+ " ${VM_LIN_TARGET} /squeak" \
83
+ " ${VM_LIN_ARM_TARGET} /squeak" \
84
+ " ${VM_WIN_TARGET} /Squeak.exe"
85
+ # "${VM_WIN_ARM_TARGET}/Squeak.exe"
86
+ fi
51
87
52
88
echo " ...applying various templates (squeak.sh, Info.plist, etc)..."
53
89
# squeak.bat launcher
54
- sed -i" .bak" " s/%APP_NAME%/${APP_NAME} /g" " ${BUILD_PATH} /squeak.bat"
90
+ sed -i" .bak" " s/%AIO_APP_NAME%/${APP_NAME} /g" " ${BUILD_PATH} /squeak.bat"
91
+ sed -i" .bak" " s/%AIO_VM_NAME%/${VM_WIN_TARGET_NAME} \\\\ Squeak.exe/g" " ${BUILD_PATH} /squeak.bat"
55
92
sed -i" .bak" " s/%SqueakImageName%/${IMAGE_NAME} .image/g" " ${BUILD_PATH} /squeak.bat"
56
93
rm -f " ${BUILD_PATH} /squeak.bat.bak"
57
94
# squeak.sh launcher
58
- sed -i" .bak" " s/%APP_NAME%/${APP_NAME} /g" " ${BUILD_PATH} /squeak.sh"
95
+ sed -i" .bak" " s/%VM_NAME%/squeak/g" " ${BUILD_PATH} /squeak.sh"
96
+ sed -i" .bak" " s/%AIO_APP_NAME%/${APP_NAME} /g" " ${BUILD_PATH} /squeak.sh"
59
97
sed -i" .bak" " s/%SqueakImageName%/${IMAGE_NAME} .image/g" " ${BUILD_PATH} /squeak.sh"
60
98
sed -i" .bak" " s/%IMAGE_BITS%/${IMAGE_BITS} /g" " ${BUILD_PATH} /squeak.sh"
61
99
rm -f " ${BUILD_PATH} /squeak.sh.bak"
0 commit comments