Allow Mac and Solaris packages to be built with v7/v8b emulated libraries
This commit is contained in:
14
BUILDING.txt
14
BUILDING.txt
@@ -540,6 +540,20 @@ make udmg [BUILDDIR32={32-bit build directory}]
|
||||
{source_directory}/osxx86 by default, but you can override this by setting
|
||||
the BUILDDIR32 variable on the make command line as shown above.
|
||||
|
||||
make sunpkg
|
||||
|
||||
Build a Solaris package. This requires pkgmk, pkgtrans, and bzip2.
|
||||
|
||||
make csunpkg [BUILDDIR32={32-bit build directory}]
|
||||
|
||||
On 64-bit Solaris systems, this creates a combined package which contains
|
||||
both 32-bit and 64-bit libraries. You should first configure a 32-bit
|
||||
out-of-tree build of libjpeg-turbo, then configure a 64-bit out-of-tree
|
||||
build, then run 'make csunpkg' from the 64-bit build directory. The build
|
||||
system will look for the 32-bit build under {source_directory}/solx86 by
|
||||
default, but you can override this by setting the BUILDDIR32 variable on the
|
||||
make command line as shown above.
|
||||
|
||||
make cygwinpkg
|
||||
|
||||
Build a Cygwin binary package.
|
||||
|
||||
21
Makefile.am
21
Makefile.am
@@ -203,30 +203,23 @@ deb: all
|
||||
|
||||
if X86_64
|
||||
|
||||
BUILDDIR32=${srcdir}/osxx86
|
||||
|
||||
udmg: all
|
||||
sh $(srcdir)/release/makemacpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
|
||||
${srcdir} ${BUILDDIR32}
|
||||
sh makemacpkg universal ${BUILDDIR32}
|
||||
|
||||
endif
|
||||
|
||||
dmg: all
|
||||
sh $(srcdir)/release/makemacpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} ${srcdir}
|
||||
sh makemacpkg
|
||||
|
||||
if X86_64
|
||||
|
||||
sunpkg: all
|
||||
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
|
||||
${DEBARCH} ${srcdir} $(CC) $(CXX) combined
|
||||
|
||||
else
|
||||
|
||||
sunpkg: all
|
||||
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
|
||||
${DEBARCH} ${srcdir} $(CC) $(CXX)
|
||||
csunpkg: all
|
||||
sh makesunpkg combined ${BUILDDIR32}
|
||||
|
||||
endif
|
||||
|
||||
sunpkg: all
|
||||
sh makesunpkg
|
||||
|
||||
cygwinpkg: all
|
||||
sh $(srcdir)/release/makecygwinpkg ${PACKAGE_NAME} ${VERSION} ${srcdir}
|
||||
|
||||
@@ -268,6 +268,8 @@ AC_DEFINE_UNQUOTED([BUILD], "$BUILD", [Build number])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_HEADERS([jconfig.h])
|
||||
AC_CONFIG_FILES([libjpeg-turbo.spec:release/libjpeg-turbo.spec.in])
|
||||
AC_CONFIG_FILES([makemacpkg:release/makemacpkg.in])
|
||||
AC_CONFIG_FILES([makesunpkg:release/makesunpkg.in])
|
||||
AC_CONFIG_FILES([libjpeg.map])
|
||||
AC_CONFIG_FILES([Makefile simd/Makefile])
|
||||
AC_OUTPUT
|
||||
|
||||
@@ -17,20 +17,22 @@ onexit()
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "$0 <package name> <version> <build> <source dir.> [32-bit build dir]"
|
||||
echo "$0 [universal [32-bit build dir]]"
|
||||
exit 1
|
||||
}
|
||||
|
||||
UNIVERSAL=0
|
||||
|
||||
if [ $# -lt 4 ]; then usage $0; fi
|
||||
PACKAGE_NAME=$1
|
||||
VERSION=$2
|
||||
BUILD=$3
|
||||
SRCDIR=$4
|
||||
if [ $# -gt 4 ]; then
|
||||
BUILDDIR32=$5
|
||||
UNIVERSAL=1
|
||||
PACKAGE_NAME=@PACKAGE_NAME@
|
||||
VERSION=@VERSION@
|
||||
BUILD=@BUILD@
|
||||
SRCDIR=@srcdir@
|
||||
BUILDDIR32=@srcdir@/osxx86
|
||||
if [ $# -gt 0 ]; then
|
||||
if [ "$1" = "universal" ]; then
|
||||
UNIVERSAL=1
|
||||
if [ $# -gt 1 ]; then BUILDDIR32=$2; fi
|
||||
fi
|
||||
fi
|
||||
PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||||
|
||||
@@ -63,18 +65,18 @@ if [ $UNIVERSAL = 1 ]; then
|
||||
pushd $BUILDDIR32
|
||||
make install DESTDIR=$TMPDIR/dist.x86
|
||||
popd
|
||||
if [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib -a \
|
||||
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib ]; then
|
||||
if [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib \
|
||||
-arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib \
|
||||
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib
|
||||
elif [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib -a \
|
||||
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib ]; then
|
||||
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
elif [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib \
|
||||
-arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib \
|
||||
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib
|
||||
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
|
||||
fi
|
||||
lipo -create \
|
||||
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.a \
|
||||
@@ -111,7 +113,7 @@ if [ $UNIVERSAL = 1 ]; then
|
||||
|
||||
fi
|
||||
|
||||
install_name_tool -id /opt/$PACKAGE_NAME/lib/libjpeg.62.dylib $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib
|
||||
install_name_tool -id /opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
install_name_tool -id libturbojpeg.dylib $PKGROOT/usr/lib/libturbojpeg.dylib
|
||||
|
||||
ln -fs /usr/include/turbojpeg.h $PKGROOT/opt/$PACKAGE_NAME/include/
|
||||
@@ -17,22 +17,23 @@ onexit()
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "$0 <package name> <version> <build> <package architecture> <source dir.> [combined]"
|
||||
echo "$0 [combined [32-bit build dir.]]"
|
||||
exit 1
|
||||
}
|
||||
|
||||
COMBINED=0
|
||||
|
||||
if [ $# -lt 4 ]; then usage $0; fi
|
||||
PACKAGE_NAME=$1
|
||||
VERSION=$2
|
||||
BUILD=$3
|
||||
PKGARCH=$4
|
||||
SRCDIR=$5
|
||||
CC=$6
|
||||
CXX=$7
|
||||
if [ $# -gt 7 ]; then
|
||||
if [ "$8" = "combined" ]; then COMBINED=1; fi
|
||||
PACKAGE_NAME=@PACKAGE_NAME@
|
||||
VERSION=@VERSION@
|
||||
BUILD=@BUILD@
|
||||
PKGARCH=@DEBARCH@
|
||||
SRCDIR=@srcdir@
|
||||
BUILDDIR32=@srcdir@/solx86
|
||||
if [ $# -gt 0 ]; then
|
||||
if [ "$1" = "combined" ]; then
|
||||
COMBINED=1
|
||||
if [ $# -gt 1 ]; then BUILDDIR32=$2; fi
|
||||
fi
|
||||
fi
|
||||
|
||||
umask 022
|
||||
@@ -50,17 +51,21 @@ else
|
||||
__LIB=lib/$PKGARCH
|
||||
fi
|
||||
|
||||
# This mess is to work around a bug in /usr/ccs/bin/make
|
||||
if [ $COMBINED = 1 ]; then
|
||||
if [ ! -d $SRCDIR/solx86 ]; then
|
||||
mkdir -p $SRCDIR/solx86
|
||||
if [ ! -d $BUILDDIR32 ]; then
|
||||
echo ERROR: 32-bit build directory $BUILDDIR32 does not exist
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f $BUILDDIR32/Makefile ]; then
|
||||
echo ERROR: 32-bit build directory $BUILDDIR32 is not configured
|
||||
exit 1
|
||||
fi
|
||||
PWD=`pwd`
|
||||
cd $SRCDIR/solx86
|
||||
sh $SRCDIR/configure --with-pic CC=$CC CXX=$CXX CFLAGS= CXXFLAGS= LDFLAGS= host_alias=
|
||||
cd $BUILDDIR32
|
||||
make install DESTDIR=$TMPDIR mandir=/opt/$PACKAGE_NAME/man AM_MAKEFLAGS="mandir=/opt/$PACKAGE_NAME/man"
|
||||
cd $PWD
|
||||
fi
|
||||
# This mess is to work around a bug in /usr/ccs/bin/make
|
||||
make install DESTDIR=$TMPDIR libdir=/opt/$PACKAGE_NAME/$__LIB mandir=/opt/$PACKAGE_NAME/man AM_MAKEFLAGS="libdir=/opt/$PACKAGE_NAME/$__LIB mandir=/opt/$PACKAGE_NAME/man"
|
||||
rm -f $TMPDIR/opt/$PACKAGE_NAME/$__LIB/*.la
|
||||
mkdir -p $TMPDIR/opt/$PACKAGE_NAME/doc
|
||||
@@ -82,9 +87,9 @@ d none $PACKAGE_NAME/lib 0755 root bin
|
||||
EOF
|
||||
if [ $COMBINED = 1 ]; then
|
||||
cat >>$TMPDIR/proto <<EOF
|
||||
f none $PACKAGE_NAME/lib/libjpeg.so.62.0.0 0755 root bin
|
||||
s none $PACKAGE_NAME/lib/libjpeg.so.62=libjpeg.so.62.0.0
|
||||
s none $PACKAGE_NAME/lib/libjpeg.so=libjpeg.so.62.0.0
|
||||
f none $PACKAGE_NAME/lib/libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@ 0755 root bin
|
||||
s none $PACKAGE_NAME/lib/libjpeg.so.@SO_MAJOR_VERSION@=libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@
|
||||
s none $PACKAGE_NAME/lib/libjpeg.so=libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@
|
||||
f none $PACKAGE_NAME/lib/libjpeg.a 0644 root bin
|
||||
f none $PACKAGE_NAME/lib/libturbojpeg.so 0755 root bin
|
||||
f none $PACKAGE_NAME/lib/libturbojpeg.a 0644 root bin
|
||||
@@ -96,9 +101,9 @@ echo s none $PACKAGE_NAME/lib64=${__LIB} >>$TMPDIR/proto
|
||||
echo s none $PACKAGE_NAME/lib/64=$PKGARCH >>$TMPDIR/proto
|
||||
fi
|
||||
cat >>$TMPDIR/proto <<EOF
|
||||
f none $PACKAGE_NAME/${__LIB}/libjpeg.so.62.0.0 0755 root bin
|
||||
s none $PACKAGE_NAME/${__LIB}/libjpeg.so.62=libjpeg.so.62.0.0
|
||||
s none $PACKAGE_NAME/${__LIB}/libjpeg.so=libjpeg.so.62.0.0
|
||||
f none $PACKAGE_NAME/${__LIB}/libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@ 0755 root bin
|
||||
s none $PACKAGE_NAME/${__LIB}/libjpeg.so.@SO_MAJOR_VERSION@=libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@
|
||||
s none $PACKAGE_NAME/${__LIB}/libjpeg.so=libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@
|
||||
f none $PACKAGE_NAME/${__LIB}/libjpeg.a 0644 root bin
|
||||
f none $PACKAGE_NAME/${__LIB}/libturbojpeg.so 0755 root bin
|
||||
f none $PACKAGE_NAME/${__LIB}/libturbojpeg.a 0644 root bin
|
||||
Reference in New Issue
Block a user