Support arm64 coroutines. Set correct shared library name. Override the arch setting to remove OpenBSD version from it, so ports don't have to be bumped when OpenBSD version changes. Index: configure --- configure.orig +++ configure @@ -21327,7 +21327,7 @@ then : printf %s "(cached) " >&6 else $as_nop case "$target_os" in #( - openbsd*) : + openbsd*|secbsd*) : rb_cv_function_name_string=__func__ ;; #( @@ -29559,16 +29559,20 @@ esac coroutine_type=arm64 ;; #( - x86_64-openbsd*) : + x86_64-openbsd*|x86_64-secbsd*) : coroutine_type=amd64 ;; #( - i386-openbsd*) : + i386-openbsd*|i386-secbsd*) : coroutine_type=x86 ;; #( - *-openbsd*) : + aarch64-openbsd*|aarch64-secbsd*) : + coroutine_type=arm64 + ;; #( + *-openbsd*|*-secbsd*) : + coroutine_type=pthread ;; #( x86_64-dragonfly*) : @@ -29705,7 +29709,7 @@ fi ;; #( root:*) : ;; #( - c_r:*|*:openbsd*|*:mirbsd*) : + c_r:*|*:openbsd*|*:mirbsd*|*:secbsd*) : LIBS="-pthread $LIBS" ;; #( *) : LIBS="-l$pthread_lib $LIBS" ;; @@ -30592,7 +30596,7 @@ else $as_nop fi rb_cv_dlopen=yes ;; #( - openbsd*|mirbsd*) : + openbsd*|mirbsd*|secbsd*) : : ${LDSHARED='$(CC) -shared ${CCDLFLAGS}'} if test "$rb_cv_binary_elf" = yes then : @@ -31825,9 +31829,9 @@ else $as_nop fi ;; #( - openbsd*|mirbsd*) : + openbsd*|mirbsd*|secbsd*) : - LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR).'`expr ${MINOR} \* 10 + ${TEENY}` + LIBRUBY_SO='lib$(RUBY_SO_NAME).so.'${LIBruby31_VERSION} ;; #( solaris*) : @@ -33529,7 +33533,7 @@ then : else $as_nop - arch="${target_cpu}-${target_os}" + arch="${target_cpu}-secbsd" fi printf "%s\n" "#define RUBY_PLATFORM \"$arch\"" >>confdefs.h