rpms/libjpeg/devel configure.in, NONE, 1.1 libjpeg-cflags.patch, 1.1, 1.2 libjpeg.spec, 1.22, 1.23 libjpeg-6b-arm.patch, 1.1, NONE libjpeg-rpath.patch, 1.1, NONE libjpeg-shared.patch, 1.1, NONE
Tom Lane (tgl)
fedora-extras-commits at redhat.com
Sun Jan 13 20:32:26 UTC 2008
- Previous message (by thread): rpms/openser/EL-5 openser.spec,1.5,1.6
- Next message (by thread): rpms/vnstat/devel .cvsignore, 1.2, 1.3 sources, 1.2, 1.3 vnstat.spec, 1.8, 1.9 FAQ.vnstat, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: tgl
Update of /cvs/pkgs/rpms/libjpeg/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24678
Modified Files:
libjpeg-cflags.patch libjpeg.spec
Added Files:
configure.in
Removed Files:
libjpeg-6b-arm.patch libjpeg-rpath.patch libjpeg-shared.patch
Log Message:
Update the ancient libtool and configure scripts shipped with libjpeg-6b.
--- NEW FILE configure.in ---
dnl IJG auto-configuration source file.
dnl Process this file with autoconf to produce a configure script.
AC_INIT(jcmaster.c)
AC_CONFIG_HEADER(jconfig.h:jconfig.cfg)
dnl
dnl do these first since other macros rely on them
AC_PROG_CC
AC_PROG_CPP
dnl
dnl See if compiler supports prototypes.
AC_MSG_CHECKING(for function prototypes)
AC_CACHE_VAL(ijg_cv_have_prototypes,
[AC_TRY_COMPILE([
int testfunction (int arg1, int * arg2); /* check prototypes */
struct methods_struct { /* check method-pointer declarations */
int (*error_exit) (char *msgtext);
int (*trace_message) (char *msgtext);
int (*another_method) (void);
};
int testfunction (int arg1, int * arg2) /* check definitions */
{ return arg2[arg1]; }
int test2function (void) /* check void arg list */
{ return 0; }
], [ ], ijg_cv_have_prototypes=yes, ijg_cv_have_prototypes=no)])
AC_MSG_RESULT($ijg_cv_have_prototypes)
if test $ijg_cv_have_prototypes = yes; then
AC_DEFINE(HAVE_PROTOTYPES,1)
else
echo Your compiler does not seem to know about function prototypes.
echo Perhaps it needs a special switch to enable ANSI C mode.
echo If so, we recommend running configure like this:
echo " ./configure CC='cc -switch'"
echo where -switch is the proper switch.
fi
dnl
dnl check header files
AC_CHECK_HEADER(stddef.h, AC_DEFINE(HAVE_STDDEF_H,1))
AC_CHECK_HEADER(stdlib.h, AC_DEFINE(HAVE_STDLIB_H,1))
AC_CHECK_HEADER(string.h,, AC_DEFINE(NEED_BSD_STRINGS,1))
dnl See whether type size_t is defined in any ANSI-standard places;
dnl if not, perhaps it is defined in <sys/types.h>.
AC_MSG_CHECKING(for size_t)
AC_TRY_COMPILE([
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#include <stdio.h>
#ifdef NEED_BSD_STRINGS
#include <strings.h>
#else
#include <string.h>
#endif
typedef size_t my_size_t;
], [ my_size_t foovar; ], ijg_size_t_ok=yes,
[ijg_size_t_ok="not ANSI, perhaps it is in sys/types.h"])
AC_MSG_RESULT($ijg_size_t_ok)
if test "$ijg_size_t_ok" != yes; then
AC_CHECK_HEADER(sys/types.h, [AC_DEFINE(NEED_SYS_TYPES_H,1)
AC_EGREP_CPP(size_t, [#include <sys/types.h>],
[ijg_size_t_ok="size_t is in sys/types.h"], ijg_size_t_ok=no)],
ijg_size_t_ok=no)
AC_MSG_RESULT($ijg_size_t_ok)
if test "$ijg_size_t_ok" = no; then
echo Type size_t is not defined in any of the usual places.
echo Try putting '"typedef unsigned int size_t;"' in jconfig.h.
fi
fi
dnl
dnl check compiler characteristics
AC_MSG_CHECKING(for type unsigned char)
AC_TRY_COMPILE(, [ unsigned char un_char; ],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_UNSIGNED_CHAR,1)], AC_MSG_RESULT(no))
AC_MSG_CHECKING(for type unsigned short)
AC_TRY_COMPILE(, [ unsigned short un_short; ],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_UNSIGNED_SHORT,1)], AC_MSG_RESULT(no))
AC_MSG_CHECKING(for type void)
AC_TRY_COMPILE([
/* Caution: a C++ compiler will insist on valid prototypes */
typedef void * void_ptr; /* check void * */
#ifdef HAVE_PROTOTYPES /* check ptr to function returning void */
typedef void (*void_func) (int a, int b);
#else
typedef void (*void_func) ();
#endif
#ifdef HAVE_PROTOTYPES /* check void function result */
void test3function (void_ptr arg1, void_func arg2)
#else
void test3function (arg1, arg2)
void_ptr arg1;
void_func arg2;
#endif
{
char * locptr = (char *) arg1; /* check casting to and from void * */
arg1 = (void *) locptr;
(*arg2) (1, 2); /* check call of fcn returning void */
}
], [ ], AC_MSG_RESULT(yes), [AC_MSG_RESULT(no)
AC_DEFINE(void,char)])
AC_C_CONST
dnl check for non-broken inline under various spellings
AC_MSG_CHECKING(for inline)
ijg_cv_inline=""
AC_TRY_COMPILE(, [} __inline__ int foo() { return 0; }
int bar() { return foo();], ijg_cv_inline="__inline__",
AC_TRY_COMPILE(, [} __inline int foo() { return 0; }
int bar() { return foo();], ijg_cv_inline="__inline",
AC_TRY_COMPILE(, [} inline int foo() { return 0; }
int bar() { return foo();], ijg_cv_inline="inline")))
AC_MSG_RESULT($ijg_cv_inline)
AC_DEFINE_UNQUOTED(INLINE,$ijg_cv_inline)
dnl we cannot check for bogus warnings, but at least we can check for errors
AC_MSG_CHECKING(for broken incomplete types)
AC_TRY_COMPILE([ typedef struct undefined_structure * undef_struct_ptr; ], ,
AC_MSG_RESULT(ok),
[AC_MSG_RESULT(broken)
AC_DEFINE(INCOMPLETE_TYPES_BROKEN,1)])
dnl test whether global names are unique to at least 15 chars
AC_MSG_CHECKING(for short external names)
AC_TRY_LINK([
int possibly_duplicate_function () { return 0; }
int possibly_dupli_function () { return 1; }
], [ ], AC_MSG_RESULT(ok), [AC_MSG_RESULT(short)
AC_DEFINE(NEED_SHORT_EXTERNAL_NAMES,1)])
dnl
dnl run-time checks
AC_MSG_CHECKING(to see if char is signed)
AC_TRY_RUN([
#ifdef HAVE_PROTOTYPES
int is_char_signed (int arg)
#else
int is_char_signed (arg)
int arg;
#endif
{
if (arg == 189) { /* expected result for unsigned char */
return 0; /* type char is unsigned */
}
else if (arg != -67) { /* expected result for signed char */
printf("Hmm, it seems 'char' is not eight bits wide on your machine.\n");
printf("I fear the JPEG software will not work at all.\n\n");
}
return 1; /* assume char is signed otherwise */
}
char signed_char_check = (char) (-67);
int main() {
exit(is_char_signed((int) signed_char_check));
}], [AC_MSG_RESULT(no)
AC_DEFINE(CHAR_IS_UNSIGNED,1)], AC_MSG_RESULT(yes),
[echo Assuming that char is signed on target machine.
echo If it is unsigned, this will be a little bit inefficient.
])
dnl
AC_MSG_CHECKING(to see if right shift is signed)
AC_TRY_RUN([
#ifdef HAVE_PROTOTYPES
int is_shifting_signed (long arg)
#else
int is_shifting_signed (arg)
long arg;
#endif
/* See whether right-shift on a long is signed or not. */
{
long res = arg >> 4;
if (res == -0x7F7E80CL) { /* expected result for signed shift */
return 1; /* right shift is signed */
}
/* see if unsigned-shift hack will fix it. */
/* we can't just test exact value since it depends on width of long... */
res |= (~0L) << (32-4);
if (res == -0x7F7E80CL) { /* expected result now? */
return 0; /* right shift is unsigned */
}
printf("Right shift isn't acting as I expect it to.\n");
printf("I fear the JPEG software will not work at all.\n\n");
return 0; /* try it with unsigned anyway */
}
int main() {
exit(is_shifting_signed(-0x7F7E80B1L));
}], [AC_MSG_RESULT(no)
AC_DEFINE(RIGHT_SHIFT_IS_UNSIGNED,1)], AC_MSG_RESULT(yes),
AC_MSG_RESULT(Assuming that right shift is signed on target machine.))
dnl
AC_MSG_CHECKING(to see if fopen accepts b spec)
AC_TRY_RUN([
#include <stdio.h>
int main() {
if (fopen("conftestdata", "wb") != NULL)
exit(0);
exit(1);
}], AC_MSG_RESULT(yes), [AC_MSG_RESULT(no)
AC_DEFINE(DONT_USE_B_MODE,1)],
AC_MSG_RESULT(Assuming that it does.))
dnl
dnl system services
AC_PROG_INSTALL
AC_PROG_RANLIB
# Decide whether to use libtool,
# and if so whether to build shared, static, or both flavors of library.
AC_DISABLE_SHARED
AC_DISABLE_STATIC
if test "x$enable_shared" != xno -o "x$enable_static" != xno; then
USELIBTOOL="yes"
# Configure libtool.
AC_PROG_LIBTOOL
LIBTOOL="./libtool"
O="lo"
A="la"
LN='$(LIBTOOL) --mode=link $(CC)'
INSTALL_LIB='$(LIBTOOL) --mode=install ${INSTALL}'
INSTALL_PROGRAM="\$(LIBTOOL) --mode=install $INSTALL_PROGRAM"
else
USELIBTOOL="no"
LIBTOOL=""
O="o"
A="a"
LN='$(CC)'
INSTALL_LIB="$INSTALL_DATA"
fi
AC_SUBST(LIBTOOL)
AC_SUBST(O)
AC_SUBST(A)
AC_SUBST(LN)
AC_SUBST(INSTALL_LIB)
# Select memory manager depending on user input.
# If no "-enable-maxmem", use jmemnobs
MEMORYMGR='jmemnobs.$(O)'
MAXMEM="no"
AC_ARG_ENABLE(maxmem,
[ --enable-maxmem[=N] enable use of temp files, set max mem usage to N MB],
MAXMEM="$enableval")
dnl [# support --with-maxmem for backwards compatibility with IJG V5.]
dnl AC_ARG_WITH(maxmem, , MAXMEM="$withval")
if test "x$MAXMEM" = xyes; then
MAXMEM=1
fi
if test "x$MAXMEM" != xno; then
changequote(, )dnl
if test -n "`echo $MAXMEM | sed 's/[0-9]//g'`"; then
changequote([, ])dnl
AC_MSG_ERROR(non-numeric argument to --enable-maxmem)
fi
DEFAULTMAXMEM=`expr $MAXMEM \* 1048576`
AC_DEFINE_UNQUOTED(DEFAULT_MAX_MEM, ${DEFAULTMAXMEM})
AC_MSG_CHECKING([for 'tmpfile()'])
AC_TRY_LINK([#include <stdio.h>], [ FILE * tfile = tmpfile(); ],
[AC_MSG_RESULT(yes)
MEMORYMGR='jmemansi.$(O)'],
[AC_MSG_RESULT(no)
dnl if tmpfile is not present, must use jmemname.
MEMORYMGR='jmemname.$(O)'
AC_DEFINE(NEED_SIGNAL_CATCHER,1)
AC_MSG_CHECKING([for 'mktemp()'])
AC_TRY_LINK(, [ char fname[80]; mktemp(fname); ], AC_MSG_RESULT(yes),
[AC_MSG_RESULT(no)
AC_DEFINE(NO_MKTEMP,1)])])
fi
AC_SUBST(MEMORYMGR)
# Include PNG support in cjpeg/djpeg if appropriate.
AC_ARG_WITH(png,
[ --with-png enable PNG support in cjpeg/djpeg],
[#], [with_png="maybe"])
# try to detect whether libpng is present
if test "x$with_png" = xmaybe ; then
AC_CHECK_HEADER(png.h, [: ok so far], [with_png="no"])
fi
if test "x$with_png" = xmaybe ; then
AC_CHECK_HEADER(zlib.h, [: ok so far], [with_png="no"])
fi
if test "x$with_png" = xmaybe ; then
AC_CHECK_LIB(z, deflate, [: ok so far], [with_png="no"])
fi
if test "x$with_png" = xmaybe ; then
AC_CHECK_LIB(png, png_create_info_struct,
[with_png="yes"], [with_png="no"], [-lz -lm])
fi
if test "x$with_png" = xyes ; then
AC_DEFINE(PNG_SUPPORTED,1)
LIBS="-lpng -lz -lm $LIBS"
fi
# Extract the library version ID from jpeglib.h.
AC_MSG_CHECKING([libjpeg version number])
[JPEG_LIB_VERSION=`sed -e '/^#define JPEG_LIB_VERSION/!d' -e 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' $srcdir/jpeglib.h`]
AC_MSG_RESULT($JPEG_LIB_VERSION)
AC_SUBST(JPEG_LIB_VERSION)
# Prepare to massage makefile.cfg correctly.
if test $ijg_cv_have_prototypes = yes; then
A2K_DEPS=""
COM_A2K="# "
else
A2K_DEPS="ansi2knr"
COM_A2K=""
fi
AC_SUBST(A2K_DEPS)
AC_SUBST(COM_A2K)
# ansi2knr needs -DBSD if string.h is missing
if test $ac_cv_header_string_h = no; then
ANSI2KNRFLAGS="-DBSD"
else
ANSI2KNRFLAGS=""
fi
AC_SUBST(ANSI2KNRFLAGS)
dnl
# Substitutions to enable or disable libtool-related stuff
if test $USELIBTOOL = yes -a $ijg_cv_have_prototypes = yes; then
COM_LT=""
else
COM_LT="# "
fi
AC_SUBST(COM_LT)
if test "x$enable_shared" != xno; then
FORCE_INSTALL_LIB="install-lib"
else
FORCE_INSTALL_LIB=""
fi
AC_SUBST(FORCE_INSTALL_LIB)
dnl
# Set up -I directives
if test "x$srcdir" = x.; then
INCLUDEFLAGS='-I$(srcdir)'
else
if test "x$GCC" = xyes; then
INCLUDEFLAGS='-I- -I. -I$(srcdir)'
else
INCLUDEFLAGS='-I. -I$(srcdir)'
fi
fi
AC_SUBST(INCLUDEFLAGS)
dnl
AC_OUTPUT(Makefile:makefile.cfg)
libjpeg-cflags.patch:
Index: libjpeg-cflags.patch
===================================================================
RCS file: /cvs/pkgs/rpms/libjpeg/devel/libjpeg-cflags.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- libjpeg-cflags.patch 27 Jul 2006 18:16:03 -0000 1.1
+++ libjpeg-cflags.patch 13 Jan 2008 20:32:05 -0000 1.2
@@ -18,14 +18,3 @@
-rpath $(libdir) -version-info $(JPEG_LIB_VERSION)
# sample programs:
---- jpeg-6b/ltconfig.BAD 2006-07-10 17:33:04.000000000 -0400
-+++ jpeg-6b/ltconfig 2006-07-10 17:33:18.000000000 -0400
-@@ -760,7 +760,7 @@
-
- *)
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-- archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
-+ archive_cmds='$CC $CFLAGS -shared ${wl}-soname $wl$soname -o $lib$libobjs'
- else
- ld_shlibs=no
- fi
Index: libjpeg.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libjpeg/devel/libjpeg.spec,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- libjpeg.spec 22 Aug 2007 16:22:00 -0000 1.22
+++ libjpeg.spec 13 Jan 2008 20:32:05 -0000 1.23
@@ -1,20 +1,20 @@
Summary: A library for manipulating JPEG image format files
Name: libjpeg
Version: 6b
-Release: 39%{?dist}
+Release: 40%{?dist}
License: IJG
Group: System Environment/Libraries
URL: http://www.ijg.org/
Source0: ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.bz2
-Patch0: libjpeg-6b-arm.patch
+Source1: configure.in
+
Patch1: jpeg-c++.patch
-Patch2: libjpeg-shared.patch
-Patch3: libjpeg-rpath.patch
Patch4: libjpeg-cflags.patch
Patch5: libjpeg-buf-oflo.patch
-Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildRequires: autoconf libtool
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
The libjpeg package contains a library of functions for manipulating
@@ -53,13 +53,22 @@
%prep
%setup -q -n jpeg-6b
-%patch0 -p1 -b .arm
%patch1 -p1 -b .c++
-%patch2 -p1 -b .ppcshared
-%patch3 -p1 -b .rpath
%patch4 -p1 -b .cflags
%patch5 -p1 -b .oflo
+# For long-obsolete reasons, libjpeg 6b doesn't ship with a configure.in.
+# We need to re-autoconf though, in order to update libtool support,
+# so supply configure.in.
+cp %{SOURCE1} configure.in
+
+# libjpeg 6b includes a horribly obsolete version of libtool.
+# Blow it away and replace with build system's version.
+rm -f config.guess config.sub ltmain.sh ltconfig aclocal.m4
+cp /usr/share/aclocal/libtool.m4 aclocal.m4
+libtoolize
+autoconf
+
%build
%configure --enable-shared --enable-static
@@ -107,6 +116,16 @@
rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 13 2008 Tom Lane <tgl at redhat.com> - 6b-40
+- Rip out the long-obsolete version of libtool that shipped with libjpeg 6b,
+ and instead use the build system's libtool. This obsoletes most of the
+ patches we were carrying.
+- Fix configure script to #define the various HAVE_FOO macros as 1, not empty,
+ for better compatibility with most other autoconf-using packages. (This
+ requires importing the original IJG configure.in, which was not shipped
+ in libjpeg-6b for reasons that no longer seem very good.)
+Resolves: #427616
+
* Wed Aug 22 2007 Tom Lane <tgl at redhat.com> - 6b-39
- Update License tag
- Rebuild to fix Fedora toolchain issues
--- libjpeg-6b-arm.patch DELETED ---
--- libjpeg-rpath.patch DELETED ---
--- libjpeg-shared.patch DELETED ---
- Previous message (by thread): rpms/openser/EL-5 openser.spec,1.5,1.6
- Next message (by thread): rpms/vnstat/devel .cvsignore, 1.2, 1.3 sources, 1.2, 1.3 vnstat.spec, 1.8, 1.9 FAQ.vnstat, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list