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
|
{source_directory}/osxx86 by default, but you can override this by setting
|
||||||
the BUILDDIR32 variable on the make command line as shown above.
|
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
|
make cygwinpkg
|
||||||
|
|
||||||
Build a Cygwin binary package.
|
Build a Cygwin binary package.
|
||||||
|
|||||||
21
Makefile.am
21
Makefile.am
@@ -203,30 +203,23 @@ deb: all
|
|||||||
|
|
||||||
if X86_64
|
if X86_64
|
||||||
|
|
||||||
BUILDDIR32=${srcdir}/osxx86
|
|
||||||
|
|
||||||
udmg: all
|
udmg: all
|
||||||
sh $(srcdir)/release/makemacpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
|
sh makemacpkg universal ${BUILDDIR32}
|
||||||
${srcdir} ${BUILDDIR32}
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
dmg: all
|
dmg: all
|
||||||
sh $(srcdir)/release/makemacpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} ${srcdir}
|
sh makemacpkg
|
||||||
|
|
||||||
if X86_64
|
if X86_64
|
||||||
|
|
||||||
sunpkg: all
|
csunpkg: all
|
||||||
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
|
sh makesunpkg combined ${BUILDDIR32}
|
||||||
${DEBARCH} ${srcdir} $(CC) $(CXX) combined
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
sunpkg: all
|
|
||||||
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
|
|
||||||
${DEBARCH} ${srcdir} $(CC) $(CXX)
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
sunpkg: all
|
||||||
|
sh makesunpkg
|
||||||
|
|
||||||
cygwinpkg: all
|
cygwinpkg: all
|
||||||
sh $(srcdir)/release/makecygwinpkg ${PACKAGE_NAME} ${VERSION} ${srcdir}
|
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([config.h])
|
||||||
AC_CONFIG_HEADERS([jconfig.h])
|
AC_CONFIG_HEADERS([jconfig.h])
|
||||||
AC_CONFIG_FILES([libjpeg-turbo.spec:release/libjpeg-turbo.spec.in])
|
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([libjpeg.map])
|
||||||
AC_CONFIG_FILES([Makefile simd/Makefile])
|
AC_CONFIG_FILES([Makefile simd/Makefile])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|||||||
@@ -17,20 +17,22 @@ onexit()
|
|||||||
|
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
echo "$0 <package name> <version> <build> <source dir.> [32-bit build dir]"
|
echo "$0 [universal [32-bit build dir]]"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
UNIVERSAL=0
|
UNIVERSAL=0
|
||||||
|
|
||||||
if [ $# -lt 4 ]; then usage $0; fi
|
PACKAGE_NAME=@PACKAGE_NAME@
|
||||||
PACKAGE_NAME=$1
|
VERSION=@VERSION@
|
||||||
VERSION=$2
|
BUILD=@BUILD@
|
||||||
BUILD=$3
|
SRCDIR=@srcdir@
|
||||||
SRCDIR=$4
|
BUILDDIR32=@srcdir@/osxx86
|
||||||
if [ $# -gt 4 ]; then
|
if [ $# -gt 0 ]; then
|
||||||
BUILDDIR32=$5
|
if [ "$1" = "universal" ]; then
|
||||||
UNIVERSAL=1
|
UNIVERSAL=1
|
||||||
|
if [ $# -gt 1 ]; then BUILDDIR32=$2; fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||||||
|
|
||||||
@@ -63,18 +65,18 @@ if [ $UNIVERSAL = 1 ]; then
|
|||||||
pushd $BUILDDIR32
|
pushd $BUILDDIR32
|
||||||
make install DESTDIR=$TMPDIR/dist.x86
|
make install DESTDIR=$TMPDIR/dist.x86
|
||||||
popd
|
popd
|
||||||
if [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib -a \
|
if [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
|
||||||
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib ]; then
|
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
|
||||||
lipo -create \
|
lipo -create \
|
||||||
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib \
|
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||||
-arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib \
|
-arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||||
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib
|
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||||
elif [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib -a \
|
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.62.0.0.dylib ]; then
|
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
|
||||||
lipo -create \
|
lipo -create \
|
||||||
-arch i386 $TMPDIR/dist.x86/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.62.0.0.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.62.0.0.dylib
|
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
|
||||||
fi
|
fi
|
||||||
lipo -create \
|
lipo -create \
|
||||||
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.a \
|
-arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.a \
|
||||||
@@ -111,7 +113,7 @@ if [ $UNIVERSAL = 1 ]; then
|
|||||||
|
|
||||||
fi
|
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
|
install_name_tool -id libturbojpeg.dylib $PKGROOT/usr/lib/libturbojpeg.dylib
|
||||||
|
|
||||||
ln -fs /usr/include/turbojpeg.h $PKGROOT/opt/$PACKAGE_NAME/include/
|
ln -fs /usr/include/turbojpeg.h $PKGROOT/opt/$PACKAGE_NAME/include/
|
||||||
@@ -17,22 +17,23 @@ onexit()
|
|||||||
|
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
echo "$0 <package name> <version> <build> <package architecture> <source dir.> [combined]"
|
echo "$0 [combined [32-bit build dir.]]"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
COMBINED=0
|
COMBINED=0
|
||||||
|
|
||||||
if [ $# -lt 4 ]; then usage $0; fi
|
PACKAGE_NAME=@PACKAGE_NAME@
|
||||||
PACKAGE_NAME=$1
|
VERSION=@VERSION@
|
||||||
VERSION=$2
|
BUILD=@BUILD@
|
||||||
BUILD=$3
|
PKGARCH=@DEBARCH@
|
||||||
PKGARCH=$4
|
SRCDIR=@srcdir@
|
||||||
SRCDIR=$5
|
BUILDDIR32=@srcdir@/solx86
|
||||||
CC=$6
|
if [ $# -gt 0 ]; then
|
||||||
CXX=$7
|
if [ "$1" = "combined" ]; then
|
||||||
if [ $# -gt 7 ]; then
|
COMBINED=1
|
||||||
if [ "$8" = "combined" ]; then COMBINED=1; fi
|
if [ $# -gt 1 ]; then BUILDDIR32=$2; fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
umask 022
|
umask 022
|
||||||
@@ -50,17 +51,21 @@ else
|
|||||||
__LIB=lib/$PKGARCH
|
__LIB=lib/$PKGARCH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This mess is to work around a bug in /usr/ccs/bin/make
|
|
||||||
if [ $COMBINED = 1 ]; then
|
if [ $COMBINED = 1 ]; then
|
||||||
if [ ! -d $SRCDIR/solx86 ]; then
|
if [ ! -d $BUILDDIR32 ]; then
|
||||||
mkdir -p $SRCDIR/solx86
|
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
|
fi
|
||||||
PWD=`pwd`
|
PWD=`pwd`
|
||||||
cd $SRCDIR/solx86
|
cd $BUILDDIR32
|
||||||
sh $SRCDIR/configure --with-pic CC=$CC CXX=$CXX CFLAGS= CXXFLAGS= LDFLAGS= host_alias=
|
|
||||||
make install DESTDIR=$TMPDIR mandir=/opt/$PACKAGE_NAME/man AM_MAKEFLAGS="mandir=/opt/$PACKAGE_NAME/man"
|
make install DESTDIR=$TMPDIR mandir=/opt/$PACKAGE_NAME/man AM_MAKEFLAGS="mandir=/opt/$PACKAGE_NAME/man"
|
||||||
cd $PWD
|
cd $PWD
|
||||||
fi
|
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"
|
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
|
rm -f $TMPDIR/opt/$PACKAGE_NAME/$__LIB/*.la
|
||||||
mkdir -p $TMPDIR/opt/$PACKAGE_NAME/doc
|
mkdir -p $TMPDIR/opt/$PACKAGE_NAME/doc
|
||||||
@@ -82,9 +87,9 @@ d none $PACKAGE_NAME/lib 0755 root bin
|
|||||||
EOF
|
EOF
|
||||||
if [ $COMBINED = 1 ]; then
|
if [ $COMBINED = 1 ]; then
|
||||||
cat >>$TMPDIR/proto <<EOF
|
cat >>$TMPDIR/proto <<EOF
|
||||||
f none $PACKAGE_NAME/lib/libjpeg.so.62.0.0 0755 root bin
|
f none $PACKAGE_NAME/lib/libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@ 0755 root bin
|
||||||
s none $PACKAGE_NAME/lib/libjpeg.so.62=libjpeg.so.62.0.0
|
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.62.0.0
|
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/libjpeg.a 0644 root bin
|
||||||
f none $PACKAGE_NAME/lib/libturbojpeg.so 0755 root bin
|
f none $PACKAGE_NAME/lib/libturbojpeg.so 0755 root bin
|
||||||
f none $PACKAGE_NAME/lib/libturbojpeg.a 0644 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
|
echo s none $PACKAGE_NAME/lib/64=$PKGARCH >>$TMPDIR/proto
|
||||||
fi
|
fi
|
||||||
cat >>$TMPDIR/proto <<EOF
|
cat >>$TMPDIR/proto <<EOF
|
||||||
f none $PACKAGE_NAME/${__LIB}/libjpeg.so.62.0.0 0755 root bin
|
f none $PACKAGE_NAME/${__LIB}/libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@ 0755 root bin
|
||||||
s none $PACKAGE_NAME/${__LIB}/libjpeg.so.62=libjpeg.so.62.0.0
|
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.62.0.0
|
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}/libjpeg.a 0644 root bin
|
||||||
f none $PACKAGE_NAME/${__LIB}/libturbojpeg.so 0755 root bin
|
f none $PACKAGE_NAME/${__LIB}/libturbojpeg.so 0755 root bin
|
||||||
f none $PACKAGE_NAME/${__LIB}/libturbojpeg.a 0644 root bin
|
f none $PACKAGE_NAME/${__LIB}/libturbojpeg.a 0644 root bin
|
||||||
Reference in New Issue
Block a user