Add an OS X build script that generates fat binaries.

This commit is contained in:
Sam Hocevar 2010-02-07 14:21:35 +00:00 committed by sam
parent 1e0f3b8e15
commit 8b515b6a58
2 changed files with 45 additions and 1 deletions

View File

@ -2,7 +2,7 @@
SUBDIRS = src test doc
DIST_SUBDIRS = $(SUBDIRS)
EXTRA_DIST = bootstrap AUTHORS \
EXTRA_DIST = bootstrap build-osx build-win32 AUTHORS \
m4/cflags.m4 m4/func.m4 \
msvc/config.h \
msvc/libzzuf.vcproj msvc/libzzuf.vcxproj \

44
build-osx Executable file
View File

@ -0,0 +1,44 @@
#! /bin/sh
## OS X fat binary compilation for zzuf -- Sam Hocevar <sam@hocevar.net>
set -x
set -e
I386CC=i686-apple-darwin10-gcc-4.2.1
if ! "${I386CC}" -v >/dev/null 2>&1; then
echo "${I386CC} not found, please fix build script"
fi
# Clean up our working directory
SRCDIR="`pwd`"
DIRNAME="zzuf-osx-`sed -ne 's/^AC_INIT(.*, \(.*\)).*/\1/p' configure.ac`"
INSTALLDIR="`pwd`/${DIRNAME}"
BUILDDIR="${INSTALLDIR}/build"
rm -Rf "${INSTALLDIR}"
rm -f "${INSTALLDIR}.zip"
mkdir "${INSTALLDIR}"
mkdir "${INSTALLDIR}/build"
cd "${INSTALLDIR}/build"
# Build for i386
"${SRCDIR}/configure" --host=i686-apple-darwin10 CC="${I386CC}"
(cd src; make libzzuf.la)
cp src/.libs/libzzuf.dylib src/libzzuf-i386.dylib
make distclean
# Build for x86_64
"${SRCDIR}/configure"
make
mv src/.libs/libzzuf.dylib src/libzzuf-x86_64.dylib
# Create fat binary
lipo src/libzzuf-i386.dylib src/libzzuf-x86_64.dylib -create -o src/.libs/libzzuf.dylib
make install DESTDIR="${INSTALLDIR}" pkglibdir=/.libs/ pkgdatadir=/ bindir=/ man1dir=/doc man3dir=/doc
rm -Rf "${INSTALLDIR}/build"
# Pack the directory
cd "${SRCDIR}"
tar cvzf "${DIRNAME}.tar.gz" "${DIRNAME}"
rm -Rf "${INSTALLDIR}"