Index: trunk/src/ps/Makefile.am =================================================================== --- trunk/src/ps/Makefile.am (revision 1530) +++ trunk/src/ps/Makefile.am (working copy) @@ -1,31 +1,26 @@ bin_PROGRAMS = examinepdf -noinst_LIBRARIES = libps.a +noinst_LTLIBRARIES = libps.la dist_noinst_HEADERS = encode.h pdf.h unicode.h pfb2pfa.h misc.h wineps.h \ pdfparser.h type42.h -libps_a_SOURCES = encode.cc glyphs.cc pdf.cc unicode.cc pfb2pfa.cc misc.cc \ +libps_la_SOURCES = encode.cc glyphs.cc pdf.cc unicode.cc pfb2pfa.cc misc.cc \ wineps.cc pdfparser.cc type42.cc examinepdf_SOURCES = examinepdf.cc -libps_a_CPPFLAGS = -I$(top_srcdir)/src +libps_la_LIBADD = ../fonts/libfonts.la # for Glib::ustring -libps_a_CPPFLAGS += $(GTKMM_CFLAGS) $(FREETYPE_CFLAGS) +libps_la_CPPFLAGS = $(FREETYPE_CFLAGS) $(GTKMM_CFLAGS) +libps_la_LIBADD += $(GTKMM_LIBS) -examinepdf_CPPFLAGS = $(libps_a_CPPFLAGS) -examinepdf_LDADD = $(GTKMM_LIBS) \ - -L. -lps -L../fonts -lfonts -lps -L../util -lpptutil -examinepdf_DEPENDENCIES = libps.a +examinepdf_CPPFLAGS = $(libps_la_CPPFLAGS) +examinepdf_LDADD = libps.la -#libps_a_LIBADD = $(GTKMM_LIBS) - TESTS = runtest check_PROGRAMS = runtest runtest_SOURCES = test_glyphlist.cc -runtest_CPPFLAGS = -I$(top_srcdir)/src -runtest_CPPFLAGS += $(GTKMM_CFLAGS) -runtest_DEPENDENCIES = ../util/libpptutil.a $(noinst_LIBRARIES) -runtest_LDADD = -L../testbed -lppttest -L. -lps -L../util -lpptutil \ +runtest_CPPFLAGS = $(GTKMM_CFLAGS) +runtest_LDADD = ../testbed/libppttest.la libps.la ../util/libpptutil.la \ $(GTKMM_LIBS) Index: trunk/src/xml2ps/Makefile.am =================================================================== --- trunk/src/xml2ps/Makefile.am (revision 1530) +++ trunk/src/xml2ps/Makefile.am (working copy) @@ -1,28 +1,29 @@ bin_PROGRAMS = xml2ps -noinst_LIBRARIES = libxml2ps.a +noinst_LTLIBRARIES = libxml2ps.la dist_noinst_HEADERS = blockcontainer.hh boundaries.hh canvas.hh \ line.hh paragraph.hh typesetter.hh pagedstream.hh \ pdfcanvas.hh pscanvas.hh psstream.hh xly.hh xcanvas.hh -libxml2ps_a_SOURCES = paragraph.cc xly.cc typesetter.cc \ +libxml2ps_la_SOURCES = paragraph.cc xly.cc typesetter.cc \ blockcontainer.cc psstream.cc line.cc canvas.cc \ pagedstream.cc pscanvas.cc boundaries.cc pdfcanvas.cc \ xcanvas.cc xml2ps_SOURCES = main.cc -libxml2ps_a_CPPFLAGS = -I$(top_srcdir)/src - -libxml2ps_a_CPPFLAGS += $(XMLPP_CFLAGS) $(GTKMM_CFLAGS) \ +libxml2ps_la_CPPFLAGS = $(XMLPP_CFLAGS) $(GTKMM_CFLAGS) \ $(GNOMECANVAS_CFLAGS) -xml2ps_CPPFLAGS = $(libxml2ps_a_CPPFLAGS) +libxml2ps_la_LIBADD =../util/libpptutil.la ../fonts/libfonts.la ../ps/libps.la \ + $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) -xml2ps_LDADD = $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS)\ - libxml2ps.a ../fonts/libfonts.a ../ps/libps.a ../util/libpptutil.a +xml2ps_CPPFLAGS = $(libxml2ps_la_CPPFLAGS) +xml2ps_LDADD = libxml2ps.la \ + $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) + #install DTDs and XSLTs in $(datadir)/xml/passepartout/ (xmldir is defined in configure.ac) dist_xml_DATA = xml2ps.dtd xhtml.xslt docbook.xslt Index: trunk/src/fonts/Makefile.am =================================================================== --- trunk/src/fonts/Makefile.am (revision 1530) +++ trunk/src/fonts/Makefile.am (working copy) @@ -1,13 +1,15 @@ -noinst_LIBRARIES = libfonts.a +noinst_LTLIBRARIES = libfonts.la dist_noinst_HEADERS = fontinfo.hh fontmanager.hh fontmetrics.hh afm.hh \ freetype.hh -libfonts_a_SOURCES = fontinfo.cc fontmanager.cc afm.cc freetype.cc +libfonts_la_SOURCES = fontinfo.cc fontmanager.cc afm.cc freetype.cc -libfonts_a_CPPFLAGS = -I$(top_srcdir)/src - # for Glib::ustring -libfonts_a_CPPFLAGS += $(GTKMM_CFLAGS) $(FREETYPE_CFLAGS) +libfonts_la_CPPFLAGS = $(FREETYPE_CFLAGS) $(GTKMM_CFLAGS) -#libfonts_a_LIBADD = $(top_srcdir)/src/util/libpptutil.a \ No newline at end of file +libfonts_la_LIBADD = ../util/libpptutil.la $(FREETYPE_LIBS) $(GTKMM_LIBS) + +# can't have explicit circular dependency, so rely on consumers +# to link against them and us +#libfonts_la_LIBADD += ../ps/libps.la Index: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am (revision 1530) +++ trunk/src/Makefile.am (working copy) @@ -1 +1 @@ -SUBDIRS = testbed util fonts ps xml2ps pptout +SUBDIRS = util testbed fonts ps xml2ps pptout Index: trunk/src/testbed/Makefile.am =================================================================== --- trunk/src/testbed/Makefile.am (revision 1530) +++ trunk/src/testbed/Makefile.am (working copy) @@ -1,11 +1,18 @@ -noinst_LIBRARIES = libppttest.a +noinst_LTLIBRARIES = libppttest.la dist_noinst_HEADERS = testbed.hh -libppttest_a_SOURCES = testbed.cc +libppttest_la_SOURCES = testbed.cc -libppttest_a_CPPFLAGS = -I$(top_srcdir)/src - # Just because Glib::Exception is stupid and doesn't inherit the standard # exception the testbed has to know about glib! -libppttest_a_CPPFLAGS += $(GTKMM_CFLAGS) +libppttest_la_CPPFLAGS = $(GTKMM_CFLAGS) + +libppttest_la_LIBADD = ../util/libpptutil.la $(GTKMM_LIBS) + +TESTS = runtest +check_PROGRAMS = runtest +runtest_SOURCES = ../util/test_stringutil.cc ../util/test_valuunit.cc ../util/test_matrix.cc \ + ../util/test_boundary.cc ../util/test_procio.cc ../util/test_cmdline.cc +runtest_CPPFLAGS = $(GTKMM_CFLAGS) +runtest_LDADD = libppttest.la ../util/libpptutil.la $(GTKMM_LIBS) Index: trunk/src/pptout/widget/Makefile.am =================================================================== --- trunk/src/pptout/widget/Makefile.am (revision 1530) +++ trunk/src/pptout/widget/Makefile.am (working copy) @@ -1,13 +1,13 @@ -noinst_LIBRARIES = libwidget.a +noinst_LTLIBRARIES = libwidget.la dist_noinst_HEADERS = spinner.h filesel.h imagefilesel.h dialogwrap.h \ subpanel.h wmisc.h errordialog.h usererror.h programs.h \ zoomer.h -libwidget_a_SOURCES = spinner.cc filesel.cc imagefilesel.cc \ +libwidget_la_SOURCES = spinner.cc filesel.cc imagefilesel.cc \ dialogwrap.cc subpanel.cc wmisc.cc errordialog.cc \ usererror.cc programs.cc zoomer.cc -libwidget_a_CPPFLAGS = -I$(top_srcdir)/src -D'DOCDIR=$(docdir)' - -libwidget_a_CPPFLAGS += $(GTKMM_CFLAGS) $(GNOMEVFS_CFLAGS) $(GNOME_CFLAGS) +libwidget_la_CPPFLAGS = -DDOCDIR=\"$(docdir)\" +libwidget_la_CPPFLAGS += $(GTKMM_CFLAGS) $(GNOMEVFS_CFLAGS) $(GNOME_CFLAGS) +libwidget_la_LIBADD = ../../util/libpptutil.la $(GTKMM_LDFLAGS) $(GNOMEVFS_LDFLAGS) $(GNOME_LDFLAGS) Index: trunk/src/pptout/document/Makefile.am =================================================================== --- trunk/src/pptout/document/Makefile.am (revision 1530) +++ trunk/src/pptout/document/Makefile.am (working copy) @@ -1,15 +1,18 @@ -noinst_LIBRARIES = libdocument.a +noinst_LTLIBRARIES = libdocument.la dist_noinst_HEADERS = basicframe.h cachedframe.h document.h group.h \ imageframe.h page.h pagent.h rasterframe.h textframe.h \ textstream.h fileerrors.h paper_sizes.h getxsltparams.h \ loader.h filecontext.h typesetterthread.h -libdocument_a_SOURCES = basicframe.cc cachedframe.cc document.cc \ +libdocument_la_SOURCES = basicframe.cc cachedframe.cc document.cc \ group.cc imageframe.cc page.cc pagent.cc rasterframe.cc \ textframe.cc textstream.cc paper_sizes.cc getxsltparams.cc \ loader.cc typesetterthread.cc -libdocument_a_CPPFLAGS = -I$(top_srcdir)/src +libdocument_la_CPPFLAGS = $(GTKMM_CFLAGS) $(XMLPP_CFLAGS) -libdocument_a_CPPFLAGS += $(GTKMM_CFLAGS) $(XMLPP_CFLAGS) +# can't get complete symbol resolution here...rasterframe.cc uses +# config() from ../passepartout-config.o but subdirs build before +# parent so cannot easily get it +libdocument_la_LIBADD = ../../util/libpptutil.la ../../ps/libps.la ../../xml2ps/libxml2ps.la ../widget/libwidget.la $(GTKMM_LIBS) $(XMLPP_LIBS) Index: trunk/src/pptout/Makefile.am =================================================================== --- trunk/src/pptout/Makefile.am (revision 1530) +++ trunk/src/pptout/Makefile.am (working copy) @@ -1,4 +1,4 @@ -SUBDIRS = document widget icons +SUBDIRS = widget document icons EXTRA_DIST = NOTES @@ -32,19 +32,19 @@ $(BUILT_SOURCES) \ $(NULL) -passepartout_CPPFLAGS = -I$(top_srcdir)/src -D'XMLPATH=$(xmldir)' +passepartout_CPPFLAGS = -DXMLPATH=\"$(xmldir)\" passepartout_CPPFLAGS += $(XMLPP_CFLAGS) $(GTKMM_CFLAGS) $(GNOMECANVAS_CFLAGS) \ $(GNOME_CFLAGS) $(GNOMEVFS_CFLAGS) -passepartout_LDADD = $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) \ - $(GTHREAD_LIBS) $(GNOME_LIBS) $(GNOMEVFS_LIBS) +pptpartlibs= document/libdocument.la ../xml2ps/libxml2ps.la \ + ../fonts/libfonts.la ../ps/libps.la \ + ../util/libpptutil.la widget/libwidget.la -pptpartlibs= document/libdocument.a ../xml2ps/libxml2ps.a \ - ../fonts/libfonts.a ../ps/libps.a \ - ../util/libpptutil.a widget/libwidget.a +passepartout_LDADD = $(pptpartlibs) -passepartout_LDADD += $(pptpartlibs) +passepartout_LDADD += $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) \ + $(GTHREAD_LIBS) $(GNOME_LIBS) $(GNOMEVFS_LIBS) # Extra dependencies for builddate, so it is rebuilt every time anything else # is rebuilt Index: trunk/src/util/Makefile.am =================================================================== --- trunk/src/util/Makefile.am (revision 1530) +++ trunk/src/util/Makefile.am (working copy) @@ -1,23 +1,17 @@ -noinst_LIBRARIES = libpptutil.a +noinst_LTLIBRARIES = libpptutil.la dist_noinst_HEADERS = stringutil.h filesys.h warning.h os.h configfile.h \ valueunit.h units.h refcount.h matrix.h boundary.h \ rectboundary.h typeinfo.h barrier.h processman.h tempfile.h \ filewatcher.h vector.h filedescriptors.h cmdline.h xmlwrap.h -libpptutil_a_SOURCES = stringutil.cc filesys.cc warning.cc os.cc \ +libpptutil_la_SOURCES = stringutil.cc filesys.cc warning.cc os.cc \ configfile.cc \ matrix.cc boundary.cc rectboundary.cc typeinfo.cc barrier.cc \ processman.cc tempfile.cc filewatcher.cc filedescriptors.cc \ cmdline.cc xmlwrap.cc # gtkmm and gnomecanvas flags is needed just to get RefPtr and AffineTrans. -AM_CPPFLAGS = $(XMLPP_CFLAGS) $(GTKMM_CFLAGS) $(GNOMECANVAS_CFLAGS) +libpptutil_la_CPPFLAGS = $(XMLPP_CFLAGS) $(GTKMM_CFLAGS) $(GNOMECANVAS_CFLAGS) -TESTS = runtest -check_PROGRAMS = runtest -runtest_SOURCES = test_stringutil.cc test_valuunit.cc test_matrix.cc \ - test_boundary.cc test_procio.cc test_cmdline.cc -runtest_CPPFLAGS = -I$(top_srcdir)/src $(AM_CPPFLAGS) -runtest_DEPENDENCIES = $(noinst_LIBRARIES) -runtest_LDADD = -L../testbed -lppttest -L. -lpptutil $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) +libpptutil_la_LIBADD = $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) Index: trunk/configure.ac =================================================================== --- trunk/configure.ac (revision 1530) +++ trunk/configure.ac (working copy) @@ -9,14 +9,16 @@ AM_CONFIG_HEADER(src/defines.h) # AC_CONFIG_HEADER(src/defines.h) -# Define global compiler flags: -MY_CXXFLAGS="-Wall" -CXXFLAGS="$CXXFLAGS $MY_CXXFLAGS" +# We're just a few binaries...not worth doing shared by default? +AC_DISABLE_SHARED # Checks for programs. AC_PROG_CXX -AC_PROG_RANLIB +AC_PROG_LIBTOOL +# Define global compiler flags: +CXXFLAGS="$CXXFLAGS -Wall" + # AC_APPLY_RPATH(LIBS) # -------------------- # Add an -rpath linker option for each -L path in LIBS