diff --git a/.cross_rubies b/.cross_rubies index eecbd327e0..3d0c7a88eb 100644 --- a/.cross_rubies +++ b/.cross_rubies @@ -2,19 +2,19 @@ 2.7.0:x86_64-w64-mingw32 2.7.0:i686-linux-gnu 2.7.0:x86_64-linux-gnu -2.7.0:x86_64-darwin19 +2.7.0:universal-darwin 2.6.0:i686-w64-mingw32 2.6.0:x86_64-w64-mingw32 2.6.0:i686-linux-gnu 2.6.0:x86_64-linux-gnu -2.6.0:x86_64-darwin19 +2.6.0:universal-darwin 2.5.0:i686-w64-mingw32 2.5.0:x86_64-w64-mingw32 2.5.0:i686-linux-gnu 2.5.0:x86_64-linux-gnu -2.5.0:x86_64-darwin19 +2.5.0:universal-darwin 2.4.0:i686-w64-mingw32 2.4.0:x86_64-w64-mingw32 2.4.0:i686-linux-gnu 2.4.0:x86_64-linux-gnu -2.4.0:x86_64-darwin19 +2.4.0:universal-darwin diff --git a/scripts/setup-osx-native-builders b/scripts/setup-osx-native-builders index bc276fe061..ccfd3b0942 100755 --- a/scripts/setup-osx-native-builders +++ b/scripts/setup-osx-native-builders @@ -18,11 +18,12 @@ set -o pipefail CROSS_FILE=".cross_rubies" RUBIES=$(cat $CROSS_FILE | fgrep darwin | cut -d. -f1,2 | sort -u) + RAKE_COMPILER_CONFIG_DIR=${HOME}/.rake-compiler RAKE_COMPILER_CONFIG=${RAKE_COMPILER_CONFIG_DIR}/config.yml +TMP_CONFIG=$(mktemp /tmp/rake-compiler-config.XXXXXXXX) -mkdir -p $RAKE_COMPILER_CONFIG_DIR -echo "---" > $RAKE_COMPILER_CONFIG +echo "---" > $TMP_CONFIG for ruby in $RUBIES ; do ruby_fullname="native-builder-${ruby}" @@ -42,9 +43,9 @@ for ruby in $RUBIES ; do echo "ruby $ruby_fullname is installed" fi - platform=$(basename $(dirname $rbconfig)) - - echo "rbconfig-${platform}-${ruby_minor}: \"${rbconfig}\"" >> $RAKE_COMPILER_CONFIG + echo "rbconfig-universal-darwin-${ruby_minor}: \"${rbconfig}\"" >> $TMP_CONFIG done +mkdir -p $RAKE_COMPILER_CONFIG_DIR +cp $TMP_CONFIG $RAKE_COMPILER_CONFIG cat $RAKE_COMPILER_CONFIG diff --git a/tasks/cross-ruby.rb b/tasks/cross-ruby.rb index 27a1599536..c18e20672c 100644 --- a/tasks/cross-ruby.rb +++ b/tasks/cross-ruby.rb @@ -43,8 +43,8 @@ def platform "x86_64-linux" when /\Ai[3-6]86.*linux/ "x86-linux" - when /\Ax86_64-darwin19/ - "x86_64-darwin19" + when /\Auniversal-darwin/ + "universal-darwin" else raise "CrossRuby.platform: unsupported host: #{host}" end @@ -60,8 +60,8 @@ def tool(name) "x86_64-linux-gnu-" when "x86-linux" "i686-linux-gnu-" - when /darwin/ - "" + # when /darwin/ + # "" else raise "CrossRuby.tool: unmatched platform: #{platform}" end) + name @@ -77,8 +77,8 @@ def target_file_format "elf64-x86-64" when "x86-linux" "elf32-i386" - when "x86_64-darwin19" - "Mach-O 64-bit x86-64" + when "universal-darwin" + "Mach-O 64-bit x86-64" # hmm else raise "CrossRuby.target_file_format: unmatched platform: #{platform}" end