Compare commits

...

49 Commits

Author SHA1 Message Date
DRC
0dedd1ae9a 64-bit support doesn't just exist in 10.6.
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@216 632fc199-4ca6-4c93-a231-07263d6284db
2010-07-02 09:20:12 +00:00
DRC
df3337ce8a Log only changes to this source tree, not the external build scripts
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@215 632fc199-4ca6-4c93-a231-07263d6284db
2010-07-02 09:13:58 +00:00
DRC
38ccf8532d git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@214 632fc199-4ca6-4c93-a231-07263d6284db 2010-06-10 19:49:49 +00:00
DRC
7b99172528 Not all platforms define RM
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@213 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-10 19:44:56 +00:00
DRC
13b0944e9b Include non-SIMD test images in distribution
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@212 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-10 18:56:27 +00:00
DRC
83f2144655 Don't require --without-simd to be specified on non-x86 architectures, and fix 'make test' on such architectures
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@211 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-10 18:52:41 +00:00
DRC
bdf7986e7c 1.0.0
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@210 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-10 04:12:48 +00:00
DRC
eadc3c0f91 Cygwin distribution package
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@209 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-09 20:17:09 +00:00
DRC
ae79fdbc2d Cygwin package build
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@208 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-09 20:16:04 +00:00
DRC
c773d10b65 Added bug tracker ID's
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@207 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 06:58:22 +00:00
DRC
2093c6380d Oops
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@206 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 03:09:17 +00:00
DRC
3d1dd07d54 Ensure that libdir is set properly during build and install so that the run-time library bindings for the binary programs will be correct
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@205 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 03:00:36 +00:00
DRC
995c831c5e Remove bin and man directories when uninstalling package
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@204 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 01:20:35 +00:00
DRC
cbda81a01d Distribute man pages in source tarball
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@203 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 01:12:35 +00:00
DRC
4bf3b585ef git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@202 632fc199-4ca6-4c93-a231-07263d6284db 2010-06-05 01:03:23 +00:00
DRC
e238603c37 Install libjpeg run-time programs and man pages and include in Unix/Linux packages; Create a 32-bit compatibility package for amd64 Debian which has only the 32-bit libraries
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@201 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 01:02:38 +00:00
DRC
45d48291f9 Create sym. link from /opt/libjpeg-turbo/lib/64 to /opt/libjpeg-turbo/lib/amd64
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@200 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 00:35:18 +00:00
DRC
ff95aa6d36 git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@199 632fc199-4ca6-4c93-a231-07263d6284db 2010-06-05 00:22:32 +00:00
DRC
d90c9a2564 Allow arbitrary package name to be specified
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@198 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-05 00:02:23 +00:00
DRC
8e2bba9e02 Install libjpeg run-time programs and man pages and include in Unix/Linux packages
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@197 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-04 23:54:10 +00:00
DRC
8c2b9fa744 Some Linux platforms require -m32 in the LDFLAGS as well
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@196 632fc199-4ca6-4c93-a231-07263d6284db
2010-06-04 23:09:00 +00:00
DRC
64586cd185 Don't need to use sudo when building Solaris PKG or RPM's
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@195 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-18 22:21:46 +00:00
DRC
e16eaed09c Oops
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@194 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-18 19:18:42 +00:00
DRC
f12c7db429 Create sym links so that headers and static libs can always be found in the same place on Solaris, Linux, and Mac
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@193 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-18 19:04:47 +00:00
DRC
bf5a12db42 Go ahead and set the version to 1.0.0 so all interim builds will be release candidates
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@192 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-18 17:31:32 +00:00
DRC
12fc3eaf63 0.0.94
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@191 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-18 05:32:01 +00:00
DRC
49597877a4 64-bit FreeBSD sets host_cpu to "amd64", not "x86_64". Handle that case so that configure will work without explicitly specifying --host.
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@190 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-17 20:47:57 +00:00
DRC
991c2fcae7 Some systems (FreeBSD, in particular) don't define the RM macro in automake
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@189 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-17 20:42:51 +00:00
DRC
4ea16c0603 Define TJ_411 so that VirtualGL <= 2.1.x and TurboVNC <= 0.6 can be built with the libjpeg-turbo SDK
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@188 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-17 16:42:14 +00:00
DRC
377add7ae9 Updated Windows build information
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@187 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-17 16:41:12 +00:00
DRC
a51ada6706 Use new e-mail alias
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@185 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-11 00:39:45 +00:00
DRC
ef663e333e Only disable filesystem redirection in the 64-bit installers
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@184 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 23:39:22 +00:00
DRC
be09b20a40 Handle cases in which MinGW inexplicably builds the DLL as libjpeg-0.dll instead of libjpeg-62.dll
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@183 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 22:20:14 +00:00
DRC
9ca2364694 Use "make nsi" instead of "make dist" to be consistent with MinGW build
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@182 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 22:19:24 +00:00
DRC
3dc1bc2ded Create separate packages for Win64 binaries
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@181 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 22:18:10 +00:00
DRC
1a2219ec26 git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@180 632fc199-4ca6-4c93-a231-07263d6284db 2010-05-10 20:03:36 +00:00
DRC
b6f097f729 xmm6-xmm15 must also be preserved by the callee; Win64 should fully work now
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@179 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-23 15:41:34 +00:00
DRC
d3e320fee7 Win64 should fully work now
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@178 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-21 17:20:12 +00:00
DRC
830d5fccf4 Use 64-bit holding buffer on Win64 for increased performance
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@177 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 21:13:26 +00:00
DRC
4132b1d552 Updated (C)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@176 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 20:54:03 +00:00
DRC
f9bdeb62e2 Not sure why the cjpeg/djpeg image loaders got disabled, but re-enable them
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@175 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 19:16:06 +00:00
DRC
e728ed7a36 Win64 (mostly) works now
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@174 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 19:15:09 +00:00
DRC
a644fb05a7 Use correct filenames in headers
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@173 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 18:20:13 +00:00
DRC
86d8c0aa26 0.0.93
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@172 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 18:12:38 +00:00
DRC
fb096fff78 Only have to use 32-bit mov for r14, since it is populated from the stack
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@171 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-19 18:58:07 +00:00
DRC
14ecb539df Attempt to fix Win64 issues
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@170 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-17 21:57:25 +00:00
DRC
09271951d9 0.0.92
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@169 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-13 07:56:24 +00:00
DRC
7bac07bf12 Added FreeBSD build instructions
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@168 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-10 05:53:35 +00:00
DRC
0f413b2207 Fix x86-64 build on FreeBSD systems
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@167 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-06 20:05:39 +00:00
47 changed files with 518 additions and 201 deletions

View File

