g_memdup2: added src/ui/gui/glibfix.h to the distribution file list
[pspp] / src / ui / gui / automake.mk
index ead491f394a70fc0bacd7166fed306442dbcc3b4..d6b686db40a3a20531eb1ffc1c514b1c015fb7c2 100644 (file)
@@ -56,6 +56,7 @@ UI_FILES = \
        src/ui/gui/roc.ui \
        src/ui/gui/scatterplot.ui \
        src/ui/gui/select-cases.ui \
+       src/ui/gui/spreadsheet-import.ui \
        src/ui/gui/t-test.ui \
        src/ui/gui/text-data-import.ui \
        src/ui/gui/transpose.ui \
@@ -68,32 +69,28 @@ UI_FILES = \
        src/ui/gui/var-type-dialog.ui \
        src/ui/gui/weight.ui
 
-
-$(top_srcdir)/doc/help-pages-list: $(UI_FILES)
-        $(AM_V_GEN)cat $^ | grep '"help[-_]page"' | \
-   $(SED) -e 's% *<property name="help[-_]page">\([^<]*\)</property>%//*[@id='"'"'\1'"'"']%' \
-       -e 's%#%'"'"']/*[@id='"'"'%g' > $@,tmp
-       test -s $@,tmp
-       mv $@,tmp $@
-
-EXTRA_DIST += doc/help-pages-list
-
+if building_gui
 
 EXTRA_DIST += \
-       src/ui/gui/memorandum.txt \
-       src/ui/gui/org.fsf.pspp.metainfo.xml.in \
-       src/ui/gui/org.fsf.pspp.desktop.in \
        src/ui/gui/marshaller-list \
-       src/ui/gui/pspplogo.svg
+       src/ui/gui/pspplogo.svg \
+       src/ui/gui/pspp.rc.in
 
 src_ui_gui_psppire_CPPFLAGS=
 
-if HAVE_GUI
 bin_PROGRAMS += src/ui/gui/psppire
 noinst_PROGRAMS += src/ui/gui/spreadsheet-test
 
-src_ui_gui_psppire_CFLAGS = $(GTK_CFLAGS) $(GTKSOURCEVIEW_CFLAGS) $(SPREAD_SHEET_WIDGET_CFLAGS) -Wall -DGDK_MULTIHEAD_SAFE=1
-src_ui_gui_spreadsheet_test_CFLAGS = $(GTK_CFLAGS) -Wall -DGDK_MULTIHEAD_SAFE=1
+src_ui_gui_psppire_CFLAGS = $(GTK_CFLAGS) $(GTKSOURCEVIEW_CFLAGS) \
+        $(SPREAD_SHEET_WIDGET_CFLAGS) \
+        $(LIBRSVG_CFLAGS) \
+        $(AM_CFLAGS) -DGDK_MULTIHEAD_SAFE=1
+src_ui_gui_spreadsheet_test_CFLAGS = $(GTK_CFLAGS) $(AM_CFLAGS) -DGDK_MULTIHEAD_SAFE=1
+
+if cc_is_gcc
+src_ui_gui_psppire_CFLAGS+=-Wno-unused-parameter
+src_ui_gui_spreadsheet_test_CFLAGS+=-Wno-unused-parameter
+endif
 
 
 src_ui_gui_psppire_LDFLAGS = \
@@ -101,6 +98,8 @@ src_ui_gui_psppire_LDFLAGS = \
        $(PG_LDFLAGS)
 
 
+
+
 if RELOCATABLE_VIA_LD
 src_ui_gui_psppire_LDFLAGS += `$(RELOCATABLE_LDFLAGS) $(bindir)`
 else
@@ -109,6 +108,7 @@ endif
 
 
 src_ui_gui_psppire_LDADD = \
+       src/ui/gui/libwidgets-essential.la \
        src/ui/libuicommon.la \
        src/libpspp.la \
        src/libpspp-core.la \
@@ -116,15 +116,23 @@ src_ui_gui_psppire_LDADD = \
        $(GTHREAD_LIBS) \
        $(GTKSOURCEVIEW_LIBS) \
        $(SPREAD_SHEET_WIDGET_LIBS) \
+       $(LIBRSVG_LIBS) \
        $(CAIRO_LIBS) \
        $(LIBINTL) \
