Further enhancements/fixes to the packaging system:
-- The Mac and Cygwin packages will now be created with the directory structure defined by the configure variables "prefix", "bindir", "libdir", etc., with the exception that the docs are always installed under /usr/share/doc/{package_name}-{version} on Cygwin and /Library/Documentation/{package_name} on Mac.
-- Fixed a duplicate filename warning when generating RPMs with the default prefix of /opt/libjpeg-turbo.
-- Moved the TurboJPEG libraries out of the system directory on Windows and Mac. It is no longer necessary to put them there, since we are not trying to be backward compatible with TurboJPEG/IPP anymore.
-- Fixed an issue whereby building the "installer" target on Windows would not build the Java JAR file, thus causing an error if the JAR had not been previously built.
-- Building the "install" target on Windows will now install libjpeg-turbo into c:\libjpeg-turbo[-gcc][64] (the same directories used by the installers.) This can be overridden by setting CMAKE_INSTALL_PREFIX.
-- The Java classes on all platforms will now look for the JNI library in the directory under which the build/packaging system installs it.
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@946 632fc199-4ca6-4c93-a231-07263d6284db
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f1515d0..98fee90 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,6 +122,22 @@
message(STATUS "32-bit build")
endif()
+if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ if(MSVC)
+ set(CMAKE_INSTALL_PREFIX_DEFAULT ${CMAKE_PROJECT_NAME})
+ else()
+ set(CMAKE_INSTALL_PREFIX_DEFAULT ${CMAKE_PROJECT_NAME}-gcc)
+ endif()
+ if(64BIT)
+ set(CMAKE_INSTALL_PREFIX_DEFAULT ${CMAKE_INSTALL_PREFIX_DEFAULT}64)
+ endif()
+ set(CMAKE_INSTALL_PREFIX "c:/${CMAKE_INSTALL_PREFIX_DEFAULT}" CACHE PATH
+ "Directory into which to install libjpeg-turbo (default: c:/${CMAKE_INSTALL_PREFIX_DEFAULT})"
+ FORCE)
+endif()
+
+message(STATUS "Install directory = ${CMAKE_INSTALL_PREFIX}")
+
configure_file(win/jconfig.h.in jconfig.h)
configure_file(win/config.h.in config.h)
@@ -422,18 +438,18 @@
if(MSVC)
set(INST_PLATFORM "Visual C++")
set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-vc)
- set(INST_DIR ${CMAKE_PROJECT_NAME})
+ set(INST_REG_NAME ${CMAKE_PROJECT_NAME})
elseif(MINGW)
set(INST_PLATFORM GCC)
set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-gcc)
- set(INST_DIR ${CMAKE_PROJECT_NAME}-gcc)
+ set(INST_REG_NAME ${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_REG_NAME ${INST_DIR}64)
set(INST_DEFS ${INST_DEFS} -DWIN64)
endif()
@@ -447,12 +463,17 @@
set(INST_DEFS ${INST_DEFS} "-DBUILDDIR=")
endif()
+STRING(REGEX REPLACE "/" "\\\\" INST_DIR ${CMAKE_INSTALL_PREFIX})
+
configure_file(release/libjpeg-turbo.nsi.in libjpeg-turbo.nsi @ONLY)
+if(WITH_JAVA)
+ set(JAVA_DEPEND java)
+endif()
add_custom_target(installer
makensis -nocd ${INST_DEFS} libjpeg-turbo.nsi
DEPENDS jpeg jpeg-static turbojpeg turbojpeg-static rdjpgcom wrjpgcom
- cjpeg djpeg jpegtran tjbench
+ cjpeg djpeg jpegtran tjbench ${JAVA_DEPEND}
SOURCES libjpeg-turbo.nsi)
install(TARGETS jpeg-static turbojpeg turbojpeg-static rdjpgcom wrjpgcom tjbench
diff --git a/Makefile.am b/Makefile.am
index 832b172..ade5034 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -358,31 +358,45 @@
pkgscripts/makedpkg: pkgscripts/makedpkg.tmpl
cat pkgscripts/makedpkg.tmpl | sed s@%{__prefix}@$(prefix)@g | \
- sed s@%{__bindir}@$(bindir)@g | sed s@%{__datadir}@$(datadir)@g | \
- sed s@%{__docdir}@$(docdir)@g | sed s@%{__includedir}@$(includedir)@g | \
- sed s@%{__libdir}@$(libdir)@g | sed s@%{__mandir}@$(mandir)@g \
+ sed s@%{__docdir}@$(docdir)@g | sed s@%{__libdir}@$(libdir)@g \
> pkgscripts/makedpkg
deb: all pkgscripts/makedpkg
sh pkgscripts/makedpkg
+pkgscripts/uninstall: pkgscripts/uninstall.tmpl
+ cat pkgscripts/uninstall.tmpl | sed s@%{__prefix}@$(prefix)@g | \
+ sed s@%{__bindir}@$(bindir)@g | sed s@%{__datadir}@$(datadir)@g | \
+ sed s@%{__includedir}@$(includedir)@g | sed s@%{__libdir}@$(libdir)@g | \
+ sed s@%{__mandir}@$(mandir)@g > pkgscripts/uninstall
+
+pkgscripts/makemacpkg: pkgscripts/makemacpkg.tmpl
+ cat pkgscripts/makemacpkg.tmpl | sed s@%{__prefix}@$(prefix)@g | \
+ sed s@%{__bindir}@$(bindir)@g | sed s@%{__docdir}@$(docdir)@g | \
+ sed s@%{__libdir}@$(libdir)@g > pkgscripts/makemacpkg
+
if X86_64
-udmg: all pkgscripts/makemacpkg
+udmg: all pkgscripts/makemacpkg pkgscripts/uninstall
sh pkgscripts/makemacpkg -build32 ${BUILDDIR32}
-iosdmg: all pkgscripts/makemacpkg
+iosdmg: all pkgscripts/makemacpkg pkgscripts/uninstall
sh pkgscripts/makemacpkg -build32 ${BUILDDIR32} -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S}
else
-iosdmg: all pkgscripts/makemacpkg
+iosdmg: all pkgscripts/makemacpkg pkgscripts/uninstall
sh pkgscripts/makemacpkg -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S}
endif
-dmg: all pkgscripts/makemacpkg
+dmg: all pkgscripts/makemacpkg pkgscripts/uninstall
sh pkgscripts/makemacpkg
+pkgscripts/makecygwinpkg: pkgscripts/makecygwinpkg.tmpl
+ cat pkgscripts/makecygwinpkg.tmpl | sed s@%{__prefix}@$(prefix)@g | \
+ sed s@%{__docdir}@$(docdir)@g | sed s@%{__libdir}@$(libdir)@g \
+ > pkgscripts/makecygwinpkg
+
cygwinpkg: all pkgscripts/makecygwinpkg
sh pkgscripts/makecygwinpkg
diff --git a/configure.ac b/configure.ac
index 49d896a..9ba2866 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,11 @@
if test "$DATADIR" = "/opt/libjpeg-turbo/share"; then
datadir='${prefix}'
fi
+DATADIR=`eval echo ${datarootdir}`
+DATADIR=`eval echo $DATADIR`
+if test "$DATADIR" = "/opt/libjpeg-turbo/share"; then
+ datarootdir='${prefix}'
+fi
old_exec_prefix=${exec_prefix}
if test "x$exec_prefix" = "xNONE"; then
@@ -472,12 +477,12 @@
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_HEADERS([jconfig.h])
AC_CONFIG_FILES([pkgscripts/libjpeg-turbo.spec.tmpl:release/libjpeg-turbo.spec.in])
-AC_CONFIG_FILES([pkgscripts/makecygwinpkg:release/makecygwinpkg.in])
+AC_CONFIG_FILES([pkgscripts/makecygwinpkg.tmpl:release/makecygwinpkg.in])
AC_CONFIG_FILES([pkgscripts/makedpkg.tmpl:release/makedpkg.in])
-AC_CONFIG_FILES([pkgscripts/makemacpkg:release/makemacpkg.in])
+AC_CONFIG_FILES([pkgscripts/makemacpkg.tmpl: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/uninstall.tmpl:release/uninstall.in])
if test "x$with_turbojpeg" != "xno"; then
AC_CONFIG_FILES([tjbenchtest])
fi
diff --git a/java/Makefile.am b/java/Makefile.am
index af97a05..265a84b 100644
--- a/java/Makefile.am
+++ b/java/Makefile.am
@@ -1,5 +1,11 @@
JAVAROOT = .
+org/libjpegturbo/turbojpeg/TJLoader.java: $(srcdir)/org/libjpegturbo/turbojpeg/TJLoader.java.tmpl
+ mkdir -p org/libjpegturbo/turbojpeg; \
+ cat $(srcdir)/org/libjpegturbo/turbojpeg/TJLoader.java.tmpl | \
+ sed s@%{__libdir}@$(libdir)@g > org/libjpegturbo/turbojpeg/TJLoader.java
+
+
JAVASOURCES = org/libjpegturbo/turbojpeg/TJ.java \
org/libjpegturbo/turbojpeg/TJCompressor.java \
org/libjpegturbo/turbojpeg/TJCustomFilter.java \
diff --git a/java/org/libjpegturbo/turbojpeg/TJLoader.java.in b/java/org/libjpegturbo/turbojpeg/TJLoader.java.in
index 22353a5..c5db200 100644
--- a/java/org/libjpegturbo/turbojpeg/TJLoader.java.in
+++ b/java/org/libjpegturbo/turbojpeg/TJLoader.java.in
@@ -1,5 +1,5 @@
/*
- * Copyright (C)2011 D. R. Commander. All Rights Reserved.
+ * Copyright (C)2011, 2013 D. R. Commander. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -30,6 +30,10 @@
final class TJLoader {
static void load() {
- System.loadLibrary("@TURBOJPEG_DLL_NAME@");
+ try {
+ System.loadLibrary("@TURBOJPEG_DLL_NAME@");
+ } catch (java.lang.UnsatisfiedLinkError e) {
+ System.load("@CMAKE_INSTALL_PREFIX@/bin/@TURBOJPEG_DLL_NAME@.dll");
+ }
}
};
diff --git a/java/org/libjpegturbo/turbojpeg/TJLoader.java b/java/org/libjpegturbo/turbojpeg/TJLoader.java.tmpl
similarity index 84%
rename from java/org/libjpegturbo/turbojpeg/TJLoader.java
rename to java/org/libjpegturbo/turbojpeg/TJLoader.java.tmpl
index ded963e..117c8de 100644
--- a/java/org/libjpegturbo/turbojpeg/TJLoader.java
+++ b/java/org/libjpegturbo/turbojpeg/TJLoader.java.tmpl
@@ -1,5 +1,5 @@
/*
- * Copyright (C)2011-2012 D. R. Commander. All Rights Reserved.
+ * Copyright (C)2011-2013 D. R. Commander. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -35,9 +35,14 @@
} catch (java.lang.UnsatisfiedLinkError e) {
String os = System.getProperty("os.name").toLowerCase();
if (os.indexOf("mac") >= 0) {
- System.load("/usr/lib/libturbojpeg.jnilib");
+ try {
+ System.load("%{__libdir}/libturbojpeg.jnilib");
+ } catch (java.lang.UnsatisfiedLinkError e2) {
+ System.load("/usr/lib/libturbojpeg.jnilib");
+ }
+ } else {
+ System.load("%{__libdir}/libturbojpeg.so");
}
- else throw e;
}
}
};
diff --git a/release/libjpeg-turbo.nsi.in b/release/libjpeg-turbo.nsi.in
index f4643fd..a20328a 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_DIR@
+InstallDir @INST_DIR@
SetCompressor bzip2
@@ -19,31 +19,23 @@
!endif
SectionIn RO
!ifdef GCC
- IfFileExists $SYSDIR/libturbojpeg.dll exists 0
+ IfFileExists $INSTDIR/bin/libturbojpeg.dll exists 0
!else
- IfFileExists $SYSDIR/turbojpeg.dll exists 0
+ IfFileExists $INSTDIR/bin/turbojpeg.dll exists 0
!endif
goto notexists
exists:
-!ifdef GCC
MessageBox MB_OK "An existing version of the @CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ is already installed. Please uninstall it first."
-!else
- MessageBox MB_OK "An existing version of the @CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ or the TurboJPEG SDK is already installed. Please uninstall it first."
-!endif
quit
notexists:
- SetOutPath $SYSDIR
-!ifdef GCC
- File "@CMAKE_BINARY_DIR@\libturbojpeg.dll"
-!else
- File "@CMAKE_BINARY_DIR@\${BUILDDIR}turbojpeg.dll"
-!endif
SetOutPath $INSTDIR\bin
!ifdef GCC
File "/oname=libjpeg-@DLL_VERSION@.dll" "@CMAKE_BINARY_DIR@\sharedlib\libjpeg-*.dll"
+ File "@CMAKE_BINARY_DIR@\libturbojpeg.dll"
!else
File "@CMAKE_BINARY_DIR@\sharedlib\${BUILDDIR}jpeg@DLL_VERSION@.dll"
+ File "@CMAKE_BINARY_DIR@\${BUILDDIR}turbojpeg.dll"
!endif
File "@CMAKE_BINARY_DIR@\sharedlib\${BUILDDIR}cjpeg.exe"
File "@CMAKE_BINARY_DIR@\sharedlib\${BUILDDIR}djpeg.exe"
@@ -82,12 +74,12 @@
File "@CMAKE_SOURCE_DIR@\usage.txt"
File "@CMAKE_SOURCE_DIR@\wizard.txt"
- WriteRegStr HKLM "SOFTWARE\@INST_DIR@ @VERSION@" "Install_Dir" "$INSTDIR"
+ WriteRegStr HKLM "SOFTWARE\@INST_REG_NAME@ @VERSION@" "Install_Dir" "$INSTDIR"
- 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
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "DisplayName" "@CMAKE_PROJECT_NAME@ SDK v@VERSION@ for @INST_PLATFORM@"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "UninstallString" '"$INSTDIR\uninstall_@VERSION@.exe"'
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "NoModify" 1
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@" "NoRepair" 1
WriteUninstaller "uninstall_@VERSION@.exe"
SectionEnd
@@ -100,19 +92,19 @@
SetShellVarContext all
- DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_DIR@ @VERSION@"
- DeleteRegKey HKLM "SOFTWARE\@INST_DIR@ @VERSION@"
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@INST_REG_NAME@ @VERSION@"
+ DeleteRegKey HKLM "SOFTWARE\@INST_REG_NAME@ @VERSION@"
!ifdef GCC
Delete $INSTDIR\bin\libjpeg-@DLL_VERSION@.dll
- Delete $SYSDIR\libturbojpeg.dll
+ Delete $INSTDIR\bin\libturbojpeg.dll
Delete $INSTDIR\lib\libturbojpeg.dll.a"
Delete $INSTDIR\lib\libturbojpeg.a"
Delete $INSTDIR\lib\libjpeg.dll.a"
Delete $INSTDIR\lib\libjpeg.a"
!else
Delete $INSTDIR\bin\jpeg@DLL_VERSION@.dll
- Delete $SYSDIR\turbojpeg.dll
+ Delete $INSTDIR\bin\turbojpeg.dll
Delete $INSTDIR\lib\jpeg.lib
Delete $INSTDIR\lib\jpeg-static.lib
Delete $INSTDIR\lib\turbojpeg.lib
diff --git a/release/libjpeg-turbo.spec.in b/release/libjpeg-turbo.spec.in
index 651bb33..155a457 100644
--- a/release/libjpeg-turbo.spec.in
+++ b/release/libjpeg-turbo.spec.in
@@ -92,9 +92,10 @@
#-->%endif
-%if "%{_prefix}" == "/opt/libjpeg-turbo" && "%{_docdir}" != "%{_prefix}/doc"
- ln -fs %{_docdir} $RPM_BUILD_ROOT/%{_prefix}/doc
-%endif
+LJT_DOCDIR=%{__docdir}
+if [ "%{_prefix}" = "/opt/libjpeg-turbo" -a "$LJT_DOCDIR" = "/opt/libjpeg-turbo/doc" ]; then
+ ln -fs %{_docdir} $RPM_BUILD_ROOT/$LJT_DOCDIR
+fi
%post -p /sbin/ldconfig
@@ -140,7 +141,9 @@
%{_mandir}/man1/jpegtran.1*
%{_mandir}/man1/rdjpgcom.1*
%{_mandir}/man1/wrjpgcom.1*
-%dir %{_datadir}
+%if "%{_prefix}" != "%{_datadir}"
+ %dir %{_datadir}
+%endif
@JAVA_RPM_CONTENTS_1@
@JAVA_RPM_CONTENTS_2@
diff --git a/release/makecygwinpkg.in b/release/makecygwinpkg.in
index 32cecdd..2e0386e 100755
--- a/release/makecygwinpkg.in
+++ b/release/makecygwinpkg.in
@@ -19,15 +19,20 @@
VERSION=@VERSION@
SRCDIR=@abs_top_srcdir@
+PREFIX=%{__prefix}
+DOCDIR=%{__docdir}
+LIBDIR=%{__libdir}
+
umask 022
rm -f $PACKAGE_NAME-$VERSION-cygwin.tar.bz2
TMPDIR=`mktemp -d /tmp/ljtbuild.XXXXXX`
__PWD=`pwd`
-make install DESTDIR=$TMPDIR/pkg mandir=/opt/$PACKAGE_NAME/man \
- docdir=/usr/share/doc/$PACKAGE_NAME-$VERSION \
+make install DESTDIR=$TMPDIR/pkg docdir=/usr/share/doc/$PACKAGE_NAME-$VERSION \
exampledir=/usr/share/doc/$PACKAGE_NAME-$VERSION
-rm $TMPDIR/pkg/opt/$PACKAGE_NAME/lib/*.la
-ln -fs lib $TMPDIR/pkg/opt/$PACKAGE_NAME/lib32
+rm $TMPDIR/pkg$LIBDIR/*.la
+if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$DOCDIR" = "/opt/libjpeg-turbo/doc" ]; then
+ ln -fs /usr/share/doc/$PACKAGE_NAME-$VERSION $TMPDIR/pkg$DOCDIR
+fi
cd $TMPDIR/pkg
tar cfj ../$PACKAGE_NAME-$VERSION-cygwin.tar.bz2 *
cd $__PWD
diff --git a/release/makedpkg.in b/release/makedpkg.in
index bd34b0b..fa6bc19 100644
--- a/release/makedpkg.in
+++ b/release/makedpkg.in
@@ -42,9 +42,8 @@
make install DESTDIR=$TMPDIR docdir=/usr/share/doc/$DIRNAME-$VERSION \
exampledir=/usr/share/doc/$DIRNAME-$VERSION
rm -f $TMPDIR$LIBDIR/*.la
- echo $PREFIX $DOCDIR
- if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$DOCDIR" != "/usr/share/doc/$DIRNAME-$VERSION" ]; then
- ln -fs /usr/share/doc/$DIRNAME-$VERSION $TMPDIR$PREFIX/doc
+ if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$DOCDIR" = "/opt/libjpeg-turbo/doc" ]; then
+ ln -fs /usr/share/doc/$DIRNAME-$VERSION $TMPDIR$DOCDIR
fi
fi
@@ -60,13 +59,8 @@
DEBARCH=@DEBARCH@
SRCDIR=@abs_top_srcdir@
PREFIX=%{__prefix}
-BINDIR=%{__bindir}
-DATADIR=%{__datadir}
DOCDIR=%{__docdir}
-INCDIR=%{__includedir}
LIBDIR=%{__libdir}
-MANDIR=%{__mandir}
-
makedeb 0
if [ "$DEBARCH" = "i386" ]; then makedeb 1; fi
diff --git a/release/makemacpkg.in b/release/makemacpkg.in
index fb8d692..397231a 100644
--- a/release/makemacpkg.in
+++ b/release/makemacpkg.in
@@ -34,6 +34,12 @@
BUILDDIRARMV7S=@abs_top_srcdir@/iosarmv7s
BUILDARMV7S=0
WITH_JAVA=@WITH_JAVA@
+
+PREFIX=%{__prefix}
+BINDIR=%{__bindir}
+DOCDIR=%{__docdir}
+LIBDIR=%{__libdir}
+
while [ $# -gt 0 ]; do
case $1 in
-h*) usage 0 ;;
@@ -82,15 +88,13 @@
TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
PKGROOT=$TMPDIR/pkg/Package_Root
mkdir -p $PKGROOT
-mkdir -p $PKGROOT/opt/$PACKAGE_NAME/bin
-make install DESTDIR=$PKGROOT mandir=/opt/$PACKAGE_NAME/man \
- docdir=/Library/Documentation/$PACKAGE_NAME \
+make install DESTDIR=$PKGROOT docdir=/Library/Documentation/$PACKAGE_NAME \
exampledir=/Library/Documentation/$PACKAGE_NAME
-rm -f $PKGROOT/opt/$PACKAGE_NAME/lib/*.la
-mkdir -p $PKGROOT/usr/lib
-mv $PKGROOT/opt/$PACKAGE_NAME/lib/libturbojpeg.* $PKGROOT/usr/lib
-mkdir -p $PKGROOT/usr/include
-mv $PKGROOT/opt/$PACKAGE_NAME/include/turbojpeg.h $PKGROOT/usr/include
+rm -f $PKGROOT$LIBDIR/*.la
+
+if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$DOCDIR" = "/opt/libjpeg-turbo/doc" ]; then
+ ln -fs /Library/Documentation/$PACKAGE_NAME $PKGROOT$DOCDIR
+fi
if [ $BUILD32 = 1 ]; then
if [ ! -d $BUILDDIR32 ]; then
@@ -105,55 +109,55 @@
pushd $BUILDDIR32
make install DESTDIR=$TMPDIR/dist.x86
popd
- 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
+ if [ ! -h $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
+ ! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
lipo -create \
- -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
+ -arch i386 $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
+ -arch x86_64 $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
+ -output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
+ elif [ ! -h $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib -a \
+ ! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
lipo -create \
- -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
+ -arch i386 $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
+ -arch x86_64 $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
+ -output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
fi
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a
+ -arch i386 $TMPDIR/dist.x86/$LIBDIR/libjpeg.a \
+ -arch x86_64 $PKGROOT/$LIBDIR/libjpeg.a \
+ -output $PKGROOT/$LIBDIR/libjpeg.a
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libturbojpeg.0.dylib \
- -arch x86_64 $PKGROOT/usr/lib/libturbojpeg.0.dylib \
- -output $PKGROOT/usr/lib/libturbojpeg.0.dylib
+ -arch i386 $TMPDIR/dist.x86/$LIBDIR/libturbojpeg.0.dylib \
+ -arch x86_64 $PKGROOT/$LIBDIR/libturbojpeg.0.dylib \
+ -output $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libturbojpeg.a \
- -arch x86_64 $PKGROOT/usr/lib/libturbojpeg.a \
- -output $PKGROOT/usr/lib/libturbojpeg.a
+ -arch i386 $TMPDIR/dist.x86/$LIBDIR/libturbojpeg.a \
+ -arch x86_64 $PKGROOT/$LIBDIR/libturbojpeg.a \
+ -output $PKGROOT/$LIBDIR/libturbojpeg.a
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/bin/cjpeg \
- -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/bin/cjpeg \
- -output $PKGROOT/opt/$PACKAGE_NAME/bin/cjpeg
+ -arch i386 $TMPDIR/dist.x86/$BINDIR/cjpeg \
+ -arch x86_64 $PKGROOT/$BINDIR/cjpeg \
+ -output $PKGROOT/$BINDIR/cjpeg
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/bin/djpeg \
- -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/bin/djpeg \
- -output $PKGROOT/opt/$PACKAGE_NAME/bin/djpeg
+ -arch i386 $TMPDIR/dist.x86/$BINDIR/djpeg \
+ -arch x86_64 $PKGROOT/$BINDIR/djpeg \
+ -output $PKGROOT/$BINDIR/djpeg
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/bin/jpegtran \
- -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/bin/jpegtran \
- -output $PKGROOT/opt/$PACKAGE_NAME/bin/jpegtran
+ -arch i386 $TMPDIR/dist.x86/$BINDIR/jpegtran \
+ -arch x86_64 $PKGROOT/$BINDIR/jpegtran \
+ -output $PKGROOT/$BINDIR/jpegtran
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/bin/tjbench \
- -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/bin/tjbench \
- -output $PKGROOT/opt/$PACKAGE_NAME/bin/tjbench
+ -arch i386 $TMPDIR/dist.x86/$BINDIR/tjbench \
+ -arch x86_64 $PKGROOT/$BINDIR/tjbench \
+ -output $PKGROOT/$BINDIR/tjbench
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/bin/rdjpgcom \
- -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/bin/rdjpgcom \
- -output $PKGROOT/opt/$PACKAGE_NAME/bin/rdjpgcom
+ -arch i386 $TMPDIR/dist.x86/$BINDIR/rdjpgcom \
+ -arch x86_64 $PKGROOT/$BINDIR/rdjpgcom \
+ -output $PKGROOT/$BINDIR/rdjpgcom
lipo -create \
- -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/bin/wrjpgcom \
- -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/bin/wrjpgcom \
- -output $PKGROOT/opt/$PACKAGE_NAME/bin/wrjpgcom
+ -arch i386 $TMPDIR/dist.x86/$BINDIR/wrjpgcom \
+ -arch x86_64 $PKGROOT/$BINDIR/wrjpgcom \
+ -output $PKGROOT/$BINDIR/wrjpgcom
fi
@@ -171,13 +175,13 @@
make install DESTDIR=$TMPDIR/dist.armv6
popd
lipo -create \
- $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -arch arm $TMPDIR/dist.armv6/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a
+ $PKGROOT/$LIBDIR/libjpeg.a \
+ -arch arm $TMPDIR/dist.armv6/$LIBDIR/libjpeg.a \
+ -output $PKGROOT/$LIBDIR/libjpeg.a
lipo -create \
- $PKGROOT/usr/lib/libturbojpeg.a \
- -arch arm $TMPDIR/dist.armv6/opt/$PACKAGE_NAME/lib/libturbojpeg.a \
- -output $PKGROOT/usr/lib/libturbojpeg.a
+ $PKGROOT/$LIBDIR/libturbojpeg.a \
+ -arch arm $TMPDIR/dist.armv6/$LIBDIR/libturbojpeg.a \
+ -output $PKGROOT/$LIBDIR/libturbojpeg.a
fi
if [ $BUILDARMV7 = 1 ]; then
@@ -194,13 +198,13 @@
make install DESTDIR=$TMPDIR/dist.armv7
popd
lipo -create \
- $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -arch arm $TMPDIR/dist.armv7/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a
+ $PKGROOT/$LIBDIR/libjpeg.a \
+ -arch arm $TMPDIR/dist.armv7/$LIBDIR/libjpeg.a \
+ -output $PKGROOT/$LIBDIR/libjpeg.a
lipo -create \
- $PKGROOT/usr/lib/libturbojpeg.a \
- -arch arm $TMPDIR/dist.armv7/opt/$PACKAGE_NAME/lib/libturbojpeg.a \
- -output $PKGROOT/usr/lib/libturbojpeg.a
+ $PKGROOT/$LIBDIR/libturbojpeg.a \
+ -arch arm $TMPDIR/dist.armv7/$LIBDIR/libturbojpeg.a \
+ -output $PKGROOT/$LIBDIR/libturbojpeg.a
fi
if [ $BUILDARMV7S = 1 ]; then
@@ -217,28 +221,28 @@
make install DESTDIR=$TMPDIR/dist.armv7s
popd
lipo -create \
- $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -arch arm $TMPDIR/dist.armv7s/opt/$PACKAGE_NAME/lib/libjpeg.a \
- -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a
+ $PKGROOT/$LIBDIR/libjpeg.a \
+ -arch arm $TMPDIR/dist.armv7s/$LIBDIR/libjpeg.a \
+ -output $PKGROOT/$LIBDIR/libjpeg.a
lipo -create \
- $PKGROOT/usr/lib/libturbojpeg.a \
- -arch arm $TMPDIR/dist.armv7s/opt/$PACKAGE_NAME/lib/libturbojpeg.a \
- -output $PKGROOT/usr/lib/libturbojpeg.a
+ $PKGROOT/$LIBDIR/libturbojpeg.a \
+ -arch arm $TMPDIR/dist.armv7s/$LIBDIR/libturbojpeg.a \
+ -output $PKGROOT/$LIBDIR/libturbojpeg.a
fi
-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.0.dylib $PKGROOT/usr/lib/libturbojpeg.0.dylib
+install_name_tool -id $LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
+install_name_tool -id $LIBDIR/libturbojpeg.0.dylib $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
-ln -fs /usr/include/turbojpeg.h $PKGROOT/opt/$PACKAGE_NAME/include/
-ln -fs /usr/lib/libturbojpeg.a $PKGROOT/opt/$PACKAGE_NAME/lib/
if [ $WITH_JAVA = 1 ]; then
- ln -fs libturbojpeg.0.dylib $PKGROOT/usr/lib/libturbojpeg.jnilib
+ ln -fs libturbojpeg.0.dylib $PKGROOT/$LIBDIR/libturbojpeg.jnilib
fi
-if [ ! -h $PKGROOT/opt/$PACKAGE_NAME/lib32 ]; then
- ln -fs lib $PKGROOT/opt/$PACKAGE_NAME/lib32
-fi
-if [ ! -h $PKGROOT/opt/$PACKAGE_NAME/lib64 ]; then
- ln -fs lib $PKGROOT/opt/$PACKAGE_NAME/lib64
+if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$LIBDIR" = "/opt/libjpeg-turbo/lib" ]; then
+ if [ ! -h $PKGROOT/$PREFIX/lib32 ]; then
+ ln -fs lib $PKGROOT/$PREFIX/lib32
+ fi
+ if [ ! -h $PKGROOT/$PREFIX/lib64 ]; then
+ ln -fs lib $PKGROOT/$PREFIX/lib64
+ fi
fi
chmod 1775 $PKGROOT/Library
@@ -247,10 +251,9 @@
cp pkgscripts/Description.plist $TMPDIR/pkg/
cp pkgscripts/Info.plist $TMPDIR/pkg/
-install -m 755 pkgscripts/uninstall $PKGROOT/opt/$PACKAGE_NAME/bin/
+install -m 755 pkgscripts/uninstall $PKGROOT/$BINDIR/
-sudo chown -R root:admin $PKGROOT
-sudo chown -R root:0 $PKGROOT/usr
+sudo chown -R root:admin $PKGROOT
cp $SRCDIR/release/License.rtf $SRCDIR/release/Welcome.rtf $SRCDIR/release/ReadMe.rtf $TMPDIR/pkg/Resources/
mkdir $TMPDIR/dmg
diff --git a/release/uninstall.in b/release/uninstall.in
index 2e4598c..3ba4eea 100644
--- a/release/uninstall.in
+++ b/release/uninstall.in
@@ -56,27 +56,46 @@
popd
echo Removing package directories ...
-if [ -d /opt/$PACKAGE/bin ]; then
- rmdir /opt/$PACKAGE/bin 2>&1 || EXITSTATUS=-1
+PREFIX=%{__prefix}
+BINDIR=%{__bindir}
+DATADIR=%{__datadir}
+INCLUDEDIR=%{__includedir}
+LIBDIR=%{__libdir}
+MANDIR=%{__mandir}
+
+if [ -d $BINDIR ]; then
+ rmdir $BINDIR 2>&1 || EXITSTATUS=-1
fi
-if [ -d /opt/$PACKAGE/lib ]; then
- rmdir /opt/$PACKAGE/lib 2>&1 || EXITSTATUS=-1
+if [ -d $LIBDIR ]; then
+ rmdir $LIBDIR 2>&1 || EXITSTATUS=-1
fi
-if [ -d /opt/$PACKAGE/include ]; then
- rmdir /opt/$PACKAGE/include 2>&1 || EXITSTATUS=-1
+if [ -d $INCLUDEDIR ]; then
+ rmdir $INCLUDEDIR 2>&1 || EXITSTATUS=-1
fi
-rm /opt/$PACKAGE/lib32 2>&1 || EXITSTATUS=-1
-rm /opt/$PACKAGE/lib64 2>&1 || EXITSTATUS=-1
-if [ -d /opt/$PACKAGE/man/man1 ]; then
- rmdir /opt/$PACKAGE/man/man1 2>&1 || EXITSTATUS=-1
+if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$LIBDIR" = "/opt/libjpeg-turbo/lib" ]; then
+ if [ -h $LIBDIR\32 ]; then
+ rm $LIBDIR\32 2>&1 || EXITSTATUS=-1
+ fi
+ if [ -h $LIBDIR\64 ]; then
+ rm $LIBDIR\64 2>&1 || EXITSTATUS=-1
+ fi
fi
-if [ -d /opt/$PACKAGE/man ]; then
- rmdir /opt/$PACKAGE/man 2>&1 || EXITSTATUS=-1
+if [ -d $MANDIR/man1 ]; then
+ rmdir $MANDIR/man1 2>&1 || EXITSTATUS=-1
fi
-if [ -d /opt/$PACKAGE/classes ]; then
- rmdir /opt/$PACKAGE/classes 2>&1 || EXITSTATUS=-1
+if [ -d $MANDIR ]; then
+ rmdir $MANDIR 2>&1 || EXITSTATUS=-1
fi
-rmdir /opt/$PACKAGE 2>&1 || EXITSTATUS=-1
+if [ -d $DATADIR/classes ]; then
+ rmdir $DATADIR/classes 2>&1 || EXITSTATUS=-1
+fi
+if [ -d $DATADIR -a "$DATADIR" != "$PREFIX" ]; then
+ rmdir $DATADIR 2>&1 || EXITSTATUS=-1
+fi
+if [ "$PREFIX" = "/opt/libjpeg-turbo" -a -h "$PREFIX/doc" ]; then
+ rm $PREFIX/doc 2>&1 || EXITSTATUS=-1
+fi
+rmdir $PREFIX 2>&1 || EXITSTATUS=-1
rmdir /Library/Documentation/$PACKAGE 2>&1 || EXITSTATUS=-1
if [ -d $RECEIPT ]; then