]> granicus.if.org Git - libjpeg-turbo/commitdiff
Allow Mac and Solaris packages to be built with v7/v8b emulated libraries
authorDRC <dcommander@users.sourceforge.net>
Thu, 21 Oct 2010 19:47:06 +0000 (19:47 +0000)
committerDRC <dcommander@users.sourceforge.net>
Thu, 21 Oct 2010 19:47:06 +0000 (19:47 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@286 632fc199-4ca6-4c93-a231-07263d6284db

BUILDING.txt
Makefile.am
configure.ac
release/makemacpkg.in [moved from release/makemacpkg with 78% similarity]
release/makesunpkg.in [moved from release/makesunpkg with 76% similarity]

index f99babec0f060dcf692b512842813156a9de691e..28ff0a388c88f8b6df14860572bafb5578b89dcb 100644 (file)
@@ -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.
index 9eef5d261befe5690d02617b9542b1d90feedbf0..adc4cb6e1a6b2c1edcc70322186711c71031c812 100644 (file)
@@ -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
+csunpkg: all
+       sh makesunpkg combined ${BUILDDIR32}
 
-else
+endif
 
 sunpkg: all
-       sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
-               ${DEBARCH} ${srcdir} $(CC) $(CXX)
-
-endif
+       sh makesunpkg
 
 cygwinpkg: all
        sh $(srcdir)/release/makecygwinpkg ${PACKAGE_NAME} ${VERSION} ${srcdir}
index 782ae19999defce3be03b3b83187fdd1cb528d07..489c95031a056f8edc9be2c0223461b3a2147255 100644 (file)
@@ -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
similarity index 78%
rename from release/makemacpkg
rename to release/makemacpkg.in
index c7f3fbddecf6a824f2b16d7e9f879cb3001e5a05..b5a7422641e540241b477b295171226075407173 100644 (file)
@@ -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/
similarity index 76%
rename from release/makesunpkg
rename to release/makesunpkg.in
index d921d96b74f5f587c15d5c441bb7c8bd73dca66a..518022522d00187741f82b5e75afcbac2fa7da80 100644 (file)
@@ -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