@@ -7,20 +7,15 @@ Build Requirements
================== ==================
-- autoconf 2.56 or later -- autoconf 2.56 or later
* If using MinGW, this can be obtained by installing the MSYS DTK
-- automake 1.7 or later -- automake 1.7 or later
* If using MinGW, this can be obtained by installing the MSYS DTK
-- libtool 1.4 or later -- libtool 1.4 or later
* If using MinGW, this can be obtained by installing the MSYS DTK * If using MinGW, these can be obtained by installing the MSYS DTK
-- NASM -- NASM
* 0.98 or later is required for a 32-bit build * 0.98 or later is required for a 32-bit build
* NASM 2.05 or later is required for a 64-bit build * NASM 2.05 or later is required for a 64-bit build
* NASM 2.07 or later is required for a 64-bit build on OS/X (10.6 "Snow * NASM 2.07 or later is required for a 64-bit build on OS/X. This can be
Leopard" or later.) This can be obtained from MacPorts obtained from MacPorts (http://www.macports.org/).
(http://www.macports.org/).
The NASM 2.05 RPMs do not work on older Linux systems, such as Enterprise The NASM 2.05 RPMs do not work on older Linux systems, such as Enterprise
Linux 4. On such systems, you can easily build and install NASM 2.05 Linux 4. On such systems, you can easily build and install NASM 2.05
@@ -39,9 +34,9 @@ Build Requirements
Building libjpeg-turbo Building libjpeg-turbo
====================== ======================
The following procedure will build libjpeg-turbo on Linux, 32-bit OS X, and The following procedure will build libjpeg-turbo on Linux, FreeBSD, 32-bit
Solaris/x86 systems (on Solaris, this generates a 32-bit library. See below OS X, and Solaris/x86 systems (on Solaris, this generates a 32-bit library.
for 64-bit build instructions.) See below for 64-bit build instructions.)
cd libjpeg-turbo cd libjpeg-turbo
autoreconf -fiv autoreconf -fiv
@@ -116,7 +111,7 @@ Build Recipes
Add Add
--host i686-pc-linux-gnu CFLAGS='-O3 -m32' CXXFLAGS='-O3 -m32' --host i686-pc-linux-gnu CFLAGS='-O3 -m32' CXXFLAGS='-O3 -m32' LDFLAGS=-m32
to the configure command line. to the configure command line.
@@ -126,9 +121,10 @@ to the configure command line.
Add Add
--host x86_64-apple-darwin10.0.0 NASM=/opt/local/bin/nasm --host x86_64-apple-darwin NASM=/opt/local/bin/nasm
to the configure command line. NASM 2.07 from MacPorts must be installed. to the configure command line. NASM 2.07 or later from MacPorts must be
installed.
32-bit Library Build on 64-bit OS/X 32-bit Library Build on 64-bit OS/X
@@ -141,9 +137,25 @@ Add
to the configure command line. to the configure command line.
32-bit Backward-Compatible Library Build on 64-bit OS/X 64-bit Backward-Compatible Library Build on 64-bit OS/X
------------------------------------------------------- -------------------------------------------------------
Add
--host x86_64-apple-darwin NASM=/opt/local/bin/nasm \
CFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk \
-mmacosx-version-min=10.4 -O3' \
CXXFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk \
-mmacosx-version-min=10.4 -O3' \
LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk \
-mmacosx-version-min=10.4'
to the configure command line. The OS X 10.4 SDK must be installed.
32-bit Backward-Compatible Library Build on OS/X
------------------------------------------------
Add Add
CFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk \ CFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk \
@@ -166,6 +178,18 @@ Add
to the configure command line. to the configure command line.
32-bit Library Build on 64-bit FreeBSD
--------------------------------------
Add
--host i386-unknown-freebsd CC='gcc -B /usr/lib32' CXX='g++ -B/usr/lib32' \
CFLAGS='-O3 -m32' CXXFLAGS='-O3 -m32' LDFLAGS='-B/usr/lib32'
to the configure command line. NASM 2.07 or later from FreeBSD ports must be
installed.
MinGW Build on Cygwin MinGW Build on Cygwin
--------------------- ---------------------
@@ -233,7 +257,8 @@ Build Requirements
to the system or user LIB environment variable prior to building to the system or user LIB environment variable prior to building
libjpeg-turbo. libjpeg-turbo.
-- NASM (http://www.nasm.us/) 0.98 or later -- NASM (http://www.nasm.us/) 0.98 or later (NASM 2.05 or later is required for
a 64-bit build)
====================== ======================
Building libjpeg-turbo Building libjpeg-turbo
@@ -251,14 +276,10 @@ This will generate the following files under libjpeg-turbo\windows\:
turbojpeg.dll Shared library for TurboJPEG/OSS turbojpeg.dll Shared library for TurboJPEG/OSS
turbojpeg.lib Development stub for TurboJPEG/OSS shared library turbojpeg.lib Development stub for TurboJPEG/OSS shared library
#If a 64-bit Windows platform is detected, then the build system will attempt If a 64-bit Windows platform is detected, then the build system will attempt
#to build a 64-bit version of libjpeg-turbo. You can override this by running to build a 64-bit version of libjpeg-turbo. You can override this by running
#
# make -f win/Makefile WIN64=no
NOTE: For unknown reasons, Win64 support doesn't work yet, so at the moment, make -f win/Makefile WIN64=no
you have to run 'make -f win/Makefile WIN64=yes' to get a 64-bit build on
64-bit Windows. The paragraph above will apply once Win64 support is working.
******************************************************************************* *******************************************************************************
@@ -287,11 +308,11 @@ make dmg
make udmg make udmg
On 64-bit OS X (10.6 "Snow Leopard" or later), this creates a version of the On 64-bit OS X systems, this creates a version of the Macintosh package and
Macintosh package/disk image which contains universal i386/x86-64 binaries. disk image which contains universal i386/x86-64 binaries. The 32-bit fork of
The 32-bit fork of these binaries is backward compatible with OS X 10.4 and these binaries is backward compatible with OS X 10.4 and later. The 64-bit
later, whereas the 64-bit fork is compatible with OS X 10.6 and later. OS X fork can be made backward compatible as well by using the instructions in
10.4 compatibility SDK required. the "Build Recipes" section. OS X 10.4 compatibility SDK required.
make nsi make nsi
@@ -299,7 +320,7 @@ make nsi
libjpeg-turbo SDK. This requires the Nullsoft Install System libjpeg-turbo SDK. This requires the Nullsoft Install System
(http://nsis.sourceforge.net/.) makensis.exe should be in your PATH. (http://nsis.sourceforge.net/.) makensis.exe should be in your PATH.
make -f win/Makefile dist make -f win/Makefile nsi
This creates a Win32 installer for the Visual C++ version of the This creates a Win32 installer for the Visual C++ version of the
libjpeg-turbo SDK. This requires the Nullsoft Install System libjpeg-turbo SDK. This requires the Nullsoft Install System

View File

@@ -1,3 +1,36 @@
Significant changes since 0.0.93
================================
[1] 2983700: Further FreeBSD build tweaks (no longer necessary to specify
--host when configuring on a 64-bit system)
[2] Created sym. links in the Unix/Linux packages so that the TurboJPEG
include file can always be found in /opt/libjpeg-turbo/include, the 32-bit
static libraries can always be found in /opt/libjpeg-turbo/lib32, and the
64-bit static libraries can always be found in /opt/libjpeg-turbo/lib64.
[3] The Unix/Linux distribution packages now include the libjpeg run-time
programs (cjpeg, etc.) and man pages.
[4] Created a 32-bit supplementary package for amd64 Debian systems which
contains just the 32-bit libjpeg-turbo libraries.
[5] Moved the libraries from */lib32 to */lib in the i386 Debian package.
[6] Include distribution package for Cygwin
[7] No longer necessary to specify --without-simd on non-x86 architectures, and
unit tests now work on those architectures.
Significant changes since 0.0.91
================================
[1] 2982659, Fixed x86-64 build on FreeBSD systems
[2] 2988188: Added support for Windows 64-bit systems
Significant changes since 0.0.90 Significant changes since 0.0.90
================================ ================================

View File

@@ -39,7 +39,8 @@ endif
TSTHDRS = rrutil.h rrtimer.h TSTHDRS = rrutil.h rrtimer.h
noinst_PROGRAMS = jpgtest jpegut cjpeg djpeg jpegtran rdjpgcom wrjpgcom bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom
noinst_PROGRAMS = jpgtest jpegut
jpgtest_SOURCES = $(TSTHDRS) jpgtest.cxx bmp.h bmp.c jpgtest_SOURCES = $(TSTHDRS) jpgtest.cxx bmp.h bmp.c
@@ -78,7 +79,7 @@ wrjpgcom_SOURCES = wrjpgcom.c
wrjpgcom_LDADD = libjpeg.la wrjpgcom_LDADD = libjpeg.la
DISTMANS= cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1 dist_man1_MANS = cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1
DOCS= README install.doc usage.doc wizard.doc example.c libjpeg.doc \ DOCS= README install.doc usage.doc wizard.doc example.c libjpeg.doc \
structure.doc coderules.doc filelist.doc jconfig.doc change.log \ structure.doc coderules.doc filelist.doc jconfig.doc change.log \
@@ -86,14 +87,19 @@ DOCS= README install.doc usage.doc wizard.doc example.c libjpeg.doc \
ChangeLog.txt ChangeLog.txt
TESTFILES= testorig.jpg testorig.ppm testimg.bmp testimgflt.jpg \ TESTFILES= testorig.jpg testorig.ppm testimg.bmp testimgflt.jpg \
testimgfst.jpg testimgint.jpg testimgp.jpg testimgfst.ppm testimgint.ppm testimgfst.jpg testimgint.jpg testimgp.jpg testimgfst.ppm testimgint.ppm \
testimg-nosimd.bmp testimgfst-nosimd.ppm testorig-nosimd.ppm \
testimgflt-nosimd.jpg testimgint-nosimd.jpg testimgfst-nosimd.jpg \
testimgp-nosimd.jpg
EXTRA_DIST = win release $(DOCS) $(DISTMANS) $(TESTFILES) EXTRA_DIST = win release $(DOCS) $(TESTFILES)
dist-hook: dist-hook:
rm -rf `find $(distdir) -name .svn` rm -rf `find $(distdir) -name .svn`
if WITH_SIMD
test: testclean cjpeg djpeg jpegtran jpegut test: testclean cjpeg djpeg jpegtran jpegut
./jpegut ./jpegut
./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm ./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
@@ -115,20 +121,45 @@ test: testclean cjpeg djpeg jpegtran jpegut
./jpegtran -outfile testoutt.jpg testoutp.jpg ./jpegtran -outfile testoutt.jpg testoutp.jpg
cmp $(srcdir)/testimgint.jpg testoutt.jpg cmp $(srcdir)/testimgint.jpg testoutt.jpg
else
test: testclean cjpeg djpeg jpegtran jpegut
./jpegut
./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig-nosimd.ppm
./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testorig-nosimd.ppm
./cjpeg -dct float -outfile testoutflt.jpg $(srcdir)/testorig-nosimd.ppm
cmp $(srcdir)/testimgint-nosimd.jpg testoutint.jpg
cmp $(srcdir)/testimgfst-nosimd.jpg testoutfst.jpg
cmp $(srcdir)/testimgflt-nosimd.jpg testoutflt.jpg
./djpeg -dct int -fast -ppm -outfile testoutint.ppm $(srcdir)/testorig.jpg
./djpeg -dct fast -ppm -outfile testoutfst.ppm $(srcdir)/testorig.jpg
./djpeg -dct float -ppm -outfile testoutflt.ppm $(srcdir)/testorig.jpg
cmp $(srcdir)/testimgint.ppm testoutint.ppm
cmp $(srcdir)/testimgfst-nosimd.ppm testoutfst.ppm
cmp $(srcdir)/testorig-nosimd.ppm testoutflt.ppm
./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
cmp $(srcdir)/testimg-nosimd.bmp testout.bmp
./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testorig-nosimd.ppm
cmp $(srcdir)/testimgp-nosimd.jpg testoutp.jpg
./jpegtran -outfile testoutt.jpg testoutp.jpg
cmp $(srcdir)/testimgint-nosimd.jpg testoutt.jpg
endif
testclean: testclean:
$(RM) testout* rm -f testout*
$(RM) *_GRAYQ[0-9]*.bmp rm -f *_GRAYQ[0-9]*.bmp
$(RM) *_GRAYQ[0-9]*.ppm rm -f *_GRAYQ[0-9]*.ppm
$(RM) *_GRAYQ[0-9]*.jpg rm -f *_GRAYQ[0-9]*.jpg
$(RM) *_420Q[0-9]*.bmp rm -f *_420Q[0-9]*.bmp
$(RM) *_420Q[0-9]*.ppm rm -f *_420Q[0-9]*.ppm
$(RM) *_420Q[0-9]*.jpg rm -f *_420Q[0-9]*.jpg
$(RM) *_422Q[0-9]*.bmp rm -f *_422Q[0-9]*.bmp
$(RM) *_422Q[0-9]*.ppm rm -f *_422Q[0-9]*.ppm
$(RM) *_422Q[0-9]*.jpg rm -f *_422Q[0-9]*.jpg
$(RM) *_444Q[0-9]*.bmp rm -f *_444Q[0-9]*.bmp
$(RM) *_444Q[0-9]*.ppm rm -f *_444Q[0-9]*.ppm
$(RM) *_444Q[0-9]*.jpg rm -f *_444Q[0-9]*.jpg
rpm: all rpm: all
sh $(srcdir)/release/makerpm ${PACKAGE_NAME} ${VERSION} ${BUILD} \ sh $(srcdir)/release/makerpm ${PACKAGE_NAME} ${VERSION} ${BUILD} \
@@ -158,15 +189,23 @@ sunpkg: all
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \ sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
${DEBARCH} ${srcdir} $(CC) $(CXX) combined ${DEBARCH} ${srcdir} $(CC) $(CXX) combined
nsi: all
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo-gcc64 \
-DWLIBDIR=.libs -DWSRCDIR=$(srcdir) -DWBLDDIR=. -DWHDRDIR=. -DWIN64 \
-DPLATFORM="GCC 64-bit" -DGCC $(srcdir)/release/libjpeg-turbo.nsi
else else
sunpkg: all sunpkg: all
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \ sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
${DEBARCH} ${srcdir} $(CC) $(CXX) ${DEBARCH} ${srcdir} $(CC) $(CXX)
endif
nsi: all nsi: all
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo-gcc \ makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo-gcc \
-DWLIBDIR=.libs -DWSRCDIR=$(srcdir) -DWBLDDIR=. -DWHDRDIR=. \ -DWLIBDIR=.libs -DWSRCDIR=$(srcdir) -DWBLDDIR=. -DWHDRDIR=. \
-DPLATFORM="GCC" -DGCC $(srcdir)/release/libjpeg-turbo.nsi -DPLATFORM="GCC" -DGCC $(srcdir)/release/libjpeg-turbo.nsi
endif
cygwinpkg: all
sh $(srcdir)/release/makecygwinpkg ${PACKAGE_NAME} ${VERSION} ${srcdir}

View File

@@ -62,7 +62,7 @@ For instance:
user 0m0.029s user 0m0.029s
sys 0m0.010s sys 0m0.010s
NOTE: {lib} can be lib, lib32, lib64, or lib/amd64, depending on the O/S and NOTE: {lib} can be lib, lib32, lib64, or lib/64, depending on the O/S and
architecture. architecture.
System administrators can also replace the libjpeg sym links in /usr/{lib} with System administrators can also replace the libjpeg sym links in /usr/{lib} with
@@ -106,20 +106,20 @@ Replacing TurboJPEG/IPP
======================= =======================
libjpeg-turbo is a drop-in replacement for the TurboJPEG/IPP SDK used by libjpeg-turbo is a drop-in replacement for the TurboJPEG/IPP SDK used by
VirtualGL 2.1.x (and prior) and TurboVNC. libjpeg-turbo contains a wrapper VirtualGL 2.1.x and TurboVNC 0.6 (and prior.) libjpeg-turbo contains a wrapper
library (TurboJPEG/OSS) that emulates the TurboJPEG API using libjpeg-turbo library (TurboJPEG/OSS) that emulates the TurboJPEG API using libjpeg-turbo
instead of the closed source Intel Performance Primitives. You can replace the instead of the closed source Intel Performance Primitives. You can replace the
TurboJPEG/IPP package on Linux systems with the libjpeg-turbo package in order TurboJPEG/IPP package on Linux systems with the libjpeg-turbo package in order
to make existing releases of VirtualGL 2.1.x and TurboVNC use the new codec at to make existing releases of VirtualGL 2.1.x and TurboVNC use the new codec at
run time. Note that the 64-bit libjpeg-turbo packages contain only 64-bit run time. Note that the 64-bit libjpeg-turbo packages contain only 64-bit
binaries, whereas the TurboJPEG/IPP 64-bit packages contain both 64-bit and binaries, whereas the TurboJPEG/IPP 64-bit packages contained both 64-bit and
32-bit binaries. Thus, to replace a TurboJPEG/IPP 64-bit package, install 32-bit binaries. Thus, to replace a TurboJPEG/IPP 64-bit package, install
both the 64-bit and 32-bit versions of libjpeg-turbo. both the 64-bit and 32-bit versions of libjpeg-turbo.
You can also build the VirtualGL 2.1.x and TurboVNC source code with You can also build the VirtualGL 2.1.x and TurboVNC 0.6 source code with
the libjpeg-turbo SDK instead of TurboJPEG/IPP. It should work identically. the libjpeg-turbo SDK instead of TurboJPEG/IPP. It should work identically.
libjpeg-turbo also includes static library versions of TurboJPEG/OSS, which libjpeg-turbo also includes static library versions of TurboJPEG/OSS, which
are used to build VirtualGL 2.2 and later. are used to build TurboVNC 1.0 and later.
======================================== ========================================
Using libjpeg-turbo in Your Own Programs Using libjpeg-turbo in Your Own Programs
@@ -134,19 +134,20 @@ of libjpeg by setting
and and
LIBRARY_PATH=/opt/libjpeg-turbo/{lib} LIBRARY_PATH=/opt/libjpeg-turbo/{lib}
({lib} = lib, lib32, lib64, or lib/amd64, as appropriate.) ({lib} = lib32 or lib64, depending on whether you are building a 32-bit or a
64-bit application.)
If using Cygwin, then set If using Cygwin, then set
CPATH=/cygdrive/c/libjpeg-turbo-gcc/include CPATH=/cygdrive/c/libjpeg-turbo-gcc[64]/include
and and
LIBRARY_PATH=/cygdrive/c/libjpeg-turbo-gcc/lib LIBRARY_PATH=/cygdrive/c/libjpeg-turbo-gcc[64]/lib
If using MinGW, then set If using MinGW, then set
CPATH=/c/libjpeg-turbo-gcc/include CPATH=/c/libjpeg-turbo-gcc[64]/include
and and
LIBRARY_PATH=/c/libjpeg-turbo-gcc/lib LIBRARY_PATH=/c/libjpeg-turbo-gcc[64]/lib
Building against libjpeg-turbo is useful, for instance, if you want to build an Building against libjpeg-turbo is useful, for instance, if you want to build an
application that leverages the libjpeg-turbo colorspace extensions (see below.) application that leverages the libjpeg-turbo colorspace extensions (see below.)
@@ -162,14 +163,14 @@ version of libjpeg-turbo, you can use the following linker options:
-Wl,-Bstatic -ljpeg -Wl,-Bdynamic -Wl,-Bstatic -ljpeg -Wl,-Bdynamic
On OS X, simply add /opt/libjpeg-turbo/{lib}/libjpeg.a to the linker command On OS X, simply add /opt/libjpeg-turbo/lib/libjpeg.a to the linker command
line (this also works on Linux and Solaris.) line (this also works on Linux and Solaris.)
To build Visual C++ applications using libjpeg-turbo, add To build Visual C++ applications using libjpeg-turbo, add
c:\libjpeg-turbo\include to your system or user INCLUDE environment variable c:\libjpeg-turbo[64]\include to your system or user INCLUDE environment
and c:\libjpeg-turbo\lib to your system or user LIB environment variable, and variable and c:\libjpeg-turbo[64]\lib to your system or user LIB environment
then link against either jpeg.lib (to use jpeg62.dll) or jpeg-static.lib (to variable, and then link against either jpeg.lib (to use jpeg62.dll) or
use the static version of libjpeg-turbo.) jpeg-static.lib (to use the static version of libjpeg-turbo.)
===================== =====================
Colorspace Extensions Colorspace Extensions

View File

@@ -44,7 +44,14 @@ case "$host_os" in
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
objfmt='BSD-a.out' objfmt='BSD-a.out'
else else
case "$host_cpu" in
x86_64 | amd64)
objfmt='ELF64'
;;
*)
objfmt='ELF' objfmt='ELF'
;;
esac
fi fi
;; ;;
solaris* | sunos* | sysv* | sco*) solaris* | sunos* | sysv* | sco*)