-       $(GSL_LIBS)
+       $(GSL_LIBS) \
+       $(LIB_GETRANDOM)
+
+if host_is_w32
+src_ui_gui_psppire_LDADD += src/ui/gui/pspp.res
+src_ui_gui_psppire_CFLAGS += -mwindows -mwin32
+endif
 
 
 src_ui_gui_spreadsheet_test_LDADD = \
        src/libpspp-core.la \
        $(GTK_LIBS) \
-       $(GTHREAD_LIBS)
+       $(GTHREAD_LIBS) \
+       $(LIB_GETRANDOM)
 
 
 src_ui_gui_spreadsheet_test_SOURCES = src/ui/gui/spreadsheet-test.c src/ui/gui/psppire-spreadsheet-model.c
@@ -141,7 +149,88 @@ dist_src_ui_gui_psppire_DATA = \
        $(UI_FILES) \
        $(top_srcdir)/src/ui/gui/pspp.lang
 
-UI_WIDGETS_ESSENTIAL= \
+src_ui_gui_psppire_SOURCES = \
+       src/ui/gui/builder-wrapper.c \
+       src/ui/gui/builder-wrapper.h \
+       src/ui/gui/entry-dialog.c \
+       src/ui/gui/entry-dialog.h \
+       src/ui/gui/executor.c \
+       src/ui/gui/executor.h \
+       src/ui/gui/find-dialog.c \
+       src/ui/gui/find-dialog.h \
+       src/ui/gui/glibfix.h \
+       src/ui/gui/goto-case-dialog.c \
+       src/ui/gui/goto-case-dialog.h \
+       src/ui/gui/helper.c \
+       src/ui/gui/helper.h \
+       src/ui/gui/help-menu.c \
+       src/ui/gui/help-menu.h \
+       src/ui/gui/main.c \
+       src/ui/gui/missing-val-dialog.c \
+       src/ui/gui/missing-val-dialog.h \
+       src/ui/gui/options-dialog.c \
+       src/ui/gui/options-dialog.h \
+       src/ui/gui/pre-initialisation.h \
+       src/ui/gui/psppire.c \
+       src/ui/gui/psppire-data-editor.c \
+       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-data-window.c \
+       src/ui/gui/psppire-data-window.h \
+       src/ui/gui/psppire-delimited-text.c \
+       src/ui/gui/psppire-delimited-text.h \
+       src/ui/gui/psppire-encoding-selector.c \
+       src/ui/gui/psppire-encoding-selector.h \
+       src/ui/gui/psppire.h \
+       src/ui/gui/psppire-import-assistant.c \
+       src/ui/gui/psppire-import-assistant.h \
+       src/ui/gui/psppire-import-spreadsheet.c \
+       src/ui/gui/psppire-import-spreadsheet.h \
+       src/ui/gui/psppire-import-textfile.c \
+       src/ui/gui/psppire-import-textfile.h \
+       src/ui/gui/psppire-lex-reader.c \
+       src/ui/gui/psppire-lex-reader.h \
+       src/ui/gui/psppire-output-view.c \
+       src/ui/gui/psppire-output-view.h \
+       src/ui/gui/psppire-output-window.c \
+       src/ui/gui/psppire-output-window.h \
+       src/ui/gui/psppire-scanf.c \
+       src/ui/gui/psppire-scanf.h \
+       src/ui/gui/psppire-spreadsheet-data-model.c \
+       src/ui/gui/psppire-spreadsheet-data-model.h \
+       src/ui/gui/psppire-spreadsheet-model.c \
+       src/ui/gui/psppire-spreadsheet-model.h \
+       src/ui/gui/psppire-syntax-window.c \
+       src/ui/gui/psppire-syntax-window.h \
+       src/ui/gui/psppire-value-entry.c \
+       src/ui/gui/psppire-value-entry.h \
+       src/ui/gui/psppire-window.c \
+       src/ui/gui/psppire-window.h \
+       src/ui/gui/psppire-window-register.c \
+       src/ui/gui/psppire-window-register.h \
+       src/ui/gui/t-test-options.c \
+       src/ui/gui/t-test-options.h \
+       src/ui/gui/val-labs-dialog.c \
+       src/ui/gui/val-labs-dialog.h \
+       src/ui/gui/value-variant.c \
+       src/ui/gui/value-variant.h \
+       src/ui/gui/var-display.c \
+       src/ui/gui/var-display.h \
+       src/ui/gui/var-type-dialog.c \
+       src/ui/gui/var-type-dialog.h \
+       src/ui/gui/widget-io.c \
+       src/ui/gui/widget-io.h \
+       src/ui/gui/windows-menu.c \
+       src/ui/gui/windows-menu.h
+
+src/ui/gui/pspp.rc: src/ui/gui/pspp.rc.in
+       @$(MKDIR_P) src/ui/gui
+       sed -e 's/%version%/'$(PACKAGE_VERSION)'/' $< > $@
+
+noinst_LTLIBRARIES += src/ui/gui/libwidgets-essential.la
+
+src_ui_gui_libwidgets_essential_la_SOURCES = \
        src/ui/gui/psppire-acr.c \
        src/ui/gui/psppire-acr.h \
        src/ui/gui/psppire-buttonbox.c \
