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

1.1     ! misho       1: # multiarch.m4 serial 5
        !             2: dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc.
        !             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: #
        !             9: # On MacOS X 10.5 and later systems, the user can create libraries and
        !            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: #
        !            19: # Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the
        !            20: # beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly.
        !            21: 
        !            22: AC_DEFUN_ONCE([gl_MULTIARCH],
        !            23: [
        !            24:   dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN.
        !            25:   gl_cv_c_multiarch=no
        !            26:   AC_COMPILE_IFELSE(
        !            27:     [AC_LANG_SOURCE(
        !            28:       [[#ifndef __APPLE_CC__
        !            29:          not a universal capable compiler
        !            30:         #endif
        !            31:         typedef int dummy;
        !            32:       ]])],
        !            33:     [
        !            34:      dnl Check for potential -arch flags.  It is not universal unless
        !            35:      dnl there are at least two -arch flags with different values.
        !            36:      arch=
        !            37:      prev=
        !            38:      for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
        !            39:        if test -n "$prev"; then
        !            40:          case $word in
        !            41:            i?86 | x86_64 | ppc | ppc64)
        !            42:              if test -z "$arch" || test "$arch" = "$word"; then
        !            43:                arch="$word"
        !            44:              else
        !            45:                gl_cv_c_multiarch=yes
        !            46:              fi
        !            47:              ;;
        !            48:          esac
        !            49:          prev=
        !            50:        else
        !            51:          if test "x$word" = "x-arch"; then
        !            52:            prev=arch
        !            53:          fi
        !            54:        fi
        !            55:      done
        !            56:     ])
        !            57:   if test $gl_cv_c_multiarch = yes; then
        !            58:     AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1],
        !            59:       [Define if the compiler is building for multiple architectures of Apple platforms at once.])
        !            60:     APPLE_UNIVERSAL_BUILD=1
        !            61:   else
        !            62:     APPLE_UNIVERSAL_BUILD=0
        !            63:   fi
        !            64:   AC_SUBST([APPLE_UNIVERSAL_BUILD])
        !            65: ])

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