View File

@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script. # Process this file with autoconf to produce a configure script.
AC_PREREQ([2.56]) AC_PREREQ([2.56])
AC_INIT([libjpeg-turbo], [0.0.91]) AC_INIT([libjpeg-turbo], [1.0.0])
BUILD=`date +%Y%m%d` BUILD=`date +%Y%m%d`
AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2]) AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
@@ -133,7 +133,7 @@ if test "x${with_simd}" != "xno"; then
# Check if we're on a supported CPU # Check if we're on a supported CPU
AC_MSG_CHECKING([if we have SIMD optimisations for cpu type]) AC_MSG_CHECKING([if we have SIMD optimisations for cpu type])
case "$host_cpu" in case "$host_cpu" in
x86_64) x86_64 | amd64)
AC_MSG_RESULT([yes (x86_64)]) AC_MSG_RESULT([yes (x86_64)])
AC_PROG_NASM AC_PROG_NASM
simd_arch=x86_64 simd_arch=x86_64
@@ -145,7 +145,8 @@ if test "x${with_simd}" != "xno"; then
;; ;;
*) *)
AC_MSG_RESULT([no ("$host_cpu")]) AC_MSG_RESULT([no ("$host_cpu")])
AC_MSG_ERROR([CPU is not supported]) AC_MSG_WARN([SIMD support not available for this CPU. Performance will suffer.])
with_simd=no;
;; ;;
esac esac
@@ -157,7 +158,7 @@ fi
AM_CONDITIONAL([WITH_SIMD], [test "x$with_simd" != "xno"]) AM_CONDITIONAL([WITH_SIMD], [test "x$with_simd" != "xno"])
AM_CONDITIONAL([SIMD_I386], [test "x$simd_arch" = "xi386"]) AM_CONDITIONAL([SIMD_I386], [test "x$simd_arch" = "xi386"])
AM_CONDITIONAL([SIMD_X86_64], [test "x$simd_arch" = "xx86_64"]) AM_CONDITIONAL([SIMD_X86_64], [test "x$simd_arch" = "xx86_64"])
AM_CONDITIONAL([X86_64], [test "x$host_cpu" = "xx86_64"]) AM_CONDITIONAL([X86_64], [test "x$host_cpu" = "xx86_64" -o "x$host_cpu" = "xamd64"])
case "$host_cpu" in case "$host_cpu" in
x86_64) x86_64)
@@ -173,6 +174,7 @@ esac
AC_SUBST(RPMARCH) AC_SUBST(RPMARCH)
AC_SUBST(DEBARCH) AC_SUBST(DEBARCH)
AC_SUBST(BUILD) AC_SUBST(BUILD)
AC_SUBST(RM)
# jconfig.h is the file we use, but we have another before that to # jconfig.h is the file we use, but we have another before that to
# fool autoheader. the reason is that we include this header in our # fool autoheader. the reason is that we include this header in our