@@ -150,6 +239,8 @@ UI_WIDGETS_ESSENTIAL= \
        src/ui/gui/psppire-checkbox-treeview.h \
        src/ui/gui/psppire-conf.c \
        src/ui/gui/psppire-conf.h \
+       src/ui/gui/psppire-data-sheet.c \
+       src/ui/gui/psppire-data-sheet.h \
        src/ui/gui/psppire-dialog-action-1sks.c \
        src/ui/gui/psppire-dialog-action-1sks.h \
        src/ui/gui/psppire-dialog-action-aggregate.c \
@@ -256,10 +347,16 @@ UI_WIDGETS_ESSENTIAL= \
        src/ui/gui/psppire-text-file.h \
        src/ui/gui/psppire-val-chooser.c \
        src/ui/gui/psppire-val-chooser.h \
+       src/ui/gui/psppire-var-info.c \
+       src/ui/gui/psppire-var-info.h \
        src/ui/gui/psppire-var-ptr.c \
        src/ui/gui/psppire-var-ptr.h \
        src/ui/gui/psppire-var-view.c \
        src/ui/gui/psppire-var-view.h \
+       src/ui/gui/psppire-var-sheet-header.c \
+       src/ui/gui/psppire-var-sheet-header.h \
+       src/ui/gui/psppire-variable-sheet.c \
+       src/ui/gui/psppire-variable-sheet.h \
        src/ui/gui/psppire-window-base.c \
        src/ui/gui/psppire-window-base.h \
        src/ui/gui/dialog-common.c \
@@ -269,109 +366,27 @@ UI_WIDGETS_ESSENTIAL= \
        src/ui/gui/dict-display.c \
        src/ui/gui/dict-display.h
 
