mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-09-01 18:34:07 +07:00
Add support for event extension on unix
This commit is contained in:
50
src/scripts/extensions/event.sh
Normal file
50
src/scripts/extensions/event.sh
Normal file
@ -0,0 +1,50 @@
|
||||
# Function to get event configure options
|
||||
get_event_configure_opts() {
|
||||
event_opts=(
|
||||
--with-event-core
|
||||
--with-event-extra
|
||||
--with-event-openssl
|
||||
--enable-event-sockets
|
||||
)
|
||||
if [ "$os" = 'Linux' ]; then
|
||||
event_opts+=(
|
||||
--with-openssl-dir=yes
|
||||
--with-event-libevent-dir=/usr
|
||||
)
|
||||
else
|
||||
event_opts+=(
|
||||
--with-openssl-dir="$(brew --prefix openssl@1.1)"
|
||||
--with-event-libevent-dir="$(brew --prefix libevent)"
|
||||
)
|
||||
fi
|
||||
}
|
||||
|
||||
# Helper function to compile and install event
|
||||
add_event_helper() {
|
||||
local ext=$1
|
||||
[[ "$ext" =~ ^event$ ]] && ext="event-$(get_pecl_version "event" "stable")"
|
||||
event_opts=() && get_event_configure_opts
|
||||
export EVENT_LINUX_LIBS='libevent-dev'
|
||||
export EVENT_DARWIN_LIBS='libevent'
|
||||
event_configure_opts="--with-php-config=$(command -v php-config) ${event_opts[*]}"
|
||||
export EVENT_CONFIGURE_OPTS="$event_configure_opts"
|
||||
add_extension_from_source event https://pecl.php.net event event "${ext##*-}" extension pecl
|
||||
}
|
||||
|
||||
# Function to add event
|
||||
add_event() {
|
||||
local ext=$1
|
||||
enable_extension "event" "extension"
|
||||
if check_extension "event"; then
|
||||
add_log "${tick:?}" "event" "Enabled"
|
||||
else
|
||||
if ! [[ "${version:?}" =~ ${old_versions:?} ]] && [ "$os" = "Darwin" ]; then
|
||||
add_brew_extension event extension >/dev/null 2>&1
|
||||
else
|
||||
add_event_helper "$ext" >/dev/null 2>&1
|
||||
fi
|
||||
add_extension_log "event" "Installed and enabled"
|
||||
fi
|
||||
}
|
||||
|
||||
os="$(uname -s)"
|
Reference in New Issue
Block a user