[Top][All Lists]
[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
- tweak for documentation of how to create universal binaries,
Bruno Haible <=
- Re: tweak for documentation of how to create universal binaries, Ralf Wildenhues, 2009/04/10
- Re: tweak for documentation of how to create universal binaries, Bruno Haible, 2009/04/10
- Re: tweak for documentation of how to create universal binaries, Eric Blake, 2009/04/10
- Re: tweak for documentation of how to create universal binaries, Ralf Wildenhues, 2009/04/11
- Re: tweak for documentation of how to create universal binaries, Bruno Haible, 2009/04/11
- Re: tweak for documentation of how to create universal binaries, Ralf Wildenhues, 2009/04/18
- Re: tweak for documentation of how to create universal binaries, Eric Blake, 2009/04/18
- Re: tweak for documentation of how to create universal binaries, Bruno Haible, 2009/04/19
- Re: tweak for documentation of how to create universal binaries, Ralf Wildenhues, 2009/04/19
- Re: tweak for documentation of how to create universal binaries, Bruno Haible, 2009/04/19