]> granicus.if.org Git - libjpeg-turbo/commitdiff
Allow RPMs and SRPMs to be generated with v7/v8b emulation; Add CMake scripts and...
authorDRC <dcommander@users.sourceforge.net>
Mon, 18 Oct 2010 00:15:31 +0000 (00:15 +0000)
committerDRC <dcommander@users.sourceforge.net>
Mon, 18 Oct 2010 00:15:31 +0000 (00:15 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@276 632fc199-4ca6-4c93-a231-07263d6284db

Makefile.am
configure.ac
release/libjpeg-turbo.spec.in [moved from release/libjpeg-turbo.spec with 92% similarity]
release/makerpm [deleted file]
release/makesrpm [deleted file]
simd/Makefile.am

index 74f8f2525e431bb17c03efc25344ea00d509807b..df5cf0a72f7924dafa820c6680cfb227ece48482 100644 (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} \
index 98d45bca108b23c18ac3d87f6a486dae59f42e18..98c444066685d6b7798f8aabf7719f3da701e3d8 100644 (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
similarity index 92%
rename from release/libjpeg-turbo.spec
rename to release/libjpeg-turbo.spec.in
index 0ff7211d020b476c780241b92a0daf6e62a0a4ed..bbf2879f5f42a4d7bf3ac0f7cfc5402b2eb5e61a 100644 (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
diff --git a/release/makerpm b/release/makerpm
deleted file mode 100644 (file)
index 8aee3a0..0000000
+++ /dev/null
@@ -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
diff --git a/release/makesrpm b/release/makesrpm
deleted file mode 100644 (file)
index bb31832..0000000
+++ /dev/null
@@ -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
index a114c3716f59c3579d4b073848d4ed8b89f6d25c..81c23af89c9965c2a03b12bfdbcde59243c6dcce 100644 (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