libpngのUniversal Binaryを作成 - 環境変数CFLAGSとLDFLAGSに適切な値を渡し、configureで単純にUniversal Binary

CFLAGSとLDFLAGSを設定

Macintosh:libpng-1.2.12 kuru$ export CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc"
Macintosh:libpng-1.2.12 kuru$ export LDFLAGS="-arch i386 -arch ppc"

configure

Macintosh:libpng-1.2.12 kuru$ configure --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
   .
   .
   .
configure: WARNING: *** You have not enabled versioned symbols.
configure: pkgconfig directory is ${libdir}/pkgconfig
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libpng.pc
config.status: creating libpng-config
config.status: creating config.h
config.status: executing depfiles commands

make

makeするとエラーになってしまう。

Macintosh:libpng-1.2.12 kuru$ make
make  all-am
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.  -DPNG_CONFIGURE_LIBPNG   -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -c -o libpng12_la-png.lo `test -f 'png.c' || echo './'`png.c
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I. -I. -DPNG_CONFIGURE_LIBPNG -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -c png.c  -fno-common -DPIC -o .libs/libpng12_la-png.o
 gcc -DHAVE_CONFIG_H -I. -I. -I. -DPNG_CONFIGURE_LIBPNG -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -c png.c -o libpng12_la-png.o >/dev/null 2>&1
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.  -DPNG_CONFIGURE_LIBPNG   -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -c -o libpng12_la-pngset.lo `test -f 'pngset.c' || echo './'`pngset.c
 gcc -DHAVE_CONFIG_H -I. -I. -I. -DPNG_CONFIGURE_LIBPNG -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -c pngset.c  -fno-common -DPIC -o .libs/libpng12_la-pngset.o

   ・
   ・
   ・
   ・
   ・
 gcc -DHAVE_CONFIG_H -I. -I. -I. -DPNG_CONFIGURE_LIBPNG -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -c pnggccrd.c  -fno-common -DPIC -o .libs/libpng12_la-pnggccrd.o
 gcc -DHAVE_CONFIG_H -I. -I. -I. -DPNG_CONFIGURE_LIBPNG -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -c pnggccrd.c -o libpng12_la-pnggccrd.o >/dev/null 2>&1
rm -f libpng.sym libpng.sym.new
gcc -E -DPNG_CONFIGURE_LIBPNG  -DPNG_BUILDSYMS ./png.h | \
		/usr/bin/sed -n -e 's|^.*PNG_FUNCTION_EXPORT[ 	]*\([a-zA-Z0-9_]*\).*$|\1|p' \
			-e 's|^.*PNG_DATA_EXPORT[ 	]*\([a-zA-Z0-9_]*\).*$|\1|p' \
			>libpng.sym.new
mv libpng.sym.new libpng.sym
/bin/sh ./libtool --tag=CC --mode=link gcc  -O -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc  -arch i386 -arch ppc -o libpng12.la -rpath /usr/local/lib -no-undefined -export-dynamic -version-number 0:12:0  -export-symbols libpng.sym libpng12_la-png.lo libpng12_la-pngset.lo libpng12_la-pngget.lo libpng12_la-pngrutil.lo libpng12_la-pngtrans.lo libpng12_la-pngwutil.lo libpng12_la-pngread.lo libpng12_la-pngrio.lo libpng12_la-pngwio.lo libpng12_la-pngwrite.lo libpng12_la-pngrtran.lo libpng12_la-pngwtran.lo libpng12_la-pngmem.lo libpng12_la-pngerror.lo libpng12_la-pngpread.lo libpng12_la-pnggccrd.lo  -lz 
sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < libpng.sym > .libs/libpng12-symbols.expsym
gcc -dynamiclib  -o .libs/libpng12.0.12.0.dylib  .libs/libpng12_la-png.o .libs/libpng12_la-pngset.o .libs/libpng12_la-pngget.o .libs/libpng12_la-pngrutil.o .libs/libpng12_la-pngtrans.o .libs/libpng12_la-pngwutil.o .libs/libpng12_la-pngread.o .libs/libpng12_la-pngrio.o .libs/libpng12_la-pngwio.o .libs/libpng12_la-pngwrite.o .libs/libpng12_la-pngrtran.o .libs/libpng12_la-pngwtran.o .libs/libpng12_la-pngmem.o .libs/libpng12_la-pngerror.o .libs/libpng12_la-pngpread.o .libs/libpng12_la-pnggccrd.o  -lz  -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch ppc -arch i386 -arch ppc -install_name  /usr/local/lib/libpng12.0.dylib -Wl,-compatibility_version -Wl,13 -Wl,-current_version -Wl,13.0
nmedit -s .libs/libpng12-symbols.expsym .libs/libpng12.0.12.0.dylib
nmedit: removing global symbols from a final linked no longer supported.  Use -exported_symbols_list at link time when building: /Users/kuru/Documents/00_Atotok/11.atotok-dev/13.Projects/library/libpng-1.2.12/.libs/libpng12.0.12.0.dylib (for architecture i386)
nmedit: symbols names listed in: .libs/libpng12-symbols.expsym not in: /Users/kuru/Documents/00_Atotok/11.atotok-dev/13.Projects/library/libpng-1.2.12/.libs/libpng12.0.12.0.dylib (for architecture ppc7400)
_png_pass_width
make[1]: *** [libpng12.la] Error 1
make: *** [all] Error 2