Allow RPMs and SRPMs to be generated with v7/v8b emulation; Add CMake scripts and other missing files to source distribution

This commit is contained in:
DRC
2010-10-18 00:15:31 +00:00
parent 76a6ac5c44
commit 71cbfe8860
6 changed files with 72 additions and 126 deletions

View File

@@ -1,11 +1,11 @@
lib_LTLIBRARIES = libjpeg.la libturbojpeg.la
libjpeg_la_LDFLAGS = -version-info ${JPEG_LIB_VERSION} -no-undefined
libjpeg_la_LDFLAGS = -version-info ${SO_MAJOR_VERSION}:${SO_MINOR_VERSION} -no-undefined
libturbojpeg_la_LDFLAGS = -avoid-version -no-undefined
include_HEADERS = jerror.h jmorecfg.h jpeglib.h turbojpeg.h
nodist_include_HEADERS = jconfig.h
HDRS = jchuff.h jdct.h jdhuff.h jerror.h jinclude.h jmemsys.h jmorecfg.h \
jpegint.h jpeglib.h jversion.h jsimd.h jsimddct.h
jpegint.h jpeglib.h jversion.h jsimd.h jsimddct.h jpegcomp.h
libjpeg_la_SOURCES = $(HDRS) jcapimin.c jcapistd.c jccoefct.c jccolor.c \
jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \
@@ -88,9 +88,10 @@ DOCS= README install.txt usage.txt wizard.txt example.c libjpeg.txt \
TESTFILES= testorig.jpg testorig.ppm testimg.bmp testimgflt.jpg \
testimgfst.jpg testimgint.jpg testimgp.jpg testimgflt.ppm testimgfst.ppm \
testimgint.ppm testimgflt-nosimd.jpg
testimgint.ppm testimgflt-nosimd.jpg testimgcrop.jpg
EXTRA_DIST = win release $(DOCS) $(TESTFILES)
EXTRA_DIST = win release $(DOCS) $(TESTFILES) CMakeLists.txt \
sharedlib/CMakeLists.txt cmakescripts
dist-hook:
rm -rf `find $(distdir) -name .svn`
@@ -164,11 +165,31 @@ testclean:
rm -f *_444Q[0-9]*.jpg
rpm: all
sh $(srcdir)/release/makerpm ${PACKAGE_NAME} ${VERSION} ${BUILD} \
${RPMARCH} ${srcdir}
TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
mkdir -p $$TMPDIR/RPMS; \
ln -fs `pwd` $$TMPDIR/BUILD; \
rm -f ${PACKAGE_NAME}.${RPMARCH}.rpm; \
rpmbuild -bb --define "_blddir $$TMPDIR/buildroot" \
--define "_topdir $$TMPDIR" --define "_srcdir ${srcdir}" \
--target ${RPMARCH} libjpeg-turbo.spec; \
cp $$TMPDIR/RPMS/${RPMARCH}/${PACKAGE_NAME}-${VERSION}-${BUILD}.${RPMARCH}.rpm ${PACKAGE_NAME}.${RPMARCH}.rpm; \
rm -rf $$TMPDIR
srpm: dist-gzip
sh $(srcdir)/release/makesrpm ${PACKAGE_NAME} ${VERSION} ${BUILD} ${srcdir}
TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
mkdir -p $$TMPDIR/RPMS; \
mkdir -p $$TMPDIR/SRPMS; \
mkdir -p $$TMPDIR/BUILD; \
mkdir -p $$TMPDIR/SOURCES; \
mkdir -p $$TMPDIR/SPECS; \
rm -f ${PACKAGE_NAME}.src.rpm; \
cp ${PACKAGE_NAME}-${VERSION}.tar.gz $$TMPDIR/SOURCES; \
cat libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \
| sed s@%{_srcdir}/@@g | sed s/#--\>//g \
>$$TMPDIR/SPECS/libjpeg-turbo.spec; \
rpmbuild -bs --define "_topdir $$TMPDIR" $$TMPDIR/SPECS/libjpeg-turbo.spec; \
cp $$TMPDIR/SRPMS/${PACKAGE_NAME}-${VERSION}-${BUILD}.src.rpm ${PACKAGE_NAME}.src.rpm; \
rm -rf $$TMPDIR
deb: all
sh $(srcdir)/release/makedpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \

View File

