Cross compiling improvements + macOS universal binary (#1458)
* chore(resources): rename macos_arm64.txt to macos-arm64.txt This matches the platform-arch convention like many other parts of the project. * chore(resources/cross): rename wasm.txt to unknown-wasm32.txt * refactor(scripts/common.sh): use parameter expansion instead of if else * feat(scripts/common.sh): support custom arch and platform for get_default_build_dir * feat(scripts/build.sh): add --cross-platform, --cross-arch and --cross-file * feat(scripts/package.sh): add --cross-platform and --cross-arch * feat(build-packages.sh): add support for new options in build.sh and packages.sh * ci(build): make arm64 binaries in CI * ci(build): do not install external libraries * ci(build): fix invalid artifact name * ci(build): fix INSTALL_NAME * ci(build): change name for macos artifacts * ci(build): add script to build universal dmgs from individual dmgs * ci(build): build universal dmgs * fix(make-universal-binaries): fix wrong path for hdiutil * ci(build): rename macos action * fix(make-universal-binaries.sh): fix wrong pathname for ditto * ci(release): build macos universal binaries * ci(release): remove useless variables * ci(release): fix wrong dependency * ci(build): fix old ubuntu version This version will be restored once I complete some container-specific fixes. * ci(build): make build_macos_universal depend on release * ci(build): fix wrong dmg dir * style(ci): capitalize 'universal' for CI name * fix(make-universal-binaries.sh): fix truncated dmg name when it contains dots * ci: styling changes * ci(release): install appdmg only
This commit is contained in:
+40
-17
@@ -13,23 +13,25 @@ show_help() {
|
||||
echo
|
||||
echo "Available options:"
|
||||
echo
|
||||
echo "-b --builddir DIRNAME Sets the name of the build directory (not path)."
|
||||
echo " Default: '$(get_default_build_dir)'."
|
||||
echo "-d --destdir DIRNAME Set the name of the package directory (not path)."
|
||||
echo " Default: 'lite-xl'."
|
||||
echo "-h --help Show this help and exit."
|
||||
echo "-p --prefix PREFIX Install directory prefix. Default: '/'."
|
||||
echo "-v --version VERSION Sets the version on the package name."
|
||||
echo "-a --addons Install 3rd party addons."
|
||||
echo " --debug Debug this script."
|
||||
echo "-A --appimage Create an AppImage (Linux only)."
|
||||
echo "-B --binary Create a normal / portable package or macOS bundle,"
|
||||
echo " depending on how the build was configured. (Default.)"
|
||||
echo "-D --dmg Create a DMG disk image with AppDMG (macOS only)."
|
||||
echo "-I --innosetup Create a InnoSetup package (Windows only)."
|
||||
echo "-r --release Strip debugging symbols."
|
||||
echo "-S --source Create a source code package,"
|
||||
echo " including subprojects dependencies."
|
||||
echo "-b --builddir DIRNAME Sets the name of the build directory (not path)."
|
||||
echo " Default: '$(get_default_build_dir)'."
|
||||
echo "-d --destdir DIRNAME Set the name of the package directory (not path)."
|
||||
echo " Default: 'lite-xl'."
|
||||
echo "-h --help Show this help and exit."
|
||||
echo "-p --prefix PREFIX Install directory prefix. Default: '/'."
|
||||
echo "-v --version VERSION Sets the version on the package name."
|
||||
echo "-a --addons Install 3rd party addons."
|
||||
echo " --debug Debug this script."
|
||||
echo "-A --appimage Create an AppImage (Linux only)."
|
||||
echo "-B --binary Create a normal / portable package or macOS bundle,"
|
||||
echo " depending on how the build was configured. (Default.)"
|
||||
echo "-D --dmg Create a DMG disk image with AppDMG (macOS only)."
|
||||
echo "-I --innosetup Create a InnoSetup package (Windows only)."
|
||||
echo "-r --release Strip debugging symbols."
|
||||
echo "-S --source Create a source code package,"
|
||||
echo " including subprojects dependencies."
|
||||
echo " --cross-platform PLATFORM The platform to package for."
|
||||
echo " --cross-arch ARCH The architecture to package for."
|
||||
echo
|
||||
}
|
||||
|
||||
@@ -73,6 +75,9 @@ main() {
|
||||
local innosetup=false
|
||||
local release=false
|
||||
local source=false
|
||||
local cross
|
||||
local cross_arch
|
||||
local cross_platform
|
||||
|
||||
# store the current flags to easily pass them to appimage script
|
||||
local flags="$@"
|
||||
@@ -143,6 +148,18 @@ main() {
|
||||
addons=true
|
||||
shift
|
||||
;;
|
||||
--cross-platform)
|
||||
cross=true
|
||||
cross_platform="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--cross-arch)
|
||||
cross=true
|
||||
cross_arch="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--debug)
|
||||
set -x
|
||||
shift
|
||||
@@ -159,6 +176,12 @@ main() {
|
||||
|
||||
if [[ -n $1 ]]; then show_help; exit 1; fi
|
||||
|
||||
if [[ -n "$cross" ]]; then
|
||||
platform="${cross_platform:-$platform}"
|
||||
arch="${cross_arch:-$arch}"
|
||||
build_dir="$(get_default_build_dir "$platform" "$arch")"
|
||||
fi
|
||||
|
||||
# The source package doesn't require a previous build,
|
||||
# nor the following install step, so run it now.
|
||||
if [[ $source == true ]]; then source_package "lite-xl$version-src"; fi
|
||||
|
||||
Reference in New Issue
Block a user