diff options
| author | Konstantin Pavlov <thresh@nginx.com> | 2022-06-02 16:51:49 +0400 |
|---|---|---|
| committer | Konstantin Pavlov <thresh@nginx.com> | 2022-06-02 16:51:49 +0400 |
| commit | d9fddee1dbfc1f5d49c8f40386289d7188030952 (patch) | |
| tree | 842a62b343ac33eba10e7a426a10b55bb1c46aed /auto/modules/ruby | |
| parent | 420395ee2e7cd464e157c49bea3d74f15bf25f30 (diff) | |
| parent | 0d48fe73c4450901622373e35f6ff3a944ec13d6 (diff) | |
| download | unit-1.27.0-1.tar.gz unit-1.27.0-1.tar.bz2 | |
Merged with the default branch.1.27.0-1
Diffstat (limited to '')
| -rw-r--r-- | auto/modules/ruby | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/auto/modules/ruby b/auto/modules/ruby index 68324b44..dbedfd72 100644 --- a/auto/modules/ruby +++ b/auto/modules/ruby @@ -56,6 +56,7 @@ nxt_found=no if /bin/sh -c "$NXT_RUBY -v" >> $NXT_AUTOCONF_ERR 2>&1; then + NXT_RUBY_CFLAGS= NXT_RUBY_RUBYHDRDIR=`$NXT_RUBY -rrbconfig -e 'print RbConfig::CONFIG["rubyhdrdir"]'` NXT_RUBY_ARCHHDRDIR=`$NXT_RUBY -rrbconfig -e 'print RbConfig::CONFIG["rubyarchhdrdir"]'` NXT_RUBY_SITEDIR=`$NXT_RUBY -rrbconfig -e 'print RbConfig::CONFIG["sitedir"]'` @@ -72,6 +73,31 @@ if /bin/sh -c "$NXT_RUBY -v" >> $NXT_AUTOCONF_ERR 2>&1; then NXT_RUBY_LIBPATH=`$NXT_RUBY -rrbconfig -e 'print RbConfig::CONFIG["libdir"]'` NXT_RUBY_LIBS="-l$NXT_RUBY_LIBNAME $NXT_RUBY_LIBSCONF" + if [ $NXT_CC_NAME = clang ]; then + # Workaround Clang bug + nxt_feature="-fdeclspec" + nxt_feature_name= + nxt_feature_run= + nxt_feature_incs="-fdeclspec" + nxt_feature_libs= + nxt_feature_test="#include <stdlib.h> + + __declspec(noreturn) static void f(void); + + static void f(void) { + exit(0); + } + + int main(void) { + f(); + }" + . auto/feature + + if [ $nxt_found = yes ]; then + NXT_RUBY_CFLAGS="$NXT_RUBY_CFLAGS -fdeclspec" + fi + fi + nxt_feature="Ruby library" nxt_feature_name="" nxt_feature_run=value @@ -205,7 +231,7 @@ for nxt_src in $NXT_RUBY_MODULE_SRCS; do $NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H mkdir -p $NXT_BUILD_DIR/src/ruby - \$(CC) -c \$(CFLAGS) -DNXT_RUBY_MOUNTS_H=\"$NXT_RUBY_MOUNTS_HEADER\" \\ + \$(CC) -c \$(CFLAGS) $NXT_RUBY_CFLAGS -DNXT_RUBY_MOUNTS_H=\"$NXT_RUBY_MOUNTS_HEADER\" \\ \$(NXT_INCS) $NXT_RUBY_INCPATH \\ $nxt_dep_flags \\ -o $NXT_BUILD_DIR/$nxt_obj $nxt_src |
