djvulibre 3.5.27 (shared-only)

pull/1286/head
darealshinji 8 years ago
parent 6d1fe0795d
commit 4e4f031a69

@ -1,311 +1,31 @@
This file is part of MXE.
See index.html for further information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: darealshinji <djcj@gmx.de>
Date: Sat, 9 Apr 2016 12:50:15 +0200
Subject: [PATCH] skip desktopfiles
Desktop files not needed for MXE.
diff --git a/Makefile.in b/Makefile.in
index 1111111..2222222 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -32,7 +32,7 @@ SUBDIRS_FIRST = libdjvu tools
@XML_YES@SUBDIRS_XML = xmltools
@XML_NO@SUBDIRS_XML =
-SUBDIRS_LAST = desktopfiles
+@DESKTOP_YES@SUBDIRS_LAST = desktopfiles
SUBDIRS = ${SUBDIRS_FIRST} ${SUBDIRS_XML} ${SUBDIRS_I18N} ${SUBDIRS_LAST}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: darealshinji <djcj@gmx.de>
Date: Sat, 9 Apr 2016 12:50:50 +0200
Subject: [PATCH] Add .exe to binary filenames
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 1111111..2222222 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -28,6 +28,8 @@ datadir = @datadir@
libdir = @libdir@
mandir = @mandir@
+EXEEXT = @EXEEXT@
+
CC = @CC@
CXX = @CXX@
RM = @RM@
@@ -60,10 +62,10 @@ CXXFLAGS = ${FLAGS} ${CXXRPOFLAGS} @CPPFLAGS@ @CXXFLAGS@
SUBDIRS = jb2cmp
-PROGRAMS = bzz c44 cjb2 cpaldjvu csepdjvu \
- ddjvu djvm djvmcvt djvudump \
- djvups djvuextract djvumake \
- djvused djvutxt djvuserve
+PROGRAMS = bzz$(EXEEXT) c44$(EXEEXT) cjb2$(EXEEXT) cpaldjvu$(EXEEXT) csepdjvu$(EXEEXT) \
+ ddjvu$(EXEEXT) djvm$(EXEEXT) djvmcvt$(EXEEXT) djvudump$(EXEEXT) \
+ djvups$(EXEEXT) djvuextract$(EXEEXT) djvumake$(EXEEXT) \
+ djvused$(EXEEXT) djvutxt$(EXEEXT) djvuserve$(EXEEXT)
SCRIPTS = djvudigital any2djvu
@@ -117,63 +119,63 @@ annotate: annotate.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} annotate.o ${LIBDJVU} ${LIBS}
-bzz: bzz.o
+bzz$(EXEEXT): bzz.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} bzz.o ${LIBDJVU} ${LIBS}
-c44: c44.o
+c44$(EXEEXT): c44.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} c44.o ${LIBDJVU} ${LIBS}
-cjb2: cjb2.o ${JB2OBJS}
+cjb2$(EXEEXT): cjb2.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} cjb2.o ${JB2OBJS} ${LIBDJVU} ${MORELIBS}
-cpaldjvu: cpaldjvu.o ${JB2OBJS}
+cpaldjvu$(EXEEXT): cpaldjvu.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} cpaldjvu.o ${JB2OBJS} ${LIBDJVU} ${LIBS}
-csepdjvu: csepdjvu.o ${JB2OBJS}
+csepdjvu$(EXEEXT): csepdjvu.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} csepdjvu.o ${JB2OBJS} ${LIBDJVU} ${LIBS}
-ddjvu: ddjvu.o tiff2pdf.o
+ddjvu$(EXEEXT): ddjvu.o tiff2pdf.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} ddjvu.o tiff2pdf.o ${LIBDJVU} ${MORELIBS}
-djvm: djvm.o
+djvm$(EXEEXT): djvm.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvm.o ${LIBDJVU} ${LIBS}
-djvmcvt: djvmcvt.o
+djvmcvt$(EXEEXT): djvmcvt.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvmcvt.o ${LIBDJVU} ${LIBS}
-djvudump: djvudump.o
+djvudump$(EXEEXT): djvudump.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvudump.o ${LIBDJVU} ${LIBS}
-djvups: djvups.o
+djvups$(EXEEXT): djvups.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvups.o ${LIBDJVU} ${LIBS}
-djvuextract: djvuextract.o
+djvuextract$(EXEEXT): djvuextract.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuextract.o ${LIBDJVU} ${LIBS}
-djvumake: djvumake.o
+djvumake$(EXEEXT): djvumake.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvumake.o ${LIBDJVU} ${LIBS}
-djvused: djvused.o
+djvused$(EXEEXT): djvused.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvused.o ${LIBDJVU} ${LIBS}
-djvutxt: djvutxt.o
+djvutxt$(EXEEXT): djvutxt.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvutxt.o ${LIBDJVU} ${LIBS}
-djvuserve: djvuserve.o
+djvuserve$(EXEEXT): djvuserve.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuserve.o ${LIBDJVU} ${LIBS}
diff --git a/xmltools/Makefile.in b/xmltools/Makefile.in
index 1111111..2222222 100644
--- a/xmltools/Makefile.in
+++ b/xmltools/Makefile.in
@@ -28,6 +28,8 @@ datadir = @datadir@
libdir = @libdir@
mandir = @mandir@
+EXEEXT = @EXEEXT@
+
CC = @CC@
CXX = @CXX@
RM = @RM@
@@ -55,7 +57,7 @@ LIBS= @LDFLAGS@ @LIBS@
CFLAGS = ${FLAGS} @CPPFLAGS@ @CFLAGS@
CXXFLAGS = ${FLAGS} ${CXXRPOFLAGS} @CPPFLAGS@ @CXXFLAGS@
-PROGRAMS = djvutoxml djvuxmlparser
+PROGRAMS = djvutoxml$(EXEEXT) djvuxmlparser$(EXEEXT)
all: ${PROGRAMS} djvuxml.1
@@ -97,11 +99,11 @@ djvuxml.1: ${srcdir}/djvuxml.1.in
sed < ${srcdir}/djvuxml.1.in > djvuxml.1 \
-e 's,DATADIR,${datadir},'
-djvutoxml: djvutoxml.o
+djvutoxml$(EXEEXT): djvutoxml.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvutoxml.o ${LIBDJVU} ${LIBS}
-djvuxmlparser: djvuxmlparser.o
+djvuxmlparser$(EXEEXT): djvuxmlparser.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuxmlparser.o ${LIBDJVU} ${LIBS}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: darealshinji <djcj@gmx.de>
Date: Sat, 9 Apr 2016 12:52:55 +0200
Subject: [PATCH] precision
Source: https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-djvulibre
diff --git a/libdjvu/DjVuPort.cpp b/libdjvu/DjVuPort.cpp
index 1111111..2222222 100644
--- a/libdjvu/DjVuPort.cpp
+++ b/libdjvu/DjVuPort.cpp
@@ -466,11 +466,11 @@ DjVuPortcaster::compute_closure(const DjVuPort * src, GPList<DjVuPort> &list, bo
// Sort in depth order
int max_dist=0;
for(pos=set;pos;++pos)
- if (max_dist < (int)(long)set[pos])
- max_dist = (int)(long)set[pos];
+ if (max_dist < (int)(size_t)set[pos])
+ max_dist = (int)(size_t)set[pos];
GArray<GList<const void*> > lists(0,max_dist);
for(pos=set;pos;++pos)
- lists[(int)(long)set[pos]].append(set.key(pos));
+ lists[(int)(size_t)set[pos]].append(set.key(pos));
for(int dist=0;dist<=max_dist;dist++)
for(pos=lists[dist];pos;++pos)
{
diff --git a/libdjvu/GBitmap.cpp b/libdjvu/GBitmap.cpp
index 1111111..2222222 100644
--- a/libdjvu/GBitmap.cpp
+++ b/libdjvu/GBitmap.cpp
@@ -469,7 +469,7 @@ GBitmap::share()
{
if (!monitorptr)
{
- unsigned long x = (unsigned long)this;
+ size_t x = (size_t)this;
monitorptr = &monitors[(x^(x>>5)) % NMONITORS];
}
}
diff --git a/libdjvu/GContainer.h b/libdjvu/GContainer.h
index 1111111..2222222 100644
--- a/libdjvu/GContainer.h
+++ b/libdjvu/GContainer.h
@@ -178,7 +178,7 @@ hash(const unsigned long & x)
static inline unsigned int
hash(const void * const & x)
{
- return (unsigned long) x;
+ return (unsigned long)((size_t) x);
--- a/libdjvu/Makefile.am
+++ b/libdjvu/Makefile.am
@@ -33,6 +33,8 @@
libdjvulibre_la_LDFLAGS = -no-undefined -version-info $(version_info)
if HAVE_OS_WIN32
+libdjvulibre_la_CPPFLAGS += -DDJVUAPI_EXPORT
+libdjvulibre_la_CPPFLAGS += -DDDJVUAPI_EXPORT -DMINILISPAPI_EXPORT
libdjvulibre_la_LDFLAGS += -Wl,--export-all-symbols
endif
--- a/libdjvu/miniexp.cpp
+++ b/libdjvu/miniexp.cpp
@@ -383,14 +383,16 @@
}
/** Hashing function (float). */
diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
index 1111111..2222222 100644
--- a/libdjvu/IW44EncodeCodec.cpp
+++ b/libdjvu/IW44EncodeCodec.cpp
@@ -310,7 +310,7 @@ static const int d16[] = {16,16};
static inline void
mmx_fv_1 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -353,7 +353,7 @@ mmx_fv_1 ( short* &q, short* e, int s, int s3 )
static inline void
mmx_fv_2 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
diff --git a/libdjvu/IW44Image.cpp b/libdjvu/IW44Image.cpp
index 1111111..2222222 100644
--- a/libdjvu/IW44Image.cpp
+++ b/libdjvu/IW44Image.cpp
@@ -167,7 +167,7 @@ static const int d16[] = {16,16};
static void
mmx_bv_1 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -211,7 +211,7 @@ mmx_bv_1 ( short* &q, short* e, int s, int s3 )
static void
mmx_bv_2 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -649,7 +649,7 @@ IW44Image::Map::allocp(int n)
// Allocate enough room for pointers plus alignment
short *p = alloc( (n+1) * sizeof(short*) / sizeof(short) );
// Align on pointer size
- while ( ((long)p) & (sizeof(short*)-1) )
+ while ( ((size_t)p) & (sizeof(short*)-1) )
p += 1;
// Cast and return
return (short**)p;
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 10 Apr 2016 14:58:05 +0200
Subject: [PATCH] fix linking errors in shared builds
> the presence
> of any one __declspec(dllexport) in any object file disables the
> auto-export feature, so if you declare any symbol dllexport you have to
> mark them all (or explicily -Wl,--export-all-symbols.)
See http://mingw-users.1079350.n2.nabble.com/MinGW-produces-incorrect-dll-a-files-tp1109211p1109231.html
./configure adds -Wl,--export-all-symbols if host matches "*-mingw32",
but MXE's host is "i686-w64-mingw32.shared". This patch changes the
pattern to "*-mingw32*".
diff --git a/configure.ac b/configure.ac
index 1111111..2222222 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,7 +69,7 @@ AC_SUBST(DLLFLAGS)
# Special cases
case "$host" in
- *-mingw32)
+ *-mingw32*)
DLLFLAGS="$DLLFLAGS -Wl,--export-all-symbols"
LIBS=-lmsvcp60
;;
# endif
// -- Very black magic to clean tls variables.
+/*
# ifdef _M_IX86
# pragma comment (linker, "/INCLUDE:_tlscb")
# else
# pragma comment (linker, "/INCLUDE:tlscb")
# endif
# pragma const_seg(".CRT$XLB")
+*/
extern "C" PIMAGE_TLS_CALLBACK tlscb = gctls_cb;
-# pragma const_seg()
+/* # pragma const_seg() */
#else
// No threads

