Build and package TurboJPEG/OSS Java wrapper into JAR file
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@549 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
47
Makefile.am
47
Makefile.am
@@ -37,14 +37,16 @@ endif
|
|||||||
libturbojpeg_la_SOURCES = $(libjpeg_la_SOURCES) turbojpegl.c turbojpeg.h \
|
libturbojpeg_la_SOURCES = $(libjpeg_la_SOURCES) turbojpegl.c turbojpeg.h \
|
||||||
transupp.c transupp.h
|
transupp.c transupp.h
|
||||||
|
|
||||||
if WITH_JNI
|
if WITH_JAVA
|
||||||
|
|
||||||
|
SUBDIRS = java
|
||||||
libturbojpeg_la_SOURCES += turbojpeg-jni.c
|
libturbojpeg_la_SOURCES += turbojpeg-jni.c
|
||||||
libturbojpeg_la_CFLAGS = ${JNI_CFLAGS}
|
libturbojpeg_la_CFLAGS = ${JNI_CFLAGS}
|
||||||
TJMAPFILE = turbojpeg-mapfile.jni
|
TJMAPFILE = turbojpeg-mapfile.jni
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
TJMAPFILE = turbojpeg-mapfile
|
TJMAPFILE = turbojpeg-mapfile
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@@ -60,7 +62,7 @@ endif
|
|||||||
|
|
||||||
if WITH_SIMD
|
if WITH_SIMD
|
||||||
|
|
||||||
SUBDIRS = simd
|
SUBDIRS += simd
|
||||||
libjpeg_la_LIBADD = simd/libsimd.la
|
libjpeg_la_LIBADD = simd/libsimd.la
|
||||||
libturbojpeg_la_LIBADD = simd/libsimd.la
|
libturbojpeg_la_LIBADD = simd/libsimd.la
|
||||||
|
|
||||||
@@ -132,6 +134,12 @@ dist-hook:
|
|||||||
|
|
||||||
|
|
||||||
test: testclean all
|
test: testclean all
|
||||||
|
if WITH_JAVA
|
||||||
|
$(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest
|
||||||
|
$(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest -bi
|
||||||
|
$(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest -yuv
|
||||||
|
$(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest -yuv -bi
|
||||||
|
endif
|
||||||
./jpegut
|
./jpegut
|
||||||
./jpegut -yuv
|
./jpegut -yuv
|
||||||
./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
|
./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
|
||||||
@@ -182,25 +190,30 @@ endif
|
|||||||
|
|
||||||
testclean:
|
testclean:
|
||||||
rm -f testout*
|
rm -f testout*
|
||||||
rm -f *_GRAYQ[0-9]*.bmp
|
rm -f *_GRAY_*.bmp
|
||||||
rm -f *_GRAYQ[0-9]*.ppm
|
rm -f *_GRAY_*.png
|
||||||
rm -f *_GRAYQ[0-9]*.jpg
|
rm -f *_GRAY_*.ppm
|
||||||
|
rm -f *_GRAY_*.jpg
|
||||||
rm -f *_GRAY.yuv
|
rm -f *_GRAY.yuv
|
||||||
rm -f *_420Q[0-9]*.bmp
|
rm -f *_420_*.bmp
|
||||||
rm -f *_420Q[0-9]*.ppm
|
rm -f *_420_*.png
|
||||||
rm -f *_420Q[0-9]*.jpg
|
rm -f *_420_*.ppm
|
||||||
|
rm -f *_420_*.jpg
|
||||||
rm -f *_420.yuv
|
rm -f *_420.yuv
|
||||||
rm -f *_422Q[0-9]*.bmp
|
rm -f *_422_*.bmp
|
||||||
rm -f *_422Q[0-9]*.ppm
|
rm -f *_422_*.png
|
||||||
rm -f *_422Q[0-9]*.jpg
|
rm -f *_422_*.ppm
|
||||||
|
rm -f *_422_*.jpg
|
||||||
rm -f *_422.yuv
|
rm -f *_422.yuv
|
||||||
rm -f *_444Q[0-9]*.bmp
|
rm -f *_444_*.bmp
|
||||||
rm -f *_444Q[0-9]*.ppm
|
rm -f *_444_*.png
|
||||||
rm -f *_444Q[0-9]*.jpg
|
rm -f *_444_*.ppm
|
||||||
|
rm -f *_444_*.jpg
|
||||||
rm -f *_444.yuv
|
rm -f *_444.yuv
|
||||||
rm -f *_440Q[0-9]*.bmp
|
rm -f *_440_*.bmp
|
||||||
rm -f *_440Q[0-9]*.ppm
|
rm -f *_440_*.png
|
||||||
rm -f *_440Q[0-9]*.jpg
|
rm -f *_440_*.ppm
|
||||||
|
rm -f *_440_*.jpg
|
||||||
rm -f *_440.yuv
|
rm -f *_440.yuv
|
||||||
|
|
||||||
if X86_64
|
if X86_64
|
||||||
|
|||||||
44
configure.ac
44
configure.ac
@@ -196,21 +196,37 @@ AM_CONDITIONAL([WITH_ARITH_DEC], [test "x$with_arith_dec" != "xno"])
|
|||||||
|
|
||||||
AM_CONDITIONAL([WITH_ARITH], [test "x$with_arith_dec" != "xno" -o "x$with_arith_enc" != "xno"])
|
AM_CONDITIONAL([WITH_ARITH], [test "x$with_arith_dec" != "xno" -o "x$with_arith_enc" != "xno"])
|
||||||
|
|
||||||
AC_ARG_VAR(JNI_CFLAGS, [Compiler flags needed to find jni.h (default: -I/System/Library/Frameworks/JavaVM.framework/Headers on OS X, '-I/usr/java/include -I/usr/java/include/solaris' on Solaris, and '-I/usr/java/default/include -I/usr/java/default/include/linux' on Linux)])
|
AC_ARG_VAR(JAVAC, [Java compiler command (default: javac)])
|
||||||
|
if test "x$JAVAC" = "x"; then
|
||||||
|
JAVAC=javac
|
||||||
|
fi
|
||||||
|
AC_SUBST(JAVAC)
|
||||||
|
AC_ARG_VAR(JAVACFLAGS, [Java compiler flags])
|
||||||
|
AC_SUBST(JAVACFLAGS)
|
||||||
|
AC_ARG_VAR(JAR, [Java archive command (default: jar)])
|
||||||
|
if test "x$JAR" = "x"; then
|
||||||
|
JAR=jar
|
||||||
|
fi
|
||||||
|
AC_SUBST(JAR)
|
||||||
|
AC_ARG_VAR(JAVA, [Java runtime command (default: java)])
|
||||||
|
if test "x$JAVA" = "x"; then
|
||||||
|
JAVA=java
|
||||||
|
fi
|
||||||
|
AC_SUBST(JAVA)
|
||||||
|
AC_ARG_VAR(JNI_CFLAGS, [C compiler flags needed to include jni.h (default: -I/System/Library/Frameworks/JavaVM.framework/Headers on OS X, '-I/usr/java/include -I/usr/java/include/solaris' on Solaris, and '-I/usr/java/default/include -I/usr/java/default/include/linux' on Linux)])
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to include JNI wrapper in TurboJPEG/OSS])
|
AC_MSG_CHECKING([whether to build TurboJPEG/OSS Java wrapper])
|
||||||
AC_ARG_WITH([jni],
|
AC_ARG_WITH([java],
|
||||||
AC_HELP_STRING([--with-jni],[Include JNI wrapper in the TurboJPEG/OSS library]))
|
AC_HELP_STRING([--with-java],[Build Java wrapper for the TurboJPEG/OSS library]))
|
||||||
|
|
||||||
BUILDJNILIB=0
|
|
||||||
RPM_CONFIG_ARGS=
|
RPM_CONFIG_ARGS=
|
||||||
if test "x$with_jni" = "xyes"; then
|
WITH_JAVA=0
|
||||||
|
if test "x$with_java" = "xyes"; then
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
darwin*)
|
darwin*)
|
||||||
DEFAULT_JNI_CFLAGS=-I/System/Library/Frameworks/JavaVM.framework/Headers
|
DEFAULT_JNI_CFLAGS=-I/System/Library/Frameworks/JavaVM.framework/Headers
|
||||||
BUILDJNILIB=1
|
|
||||||
;;
|
;;
|
||||||
solaris*)
|
solaris*)
|
||||||
DEFAULT_JNI_CFLAGS='-I/usr/java/include -I/usr/java/include/solaris'
|
DEFAULT_JNI_CFLAGS='-I/usr/java/include -I/usr/java/include/solaris'
|
||||||
@@ -230,12 +246,17 @@ if test "x$with_jni" = "xyes"; then
|
|||||||
CPPFLAGS=${SAVE_CPPFLAGS}
|
CPPFLAGS=${SAVE_CPPFLAGS}
|
||||||
AC_SUBST(JNI_CFLAGS)
|
AC_SUBST(JNI_CFLAGS)
|
||||||
|
|
||||||
RPM_CONFIG_ARGS=--with-jni
|
RPM_CONFIG_ARGS=--with-java
|
||||||
|
JAVA_RPM_CONTENTS_1='%dir /opt/%{name}/classes'
|
||||||
|
JAVA_RPM_CONTENTS_2=/opt/%{name}/classes/turbojpeg.jar
|
||||||
|
WITH_JAVA=1
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL([WITH_JNI], [test "x$with_jni" = "xyes"])
|
AM_CONDITIONAL([WITH_JAVA], [test "x$with_java" = "xyes"])
|
||||||
AC_SUBST(BUILDJNILIB)
|
AC_SUBST(WITH_JAVA)
|
||||||
|
AC_SUBST(JAVA_RPM_CONTENTS_1)
|
||||||
|
AC_SUBST(JAVA_RPM_CONTENTS_2)
|
||||||
AC_SUBST(RPM_CONFIG_ARGS)
|
AC_SUBST(RPM_CONFIG_ARGS)
|
||||||
|
|
||||||
# SIMD is optional
|
# SIMD is optional
|
||||||
@@ -306,4 +327,7 @@ AC_CONFIG_FILES([pkgscripts/makesunpkg:release/makesunpkg.in])
|
|||||||
AC_CONFIG_FILES([pkgscripts/pkginfo:release/pkginfo.in])
|
AC_CONFIG_FILES([pkgscripts/pkginfo:release/pkginfo.in])
|
||||||
AC_CONFIG_FILES([libjpeg.map])
|
AC_CONFIG_FILES([libjpeg.map])
|
||||||
AC_CONFIG_FILES([Makefile simd/Makefile])
|
AC_CONFIG_FILES([Makefile simd/Makefile])
|
||||||
|
if test "x$with_java" = "xyes"; then
|
||||||
|
AC_CONFIG_FILES([java/Makefile])
|
||||||
|
fi
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|||||||
2
java/MANIFEST.MF
Normal file
2
java/MANIFEST.MF
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Manifest-Version: 1.0
|
||||||
|
Main-Class: TJExample
|
||||||
34
java/Makefile.am
Normal file
34
java/Makefile.am
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
JAVAROOT = .
|
||||||
|
|
||||||
|
dist_noinst_JAVA = org/libjpegturbo/turbojpeg/TJ.java \
|
||||||
|
org/libjpegturbo/turbojpeg/TJCompressor.java \
|
||||||
|
org/libjpegturbo/turbojpeg/TJDecompressor.java \
|
||||||
|
org/libjpegturbo/turbojpeg/TJTransform.java \
|
||||||
|
org/libjpegturbo/turbojpeg/TJTransformer.java \
|
||||||
|
TJExample.java \
|
||||||
|
TJUnitTest.java
|
||||||
|
|
||||||
|
JAVA_CLASSES = org/libjpegturbo/turbojpeg/TJ.class \
|
||||||
|
org/libjpegturbo/turbojpeg/TJCompressor.class \
|
||||||
|
org/libjpegturbo/turbojpeg/TJDecompressor.class \
|
||||||
|
org/libjpegturbo/turbojpeg/TJTransform.class \
|
||||||
|
org/libjpegturbo/turbojpeg/TJTransformer.class \
|
||||||
|
TJExample.class \
|
||||||
|
TJUnitTest.class
|
||||||
|
|
||||||
|
all: all-am turbojpeg.jar
|
||||||
|
|
||||||
|
turbojpeg.jar: $(JAVA_CLASSES) ${srcdir}/MANIFEST.MF
|
||||||
|
$(JAR) cfm turbojpeg.jar ${srcdir}/MANIFEST.MF $(JAVA_CLASSES) \
|
||||||
|
org/libjpegturbo/turbojpeg/TJ\$$ScalingFactor.class
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
rm -f turbojpeg.jar
|
||||||
|
|
||||||
|
install-exec-local: turbojpeg.jar
|
||||||
|
mkdir -p $(DESTDIR)/$(prefix)/classes
|
||||||
|
$(INSTALL) -m 644 turbojpeg.jar $(DESTDIR)/$(prefix)/classes/
|
||||||
|
|
||||||
|
uninstall-local:
|
||||||
|
rm -f $(DESTDIR)/$(prefix)/classes/turbojpeg.jar
|
||||||
|
if [ -d $(DESTDIR)/$(prefix)/classes ]; then rmdir $(DESTDIR)/$(prefix)/classes; fi
|
||||||
@@ -104,5 +104,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
/opt/%{name}/man/man1/jpegtran.1*
|
/opt/%{name}/man/man1/jpegtran.1*
|
||||||
/opt/%{name}/man/man1/rdjpgcom.1*
|
/opt/%{name}/man/man1/rdjpgcom.1*
|
||||||
/opt/%{name}/man/man1/wrjpgcom.1*
|
/opt/%{name}/man/man1/wrjpgcom.1*
|
||||||
|
@JAVA_RPM_CONTENTS_1@
|
||||||
|
@JAVA_RPM_CONTENTS_2@
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ VERSION=@VERSION@
|
|||||||
BUILD=@BUILD@
|
BUILD=@BUILD@
|
||||||
SRCDIR=@abs_top_srcdir@
|
SRCDIR=@abs_top_srcdir@
|
||||||
BUILDDIR32=@abs_top_srcdir@/osxx86
|
BUILDDIR32=@abs_top_srcdir@/osxx86
|
||||||
BUILDJNILIB=@BUILDJNILIB@
|
WITH_JAVA=@WITH_JAVA@
|
||||||
if [ $# -gt 0 ]; then
|
if [ $# -gt 0 ]; then
|
||||||
if [ "$1" = "universal" ]; then
|
if [ "$1" = "universal" ]; then
|
||||||
UNIVERSAL=1
|
UNIVERSAL=1
|
||||||
@@ -123,7 +123,7 @@ 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/include/turbojpeg.h $PKGROOT/opt/$PACKAGE_NAME/include/
|
||||||
ln -fs /usr/lib/libturbojpeg.a $PKGROOT/opt/$PACKAGE_NAME/lib/
|
ln -fs /usr/lib/libturbojpeg.a $PKGROOT/opt/$PACKAGE_NAME/lib/
|
||||||
if [ $BUILDJNILIB = 1 ]; then
|
if [ $WITH_JAVA = 1 ]; then
|
||||||
ln -fs libturbojpeg.dylib $PKGROOT/usr/lib/libturbojpeg.jnilib
|
ln -fs libturbojpeg.dylib $PKGROOT/usr/lib/libturbojpeg.jnilib
|
||||||
fi
|
fi
|
||||||
if [ ! -h $PKGROOT/opt/$PACKAGE_NAME/lib32 ]; then
|
if [ ! -h $PKGROOT/opt/$PACKAGE_NAME/lib32 ]; then
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ BUILD=@BUILD@
|
|||||||
PKGARCH=@DEBARCH@
|
PKGARCH=@DEBARCH@
|
||||||
SRCDIR=@abs_top_srcdir@
|
SRCDIR=@abs_top_srcdir@
|
||||||
BUILDDIR32=@abs_top_srcdir@/solx86
|
BUILDDIR32=@abs_top_srcdir@/solx86
|
||||||
|
WITH_JAVA=@WITH_JAVA@
|
||||||
if [ $# -gt 0 ]; then
|
if [ $# -gt 0 ]; then
|
||||||
if [ "$1" = "combined" ]; then
|
if [ "$1" = "combined" ]; then
|
||||||
COMBINED=1
|
COMBINED=1
|
||||||
@@ -128,6 +129,10 @@ 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/README-turbo.txt 0644 root bin
|
||||||
f none $PACKAGE_NAME/doc/usage.txt 0644 root bin
|
f none $PACKAGE_NAME/doc/usage.txt 0644 root bin
|
||||||
EOF
|
EOF
|
||||||
|
if [ $WITH_JAVA = 1 ]; then
|
||||||
|
echo d none $PACKAGE_NAME/classes 0755 root bin >>$TMPDIR/proto
|
||||||
|
echo f none $PACKAGE_NAME/classes/turbojpeg.jar 0644 root bin >>$TMPDIR/proto
|
||||||
|
fi
|
||||||
|
|
||||||
pkgmk -o -r $TMPDIR/opt -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-$VERSION.pkg $PACKAGE_NAME
|
pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME-$VERSION.pkg $PACKAGE_NAME
|
||||||
|
|||||||
@@ -63,6 +63,9 @@ fi
|
|||||||
if [ -d /opt/$PKGNAME/man ]; then
|
if [ -d /opt/$PKGNAME/man ]; then
|
||||||
rmdir /opt/$PKGNAME/man 2>&1 || RETCODE=-1
|
rmdir /opt/$PKGNAME/man 2>&1 || RETCODE=-1
|
||||||
fi
|
fi
|
||||||
|
if [ -d /opt/$PKGNAME/classes ]; then
|
||||||
|
rmdir /opt/$PKGNAME/classes 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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user