@@ -208,7 +208,7 @@ AC_ARG_VAR([STRIP], [Strip command])
208208set rb_dummy ${CC}
209209rb_CC=$2
210210AC_DEFUN ( [ RUBY_CHECK_PROG_FOR_CC] , [
211- rb_prog=`echo "${rb_CC}" | sed " $2 " `
211+ rb_prog=`echo "${rb_CC}" | sed [ "s: $2 \( [ ^/ ] *\)$: $3 \1:" ] `
212212 AC_CHECK_PROG ( [ $1 ] , [ $rb_prog] , [ $rb_prog] )
213213] )
214214AS_CASE ( [ "/${rb_CC} "] ,
@@ -219,17 +219,17 @@ AS_CASE(["/${rb_CC} "],
219219[ *icc*] , [
220220 # Intel C++ has interprocedural optimizations. It tends to come with its
221221 # own linker etc.
222- RUBY_CHECK_PROG_FOR_CC([ AR] , [ s/ icc/ xiar/ ] )
223- RUBY_CHECK_PROG_FOR_CC([ CXX] , [ s/ icc/ icpc/ ] )
224- RUBY_CHECK_PROG_FOR_CC([ LD] , [ s/ icc/ xild/ ] )
222+ RUBY_CHECK_PROG_FOR_CC([ AR] , [ icc] , [ xiar] )
223+ RUBY_CHECK_PROG_FOR_CC([ CXX] , [ icc] , [ icpc] )
224+ RUBY_CHECK_PROG_FOR_CC([ LD] , [ icc] , [ xild] )
225225] ,
226226[ *gcc*] , [
227227 # Ditto for GCC.
228- RUBY_CHECK_PROG_FOR_CC([ LD] , [ s/ gcc/ld/ ] )
229- RUBY_CHECK_PROG_FOR_CC([ AR] , [ s/ gcc/ gcc-ar/ ] )
230- RUBY_CHECK_PROG_FOR_CC([ CXX] , [ s/ gcc/ g++/ ] )
231- RUBY_CHECK_PROG_FOR_CC([ NM] , [ s/ gcc/ gcc-nm/ ] )
232- RUBY_CHECK_PROG_FOR_CC([ RANLIB] , [ s/ gcc/ gcc-ranlib/ ] )
228+ RUBY_CHECK_PROG_FOR_CC([ LD] , [ gcc] , [ ld ] )
229+ RUBY_CHECK_PROG_FOR_CC([ AR] , [ gcc] , [ gcc-ar] )
230+ RUBY_CHECK_PROG_FOR_CC([ CXX] , [ gcc] , [ g++] )
231+ RUBY_CHECK_PROG_FOR_CC([ NM] , [ gcc] , [ gcc-nm] )
232+ RUBY_CHECK_PROG_FOR_CC([ RANLIB] , [ gcc] , [ gcc-ranlib] )
233233] ,
234234[ *clang*] , [
235235 # Ditto for LLVM. Note however that llvm-as is a LLVM-IR to LLVM bitcode
@@ -242,15 +242,15 @@ AS_CASE(["/${rb_CC} "],
242242 [ llvm_prefix=] , [ llvm_prefix=llvm-] )
243243 # AC_PREPROC_IFELSE cannot be used before AC_USE_SYSTEM_EXTENSIONS
244244
245- RUBY_CHECK_PROG_FOR_CC([ LD] , [ s/ clang/ld/ ] ) # ... maybe try lld ?
246- RUBY_CHECK_PROG_FOR_CC([ AR] , [ s/ clang/ ${llvm_prefix}ar/ ] )
247- # RUBY_CHECK_PROG_FOR_CC([ AS] , [ s/ clang/ ${llvm_prefix}as/ ] )
248- RUBY_CHECK_PROG_FOR_CC([ CXX] , [ s/ clang/ clang++/ ] )
249- RUBY_CHECK_PROG_FOR_CC([ NM] , [ s/ clang/ ${llvm_prefix}nm/ ] )
250- RUBY_CHECK_PROG_FOR_CC([ OBJCOPY] , [ s/ clang/ ${llvm_prefix}objcopy/ ] )
251- RUBY_CHECK_PROG_FOR_CC([ OBJDUMP] , [ s/ clang/ ${llvm_prefix}objdump/ ] )
252- RUBY_CHECK_PROG_FOR_CC([ RANLIB] , [ s/ clang/ ${llvm_prefix}ranlib/ ] )
253- RUBY_CHECK_PROG_FOR_CC([ STRIP] , [ s/ clang/ ${llvm_prefix}strip/ ] )
245+ RUBY_CHECK_PROG_FOR_CC([ LD] , [ clang] , [ ld ] ) # ... maybe try lld ?
246+ RUBY_CHECK_PROG_FOR_CC([ AR] , [ clang] , [ ${llvm_prefix}ar] )
247+ # RUBY_CHECK_PROG_FOR_CC([ AS] , [ clang] , [ ${llvm_prefix}as] )
248+ RUBY_CHECK_PROG_FOR_CC([ CXX] , [ clang] , [ clang++] )
249+ RUBY_CHECK_PROG_FOR_CC([ NM] , [ clang] , [ ${llvm_prefix}nm] )
250+ RUBY_CHECK_PROG_FOR_CC([ OBJCOPY] , [ clang] , [ ${llvm_prefix}objcopy] )
251+ RUBY_CHECK_PROG_FOR_CC([ OBJDUMP] , [ clang] , [ ${llvm_prefix}objdump] )
252+ RUBY_CHECK_PROG_FOR_CC([ RANLIB] , [ clang] , [ ${llvm_prefix}ranlib] )
253+ RUBY_CHECK_PROG_FOR_CC([ STRIP] , [ clang] , [ ${llvm_prefix}strip] )
254254] )
255255AS_UNSET ( rb_CC )
256256AS_UNSET ( rb_dummy )
0 commit comments