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>