Clean up packaging system


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@537 632fc199-4ca6-4c93-a231-07263d6284db
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 74ec2a3..edf00a3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -331,19 +331,21 @@
 # Installer
 #
 
-set(INST_NAME ${CMAKE_PROJECT_NAME})
-
 if(MSVC)
   set(INST_PLATFORM "Visual C++")
+  set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-vc)
+  set(INST_DIR ${CMAKE_PROJECT_NAME})
 elseif(MINGW)
   set(INST_PLATFORM GCC)
-  set(INST_NAME ${INST_NAME}-gcc)
+  set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-gcc)
+  set(INST_DIR ${CMAKE_PROJECT_NAME}-gcc)
   set(INST_DEFS -DGCC)
 endif()
 
 if(64BIT)
   set(INST_PLATFORM "${INST_PLATFORM} 64-bit")
   set(INST_NAME ${INST_NAME}64)
+  set(INST_DIR ${INST_DIR}64)
   set(INST_DEFS ${INST_DEFS} -DWIN64)
 endif()
 
@@ -357,7 +359,8 @@
 
 add_custom_target(installer
   makensis -nocd ${INST_DEFS} libjpeg-turbo.nsi
-  DEPENDS jpeg jpeg-static turbojpeg turbojpeg-static
+  DEPENDS jpeg jpeg-static turbojpeg turbojpeg-static rdjpgcom wrjpgcom
+    cjpeg djpeg jpegtran jpgtest
   SOURCES libjpeg-turbo.nsi)
 
 install(TARGETS jpeg-static turbojpeg turbojpeg-static rdjpgcom wrjpgcom jpgtest
diff --git a/Makefile.am b/Makefile.am
index 3131953..064114c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -223,11 +223,12 @@
 	TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
 	mkdir -p $$TMPDIR/RPMS; \
 	ln -fs `pwd` $$TMPDIR/BUILD; \
-	rm -f ${PACKAGE_NAME}.${RPMARCH}.rpm; \
+	rm -f ${PACKAGE_NAME}-${VERSION}.${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; \
+		--target ${RPMARCH} pkgscripts/libjpeg-turbo.spec; \
+	cp $$TMPDIR/RPMS/${RPMARCH}/${PACKAGE_NAME}-${VERSION}-${BUILD}.${RPMARCH}.rpm \
+		${PACKAGE_NAME}-${VERSION}.${RPMARCH}.rpm; \
 	rm -rf $$TMPDIR
 
 srpm: dist-gzip
@@ -237,38 +238,38 @@
 	mkdir -p $$TMPDIR/BUILD; \
 	mkdir -p $$TMPDIR/SOURCES; \
 	mkdir -p $$TMPDIR/SPECS; \
-	rm -f ${PACKAGE_NAME}.src.rpm; \
+	rm -f ${PACKAGE_NAME}-${VERSION}.src.rpm; \
 	cp ${PACKAGE_NAME}-${VERSION}.tar.gz $$TMPDIR/SOURCES; \
-	cat libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \
+	cat pkgscripts/libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \
 		| sed s@%{_srcdir}/@@g | sed s/#--\>//g \
-		>$$TMPDIR/SPECS/libjpeg-turbo.spec; \
+		> $$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; \
+	cp $$TMPDIR/SRPMS/${PACKAGE_NAME}-${VERSION}-${BUILD}.src.rpm \
+		${PACKAGE_NAME}-${VERSION}.src.rpm; \
 	rm -rf $$TMPDIR
 
 deb: all
-	sh $(srcdir)/release/makedpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
-		${DEBARCH} ${srcdir}
+	sh pkgscripts/makedpkg
 
 if X86_64
 
 udmg: all
-	sh makemacpkg universal ${BUILDDIR32}
+	sh pkgscripts/makemacpkg universal ${BUILDDIR32}
 
 endif
 
 dmg: all
-	sh makemacpkg
+	sh pkgscripts/makemacpkg
 
 if X86_64
 
 csunpkg: all
-	sh makesunpkg combined ${BUILDDIR32}
+	sh pkgscripts/makesunpkg combined ${BUILDDIR32}
 
 endif
 
 sunpkg: all
-	sh makesunpkg
+	sh pkgscripts/makesunpkg
 
 cygwinpkg: all
-	sh $(srcdir)/release/makecygwinpkg ${PACKAGE_NAME} ${VERSION} ${srcdir}
+	sh pkgscripts/makecygwinpkg
diff --git a/configure.ac b/configure.ac
index 89d21cf..869055a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -302,9 +302,16 @@
 # 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([makemacpkg:release/makemacpkg.in])
-AC_CONFIG_FILES([makesunpkg:release/makesunpkg.in])
+AC_CONFIG_FILES([pkgscripts/libjpeg-turbo.spec:release/libjpeg-turbo.spec.in])
+AC_CONFIG_FILES([pkgscripts/makecygwinpkg:release/makecygwinpkg.in])
+AC_CONFIG_FILES([pkgscripts/makedpkg:release/makedpkg.in])
+AC_CONFIG_FILES([pkgscripts/deb-control:release/deb-control.in])
+AC_CONFIG_FILES([pkgscripts/makemacpkg:release/makemacpkg.in])
+AC_CONFIG_FILES([pkgscripts/Description.plist:release/Description.plist.in])
+AC_CONFIG_FILES([pkgscripts/Info.plist:release/Info.plist.in])
+AC_CONFIG_FILES([pkgscripts/uninstall:release/uninstall.in])
+AC_CONFIG_FILES([pkgscripts/makesunpkg:release/makesunpkg.in])
+AC_CONFIG_FILES([pkgscripts/pkginfo:release/pkginfo.in])
 AC_CONFIG_FILES([libjpeg.map])
 AC_CONFIG_FILES([Makefile simd/Makefile])
 AC_OUTPUT
diff --git a/release/Description.plist.tmpl b/release/Description.plist.in
similarity index 86%
rename from release/Description.plist.tmpl
rename to release/Description.plist.in
index 4c5875c..adca3ec 100644
--- a/release/Description.plist.tmpl
+++ b/release/Description.plist.in
@@ -5,8 +5,8 @@
 	<key>IFPkgDescriptionDescription</key>
 	<string>A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs</string>
 	<key>IFPkgDescriptionTitle</key>
-	<string>{__APPNAME}</string>
+	<string>@PACKAGE_NAME@</string>
 	<key>IFPkgDescriptionVersion</key>
-	<string>{__VERSION}</string>
+	<string>@VERSION@</string>
 </dict>
 </plist>
diff --git a/release/Info.plist.tmpl b/release/Info.plist.in
similarity index 90%
rename from release/Info.plist.tmpl
rename to release/Info.plist.in
index a33daae..0575079 100755
--- a/release/Info.plist.tmpl
+++ b/release/Info.plist.in
@@ -3,15 +3,15 @@
 <plist version="1.0">
 <dict>
 	<key>CFBundleGetInfoString</key>
-	<string>{__VERSION}, The libjpeg-turbo Project</string>
+	<string>@VERSION@, The libjpeg-turbo Project</string>
 	<key>CFBundleIdentifier</key>
 	<string>com.libjpeg-turbo.libjpeg-turbo</string>
 	<key>CFBundleShortVersionString</key>
-	<string>{__VERSION}</string>
+	<string>@VERSION@</string>
 	<key>IFMajorVersion</key>
 	<integer>1</integer>
 	<key>IFMinorVersion</key>
-	<integer>{__BUILD}</integer>
+	<integer>@BUILD@</integer>
 	<key>IFPkgFlagAllowBackRev</key>
 	<false/>
 	<key>IFPkgFlagAuthorizationAction</key>
diff --git a/release/deb-control.tmpl b/release/deb-control.in
similarity index 94%
rename from release/deb-control.tmpl
rename to release/deb-control.in
index ade573e..d87c85f 100644
--- a/release/deb-control.tmpl
+++ b/release/deb-control.in
@@ -1,8 +1,8 @@
-Package: {__PKGNAME}
-Version: {__VERSION}-{__BUILD}
+Package: @PACKAGE_NAME@
+Version: @VERSION@-@BUILD@
 Section: misc
 Priority: optional
-Architecture: {__ARCH}
+Architecture: @DEBARCH@
 Essential: no
 Maintainer: The libjpeg-turbo Project [http://libjpeg-turbo.VirtualGL.org]
 Description: A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs
diff --git a/release/libjpeg-turbo.nsi.in b/release/libjpeg-turbo.nsi.in
index de71153..73e0e00 100755
--- a/release/libjpeg-turbo.nsi.in
+++ b/release/libjpeg-turbo.nsi.in
@@ -1,7 +1,7 @@
 !include x64.nsh
 Name "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@"
 OutFile "@CMAKE_BINARY_DIR@\${BUILDDIR}@INST_NAME@.exe"
-InstallDir c:\@INST_NAME@
+InstallDir c:\@INST_DIR@
 
 SetCompressor bzip2
 
@@ -77,12 +77,12 @@
 	File "@CMAKE_SOURCE_DIR@\LICENSE.txt"
 	File "@CMAKE_SOURCE_DIR@\usage.txt"
 
-	WriteRegStr HKLM "SOFTWARE\@INST_NAME@ @VERSION@" "Install_Dir" "$INSTDIR"
+	WriteRegStr HKLM "SOFTWARE\@INST_DIR@ @VERSION@" "Install_Dir" "$INSTDIR"
 
-	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "DisplayName" "@CMAKE_PROJECT_NAME@ SDK v@VERSION@ for @INST_PLATFORM@"
-	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "UninstallString" '"$INSTDIR\uninstall_@VERSION@.exe"'
-	WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "NoModify" 1
-	WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@" "NoRepair" 1
+	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "DisplayName" "@CMAKE_PROJECT_NAME@ SDK v@VERSION@ for @INST_PLATFORM@"
+	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "UninstallString" '"$INSTDIR\uninstall_@VERSION@.exe"'
+	WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "NoModify" 1
+	WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@" "NoRepair" 1
 	WriteUninstaller "uninstall_@VERSION@.exe"
 SectionEnd
 
@@ -95,8 +95,8 @@
 
 	SetShellVarContext all
 
-	DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_NAME@ @VERSION@"
-	DeleteRegKey HKLM "SOFTWARE\@INST_NAME@ @VERSION@"
+	DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@"
+	DeleteRegKey HKLM "SOFTWARE\@INST_DIR@ @VERSION@"
 
 !ifdef GCC
 	Delete $INSTDIR\bin\libjpeg-@DLL_VERSION@.dll
diff --git a/release/makecygwinpkg b/release/makecygwinpkg.in
similarity index 85%
rename from release/makecygwinpkg
rename to release/makecygwinpkg.in
index 3ed1a40..51d5852 100755
--- a/release/makecygwinpkg
+++ b/release/makecygwinpkg.in
@@ -15,16 +15,9 @@
 	fi
 }
 
-usage()
-{
-	echo "$0 <package name> <version> <source dir.>"
-	exit 1
-}
-
-if [ $# -lt 3 ]; then usage $0; fi
-PACKAGE_NAME=$1
-VERSION=$2
-SRCDIR=$3
+PACKAGE_NAME=@PACKAGE_NAME@
+VERSION=@VERSION@
+SRCDIR=@abs_top_srcdir@
 
 umask 022
 rm -f $PACKAGE_NAME-$VERSION-cygwin.tar.bz2
diff --git a/release/makedpkg b/release/makedpkg.in
similarity index 80%
rename from release/makedpkg
rename to release/makedpkg.in
index f565464..2a0539a 100644
--- a/release/makedpkg
+++ b/release/makedpkg.in
@@ -15,12 +15,6 @@
 	fi
 }
 
-usage()
-{
-	echo "$0 <package name> <version> <build> <DEB architecture> <source dir.>"
-	exit 1
-}
-
 makedeb()
 {
 	SUPPLEMENT=$1
@@ -35,12 +29,10 @@
 	fi
 
 	umask 022
-	rm -f $PACKAGE_NAME\_$DEBARCH.deb
+	rm -f $PACKAGE_NAME\_$VERSION\_$DEBARCH.deb
 	TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
 	mkdir $TMPDIR/DEBIAN
-	(cat $SRCDIR/release/deb-control.tmpl | sed s/{__PKGNAME}/$PACKAGE_NAME/g \
-		| sed s/{__VERSION}/$VERSION/g | sed s/{__BUILD}/$BUILD/g \
-		| sed s/{__ARCH}/$DEBARCH/g > $TMPDIR/DEBIAN/control)
+	cp pkgscripts/deb-control $TMPDIR/DEBIAN/control
 
 	make install prefix=$TMPDIR/opt/$DIRNAME libdir=$TMPDIR/opt/$DIRNAME/$__LIB mandir=$TMPDIR/opt/$DIRNAME/man
 	rm -f $TMPDIR/opt/$DIRNAME/$__LIB/*.la
@@ -78,15 +70,14 @@
 	fi
 
 	sudo chown -Rh root:root $TMPDIR/*
-	dpkg -b $TMPDIR $PACKAGE_NAME\_$DEBARCH.deb
+	dpkg -b $TMPDIR $PACKAGE_NAME\_$VERSION\_$DEBARCH.deb
 }
 
-if [ $# -lt 5 ]; then usage $0; fi
-PACKAGE_NAME=$1
-VERSION=$2
-BUILD=$3
-DEBARCH=$4
-SRCDIR=$5
+PACKAGE_NAME=@PACKAGE_NAME@
+VERSION=@VERSION@
+BUILD=@BUILD@
+DEBARCH=@DEBARCH@
+SRCDIR=@abs_top_srcdir@
 
 makedeb 0
 if [ "$DEBARCH" = "i386" ]; then makedeb 1; fi
diff --git a/release/makemacpkg.in b/release/makemacpkg.in
index c7bbbcf..a937188 100644
--- a/release/makemacpkg.in
+++ b/release/makemacpkg.in
@@ -26,8 +26,8 @@
 PACKAGE_NAME=@PACKAGE_NAME@
 VERSION=@VERSION@
 BUILD=@BUILD@
-SRCDIR=@srcdir@
-BUILDDIR32=@srcdir@/osxx86
+SRCDIR=@abs_top_srcdir@
+BUILDDIR32=@abs_top_srcdir@/osxx86
 BUILDJNILIB=@BUILDJNILIB@
 if [ $# -gt 0 ]; then
 	if [ "$1" = "universal" ]; then
@@ -37,8 +37,8 @@
 fi
 PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
 
-if [ -f $PACKAGE_NAME.dmg ]; then
-	rm -f $PACKAGE_NAME.dmg
+if [ -f $PACKAGE_NAME-$VERSION.dmg ]; then
+	rm -f $PACKAGE_NAME-$VERSION.dmg
 fi
 
 umask 022
@@ -138,15 +138,9 @@
 chmod 775 $PKGROOT/Library/Documentation 
 mkdir -p $TMPDIR/pkg/Resources 
 
-(cat $SRCDIR/release/Description.plist.tmpl | sed s/{__VERSION}/$VERSION/g \
-	| sed s/{__APPNAME}/$PACKAGE_NAME/g \
-	> $TMPDIR/pkg/Description.plist) 
-(cat $SRCDIR/release/Info.plist.tmpl | sed s/{__VERSION}/$VERSION/g	\
-	| sed s/{__BUILD}/$BUILD/g > $TMPDIR/pkg/Info.plist) 
-(cat $SRCDIR/release/uninstall.sh.tmpl \
-	| sed s/{__APPNAME}/$PACKAGE_NAME/g \
-	> $PKGROOT/opt/$PACKAGE_NAME/bin/uninstall) 
-chmod 755 $PKGROOT/opt/$PACKAGE_NAME/bin/uninstall
+cp pkgscripts/Description.plist $TMPDIR/pkg/
+cp pkgscripts/Info.plist $TMPDIR/pkg/
+install -m 755 pkgscripts/uninstall $PKGROOT/opt/$PACKAGE_NAME/bin/
 
 install -m 644 $SRCDIR/LICENSE.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/LICENSE.txt 
 install -m 644 $SRCDIR/LGPL.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/LGPL.txt 
@@ -167,8 +161,7 @@
 sudo osacompile -t APPL -o "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app" $TMPDIR/uninstall.applescript 
 sudo chown -R $USER "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app" 
 hdiutil create -fs HFS+ -volname $PACKAGE_NAME-$VERSION \
-	-srcfolder "$TMPDIR/dmg" \
-	$TMPDIR/$PACKAGE_NAME.dmg 
-cp $TMPDIR/$PACKAGE_NAME.dmg . 
+	-srcfolder "$TMPDIR/dmg" $TMPDIR/$PACKAGE_NAME-$VERSION.dmg 
+cp $TMPDIR/$PACKAGE_NAME-$VERSION.dmg . 
 
 exit
diff --git a/release/makesunpkg.in b/release/makesunpkg.in
index f262389..aa2e735 100644
--- a/release/makesunpkg.in
+++ b/release/makesunpkg.in
@@ -27,8 +27,8 @@
 VERSION=@VERSION@
 BUILD=@BUILD@
 PKGARCH=@DEBARCH@
-SRCDIR=@srcdir@
-BUILDDIR32=@srcdir@/solx86
+SRCDIR=@abs_top_srcdir@
+BUILDDIR32=@abs_top_srcdir@/solx86
 if [ $# -gt 0 ]; then
 	if [ "$1" = "combined" ]; then
 		COMBINED=1
@@ -41,9 +41,7 @@
 rm -f $PACKAGE_NAME.pkg.bz2
 cp $SRCDIR/release/copyright $TMPDIR
 touch $TMPDIR/depend
-cat $SRCDIR/release/pkginfo.tmpl | sed s/{__VERSION}/$VERSION/g \
-	| sed s/{__BUILD}/$BUILD/g | sed s/{__APPNAME}/$PACKAGE_NAME/g \
-	| sed s/{__PKGNAME}/$PACKAGE_NAME/g > $TMPDIR/pkginfo 
+cp pkgscripts/pkginfo $TMPDIR/pkginfo 
 
 if [ "$PKGARCH" = "i386" ]; then
 	__LIB=lib
@@ -132,8 +130,8 @@
 EOF
 
 pkgmk -o -r $TMPDIR/opt -d $TMPDIR -a i386 -f $TMPDIR/proto
-pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME.pkg $PACKAGE_NAME
-bzip2 $TMPDIR/$PACKAGE_NAME.pkg
-cp $TMPDIR/$PACKAGE_NAME.pkg.bz2 . 
+pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME-$VERSION.pkg $PACKAGE_NAME
+bzip2 $TMPDIR/$PACKAGE_NAME-$VERSION.pkg
+cp $TMPDIR/$PACKAGE_NAME-$VERSION.pkg.bz2 . 
 
 exit
diff --git a/release/pkginfo.tmpl b/release/pkginfo.in
similarity index 78%
rename from release/pkginfo.tmpl
rename to release/pkginfo.in
index 68bee88..9c8bda2 100644
--- a/release/pkginfo.tmpl
+++ b/release/pkginfo.in
@@ -1,7 +1,7 @@
 ARCH=i386
-PKG={__PKGNAME}
-NAME={__APPNAME} SDK and run time libraries
-VERSION={__VERSION},REV={__BUILD}
+PKG=@PACKAGE_NAME@
+NAME=@PACKAGE_NAME@ SDK and run time libraries
+VERSION=@VERSION@,REV=@BUILD@
 SUNW_PKGVERS=1.0
 DESC=A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs
 VENDOR=The libjpeg-turbo Project
diff --git a/release/uninstall.sh.tmpl b/release/uninstall.in
similarity index 96%
rename from release/uninstall.sh.tmpl
rename to release/uninstall.in
index ed8846b..94fc4f1 100644
--- a/release/uninstall.sh.tmpl
+++ b/release/uninstall.in
@@ -1,4 +1,4 @@
-# Copyright (C)2009-2010 D. R. Commander
+# Copyright (C)2009-2011 D. R. Commander
 # Copyright (C)2009 Sun Microsystems, Inc.
 #
 # This library is free software and may be redistributed and/or modified under
@@ -23,7 +23,7 @@
 	error "This command must be run as root"
 fi
 
-PKGNAME={__APPNAME}
+PKGNAME=@PACKAGE_NAME@
 MACPKGNAME=com.$PKGNAME.$PKGNAME
 RCPT=/Library/Receipts/$PKGNAME.pkg