diff --git a/CMakeLists.txt b/CMakeLists.txt index f1515d0e..98fee90a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,6 +122,22 @@ else() 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 @@ add_custom_target(testclean COMMAND ${CMAKE_COMMAND} -P 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 @@ else() 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 832b1727..ade5034e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -358,31 +358,45 @@ srpm: dist-gzip pkgscripts/libjpeg-turbo.spec 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 49d896a1..9ba28666 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,11 @@ DATADIR=`eval echo $DATADIR` 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_DEFINE_UNQUOTED([BUILD], "$BUILD", [Build number]) 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 af97a05d..265a84b3 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 22353a5d..c5db200e 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 @@ package org.libjpegturbo.turbojpeg; 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 ded963ea..117c8de9 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 @@ final class TJLoader { } 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 f4643fd1..a20328a8 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 @@ Section "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ (required)" !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 @@ Section "@CMAKE_PROJECT_NAME@ SDK for @INST_PLATFORM@ (required)" 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 @@ Section "Uninstall" 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 651bb33f..155a4577 100644 --- a/release/libjpeg-turbo.spec.in +++ b/release/libjpeg-turbo.spec.in @@ -92,9 +92,10 @@ fi #-->%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 @@ rm -rf $RPM_BUILD_ROOT %{_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 32cecddb..2e0386ea 100755 --- a/release/makecygwinpkg.in +++ b/release/makecygwinpkg.in @@ -19,15 +19,20 @@ PACKAGE_NAME=@PACKAGE_NAME@ 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 bd34b0b9..fa6bc190 100644 --- a/release/makedpkg.in +++ b/release/makedpkg.in @@ -42,9 +42,8 @@ makedeb() 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 @@ BUILD=@BUILD@ 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 fb8d692c..397231a3 100644 --- a/release/makemacpkg.in +++ b/release/makemacpkg.in @@ -34,6 +34,12 @@ BUILDARMV7=0 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 @@ umask 022 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 @@ if [ $BUILD32 = 1 ]; then 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 @@ if [ $BUILDARMV6 = 1 ]; then 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 @@ if [ $BUILDARMV7 = 1 ]; then 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 @@ if [ $BUILDARMV7S = 1 ]; then 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 @@ mkdir -p $TMPDIR/pkg/Resources 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 2e4598c5..3ba4eea8 100644 --- a/release/uninstall.in +++ b/release/uninstall.in @@ -56,27 +56,46 @@ done 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