164 строки
4.9 KiB
Bash
Executable File
164 строки
4.9 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
function show_help () {
|
|
cat <<EOL
|
|
Usage: configure [options]
|
|
-h, --help Displays this help
|
|
|
|
--disable-mac Disable most of the Mac-related parts.
|
|
--disable-ios Disable most of the iOS-related parts.
|
|
The iOS build depend on some parts of the Mac build, so
|
|
a complete separation is not possible (neither desirable,
|
|
some parts will always be enabled to catch common programmer
|
|
errors causing build breaks).
|
|
The main reasons for disabling either part is to have faster
|
|
builds and disable the non-relevant tests.
|
|
|
|
--disable-ios-device Disables all device-related parts from the iOS build.
|
|
This can be used to speed up the build.
|
|
|
|
--disable-strip: If executables should be stripped or not.
|
|
Disable to make it easier to debug executables using lldb.
|
|
|
|
--enable-ccache
|
|
--disable-ccache Enable/disable ccache. Default: enabled if detected.
|
|
|
|
--enable-xamarin Enable additional Xamarin-specific parts of the build.
|
|
|
|
--disable-packaged-llvm Compile LLVM instead of downloading a precompiled version.
|
|
|
|
--enable-packaged-mono
|
|
--disable-packaged-mono Enable/disable using the precompiled version of mono. If disabled mono will be compiled from source.
|
|
|
|
--enable-dotnet Enable building .NET 6 bits.
|
|
--disable-dotnet Disable building .NET 6 bits.
|
|
|
|
--enable-dotnet-windows Enable building Windows .NET 6 bits. Building .NET 6 bits must be also enabled (--enable-dotnet).
|
|
--disable-dotnet-windows Disable building Windows .NET 6 bits.
|
|
|
|
--enable-documentation Enable building of API documentation
|
|
--disable-documentation Disable building of API documentation.
|
|
|
|
--enable-install-source Enable building of API documentation
|
|
--disable-install-source Disable building of API documentation.
|
|
|
|
--enable-legacy-xamarin Enable building the legacy version of Xamarin.iOS/Xamarin.Mac.
|
|
--disable-legacy-xamarin Disable building the legacy version of Xamarin.iOS/Xamarin.Mac.
|
|
EOL
|
|
}
|
|
|
|
CONFIGURED_FILE=configure.inc
|
|
|
|
rm -f $CONFIGURED_FILE
|
|
|
|
if test -z "$1"; then
|
|
echo "configure: all default values assumed."
|
|
exit 0
|
|
fi
|
|
|
|
echo "# Configure arguments: $*" >> $CONFIGURED_FILE
|
|
|
|
while test "x$1" != x; do
|
|
case $1 in
|
|
--disable-mac)
|
|
echo "INCLUDE_MAC=" >> $CONFIGURED_FILE
|
|
echo "Mac Build disabled (partially)"
|
|
shift
|
|
;;
|
|
--disable-ios-device)
|
|
echo "INCLUDE_DEVICE=" >> $CONFIGURED_FILE
|
|
shift
|
|
;;
|
|
--disable-ios)
|
|
echo "INCLUDE_IOS=" >> $CONFIGURED_FILE
|
|
echo "INCLUDE_WATCH=" >> $CONFIGURED_FILE
|
|
echo "INCLUDE_TVOS=" >> $CONFIGURED_FILE
|
|
echo "iOS Build disabled (partially)"
|
|
shift
|
|
;;
|
|
--disable-strip)
|
|
echo "DISABLE_STRIP=1" >> $CONFIGURED_FILE
|
|
shift
|
|
;;
|
|
--disable-ccache)
|
|
echo "ENABLE_CCACHE=" >> $CONFIGURED_FILE
|
|
shift
|
|
;;
|
|
--enable-ccache)
|
|
if ! command -v ccache >/dev/null; then
|
|
echo "Could not find ccache"
|
|
else
|
|
echo "ENABLE_CCACHE=1" >> $CONFIGURED_FILE
|
|
echo "cache enabled"
|
|
fi
|
|
shift
|
|
;;
|
|
--enable-xamarin)
|
|
echo "ENABLE_XAMARIN=1" >> $CONFIGURED_FILE
|
|
shift
|
|
;;
|
|
--enable-bitcode-on-ios)
|
|
# Private option
|
|
echo "ENABLE_BITCODE_ON_IOS=1" >> $CONFIGURED_FILE
|
|
shift
|
|
;;
|
|
--disable-packaged-llvm)
|
|
echo "DISABLE_DOWNLOAD_LLVM=1" >> $CONFIGURED_FILE
|
|
shift
|
|
;;
|
|
--enable-packaged-mono)
|
|
echo "MONO_BUILD_FROM_SOURCE=" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--disable-packaged-mono)
|
|
echo "MONO_BUILD_FROM_SOURCE=1" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--disable-packaged-mono=no | --disable-packaged-mono=false)
|
|
echo "MONO_BUILD_FROM_SOURCE=" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--enable-dotnet)
|
|
echo "ENABLE_DOTNET=1" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--disable-dotnet)
|
|
echo "ENABLE_DOTNET=" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--enable-dotnet-windows)
|
|
echo "ENABLE_DOTNET_WINDOWS=1" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--disable-dotnet-windows)
|
|
echo "ENABLE_DOTNET_WINDOWS=" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--enable-install-source)
|
|
echo "ENABLE_INSTALL_SOURCE=1" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--disable-install-source)
|
|
echo "ENABLE_INSTALL_SOURCE=" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--enable-legacy-xamarin)
|
|
echo "INCLUDE_XAMARIN_LEGACY=1" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--disable-legacy-xamarin)
|
|
echo "INCLUDE_XAMARIN_LEGACY=" >> "$CONFIGURED_FILE"
|
|
shift
|
|
;;
|
|
--help|-h)
|
|
show_help
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Unknown configure argument $1" >&2
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
exit 0
|