[tlbuild] PATCHES: --with-system-xpdf, various build system niggles...

Edd Barrett vext01 at gmail.com
Tue Jul 14 17:45:43 CEST 2009

Hi there,

Thanks for getting back to me.

On Tue, Jul 14, 2009 at 03:30:57PM +0200, Peter Breitenlohner wrote:
> I'll have to look into this and will come back to it. BTW: what is your
> /bin/sh?

I'm running OpenBSD, which uses ksh for /bin/sh.

$ echo $SH_VERSION
@(#)PD KSH v5.2.14 99/07/13.2

> >The second are some missing fontconfig includes in the build system, which
> >only show themselves when using an external poppler.
> What is your poppler version, and what is the output from
> 	pkg-config poppler --modversion
> 	pkg-config poppler --cflags
> 	pkg-config poppler --libs
> It seems that libpoppler requires libfontconfig, but the .pc files doesn't
> say so. That is OK with ELF shared libraries on linux, but may well
> be a problem with BSD libraries. (Same for -lm).

puff% pkg-config poppler --modversion
puff% pkg-config poppler --cflags    
puff% pkg-config poppler --libs  
-L/usr/local/lib -lpoppler

> >Also I had to add LDFLAGS=-lm to have the poppler test (in ./configure) work,
> >otherwise a few math.h functions would remain unresolved. There is not a patch
> >for this, I add it manually to the port build.
> I wonder why this test did not also require libfontconfig.

Do you have access to an OpenBSD machine?

> >I am not sure if these patches are suitable for mainstream usage, but I
> >thought I would bring them to your attention.
> Certainly not as such, because that are all derived files.

Yes, well. I meant patching the configure.in etc. These patches came
right out of the ports system, and I don't want to be running autotools
there. I was just demonstrating.

> Once all this is understood somewhat better, m4/kpse-xpdf-flags.m4 and
> texk/web2c/{pdf,lua}texdir/am/*.am can be modified.  At the moment I don't
> yet know what exactly needs to be done.


> >May I also suggest --with-gettext-includes= and --with-gettext-libdir=
> >configure options. On OpenBSD gettext (when installed) goes into /usr/local/.
> >As a quick hack I tried adding CPPFLAGS=-I/usr/local/include
> >LDFLAGS=-L/usr/local/lib, although this did build the parts needing gettext
> >properly, it caused the system ICU to be used for XeTeX, which obviously does
> >not work. For now I have had to patch in manually these paths only where
> >gettext is used.
> Who needs the gettext library and who needs gettext includes?

Xindy, See attached diff.

> This is somewhat tricky because these extra flags must come quite late, after
> those for ICU from the TL tree. I am somewhat opposed to these names but I
> could imagine --with-extra-includes and/or --with-extra-libs.

Surely these would still allow the system ICU to be picked up (in the
same place as gettext).

Thanks for your time.


Best Regards

Edd Barrett
(Freelance software developer / technical writer / open-source developer)

-------------- next part --------------
--- utils/xindy/rte/ordrules/Makefile.in.orig	Fri Jul  3 20:26:15 2009
+++ utils/xindy/rte/ordrules/Makefile.in	Sat Jul  4 18:46:06 2009
@@ -343,11 +343,15 @@ uninstall-am:
 ordrulei.c: $(srcdir)/ordrulei.lsp
 	$(CLISP) -q -norc -c $(srcdir)/ordrulei.lsp -o ordrulei.fas
+# OpenBSD
+# Do not add $(LOCALBASE)/include to global CPPFLAGS or
+# the vanilla ICU will be picked up. TL uses a modified 
+# version of ICU.
 ordrulei.o: ordrulei.c
-	$(CC) $(CFLAGS) $(CPPFLAGS) -I$(INCLUDES) -c ordrulei.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -I$(INCLUDES) -I/usr/local/include -c ordrulei.c
 ordrules.o: ordrules.c ordrules.h rxsub.h debug.h mkind.h
-	$(CC) $(CFLAGS) $(CPPFLAGS) -I$(INCLUDES) -funsigned-char -I. -c ordrules.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -I$(INCLUDES) -funsigned-char -I. -I/usr/local/include -c ordrules.c
 rxsub.o: rxsub.c rxsub.h mkind.h
 	$(CC) $(CFLAGS) $(CPPFLAGS) -I. -c rxsub.c

More information about the tlbuild mailing list