93 lines
2.8 KiB
Bash
93 lines
2.8 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
###############################################################################
|
||
|
# Author: Anders F Björklund <afb@users.sourceforge.net>
|
||
|
#
|
||
|
# This file has been put into the public domain.
|
||
|
# You can do whatever you want with this file.
|
||
|
###############################################################################
|
||
|
|
||
|
mkdir -p Root
|
||
|
mkdir -p Resources
|
||
|
|
||
|
# Abort immediately if something goes wrong.
|
||
|
set -e
|
||
|
|
||
|
# Clean up if it was already configured.
|
||
|
[ -f Makefile ] && make distclean
|
||
|
|
||
|
# Build the regular fat program
|
||
|
|
||
|
CC="gcc-4.0" \
|
||
|
CFLAGS="-O2 -g -arch ppc -arch ppc64 -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \
|
||
|
../configure --disable-dependency-tracking --disable-xzdec --disable-lzmadec i686-apple-darwin8
|
||
|
|
||
|
make
|
||
|
|
||
|
make check
|
||
|
|
||
|
make DESTDIR=`pwd`/Root install
|
||
|
|
||
|
make distclean
|
||
|
|
||
|
# Build the size-optimized program
|
||
|
|
||
|
CC="gcc-4.0" \
|
||
|
CFLAGS="-Os -g -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \
|
||
|
../configure --disable-dependency-tracking --disable-shared --disable-nls --disable-encoders --enable-small --disable-threads i686-apple-darwin8
|
||
|
|
||
|
make -C src/liblzma
|
||
|
make -C src/xzdec
|
||
|
make -C src/xzdec DESTDIR=`pwd`/Root install
|
||
|
|
||
|
cp -a ../extra Root/usr/local/share/doc/xz
|
||
|
|
||
|
make distclean
|
||
|
|
||
|
# Strip debugging symbols and make relocatable
|
||
|
|
||
|
for bin in xz lzmainfo xzdec lzmadec; do
|
||
|
strip -S Root/usr/local/bin/$bin
|
||
|
install_name_tool -change /usr/local/lib/liblzma.5.dylib @executable_path/../lib/liblzma.5.dylib Root/usr/local/bin/$bin
|
||
|
done
|
||
|
|
||
|
for lib in liblzma.5.dylib; do
|
||
|
strip -S Root/usr/local/lib/$lib
|
||
|
install_name_tool -id @executable_path/../lib/liblzma.5.dylib Root/usr/local/lib/$lib
|
||
|
done
|
||
|
|
||
|
strip -S Root/usr/local/lib/liblzma.a
|
||
|
rm -f Root/usr/local/lib/liblzma.la
|
||
|
|
||
|
# Include pkg-config while making relocatable
|
||
|
|
||
|
sed -e 's|prefix=/usr/local|prefix=${pcfiledir}/../..|' < Root/usr/local/lib/pkgconfig/liblzma.pc > Root/liblzma.pc
|
||
|
mv Root/liblzma.pc Root/usr/local/lib/pkgconfig/liblzma.pc
|
||
|
|
||
|
# Create tarball, but without the HFS+ attrib
|
||
|
|
||
|
rmdir debug lib po src/liblzma/api src/liblzma src/lzmainfo src/scripts src/xz src/xzdec src tests
|
||
|
|
||
|
( cd Root/usr/local; COPY_EXTENDED_ATTRIBUTES_DISABLE=true COPYFILE_DISABLE=true tar cvjf ../../../XZ.tbz * )
|
||
|
|
||
|
# Include documentation files for package
|
||
|
|
||
|
cp -p ../README Resources/ReadMe.txt
|
||
|
cp -p ../COPYING Resources/License.txt
|
||
|
|
||
|
# Make an Installer.app package
|
||
|
|
||
|
ID="org.tukaani.xz"
|
||
|
VERSION=`cd ..; sh build-aux/version.sh`
|
||
|
PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||
|
$PACKAGEMAKER -r Root/usr/local -l /usr/local -e Resources -i $ID -n $VERSION -t XZ -o XZ.pkg -g 10.4 --verbose
|
||
|
|
||
|
# Put the package in a disk image
|
||
|
|
||
|
hdiutil create -fs HFS+ -format UDZO -quiet -srcfolder XZ.pkg -ov XZ.dmg
|
||
|
hdiutil internet-enable -yes -quiet XZ.dmg
|
||
|
|
||
|
echo
|
||
|
echo "Build completed successfully."
|
||
|
echo
|