@ -2,13 +2,11 @@
# See index.html for further information.
PKG := djvulibre
$(PKG)_IGNORE := 3.5.27
$(PKG)_SHORTVER := 3.5.25
$(PKG)_VERSION := $($(PKG)_SHORTVER).3
$(PKG)_CHECKSUM := 898d7ed6dd2fa311a521baa95407a91b20a872d80c45e8245442d64f142cb1e0
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_SHORTVER)
$(PKG)_VERSION := 3.5.27
$(PKG)_CHECKSUM := e69668252565603875fb88500cde02bf93d12d48a3884e472696c896e81f505f
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/djvu/DjVuLibre/$($(PKG)_SHORTVER)/$($(PKG)_FILE)
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/djvu/DjVuLibre/$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := gcc jpeg tiff zlib
define $(PKG)_UPDATE
@ -17,16 +15,13 @@ define $(PKG)_UPDATE
head -1
endef
define $(PKG)_BUILD
cd '$(1)' && autoreconf -fi && CPPFLAGS='-DDLL_EXPORT' ./configure \
$(MXE_CONFIGURE_OPTS) \
--disable-desktopfiles
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)/libdjvu' -j 1 install-lib \
install-include install-pkgconfig
define $(PKG)_BUILD_SHARED
cd '$(1)' && automake
cd '$(1)' && ./configure $(MXE_CONFIGURE_OPTS) --disable-desktopfiles
$(MAKE) -C '$(1)' -j '$(JOBS)' install-strip
'$(TARGET)-g++' \
-W -Wall -Werror -pedantic -DDLL_EXPORT \
-W -Wall -Werror -pedantic \
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
`'$(TARGET)-pkg-config' ddjvuapi --libs`
`'$(TARGET)-pkg-config' ddjvuapi --cflags --libs`
endef

Loading…
Cancel
Save