bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

tweak for documentation of how to create universal binaries


From: Bruno Haible
Subject: tweak for documentation of how to create universal binaries
Date: Fri, 10 Apr 2009 22:30:56 +0200
User-agent: KMail/1.9.9

Hi,

On 2008-08-17, we discussed what to write in INSTALL about the creation
of multi-arch binaries on MacOS X. In [1] Peter O'Gorman wrote:

> For automake using projects --disable-dependency-tracking is also
> necessary.

I didn't want to believe it, because I could not reproduce any problem with
texinfo-4.12. But now I reproduce the problem with a libunistring snapshot:

$ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64"  CXX="g++ 
-arch i386 -arch x86_64 -arch ppc -arch ppc64" CPP="gcc -E" CXXCPP="g++ -E"
$ make
$ make check
...
unictype/.deps/test-pr_bidi_common_separator.Po:30: *** missing separator.  
Stop.
make: *** [check-recursive] Error 1

That .Po file contains Makefile dependencies with invalid syntax:

unictype/test-pr_bidi_common_separator.o : \
  \
 unictype/test-pr_bidi_common_separator.c unictype/test-predicate-part1.h \
  ../config.h ../lib/unictype.h ../lib/unitypes.h \
  ../lib/unistring-stdint.h ../lib/stdint.h \
  /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stdint.h \
  /usr/include/sys/types.h /usr/include/sys/appleapiopts.h \
  /usr/include/sys/cdefs.h /usr/include/machine/types.h \
  /usr/include/ppc/types.h /usr/include/ppc/_types.h \
  /usr/include/sys/_types.h /usr/include/machine/_types.h \
  /usr/include/machine/endian.h /usr/include/ppc/endian.h \
  /usr/include/sys/_endian.h /usr/include/sys/_structs.h \
  /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/limits.h \
  /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/syslimits.h \
  /usr/include/limits.h /usr/include/machine/limits.h \
  /usr/include/ppc/limits.h /usr/include/ppc/_limits.h \
  /usr/include/sys/syslimits.h /usr/include/inttypes.h \
  /usr/include/_types.h \
  /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/syslimits.h \
  ../lib/unistring-stdbool.h \
  /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stdbool.h \
  /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stddef.h \
  /usr/include/stdio.h ../lib/stdlib.h /usr/include/stdlib.h \
  /usr/include/available.h /usr/include/sys/wait.h \
  /usr/include/sys/signal.h /usr/include/machine/signal.h \
  /usr/include/ppc/signal.h /usr/include/ppc/_structs.h \
  /usr/include/machine/_structs.h /usr/include/mach/ppc/_structs.h \
  /usr/include/sys/resource.h ../lib/alloca.h ../lib/string.h \
  /usr/include/string.h unictype/test-predicate-part2.h
lib/string.h \
  /usr/include/string.h unictype/test-predicate-part2.h
unictype/test-pr_bidi_common_separator.c :

Maybe the problem occurs only with large packages that use libtool.
In any case, the problem goes away by specifying --disable-dependency-tracking.
I propose to enhance the recommendation:


2009-04-10  Bruno Haible  <address@hidden>

        * doc/install.texi (Multiple Architectures): Recommend to use
        --disable-dependency-tracking.
        Suggested by Peter O'Gorman <address@hidden>.

--- doc/install.texi.bak        2009-04-10 00:43:23.000000000 +0200
+++ doc/install.texi    2009-04-10 22:09:07.000000000 +0200
@@ -125,12 +125,14 @@
 executables that work on multiple system types---known as @dfn{fat} or
 @dfn{universal} binaries---by specifying multiple @option{-arch} options
 to the compiler but only a single @option{-arch} option to the
-preprocessor.  Like this:
+preprocessor.  Also, automatic dependency tracking needs to be disabled
+in this case.  Like this:
 
 @example
 ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
             CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-            CPP="gcc -E" CXXCPP="g++ -E"
+            CPP="gcc -E" CXXCPP="g++ -E" \
+            --disable-dependency-tracking
 @end example
 
 This is not guaranteed to produce working output in all cases, you may



[1] http://lists.gnu.org/archive/html/autoconf/2008-08/msg00045.html




reply via email to

[Prev in Thread] Current Thread [Next in Thread]