View File

@@ -384,7 +384,7 @@ dump_buffer (working_state * state)
put_buffer = (put_buffer << size) | code; \ put_buffer = (put_buffer << size) | code; \
} }
#if __WORDSIZE==64 #if __WORDSIZE==64 || defined(_WIN64)
#define DUMP_BITS(code, size) { \ #define DUMP_BITS(code, size) { \
CHECKBUF47() \ CHECKBUF47() \
@@ -425,7 +425,7 @@ dump_buffer (working_state * state)
int _max=0; int _max=0;
#if __WORDSIZE==64 #if __WORDSIZE==64 || defined(_WIN64)
#define DUMP_VALUE(ht, codevalue, t, nbits) { \ #define DUMP_VALUE(ht, codevalue, t, nbits) { \
size = ht->ehufsi[codevalue]; \ size = ht->ehufsi[codevalue]; \

View File

@@ -628,7 +628,7 @@ decode_mcu_slow (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
/***************************************************************/ /***************************************************************/
#if __WORDSIZE == 64 #if __WORDSIZE == 64 || defined(_WIN64)
#define ENSURE_SHORT \ #define ENSURE_SHORT \
if (bits_left < 16) { \ if (bits_left < 16) { \

View File

@@ -73,7 +73,7 @@ EXTERN(void) jpeg_make_d_derived_tbl
* necessary. * necessary.
*/ */
#if __WORDSIZE == 64 #if __WORDSIZE == 64 || defined(_WIN64)
typedef size_t bit_buf_type; /* type of bit-extraction buffer */ typedef size_t bit_buf_type; /* type of bit-extraction buffer */
#define BIT_BUF_SIZE 64 /* size of buffer in bits */ #define BIT_BUF_SIZE 64 /* size of buffer in bits */

View File

@@ -1,3 +1,4 @@
!include x64.nsh
Name "libjpeg-turbo SDK for ${PLATFORM}" Name "libjpeg-turbo SDK for ${PLATFORM}"
OutFile ${WBLDDIR}\${APPNAME}.exe OutFile ${WBLDDIR}\${APPNAME}.exe
InstallDir c:\${APPNAME} InstallDir c:\${APPNAME}
@@ -11,6 +12,11 @@ UninstPage uninstConfirm
UninstPage instfiles UninstPage instfiles
Section "libjpeg-turbo SDK for ${PLATFORM} (required)" Section "libjpeg-turbo SDK for ${PLATFORM} (required)"
!ifdef WIN64
${If} ${RunningX64}
${DisableX64FSRedirection}
${Endif}
!endif
SectionIn RO SectionIn RO
!ifdef GCC !ifdef GCC
IfFileExists $SYSDIR/libturbojpeg.dll exists 0 IfFileExists $SYSDIR/libturbojpeg.dll exists 0
@@ -35,7 +41,7 @@ Section "libjpeg-turbo SDK for ${PLATFORM} (required)"
!endif !endif
SetOutPath $INSTDIR\bin SetOutPath $INSTDIR\bin
!ifdef GCC !ifdef GCC
File "${WLIBDIR}\libjpeg-62.dll" File "/oname=libjpeg-62.dll" "${WLIBDIR}\libjpeg-*.dll"
!else !else
File "${WLIBDIR}\jpeg62.dll" File "${WLIBDIR}\jpeg62.dll"
!endif !endif
@@ -74,6 +80,11 @@ Section "libjpeg-turbo SDK for ${PLATFORM} (required)"
SectionEnd SectionEnd
Section "Uninstall" Section "Uninstall"
!ifdef WIN64
${If} ${RunningX64}
${DisableX64FSRedirection}
${Endif}
!endif
SetShellVarContext all SetShellVarContext all

View File

@@ -39,13 +39,13 @@ TurboJPEG/IPP. It is faster in some areas but slower in others.
#-->%setup -q #-->%setup -q
#-->%build #-->%build
#-->configure prefix=$RPM_BUILD_ROOT/opt/%{name} libdir=$RPM_BUILD_ROOT/opt/%{name}/%{__lib} --with-pic #-->configure libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man --with-pic
#-->make prefix=$RPM_BUILD_ROOT/opt/%{name} libdir=$RPM_BUILD_ROOT/opt/%{name}/%{__lib} #-->make DESTDIR=$RPM_BUILD_ROOT libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
make install prefix=$RPM_BUILD_ROOT/opt/%{name} libdir=$RPM_BUILD_ROOT/opt/%{name}/%{__lib} make install DESTDIR=$RPM_BUILD_ROOT libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man
rm -f $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/*.la rm -f $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/*.la
mkdir -p $RPM_BUILD_ROOT/usr/%{__lib} mkdir -p $RPM_BUILD_ROOT/usr/%{__lib}
mv $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/libturbojpeg.* $RPM_BUILD_ROOT/usr/%{__lib} mv $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/libturbojpeg.* $RPM_BUILD_ROOT/usr/%{__lib}
@@ -53,6 +53,12 @@ mv $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/libturbojpeg.* $RPM_BUILD_ROOT/usr/%{__l
/sbin/ldconfig -n $RPM_BUILD_ROOT/usr/%{__lib} /sbin/ldconfig -n $RPM_BUILD_ROOT/usr/%{__lib}
mkdir -p $RPM_BUILD_ROOT/usr/include mkdir -p $RPM_BUILD_ROOT/usr/include
mv $RPM_BUILD_ROOT/opt/%{name}/include/turbojpeg.h $RPM_BUILD_ROOT/usr/include mv $RPM_BUILD_ROOT/opt/%{name}/include/turbojpeg.h $RPM_BUILD_ROOT/usr/include
ln -fs /usr/include/turbojpeg.h $RPM_BUILD_ROOT/opt/%{name}/include/
ln -fs /usr/%{__lib}/libturbojpeg.a $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/
%ifarch x86_64
%else
ln -fs %{__lib} $RPM_BUILD_ROOT/opt/%{name}/lib32
%endif
%post -p /sbin/ldconfig %post -p /sbin/ldconfig
@@ -63,13 +69,24 @@ rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc %{_srcdir}/README-turbo.txt %{_srcdir}/README %{_srcdir}/libjpeg.doc %{_srcdir}/LICENSE.txt %{_srcdir}/LGPL.txt %doc %{_srcdir}/README-turbo.txt %{_srcdir}/README %{_srcdir}/libjpeg.doc %{_srcdir}/usage.doc %{_srcdir}/LICENSE.txt %{_srcdir}/LGPL.txt
%dir /opt/%{name} %dir /opt/%{name}
%dir /opt/%{name}/bin
/opt/%{name}/bin/cjpeg
/opt/%{name}/bin/djpeg
/opt/%{name}/bin/jpegtran
/opt/%{name}/bin/rdjpgcom
/opt/%{name}/bin/wrjpgcom
%dir /opt/%{name}/%{__lib} %dir /opt/%{name}/%{__lib}
%ifarch x86_64
%else
/opt/%{name}/lib32
%endif
/opt/%{name}/%{__lib}/libjpeg.so.62.0.0 /opt/%{name}/%{__lib}/libjpeg.so.62.0.0
/opt/%{name}/%{__lib}/libjpeg.so.62 /opt/%{name}/%{__lib}/libjpeg.so.62
/opt/%{name}/%{__lib}/libjpeg.so /opt/%{name}/%{__lib}/libjpeg.so
/opt/%{name}/%{__lib}/libjpeg.a /opt/%{name}/%{__lib}/libjpeg.a
/opt/%{name}/%{__lib}/libturbojpeg.a
/usr/%{__lib}/libturbojpeg.so /usr/%{__lib}/libturbojpeg.so
/usr/%{__lib}/libturbojpeg.a /usr/%{__lib}/libturbojpeg.a
/usr/include/turbojpeg.h /usr/include/turbojpeg.h
@@ -78,5 +95,13 @@ rm -rf $RPM_BUILD_ROOT
/opt/%{name}/include/jerror.h /opt/%{name}/include/jerror.h
/opt/%{name}/include/jmorecfg.h /opt/%{name}/include/jmorecfg.h
/opt/%{name}/include/jpeglib.h /opt/%{name}/include/jpeglib.h
/opt/%{name}/include/turbojpeg.h
%dir /opt/%{name}/man
%dir /opt/%{name}/man/man1
/opt/%{name}/man/man1/cjpeg.1*
/opt/%{name}/man/man1/djpeg.1*
/opt/%{name}/man/man1/jpegtran.1*
/opt/%{name}/man/man1/rdjpgcom.1*
/opt/%{name}/man/man1/wrjpgcom.1*
%changelog %changelog

49
release/makecygwinpkg Executable file
View File

@@ -0,0 +1,49 @@
#!/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> <source dir.>"
exit 1
}
if [ $# -lt 3 ]; then usage $0; fi
PACKAGE_NAME=$1
VERSION=$2
SRCDIR=$3
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
rm $TMPDIR/pkg/opt/$PACKAGE_NAME/lib/*.la
DOCDIR=$TMPDIR/pkg/usr/share/doc/$PACKAGE_NAME-$VERSION
mkdir -p $DOCDIR
install -m 644 $SRCDIR/README-turbo.txt $DOCDIR
install -m 644 $SRCDIR/README $DOCDIR
install -m 644 $SRCDIR/libjpeg.doc $DOCDIR
install -m 644 $SRCDIR/usage.doc $DOCDIR
install -m 644 $SRCDIR/LICENSE.txt $DOCDIR
install -m 644 $SRCDIR/LGPL.txt $DOCDIR
ln -fs lib $TMPDIR/pkg/opt/$PACKAGE_NAME/lib32
cd $TMPDIR/pkg
tar cfj ../$PACKAGE_NAME-$VERSION-cygwin.tar.bz2 *
cd $__PWD
mv $TMPDIR/*.tar.bz2 .
exit 0

View File

@@ -21,12 +21,18 @@ usage()
exit 1 exit 1
} }
if [ $# -lt 5 ]; then usage $0; fi makedeb()
PACKAGE_NAME=$1 {
VERSION=$2 SUPPLEMENT=$1
BUILD=$3 DIRNAME=$PACKAGE_NAME
DEBARCH=$4
SRCDIR=$5 if [ $SUPPLEMENT = 1 ]; then
PACKAGE_NAME=$PACKAGE_NAME\32
DEBARCH=amd64
__LIB=lib32
else
__LIB=lib
fi
umask 022 umask 022
rm -f $PACKAGE_NAME\_$DEBARCH.deb rm -f $PACKAGE_NAME\_$DEBARCH.deb
@@ -36,27 +42,53 @@ mkdir $TMPDIR/DEBIAN
| sed s/{__VERSION}/$VERSION/g | sed s/{__BUILD}/$BUILD/g \ | sed s/{__VERSION}/$VERSION/g | sed s/{__BUILD}/$BUILD/g \
| sed s/{__ARCH}/$DEBARCH/g > $TMPDIR/DEBIAN/control) | sed s/{__ARCH}/$DEBARCH/g > $TMPDIR/DEBIAN/control)
if [ "$DEBARCH" = "amd64" ]; then make install prefix=$TMPDIR/opt/$DIRNAME libdir=$TMPDIR/opt/$DIRNAME/$__LIB mandir=$TMPDIR/opt/$DIRNAME/man
__LIB=lib rm -f $TMPDIR/opt/$DIRNAME/$__LIB/*.la
else
__LIB=lib32 if [ $SUPPLEMENT = 1 ]; then
rm -rf $TMPDIR/opt/$DIRNAME/include
rm -rf $TMPDIR/opt/$DIRNAME/man
rm -rf $TMPDIR/opt/$DIRNAME/bin
fi fi
make install prefix=$TMPDIR/opt/$PACKAGE_NAME libdir=$TMPDIR/opt/$PACKAGE_NAME/$__LIB
rm -f $TMPDIR/opt/$PACKAGE_NAME/$__LIB/*.la
mkdir -p $TMPDIR/usr/$__LIB mkdir -p $TMPDIR/usr/$__LIB
mv $TMPDIR/opt/$PACKAGE_NAME/$__LIB/libturbojpeg.* $TMPDIR/usr/$__LIB mv $TMPDIR/opt/$DIRNAME/$__LIB/libturbojpeg.* $TMPDIR/usr/$__LIB
/sbin/ldconfig -n $TMPDIR/opt/$PACKAGE_NAME/$__LIB ln -fs /usr/$__LIB/libturbojpeg.a $TMPDIR/opt/$DIRNAME/$__LIB/
/sbin/ldconfig -n $TMPDIR/opt/$DIRNAME/$__LIB
/sbin/ldconfig -n $TMPDIR/usr/$__LIB /sbin/ldconfig -n $TMPDIR/usr/$__LIB
if [ ! $SUPPLEMENT = 1 ]; then
if [ "$DEBARCH" = "amd64" ]; then
ln -fs lib $TMPDIR/opt/$DIRNAME/lib64
else
if [ ! "$__LIB" = "lib32" ]; then
ln -fs lib $TMPDIR/opt/$DIRNAME/lib32
fi
fi
mkdir -p $TMPDIR/usr/include mkdir -p $TMPDIR/usr/include
mv $TMPDIR/opt/$PACKAGE_NAME/include/turbojpeg.h $TMPDIR/usr/include mv $TMPDIR/opt/$DIRNAME/include/turbojpeg.h $TMPDIR/usr/include
mkdir -p $TMPDIR/usr/share/doc/$PACKAGE_NAME-$VERSION ln -fs /usr/include/turbojpeg.h $TMPDIR/opt/$DIRNAME/include/
install -m 644 $SRCDIR/LICENSE.txt $TMPDIR/usr/share/doc/$PACKAGE_NAME-$VERSION mkdir -p $TMPDIR/usr/share/doc/$DIRNAME-$VERSION
install -m 644 $SRCDIR/LGPL.txt $TMPDIR/usr/share/doc/$PACKAGE_NAME-$VERSION install -m 644 $SRCDIR/LICENSE.txt $TMPDIR/usr/share/doc/$DIRNAME-$VERSION
install -m 644 $SRCDIR/README-turbo.txt $TMPDIR/usr/share/doc/$PACKAGE_NAME-$VERSION install -m 644 $SRCDIR/LGPL.txt $TMPDIR/usr/share/doc/$DIRNAME-$VERSION
install -m 644 $SRCDIR/README $TMPDIR/usr/share/doc/$PACKAGE_NAME-$VERSION install -m 644 $SRCDIR/README-turbo.txt $TMPDIR/usr/share/doc/$DIRNAME-$VERSION
install -m 644 $SRCDIR/libjpeg.doc $TMPDIR/usr/share/doc/$PACKAGE_NAME-$VERSION install -m 644 $SRCDIR/README $TMPDIR/usr/share/doc/$DIRNAME-$VERSION
install -m 644 $SRCDIR/libjpeg.doc $TMPDIR/usr/share/doc/$DIRNAME-$VERSION
install -m 644 $SRCDIR/usage.doc $TMPDIR/usr/share/doc/$DIRNAME-$VERSION
fi
sudo chown -Rh root:root $TMPDIR/* sudo chown -Rh root:root $TMPDIR/*
dpkg -b $TMPDIR $PACKAGE_NAME\_$DEBARCH.deb dpkg -b $TMPDIR $PACKAGE_NAME\_$DEBARCH.deb
}
if [ $# -lt 5 ]; then usage $0; fi
PACKAGE_NAME=$1
VERSION=$2
BUILD=$3
DEBARCH=$4
SRCDIR=$5
makedeb 0
if [ "$DEBARCH" = "i386" ]; then makedeb 1; fi
exit exit

View File

@@ -42,7 +42,7 @@ TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
PKGROOT=$TMPDIR/pkg/Package_Root PKGROOT=$TMPDIR/pkg/Package_Root
mkdir -p $PKGROOT mkdir -p $PKGROOT
mkdir -p $PKGROOT/opt/$PACKAGE_NAME/bin mkdir -p $PKGROOT/opt/$PACKAGE_NAME/bin
make install prefix=$PKGROOT/opt/$PACKAGE_NAME make install DESTDIR=$PKGROOT mandir=/opt/$PACKAGE_NAME/man
rm -f $PKGROOT/opt/$PACKAGE_NAME/lib/*.la rm -f $PKGROOT/opt/$PACKAGE_NAME/lib/*.la
mkdir -p $PKGROOT/usr/lib mkdir -p $PKGROOT/usr/lib
mv $PKGROOT/opt/$PACKAGE_NAME/lib/libturbojpeg.* $PKGROOT/usr/lib mv $PKGROOT/opt/$PACKAGE_NAME/lib/libturbojpeg.* $PKGROOT/usr/lib
@@ -59,33 +59,64 @@ if [ $UNIVERSAL = 1 ]; then
CFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \ CFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \
CXXFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \ CXXFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -O3 -m32' \
LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -m32' LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -m32'
make prefix=$TMPDIR/dist.x86 install make install DESTDIR=$TMPDIR/dist.x86
popd popd
if [ ! -h $TMPDIR/dist.x86/lib/libjpeg.62.dylib -a \ if [ ! -h $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib -a \
! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib ]; then ! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib ]; then
lipo -create -arch i386 $TMPDIR/dist.x86/lib/libjpeg.62.dylib -arch x86_64 \ lipo -create \
$PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib \ -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 -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib
elif [ ! -h $TMPDIR/dist.x86/lib/libjpeg.62.0.0.dylib -a \ 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 ! -h $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib ]; then
lipo -create -arch i386 $TMPDIR/dist.x86/lib/libjpeg.62.0.0.dylib \ 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 \ -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib \
-output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.0.0.dylib
fi fi
lipo -create -arch i386 $TMPDIR/dist.x86/lib/libjpeg.a -arch x86_64 \ lipo -create \
$PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \ -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 -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a
lipo -create -arch i386 $TMPDIR/dist.x86/lib/libturbojpeg.dylib -arch x86_64 \ lipo -create \
$PKGROOT/usr/lib/libturbojpeg.dylib \ -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libturbojpeg.dylib \
-arch x86_64 $PKGROOT/usr/lib/libturbojpeg.dylib \
-output $PKGROOT/usr/lib/libturbojpeg.dylib -output $PKGROOT/usr/lib/libturbojpeg.dylib
lipo -create -arch i386 $TMPDIR/dist.x86/lib/libturbojpeg.a -arch x86_64 \ lipo -create \
$PKGROOT/usr/lib/libturbojpeg.a \ -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 -output $PKGROOT/usr/lib/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
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
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
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
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
fi 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.62.dylib $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib
install_name_tool -id libturbojpeg.dylib $PKGROOT/usr/lib/libturbojpeg.dylib install_name_tool -id libturbojpeg.dylib $PKGROOT/usr/lib/libturbojpeg.dylib
ln -fs /usr/include/turbojpeg.h $PKGROOT/opt/$PACKAGE_NAME/include/
ln -fs /usr/lib/libturbojpeg.a $PKGROOT/opt/$PACKAGE_NAME/lib/
ln -fs lib $PKGROOT/opt/$PACKAGE_NAME/lib32
ln -fs lib $PKGROOT/opt/$PACKAGE_NAME/lib64
mkdir -p $PKGROOT/Library/Documentation/$PACKAGE_NAME mkdir -p $PKGROOT/Library/Documentation/$PACKAGE_NAME
chmod 1775 $PKGROOT/Library chmod 1775 $PKGROOT/Library
chmod 775 $PKGROOT/Library/Documentation chmod 775 $PKGROOT/Library/Documentation
@@ -106,6 +137,7 @@ install -m 644 $SRCDIR/LGPL.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/LGP
install -m 644 $SRCDIR/README-turbo.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/README-turbo.txt install -m 644 $SRCDIR/README-turbo.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/README-turbo.txt
install -m 644 $SRCDIR/README $PKGROOT/Library/Documentation/$PACKAGE_NAME/README install -m 644 $SRCDIR/README $PKGROOT/Library/Documentation/$PACKAGE_NAME/README
install -m 644 $SRCDIR/libjpeg.doc $PKGROOT/Library/Documentation/$PACKAGE_NAME/libjpeg.doc install -m 644 $SRCDIR/libjpeg.doc $PKGROOT/Library/Documentation/$PACKAGE_NAME/libjpeg.doc
install -m 644 $SRCDIR/usage.doc $PKGROOT/Library/Documentation/$PACKAGE_NAME/usage.doc
sudo chown -R root:admin $PKGROOT sudo chown -R root:admin $PKGROOT
sudo chown -R root:0 $PKGROOT/usr sudo chown -R root:0 $PKGROOT/usr

View File

@@ -11,7 +11,7 @@ TMPDIR=
onexit() onexit()
{ {
if [ ! "$TMPDIR" = "" ]; then if [ ! "$TMPDIR" = "" ]; then
sudo rm -rf $TMPDIR rm -rf $TMPDIR
fi fi
} }

View File

@@ -11,7 +11,7 @@ TMPDIR=
onexit() onexit()
{ {
if [ ! "$TMPDIR" = "" ]; then if [ ! "$TMPDIR" = "" ]; then
sudo rm -rf $TMPDIR rm -rf $TMPDIR
fi fi
} }

View File

@@ -11,7 +11,7 @@ TMPDIR=
onexit() onexit()
{ {
if [ ! "$TMPDIR" = "" ]; then if [ ! "$TMPDIR" = "" ]; then
sudo rm -rf $TMPDIR rm -rf $TMPDIR
fi fi
} }
@@ -38,8 +38,6 @@ fi
umask 022 umask 022
TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX` TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
rm -f $PACKAGE_NAME.pkg.bz2 rm -f $PACKAGE_NAME.pkg.bz2
PKGROOT=$TMPDIR/pkgbuild/$PACKAGE_NAME
mkdir -p $PKGROOT
cp $SRCDIR/release/copyright $TMPDIR cp $SRCDIR/release/copyright $TMPDIR
touch $TMPDIR/depend touch $TMPDIR/depend
cat $SRCDIR/release/pkginfo.tmpl | sed s/{__VERSION}/$VERSION/g \ cat $SRCDIR/release/pkginfo.tmpl | sed s/{__VERSION}/$VERSION/g \
@@ -53,8 +51,6 @@ else
fi fi
# This mess is to work around a bug in /usr/ccs/bin/make # This mess is to work around a bug in /usr/ccs/bin/make
make install prefix=$PKGROOT libdir=$PKGROOT/$__LIB AM_MAKEFLAGS="prefix=$PKGROOT libdir=$PKGROOT/$__LIB"
rm -f $PKGROOT/$__LIB/*.la
if [ $COMBINED = 1 ]; then if [ $COMBINED = 1 ]; then
if [ ! -d $SRCDIR/solx86 ]; then if [ ! -d $SRCDIR/solx86 ]; then
mkdir -p $SRCDIR/solx86 mkdir -p $SRCDIR/solx86
@@ -62,55 +58,74 @@ if [ $COMBINED = 1 ]; then
PWD=`pwd` PWD=`pwd`
cd $SRCDIR/solx86 cd $SRCDIR/solx86
sh $SRCDIR/configure --with-pic CC=$CC CXX=$CXX CFLAGS= CXXFLAGS= LDFLAGS= host_alias= sh $SRCDIR/configure --with-pic CC=$CC CXX=$CXX CFLAGS= CXXFLAGS= LDFLAGS= host_alias=
make install prefix=$PKGROOT AM_MAKEFLAGS="prefix=$PKGROOT" make install DESTDIR=$TMPDIR mandir=/opt/$PACKAGE_NAME/man AM_MAKEFLAGS="mandir=/opt/$PACKAGE_NAME/man"
cd $PWD cd $PWD
fi fi
mkdir -p $PKGROOT/doc 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"
cp $SRCDIR/LICENSE.txt $SRCDIR/LGPL.txt $SRCDIR/README-turbo.txt $SRCDIR/README $SRCDIR/libjpeg.doc $PKGROOT/doc rm -f $TMPDIR/opt/$PACKAGE_NAME/$__LIB/*.la
chmod 644 $PKGROOT/doc/* mkdir -p $TMPDIR/opt/$PACKAGE_NAME/doc
cp $SRCDIR/LICENSE.txt $SRCDIR/LGPL.txt $SRCDIR/README-turbo.txt $SRCDIR/README $SRCDIR/libjpeg.doc $SRCDIR/usage.doc $TMPDIR/opt/$PACKAGE_NAME/doc
chmod 644 $TMPDIR/opt/$PACKAGE_NAME/doc/*
cat >$TMPDIR/proto <<EOF cat >$TMPDIR/proto <<EOF
i copyright i copyright
i depend i depend
i pkginfo i pkginfo
d none libjpeg-turbo 0755 root bin d none $PACKAGE_NAME 0755 root bin
d none libjpeg-turbo/lib 0755 root bin d none $PACKAGE_NAME/bin 0755 root bin
f none $PACKAGE_NAME/bin/cjpeg 0755 root bin
f none $PACKAGE_NAME/bin/djpeg 0755 root bin
f none $PACKAGE_NAME/bin/jpegtran 0755 root bin
f none $PACKAGE_NAME/bin/rdjpgcom 0755 root bin
f none $PACKAGE_NAME/bin/wrjpgcom 0755 root bin
d none $PACKAGE_NAME/lib 0755 root bin
EOF EOF
if [ $COMBINED = 1 ]; then if [ $COMBINED = 1 ]; then
cat >>$TMPDIR/proto <<EOF cat >>$TMPDIR/proto <<EOF
f none libjpeg-turbo/lib/libjpeg.so.62.0.0 0755 root bin f none $PACKAGE_NAME/lib/libjpeg.so.62.0.0 0755 root bin
s none libjpeg-turbo/lib/libjpeg.so.62=libjpeg.so.62.0.0 s none $PACKAGE_NAME/lib/libjpeg.so.62=libjpeg.so.62.0.0
s none libjpeg-turbo/lib/libjpeg.so=libjpeg.so.62.0.0 s none $PACKAGE_NAME/lib/libjpeg.so=libjpeg.so.62.0.0
f none libjpeg-turbo/lib/libjpeg.a 0644 root bin f none $PACKAGE_NAME/lib/libjpeg.a 0644 root bin
f none libjpeg-turbo/lib/libturbojpeg.so 0755 root bin f none $PACKAGE_NAME/lib/libturbojpeg.so 0755 root bin
f none libjpeg-turbo/lib/libturbojpeg.a 0644 root bin f none $PACKAGE_NAME/lib/libturbojpeg.a 0644 root bin
EOF EOF
fi fi
if [ "${__LIB}" != "lib" ]; then if [ "${__LIB}" != "lib" ]; then
echo d none libjpeg-turbo/${__LIB} 0755 root bin >>$TMPDIR/proto echo d none $PACKAGE_NAME/${__LIB} 0755 root bin >>$TMPDIR/proto
echo s none $PACKAGE_NAME/lib64=${__LIB} >>$TMPDIR/proto
echo s none $PACKAGE_NAME/lib/64=$PKGARCH >>$TMPDIR/proto
fi fi
cat >>$TMPDIR/proto <<EOF cat >>$TMPDIR/proto <<EOF
f none libjpeg-turbo/${__LIB}/libjpeg.so.62.0.0 0755 root bin f none $PACKAGE_NAME/${__LIB}/libjpeg.so.62.0.0 0755 root bin
s none libjpeg-turbo/${__LIB}/libjpeg.so.62=libjpeg.so.62.0.0 s none $PACKAGE_NAME/${__LIB}/libjpeg.so.62=libjpeg.so.62.0.0
s none libjpeg-turbo/${__LIB}/libjpeg.so=libjpeg.so.62.0.0 s none $PACKAGE_NAME/${__LIB}/libjpeg.so=libjpeg.so.62.0.0
f none libjpeg-turbo/${__LIB}/libjpeg.a 0644 root bin f none $PACKAGE_NAME/${__LIB}/libjpeg.a 0644 root bin
f none libjpeg-turbo/${__LIB}/libturbojpeg.so 0755 root bin f none $PACKAGE_NAME/${__LIB}/libturbojpeg.so 0755 root bin
f none libjpeg-turbo/${__LIB}/libturbojpeg.a 0644 root bin f none $PACKAGE_NAME/${__LIB}/libturbojpeg.a 0644 root bin
d none libjpeg-turbo/include 0755 root bin s none $PACKAGE_NAME/lib32=lib
f none libjpeg-turbo/include/jconfig.h 0644 root bin d none $PACKAGE_NAME/man 0755 root bin
f none libjpeg-turbo/include/jerror.h 0644 root bin d none $PACKAGE_NAME/man/man1 0755 root bin
f none libjpeg-turbo/include/jmorecfg.h 0644 root bin d none $PACKAGE_NAME/man/man1/cjpeg.1 0644 root bin
f none libjpeg-turbo/include/jpeglib.h 0644 root bin d none $PACKAGE_NAME/man/man1/djpeg.1 0644 root bin
f none libjpeg-turbo/include/turbojpeg.h 0644 root bin d none $PACKAGE_NAME/man/man1/jpegtran.1 0644 root bin
d none libjpeg-turbo/doc 0755 root bin d none $PACKAGE_NAME/man/man1/rdjpgcom.1 0644 root bin
f none libjpeg-turbo/doc/LGPL.txt 0644 root bin d none $PACKAGE_NAME/man/man1/wrjpgcom.1 0644 root bin
f none libjpeg-turbo/doc/libjpeg.doc 0644 root bin d none $PACKAGE_NAME/include 0755 root bin
f none libjpeg-turbo/doc/LICENSE.txt 0644 root bin f none $PACKAGE_NAME/include/jconfig.h 0644 root bin
f none libjpeg-turbo/doc/README 0644 root bin f none $PACKAGE_NAME/include/jerror.h 0644 root bin
f none libjpeg-turbo/doc/README-turbo.txt 0644 root bin f none $PACKAGE_NAME/include/jmorecfg.h 0644 root bin
f none $PACKAGE_NAME/include/jpeglib.h 0644 root bin
f none $PACKAGE_NAME/include/turbojpeg.h 0644 root bin
d none $PACKAGE_NAME/doc 0755 root bin
f none $PACKAGE_NAME/doc/LGPL.txt 0644 root bin
f none $PACKAGE_NAME/doc/libjpeg.doc 0644 root bin
f none $PACKAGE_NAME/doc/LICENSE.txt 0644 root bin
f none $PACKAGE_NAME/doc/README 0644 root bin
f none $PACKAGE_NAME/doc/README-turbo.txt 0644 root bin
f none $PACKAGE_NAME/doc/usage.doc 0644 root bin
EOF EOF
pkgmk -o -r $TMPDIR/pkgbuild -d $TMPDIR -a i386 -f $TMPDIR/proto pkgmk -o -r $TMPDIR/opt -d $TMPDIR -a i386 -f $TMPDIR/proto
pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME.pkg $PACKAGE_NAME pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME.pkg $PACKAGE_NAME
bzip2 $TMPDIR/$PACKAGE_NAME.pkg bzip2 $TMPDIR/$PACKAGE_NAME.pkg
cp $TMPDIR/$PACKAGE_NAME.pkg.bz2 . cp $TMPDIR/$PACKAGE_NAME.pkg.bz2 .

View File

@@ -6,7 +6,7 @@ SUNW_PKGVERS=1.0
DESC=A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs DESC=A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs
VENDOR=The libjpeg-turbo Project VENDOR=The libjpeg-turbo Project
HOTLINE=http://libjpeg-turbo.VirtualGL.org HOTLINE=http://libjpeg-turbo.VirtualGL.org
EMAIL=dcommander@users.sourceforge.net EMAIL=information@virtualgl.org
MAXINST=1 MAXINST=1
CATEGORY=application CATEGORY=application
BASEDIR=/opt BASEDIR=/opt

View File

@@ -46,12 +46,23 @@ cd $PWD
echo Removing directories ... echo Removing directories ...
rmdir /opt/$PKGNAME/bin 2>&1 || RETCODE=-1 rmdir /opt/$PKGNAME/bin 2>&1 || RETCODE=-1
if [ -d /opt/$PKGNAME/bin ]; then
rmdir /opt/$PKGNAME/bin 2>&1 || RETCODE=-1
fi
if [ -d /opt/$PKGNAME/lib ]; then if [ -d /opt/$PKGNAME/lib ]; then
rmdir /opt/$PKGNAME/lib 2>&1 || RETCODE=-1 rmdir /opt/$PKGNAME/lib 2>&1 || RETCODE=-1
fi fi
if [ -d /opt/$PKGNAME/include ]; then if [ -d /opt/$PKGNAME/include ]; then
rmdir /opt/$PKGNAME/include 2>&1 || RETCODE=-1 rmdir /opt/$PKGNAME/include 2>&1 || RETCODE=-1
fi fi
rm /opt/$PKGNAME/lib32 2>&1 || RETCODE=-1
rm /opt/$PKGNAME/lib64 2>&1 || RETCODE=-1
if [ -d /opt/$PKGNAME/man/man1 ]; then
rmdir /opt/$PKGNAME/man/man1 2>&1 || RETCODE=-1
fi
if [ -d /opt/$PKGNAME/man ]; then
rmdir /opt/$PKGNAME/man 2>&1 || RETCODE=-1
fi
rmdir /opt/$PKGNAME 2>&1 || RETCODE=-1 rmdir /opt/$PKGNAME 2>&1 || RETCODE=-1
rmdir /Library/Documentation/$PKGNAME 2>&1 || RETCODE=-1 rmdir /Library/Documentation/$PKGNAME 2>&1 || RETCODE=-1

View File

@@ -1,5 +1,5 @@
; ;
; jcclrss2.asm - colorspace conversion (64-bit SSE2) ; jcclrss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; x86 SIMD extension for IJG JPEG library ; x86 SIMD extension for IJG JPEG library
; Copyright (C) 1999-2006, MIYASAKA Masaru. ; Copyright (C) 1999-2006, MIYASAKA Masaru.
@@ -70,7 +70,7 @@ EXTN(jsimd_rgb_ycc_convert_sse2):
pop rcx pop rcx
mov rsi, r11 mov rsi, r11
mov rax, r14 mov eax, r14d
test rax,rax test rax,rax
jle near .return jle near .return
.rowloop: .rowloop:

View File

@@ -1,5 +1,5 @@
; ;
; jccolss2.asm - colorspace conversion (64-bit SSE2) ; jccolss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; x86 SIMD extension for IJG JPEG library ; x86 SIMD extension for IJG JPEG library
; Copyright (C) 1999-2006, MIYASAKA Masaru. ; Copyright (C) 1999-2006, MIYASAKA Masaru.

View File

@@ -1,5 +1,5 @@
; ;
; jcqnts2f.asm - sample data conversion and quantization (64-bit SSE & SSE2) ; jcqnts2f-64.asm - sample data conversion and quantization (64-bit SSE & SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jcqnts2i.asm - sample data conversion and quantization (64-bit SSE2) ; jcqnts2i-64.asm - sample data conversion and quantization (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jcsamss2.asm - downsampling (64-bit SSE2) ; jcsamss2-64.asm - downsampling (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jdclrss2.asm - colorspace conversion (64-bit SSE2) ; jdclrss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander
@@ -72,7 +72,7 @@ EXTN(jsimd_ycc_rgb_convert_sse2):
pop rcx pop rcx
mov rdi, r13 mov rdi, r13
mov rax, r14 mov eax, r14d
test rax,rax test rax,rax
jle near .return jle near .return
.rowloop: .rowloop:

View File

@@ -1,5 +1,5 @@
; ;
; jdcolss2.asm - colorspace conversion (64-bit SSE2) ; jdcolss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jdmerss2.asm - merged upsampling/color conversion (64-bit SSE2) ; jdmerss2-64.asm - merged upsampling/color conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jdmrgss2.asm - merged upsampling/color conversion (64-bit SSE2) ; jdmrgss2-64.asm - merged upsampling/color conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander
@@ -521,10 +521,10 @@ EXTN(jsimd_h2v2_merged_upsample_sse2):
push rax push rax
%ifdef WIN64 %ifdef WIN64
; rcx already parameter 1 mov r8, rcx
mov rdx, rdi mov r9, rdi
mov r8, rax mov rcx, rax
mov r9, rbx mov rdx, rbx
%else %else
mov rdx, rcx mov rdx, rcx
mov rcx, rdi mov rcx, rdi
@@ -554,10 +554,10 @@ EXTN(jsimd_h2v2_merged_upsample_sse2):
push rax push rax
%ifdef WIN64 %ifdef WIN64
; rcx already parameter 1 mov r8, rcx
mov rdx, rdi mov r9, rdi
mov r8, rax mov rcx, rax
mov r9, rbx mov rdx, rbx
%else %else
mov rdx, rcx mov rdx, rcx
mov rcx, rdi mov rcx, rdi

View File

@@ -1,5 +1,5 @@
; ;
; jdsamss2.asm - upsampling (64-bit SSE2) ; jdsamss2-64.asm - upsampling (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jfss2fst.asm - fast integer FDCT (64-bit SSE2) ; jfss2fst-64.asm - fast integer FDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jfss2int.asm - accurate integer FDCT (64-bit SSE2) ; jfss2int-64.asm - accurate integer FDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jfsseflt.asm - floating-point FDCT (64-bit SSE) ; jfsseflt-64.asm - floating-point FDCT (64-bit SSE)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2flt.asm - floating-point IDCT (64-bit SSE & SSE2) ; jiss2flt-64.asm - floating-point IDCT (64-bit SSE & SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2fst.asm - fast integer IDCT (64-bit SSE2) ; jiss2fst-64.asm - fast integer IDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2int.asm - accurate integer IDCT (64-bit SSE2) ; jiss2int-64.asm - accurate integer IDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2red.asm - reduced-size IDCT (64-bit SSE2) ; jiss2red-64.asm - reduced-size IDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -2,6 +2,7 @@
; jsimdext.inc - common declarations ; jsimdext.inc - common declarations
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2010 D. R. Commander
; ;
; Based on ; Based on
; x86 SIMD extension for IJG JPEG library - version 1.02 ; x86 SIMD extension for IJG JPEG library - version 1.02
@@ -310,6 +311,27 @@ const_base:
mov r13, r9 mov r13, r9
mov r14, [rax+48] mov r14, [rax+48]
mov r15, [rax+56] mov r15, [rax+56]
push rsi
push rdi
sub rsp, SIZEOF_XMMWORD
movlpd XMMWORD [rsp], xmm6
sub rsp, SIZEOF_XMMWORD
movlpd XMMWORD [rsp], xmm7
%endmacro
%imacro uncollect_args 0
movlpd xmm7, XMMWORD [rsp]
add rsp, SIZEOF_XMMWORD
movlpd xmm6, XMMWORD [rsp]
add rsp, SIZEOF_XMMWORD
pop rdi
pop rsi
pop r15
pop r14
pop r13
pop r12
pop r11
pop r10
%endmacro %endmacro
%else %else
@@ -329,8 +351,6 @@ const_base:
mov r15, r9 mov r15, r9
%endmacro %endmacro
%endif
%imacro uncollect_args 0 %imacro uncollect_args 0
pop r15 pop r15
pop r14 pop r14
@@ -342,6 +362,8 @@ const_base:
%endif %endif
%endif
; -------------------------------------------------------------------------- ; --------------------------------------------------------------------------
; Defines picked up from the C headers ; Defines picked up from the C headers
; ;

BIN
testimg-nosimd.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
testimgflt-nosimd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
testimgfst-nosimd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

4
testimgfst-nosimd.ppm Normal file

File diff suppressed because one or more lines are too long

BIN
testimgint-nosimd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
testimgp-nosimd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

4
testorig-nosimd.ppm Normal file

File diff suppressed because one or more lines are too long

View File

@@ -25,6 +25,8 @@
#define NUMSUBOPT 4 #define NUMSUBOPT 4
enum {TJ_444=0, TJ_422, TJ_420, TJ_GRAYSCALE}; enum {TJ_444=0, TJ_422, TJ_420, TJ_GRAYSCALE};
#define TJ_411 TJ_420 /* for backward compatibility with VirtualGL <= 2.1.x,
TurboVNC <= 0.6, and TurboJPEG/IPP */
/* Flags */ /* Flags */
#define TJ_BGR 1 #define TJ_BGR 1

View File

@@ -229,11 +229,19 @@ $(ODIR)/jpegut.exe: $(ODIR)/jpegut.obj $(ODIR)/turbojpeg.lib
$(LINK) $(LDFLAGS) -out:$@ $^ $(LINK) $(LDFLAGS) -out:$@ $^
dist: all ifeq ($(WIN64), yes)
nsi: all
$(RM) $(ODIR)/libjpeg-turbo64.exe
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo64 \
-DWLIBDIR=windows64 -DWSRCDIR=. -DWBLDDIR=windows64 -DWHDRDIR=win \
-DPLATFORM="Visual C++ 64-bit" -DWIN64 release/libjpeg-turbo.nsi
else
nsi: all
$(RM) $(ODIR)/libjpeg-turbo.exe $(RM) $(ODIR)/libjpeg-turbo.exe
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo \ makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo \
-DWLIBDIR=windows -DWSRCDIR=. -DWBLDDIR=windows -DWHDRDIR=win \ -DWLIBDIR=windows -DWSRCDIR=. -DWBLDDIR=windows -DWHDRDIR=win \
-DPLATFORM="Visual C++" release/libjpeg-turbo.nsi -DPLATFORM="Visual C++" release/libjpeg-turbo.nsi
endif
test: testclean $(ODIR)/cjpeg.exe $(ODIR)/djpeg.exe $(ODIR)/jpegtran.exe \ test: testclean $(ODIR)/cjpeg.exe $(ODIR)/djpeg.exe $(ODIR)/jpegtran.exe \

View File

@@ -1,20 +1,19 @@
ODIR = windows ODIR = windows
WIN64 = no WIN64 = no
# Win64 doesn't work yet, for unknown reasons ifeq ($(PROCESSOR_ARCHITECTURE), AMD64)
#ifeq ($(PROCESSOR_ARCHITECTURE), AMD64) WIN64 = yes
# WIN64 = yes else
#else ifeq ($(PROCESSOR_ARCHITEW6432), AMD64)
# ifeq ($(PROCESSOR_ARCHITEW6432), AMD64) WIN64 = yes
# WIN64 = yes endif
# endif endif
#endif
ifeq ($(WIN64), yes) ifeq ($(WIN64), yes)
ODIR = windows64 ODIR = windows64
endif endif
_DUMMY := $(shell mkdir -p $(ODIR)) _DUMMY := $(shell mkdir -p $(ODIR))
VERSION = 0.0.90 VERSION = 1.0.0
CC = "cl" -nologo CC = "cl" -nologo
CXX = "cl" -EHsc -nologo CXX = "cl" -EHsc -nologo
@@ -27,8 +26,8 @@ ifeq ($(NASM),)
NASM = nasm NASM = nasm
endif endif
CFLAGS = -W3 -wd4996 -Iwin -I. CFLAGS = -W3 -wd4996 -Iwin -I. -DBMP_SUPPORTED -DGIF_SUPPORTED \
CDEFINES = -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -DPPM_SUPPORTED -DTARGA_SUPPORTED
ifeq ($(WIN64), yes) ifeq ($(WIN64), yes)
NAFLAGS = -fwin64 -DWIN64 -DMSVC -D__x86_64__ -Iwin/ NAFLAGS = -fwin64 -DWIN64 -DMSVC -D__x86_64__ -Iwin/
else else