Sort question: I need to find out how to kick configure/autoconf/automake so that it will include another library equivalent to libavoid.
Long form (background):
On a linux system I'm trying to get the emf stuff using with the libEMF library. Then Inkscape will support emf on all platforms - not just win32.
So far:
1. unpacked libEMF under .../inkscape/src/libEMF 2. built it with its own configure 3. moved libemf.o and all the header files to .../inkscape/src/libEMF 4. modified header file includes to look for "libEMF/header_name.h" 5. modified the win32 emf-win32-print and emf-win32-inout to use libemf. (required some modifications to the libEMF header files, and oddly, to style.h) until a clean compile resulted.
Now I'm stuck trying to get the Makefiles produced by configure for Inkscape to actually build libemf.a (or libemf.o) a:
6. copied this from libavoid and changed libavoid to libEMF: cat inkscape/src/libEMF/makefile.in # Convenience stub makefile to call the real Makefile.
@SET_MAKE@
OBJEXT = @OBJEXT@
# Explicit so that it's the default rule. all: cd .. && $(MAKE) libEMF/all
clean %.a %.$(OBJEXT): cd .. && $(MAKE) libEMF/$@
.PHONY: all clean
.SUFFIXES: .SUFFIXES: .a .$(OBJEXT)
7. based this on libavoid example: cat inkscape/src/libEMF/Makefile_insert ## Makefile.am fragment sourced by src/Makefile.am.
ink_common_sources += \ libEMF/libemf.cpp \ libEMF/basetsd.h \ libEMF/emf.h \ libEMF/guiddef.h \ libEMF/libemf.h \ libEMF/poppack.h \ libEMF/pshpack2.h \ libEMF/pshpack4.h \ libEMF/w16.h \ libEMF/winbase.h \ libEMF/windef.h \ libEMF/winerror.h \ libEMF/wingdi.h \ libEMF/winnt.h \ libEMF/winuser.h
8. in src, put libEMF stuff in where libavoid is (1:1): diff Makefile.am Makefile.am.dist 33d32 < libEMF/libemf.a \ 131d129 < include libEMF/Makefile_insert 181d178 < libEMF/makefile.in \
9 in inkscape (top directory), again, put libEMF stuff in where libavoid is (1:1) diff configure.ac configure.ac.dist 1035d1034 < src/libEMF/makefile
modified configure so that there was a matching line for libEMF everywhere there was one for libavoid
10. ./configure runs, but no new makefile.in is created in src. Consequently when a build is attempted:
11. (inkscape, top level) make configure.ac:68: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body ../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from... ../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from... ../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from... configure.ac:68: the top level (many similar messages for different configure.ac lines) src/Makefile.am: object `libEMF/libemf.$(OBJEXT)' created by `libEMF/libemf.cpp' and `libEMF/libemf.c' make: *** [Makefile.in] Error 1
Suggestions?
Thanks,
David Mathog mathog@...1176... Manager, Sequence Analysis Facility, Biology Division, Caltech