-src_ui_gui_psppire_SOURCES = $(UI_WIDGETS_ESSENTIAL) \
-       src/ui/gui/builder-wrapper.c \
-       src/ui/gui/builder-wrapper.h \
-       src/ui/gui/entry-dialog.c \
-       src/ui/gui/entry-dialog.h \
-       src/ui/gui/executor.c \
-       src/ui/gui/executor.h \
-       src/ui/gui/find-dialog.c \
-       src/ui/gui/find-dialog.h \
-       src/ui/gui/goto-case-dialog.c \
-       src/ui/gui/goto-case-dialog.h \
-       src/ui/gui/helper.c \
-       src/ui/gui/helper.h \
-       src/ui/gui/help-menu.c \
-       src/ui/gui/help-menu.h \
-       src/ui/gui/main.c \
-       src/ui/gui/missing-val-dialog.c \
-       src/ui/gui/missing-val-dialog.h \
-       src/ui/gui/options-dialog.c \
-       src/ui/gui/options-dialog.h \
-       src/ui/gui/psppire.c \
-       src/ui/gui/psppire-data-editor.c \
-       src/ui/gui/psppire-data-editor.h \
-       src/ui/gui/psppire-data-sheet.c \
-       src/ui/gui/psppire-data-sheet.h \
-       src/ui/gui/psppire-data-store.c \
-       src/ui/gui/psppire-data-store.h \
-       src/ui/gui/psppire-data-window.c \
-       src/ui/gui/psppire-data-window.h \
-       src/ui/gui/psppire-delimited-text.c \
-       src/ui/gui/psppire-delimited-text.h \
-       src/ui/gui/psppire-encoding-selector.c \
-       src/ui/gui/psppire-encoding-selector.h \
-       src/ui/gui/psppire.h \
-       src/ui/gui/psppire-import-assistant.c \
-       src/ui/gui/psppire-import-assistant.h \
-       src/ui/gui/psppire-lex-reader.c \
-       src/ui/gui/psppire-lex-reader.h \
-       src/ui/gui/psppire-output-view.c \
-       src/ui/gui/psppire-output-view.h \
-       src/ui/gui/psppire-output-window.c \
-       src/ui/gui/psppire-output-window.h \
-       src/ui/gui/psppire-scanf.c \
-       src/ui/gui/psppire-scanf.h \
-       src/ui/gui/psppire-spreadsheet-model.c \
-       src/ui/gui/psppire-spreadsheet-model.h \
-       src/ui/gui/psppire-syntax-window.c \
-       src/ui/gui/psppire-syntax-window.h \
-       src/ui/gui/psppire-value-entry.c \
-       src/ui/gui/psppire-value-entry.h \
-       src/ui/gui/psppire-variable-sheet.c \
-       src/ui/gui/psppire-variable-sheet.h \
-       src/ui/gui/psppire-var-sheet-header.c \
-       src/ui/gui/psppire-var-sheet-header.h \
-       src/ui/gui/psppire-window.c \
-       src/ui/gui/psppire-window.h \
-       src/ui/gui/psppire-window-register.c \
-       src/ui/gui/psppire-window-register.h \
-       src/ui/gui/t-test-options.c \
-       src/ui/gui/t-test-options.h \
-       src/ui/gui/val-labs-dialog.c \
-       src/ui/gui/val-labs-dialog.h \
-       src/ui/gui/value-variant.c \
-       src/ui/gui/value-variant.h \
-       src/ui/gui/var-display.c \
-       src/ui/gui/var-display.h \
-       src/ui/gui/var-type-dialog.c \
-       src/ui/gui/var-type-dialog.h \
-       src/ui/gui/widget-io.c \
-       src/ui/gui/widget-io.h \
-       src/ui/gui/windows-menu.c \
-       src/ui/gui/windows-menu.h
-
+src_ui_gui_libwidgets_essential_la_CFLAGS = \
+       $(GTK_CFLAGS) \
+       $(GTKSOURCEVIEW_CFLAGS) \
+        $(SPREAD_SHEET_WIDGET_CFLAGS) \
+       $(AM_CFLAGS)
+
+# The unused-parameter warning is not by default disabled
+# in AM_CFLAGS because the core pspp code has this enabled.
+# This is only disabled in the gui code where we have many
+# callbacks from gtk3 which have fixed parameters
+if cc_is_gcc
+src_ui_gui_libwidgets_essential_la_CFLAGS += -Wno-unused-parameter
+endif
 
 nodist_src_ui_gui_psppire_SOURCES = \
        src/ui/gui/psppire-marshal.c \
        src/ui/gui/psppire-marshal.h \
        src/ui/gui/resources.c
 
-yelp-check:
-       @if ! yelp --version > /dev/null 2>&1 ; then \
-               echo    ; \
-               echo '    The Yelp document viewer does not seem to be installed on the system.' ; \
-               echo '    If Yelp is not available at run time, then the PSPPIRE online reference' ; \
-               echo '    manual will not be available.' ; \
-               echo '    Yelp is available from the GNOME project.  ftp://ftp.gnome.org/pub/gnome/sources/yelp' ; \
-               echo ; \
-       fi
-
-PHONY += yelp-check
-
 AM_CPPFLAGS += -Isrc
 
-src/ui/gui/org.fsf.pspp.metainfo.xml: src/ui/gui/org.fsf.pspp.metainfo.xml.in $(POFILES)
-       $(AM_V_GEN)$(MSGFMT) --xml --template $< -o $@ -d $(top_srcdir)/po || \
-         $(MSGFMT) -L appdata --xml --template $< -o $@ -d $(top_srcdir)/po
-
-src/ui/gui/org.fsf.pspp.desktop: src/ui/gui/org.fsf.pspp.desktop.in $(POFILES)
-       $(AM_V_GEN)$(MSGFMT) --desktop --template $< -o $@ -d $(top_srcdir)/po
-
-CLEANFILES+=src/ui/gui/org.fsf.pspp.desktop \
-            src/ui/gui/org.fsf.pspp.metainfo.xml
-
 src/ui/gui/resources.c: src/ui/gui/resources.xml
        $(AM_V_at)$(GLIB_COMPILE_RESOURCES) --sourcedir=$(top_srcdir)/src/ui/gui --generate-source $< --target=$@,out
        $(AM_V_GEN)echo '#include <config.h>' > $@,tmp
