Mercurial > hg-old > index.cgi
comparison m4/multiarch.m4 @ 272:d5392bb5da3c 2.5
Added generated files
author | lost |
---|---|
date | Sun, 16 Aug 2009 17:16:49 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
271:3b793ba7a6c6 | 272:d5392bb5da3c |
---|---|
1 # multiarch.m4 serial 3 | |
2 dnl Copyright (C) 2008 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([gl_MULTIARCH], | |
23 [ | |
24 dnl This AC_REQUIRE is not necessary in theory. It works around a bug in | |
25 dnl autoconf <= 2.63: AC_REQUIRE invocations inside AC_REQUIREd macros are | |
26 dnl being handled better than AC_REQUIRE invocations inside normally invoked | |
27 dnl macros. | |
28 AC_REQUIRE([gl_MULTIARCH_BODY]) | |
29 ]) | |
30 | |
31 AC_DEFUN([gl_MULTIARCH_BODY], | |
32 [ | |
33 dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. | |
34 gl_cv_c_multiarch=no | |
35 AC_COMPILE_IFELSE( | |
36 [AC_LANG_SOURCE( | |
37 [[#ifndef __APPLE_CC__ | |
38 not a universal capable compiler | |
39 #endif | |
40 typedef int dummy; | |
41 ]])], | |
42 [ | |
43 dnl Check for potential -arch flags. It is not universal unless | |
44 dnl there are at least two -arch flags with different values. | |
45 arch= | |
46 prev= | |
47 for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do | |
48 if test -n "$prev"; then | |
49 case $word in | |
50 i?86 | x86_64 | ppc | ppc64) | |
51 if test -z "$arch" || test "$arch" = "$word"; then | |
52 arch="$word" | |
53 else | |
54 gl_cv_c_multiarch=yes | |
55 fi | |
56 ;; | |
57 esac | |
58 prev= | |
59 else | |
60 if test "x$word" = "x-arch"; then | |
61 prev=arch | |
62 fi | |
63 fi | |
64 done | |
65 ]) | |
66 if test $gl_cv_c_multiarch = yes; then | |
67 AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1], | |
68 [Define if the compiler is building for multiple architectures of Apple platforms at once.]) | |
69 APPLE_UNIVERSAL_BUILD=1 | |
70 else | |
71 APPLE_UNIVERSAL_BUILD=0 | |
72 fi | |
73 AC_SUBST([APPLE_UNIVERSAL_BUILD]) | |
74 ]) |