X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fautomake.mk;h=651f5905ee818bfbc50b5f4f97b130b7eb27658d;hb=fd3d64301598af490d54df88fb485853521e283f;hp=a405e87a61f27bbe510eb5f13c65b33d1c2a3b6c;hpb=af4066391f20365e210460a736b1b02efe194da6;p=pspp-builds.git diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk index a405e87a..651f5905 100644 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@ -1,7 +1,5 @@ ## Process this file with automake to produce Makefile.in -*- makefile -*- - - bin_PROGRAMS += src/ui/gui/psppire src_ui_gui_psppire_CFLAGS = $(GTK_CFLAGS) $(GLADE_CFLAGS) -Wall \ @@ -9,8 +7,8 @@ src_ui_gui_psppire_CFLAGS = $(GTK_CFLAGS) $(GLADE_CFLAGS) -Wall \ src_ui_gui_psppire_LDFLAGS = \ - $(PG_LDFLAGS) \ - -export-dynamic + $(PG_LDFLAGS) + if RELOCATABLE_VIA_LD @@ -20,15 +18,40 @@ src_ui_gui_psppire_LDFLAGS += -rpath $(pkglibdir) endif -pkglib_LTLIBRARIES = src/ui/gui/libpsppire.la +# The library libpsppire contains a single function to register our custom widgets with libglade. +# This library is dynamically loaded by libglade. On w32 platforms, dynamic libraries simply +# can't be created unless all of the symbols can be resolved at link time. Thus, all the custom +# widgets have to be available. +# But they can't appear in the library AND the binary, otherwise glib complains about them already +# existing (and its a waste of space). So we have a seperate shared library (statically loaded) +# libpsppwidgets which contains our custom widgets. + +pkglib_LTLIBRARIES = src/ui/gui/libpsppwidgets.la src/ui/gui/libpsppire.la + +src_ui_gui_libpsppwidgets_la_CFLAGS = $(GTK_CFLAGS) +src_ui_gui_libpsppwidgets_la_LDFLAGS = -no-undefined +src_ui_gui_libpsppwidgets_la_LIBADD = $(GTK_LIBS) + +src_ui_gui_libpsppwidgets_la_SOURCES = \ + src/ui/gui/psppire-dialog.c \ + src/ui/gui/psppire-keypad.c \ + src/ui/gui/psppire-selector.c \ + src/ui/gui/psppire-buttonbox.c \ + src/ui/gui/psppire-hbuttonbox.c \ + src/ui/gui/psppire-vbuttonbox.c \ + src/ui/gui/psppire-acr.c + src_ui_gui_libpsppire_la_CFLAGS = $(GLADE_CFLAGS) +src_ui_gui_libpsppire_la_LDFLAGS = -no-undefined +src_ui_gui_libpsppire_la_LIBADD = $(GLADE_LIBS) src/ui/gui/libpsppwidgets.la src_ui_gui_libpsppire_la_SOURCES = \ src/ui/gui/glade-register.c src_ui_gui_psppire_LDADD = \ -dlopen src/ui/gui/libpsppire.la \ + src/ui/gui/libpsppwidgets.la \ lib/gtksheet/libgtksheet.a \ src/language/liblanguage.a \ src/ui/libuicommon.a \ @@ -124,13 +147,9 @@ src_ui_gui_psppire_SOURCES = \ src/ui/gui/oneway-anova-dialog.h \ src/ui/gui/output-viewer.c \ src/ui/gui/output-viewer.h \ - src/ui/gui/psppire-acr.c \ src/ui/gui/psppire-acr.h \ - src/ui/gui/psppire-buttonbox.c \ src/ui/gui/psppire-buttonbox.h \ - src/ui/gui/psppire-hbuttonbox.c \ src/ui/gui/psppire-hbuttonbox.h \ - src/ui/gui/psppire-vbuttonbox.c \ src/ui/gui/psppire-vbuttonbox.h \ src/ui/gui/psppire-case-file.c \ src/ui/gui/psppire-case-file.h \ @@ -138,13 +157,10 @@ src_ui_gui_psppire_SOURCES = \ src/ui/gui/psppire-data-editor.h \ src/ui/gui/psppire-data-store.c \ src/ui/gui/psppire-data-store.h \ - src/ui/gui/psppire-dialog.c \ src/ui/gui/psppire-dialog.h \ src/ui/gui/psppire-dict.c \ src/ui/gui/psppire-dict.h \ - src/ui/gui/psppire-keypad.c \ src/ui/gui/psppire-keypad.h \ - src/ui/gui/psppire-selector.c \ src/ui/gui/psppire-selector.h \ src/ui/gui/psppire-var-ptr.c \ src/ui/gui/psppire-var-ptr.h \