@@ -381,27 +396,17 @@ src/ui/gui/resources.c: src/ui/gui/resources.xml
 
 src/ui/gui/psppire-marshal.c: src/ui/gui/marshaller-list
        $(AM_V_GEN)echo '#include <config.h>' > $@
-       $(AM_V_at)$(GLIB_GENMARSHAL) --body --prefix=psppire_marshal $? >> $@
+       $(AM_V_at)$(GLIB_GENMARSHAL) --body --include-header=ui/gui/psppire-marshal.h --prefix=psppire_marshal $? >> $@
 
 src/ui/gui/psppire-marshal.h: src/ui/gui/marshaller-list
        $(AM_V_GEN)$(GLIB_GENMARSHAL) --header --prefix=psppire_marshal $? > $@
 
-mimedir = $(datadir)/mime/packages
-mime_DATA = src/ui/gui/pspp.xml
-EXTRA_DIST += src/ui/gui/pspp.xml
-
-desktopdir = $(datadir)/applications
-desktop_DATA = src/ui/gui/org.fsf.pspp.desktop
-
-appdatadir = $(datadir)/metainfo
-dist_appdata_DATA = src/ui/gui/org.fsf.pspp.metainfo.xml
-
 BUILT_SOURCES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h src/ui/gui/resources.c
 
 CLEANFILES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h \
+       src/ui/gui/.deps/psppire-marshal.Plo \
        src/ui/gui/resources.c $(nodist_src_ui_gui_psppire_DATA)
 
-endif HAVE_GUI
 
 #ensure the installcheck passes even if there is no X server available
 installcheck-local:
@@ -426,24 +431,32 @@ EXTRA_DIST += src/ui/gui/include/gtk/gtk.in.h src/ui/gui/resources.xml
 
 include $(top_srcdir)/src/ui/gui/icons/automake.mk
 
+src/ui/gui/pspp.res: src/ui/gui/pspp.rc $(w32_icons)
+       @$(MKDIR_P) src/ui/gui
+       $(host_triplet)-windres  $< -O coff -o $@
+
+
 UNINSTALL_DATA_HOOKS += update-icon-cache
 INSTALL_DATA_HOOKS += update-icon-cache
 
-#############################################
+#### Build the tools needed to run glade on our .ui files
 
 EXTRA_pkgdir = $(abs_builddir)/src/ui/gui
 
 EXTRA_pkg_LTLIBRARIES = src/ui/gui/libpsppire-glade.la
 
 src_ui_gui_libpsppire_glade_la_SOURCES = \
-       $(UI_WIDGETS_ESSENTIAL)  \
        src/ui/gui/dummy.c
 
 src_ui_gui_libpsppire_glade_la_LIBADD = \
+       src/ui/gui/libwidgets-essential.la \
        src/ui/gui/psppire-marshal.lo
 
-src_ui_gui_libpsppire_glade_la_CFLAGS = $(GTK_CFLAGS) $(GTKSOURCEVIEW_CFLAGS)
-src_ui_gui_libpsppire_glade_la_LDFLAGS = -release $(VERSION)
+src_ui_gui_libpsppire_glade_la_CFLAGS = $(GTK_CFLAGS) $(AM_CFLAGS)
+if cc_is_gcc
+src_ui_gui_libpsppire_glade_la_CFLAGS += -Wno-unused-parameter
+endif
+src_ui_gui_libpsppire_glade_la_LDFLAGS = -release $(VERSION)  $(SPREAD_SHEET_WIDGET_LIBS)
 
 EXTRA_DIST += src/ui/gui/psppire.xml src/ui/gui/glade-wrapper.in
 
@@ -451,5 +464,12 @@ src/ui/gui/glade-wrapper: src/ui/gui/glade-wrapper.in
        $(SED) -e 's%\@abs_top_srcdir\@%@abs_top_srcdir@%g' -e 's%\@abs_top_builddir\@%@abs_top_builddir@%g'  $< > $@
        chmod a+x $@
 
-.PHONY: glade-tools
+PHONY += glade-tools
 glade-tools: src/ui/gui/glade-wrapper src/ui/gui/libpsppire-glade.la
+
+# This works around a possible bug in Automake 1.16.1 which installs
+# EXTRA_pkgLTLIBRARIES if DESTDIR is set.  It should not do that.
+install-EXTRA_pkgLTLIBRARIES:
+       true
+
+endif