Annotation of embedaddon/libiconv/srcm4/multiarch.m4, revision 1.1.1.3

1.1.1.3 ! misho       1: # multiarch.m4 serial 7
        !             2: dnl Copyright (C) 2008-2019 Free Software Foundation, Inc.
1.1       misho       3: dnl This file is free software; the Free Software Foundation
                      4: dnl gives unlimited permission to copy and/or distribute it,
                      5: dnl with or without modifications, as long as this notice is preserved.
                      6: 
                      7: # Determine whether the compiler is or may be producing universal binaries.
                      8: #
1.1.1.3 ! misho       9: # On Mac OS X 10.5 and later systems, the user can create libraries and
1.1       misho      10: # executables that work on multiple system types--known as "fat" or
                     11: # "universal" binaries--by specifying multiple '-arch' options to the
                     12: # compiler but only a single '-arch' option to the preprocessor.  Like
                     13: # this:
                     14: #
                     15: #     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
                     16: #                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
                     17: #                 CPP="gcc -E" CXXCPP="g++ -E"
                     18: #
1.1.1.2   misho      19: # Detect this situation and set APPLE_UNIVERSAL_BUILD accordingly.
1.1       misho      20: 
                     21: AC_DEFUN_ONCE([gl_MULTIARCH],
                     22: [
                     23:   dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN.
                     24:   gl_cv_c_multiarch=no
                     25:   AC_COMPILE_IFELSE(
                     26:     [AC_LANG_SOURCE(
                     27:       [[#ifndef __APPLE_CC__
                     28:          not a universal capable compiler
                     29:         #endif
                     30:         typedef int dummy;
                     31:       ]])],
                     32:     [
                     33:      dnl Check for potential -arch flags.  It is not universal unless
                     34:      dnl there are at least two -arch flags with different values.
                     35:      arch=
                     36:      prev=
                     37:      for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
                     38:        if test -n "$prev"; then
                     39:          case $word in
                     40:            i?86 | x86_64 | ppc | ppc64)
                     41:              if test -z "$arch" || test "$arch" = "$word"; then
                     42:                arch="$word"
                     43:              else
                     44:                gl_cv_c_multiarch=yes
                     45:              fi
                     46:              ;;
                     47:          esac
                     48:          prev=
                     49:        else
                     50:          if test "x$word" = "x-arch"; then
                     51:            prev=arch
                     52:          fi
                     53:        fi
                     54:      done
                     55:     ])
                     56:   if test $gl_cv_c_multiarch = yes; then
                     57:     APPLE_UNIVERSAL_BUILD=1
                     58:   else
                     59:     APPLE_UNIVERSAL_BUILD=0
                     60:   fi
                     61:   AC_SUBST([APPLE_UNIVERSAL_BUILD])
                     62: ])

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>