@@ -131,28 +131,45 @@ case "$host_os" in
esac
AM_CONDITIONAL([IS_WIN32], [test "x$is_win32" = "x1"])
AC_ARG_WITH([jpeg7],
AC_HELP_STRING([--with-jpeg7], [Emulate libjpeg v7 API/ABI (this makes libjpeg-turbo backward incompatible with libjpeg v6b.)]))
AC_ARG_WITH([jpeg8],
AC_HELP_STRING([--with-jpeg8], [Emulate libjpeg v8b API/ABI (this makes libjpeg-turbo backward incompatible with libjpeg v6b.)]))
AC_MSG_CHECKING([libjpeg version number])
if test "x${with_jpeg8}" = "xyes"; then
JPEG_LIB_VERSION=80
AC_DEFINE([JPEG_LIB_VERSION], [80], [Version 8.0])
[JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:2"]
else
if test "x${with_jpeg7}" = "xyes"; then
JPEG_LIB_VERSION=70
AC_DEFINE([JPEG_LIB_VERSION], [70], [Version 7.0])
[JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:`expr $JPEG_LIB_VERSION % 10`"]
AC_MSG_CHECKING([libjpeg API version])
AC_ARG_VAR(JPEG_LIB_VERSION, [libjpeg API version (62, 70, or 80)])
if test "x$JPEG_LIB_VERSION" = "x"; then
AC_ARG_WITH([jpeg7],
AC_HELP_STRING([--with-jpeg7], [Emulate libjpeg v7 API/ABI (this makes libjpeg-turbo backward incompatible with libjpeg v6b.)]))
AC_ARG_WITH([jpeg8],
AC_HELP_STRING([--with-jpeg8], [Emulate libjpeg v8b API/ABI (this makes libjpeg-turbo backward incompatible with libjpeg v6b.)]))
if test "x${with_jpeg8}" = "xyes"; then
JPEG_LIB_VERSION=80
else
JPEG_LIB_VERSION=62
AC_DEFINE([JPEG_LIB_VERSION], [62], [Version 6b])
[JPEG_LIB_VERSION="$JPEG_LIB_VERSION:0:0"]
if test "x${with_jpeg7}" = "xyes"; then
JPEG_LIB_VERSION=70
else
JPEG_LIB_VERSION=62
fi
fi
fi
AC_MSG_RESULT([$JPEG_LIB_VERSION])
AC_SUBST(JPEG_LIB_VERSION)
JPEG_LIB_VERSION_DECIMAL=`expr $JPEG_LIB_VERSION / 10`.`expr $JPEG_LIB_VERSION % 10`
AC_MSG_RESULT([$JPEG_LIB_VERSION_DECIMAL])
AC_DEFINE_UNQUOTED(JPEG_LIB_VERSION, [$JPEG_LIB_VERSION], [libjpeg API version])
AC_MSG_CHECKING([libjpeg shared library version])
AC_ARG_VAR(SO_MAJOR_VERSION, [Major version of the libjpeg-turbo shared library (default is determined by the API version)])
AC_ARG_VAR(SO_MINOR_VERSION, [Minor version of the libjpeg-turbo shared library (default is determined by the API version)])
if test "x$SO_MAJOR_VERSION" = "x"; then
case "$JPEG_LIB_VERSION" in
62) SO_MAJOR_VERSION=$JPEG_LIB_VERSION ;;
*) SO_MAJOR_VERSION=`expr $JPEG_LIB_VERSION / 10` ;;
esac
fi
if test "x$SO_MINOR_VERSION" = "x"; then
case "$JPEG_LIB_VERSION" in
80) SO_MINOR_VERSION=2 ;;
*) SO_MINOR_VERSION=0 ;;
esac
fi
AC_MSG_RESULT([$SO_MAJOR_VERSION:$SO_MINOR_VERSION])
AC_SUBST(SO_MAJOR_VERSION)
AC_SUBST(SO_MINOR_VERSION)
# SIMD is optional
AC_ARG_WITH([simd],
@@ -210,5 +227,6 @@ AC_DEFINE_UNQUOTED([BUILD], "$BUILD", [Build number])
# jconfig.h is a minimal version that allows this package to be built
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_HEADERS([jconfig.h])
AC_CONFIG_FILES([libjpeg-turbo.spec:release/libjpeg-turbo.spec.in])
AC_CONFIG_FILES([Makefile simd/Makefile])
AC_OUTPUT

View File

@@ -5,13 +5,13 @@
%endif
Summary: A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs
Name: %{_name}
Version: %{_version}
Name: @PACKAGE_NAME@
Version: @VERSION@
Vendor: The libjpeg-turbo Project
URL: http://libjpeg-turbo.virtualgl.org
Group: System Environment/Libraries
#-->Source0: http://prdownloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-%{version}.tar.gz
Release: %{_build}
Release: @BUILD@
License: wxWindows Library License, v3.1
BuildRoot: %{_blddir}/%{name}-buildroot-%{version}-%{release}
Prereq: /sbin/ldconfig
@@ -39,7 +39,7 @@ TurboJPEG/IPP. It is faster in some areas but slower in others.
#-->%setup -q
#-->%build
#-->configure libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man --with-pic
#-->configure libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man JPEG_LIB_VERSION=@JPEG_LIB_VERSION@ SO_MAJOR_VERSION=@SO_MAJOR_VERSION@ SO_MINOR_VERSION=@SO_MINOR_VERSION@ --with-pic
#-->make DESTDIR=$RPM_BUILD_ROOT libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man
%install
@@ -82,8 +82,8 @@ rm -rf $RPM_BUILD_ROOT
%else
/opt/%{name}/lib32
%endif
/opt/%{name}/%{__lib}/libjpeg.so.62.0.0
/opt/%{name}/%{__lib}/libjpeg.so.62
/opt/%{name}/%{__lib}/libjpeg.so.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@
/opt/%{name}/%{__lib}/libjpeg.so.@SO_MAJOR_VERSION@
/opt/%{name}/%{__lib}/libjpeg.so
/opt/%{name}/%{__lib}/libjpeg.a
/opt/%{name}/%{__lib}/libturbojpeg.a

View File

@@ -1,42 +0,0 @@
#!/bin/sh
set -u
set -e
trap onexit INT
trap onexit TERM
trap onexit EXIT
TMPDIR=
onexit()
{
if [ ! "$TMPDIR" = "" ]; then
rm -rf $TMPDIR
fi
}
usage()
{
echo "$0 <package name> <version> <build> <RPM architecture> <source dir.>"
exit 1
}
if [ $# -lt 5 ]; then usage $0; fi
PACKAGE_NAME=$1
VERSION=$2
BUILD=$3
RPMARCH=$4
SRCDIR=$5
TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
mkdir -p $TMPDIR/RPMS
ln -fs `pwd` $TMPDIR/BUILD
rm -f $PACKAGE_NAME.$RPMARCH.rpm
rpmbuild -bb --define "_name $PACKAGE_NAME" \
--define "_blddir $TMPDIR/buildroot" --define "_topdir $TMPDIR" \
--define "_version $VERSION" --define "_build $BUILD" \
--define "_srcdir $SRCDIR" --target $RPMARCH \
$SRCDIR/release/libjpeg-turbo.spec
cp $TMPDIR/RPMS/$RPMARCH/$PACKAGE_NAME-$VERSION-$BUILD.$RPMARCH.rpm $PACKAGE_NAME.$RPMARCH.rpm
exit

View File

@@ -1,51 +0,0 @@
#!/bin/sh
set -u
set -e
trap onexit INT
trap onexit TERM
trap onexit EXIT
TMPDIR=
onexit()
{
if [ ! "$TMPDIR" = "" ]; then
rm -rf $TMPDIR
fi
}
usage()
{
echo "$0 <package name> <version> <build> <RPM architecture> <source dir.>"
exit 1
}
if [ $# -lt 4 ]; then usage $0; fi
PACKAGE_NAME=$1
VERSION=$2
BUILD=$3
SRCDIR=$4
TARBALL=$PACKAGE_NAME-$VERSION.tar.gz
if [ ! -f ./$TARBALL ]; then
echo ./$TARBALL does not exist. Run make dist-gzip first.
exit -1
fi
TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
mkdir -p $TMPDIR/RPMS
mkdir -p $TMPDIR/SRPMS
mkdir -p $TMPDIR/BUILD
mkdir -p $TMPDIR/SOURCES
mkdir -p $TMPDIR/SPECS
rm -f $PACKAGE_NAME.src.rpm
cp $TARBALL $TMPDIR/SOURCES
cat $SRCDIR/release/libjpeg-turbo.spec | sed s/%{_name}/$PACKAGE_NAME/g \
| sed s/%{_version}/$VERSION/g | sed s/%{_build}/$BUILD/g \
| sed s/%{_blddir}/%{_tmppath}/g | sed s@%{_srcdir}/@@g \
| sed s/#--\>//g >$TMPDIR/SPECS/libjpeg-turbo.spec
rpmbuild -bs --define "_topdir $TMPDIR" $TMPDIR/SPECS/libjpeg-turbo.spec
cp $TMPDIR/SRPMS/$PACKAGE_NAME-$VERSION-$BUILD.src.rpm $PACKAGE_NAME.src.rpm
exit

View File

@@ -4,7 +4,7 @@ BUILT_SOURCES = jsimdcfg.inc
EXTRA_DIST = nasm_lt.sh jcclrmmx.asm jcclrss2.asm jdclrmmx.asm jdclrss2.asm \
jdmrgmmx.asm jdmrgss2.asm jcclrss2-64.asm jdclrss2-64.asm \
jdmrgss2-64.asm
jdmrgss2-64.asm CMakeLists.txt
if SIMD_X86_64