diff options
Diffstat (limited to 'frontends/gtk/Makefile')
-rw-r--r-- | frontends/gtk/Makefile | 49 |
1 files changed, 29 insertions, 20 deletions
diff --git a/frontends/gtk/Makefile b/frontends/gtk/Makefile index ec60ce70c..64a0872ba 100644 --- a/frontends/gtk/Makefile +++ b/frontends/gtk/Makefile @@ -11,6 +11,8 @@ NETSURF_FEATURE_RSVG_CFLAGS := -DWITH_RSVG NETSURF_FEATURE_VIDEO_CFLAGS := -DWITH_VIDEO +# determine if the rsvg library API version +RSVG_API := $(shell $(PKG_CONFIG) --atleast-version=2.46 librsvg-2.0 && echo 246) $(eval $(call pkg_config_find_and_add_enabled,RSVG,librsvg-2.0,SVG)) $(eval $(call pkg_config_find_and_add_enabled,VIDEO,gstreamer-0.10,Video)) @@ -32,13 +34,19 @@ ifeq ($(NETSURF_GTK_MAJOR),2) GTKDEPFLAGS += -DGTK_DISABLE_DEPRECATED endif +# C library API control +ifeq ($(HOST),FreeBSD) +CAPIFLAGS := +else +CAPIFLAGS := -D_XOPEN_SOURCE=700 \ + -D_POSIX_C_SOURCE=200809L +endif GTKCFLAGS := -std=c99 -Dgtk -Dnsgtk -g \ $(GTKDEPFLAGS) \ + $(CAPIFLAGS) \ -D_BSD_SOURCE \ -D_DEFAULT_SOURCE \ - -D_XOPEN_SOURCE=600 \ - -D_POSIX_C_SOURCE=200809L \ -D_NETBSD_SOURCE \ -DGTK_RESPATH=\"$(NETSURF_GTK_RES_PATH)\" @@ -59,13 +67,7 @@ LDFLAGS += -lm NSGTK_RESOURCES_DIR := $(FRONTEND_RESOURCES_DIR) # The gtk binary target. -ifeq ($(NETSURF_GTK_MAJOR),2) - # gtk2 builds have no major suffix - EXETARGET := nsgtk -else - # gtk3 and later builds use the major version suffix - EXETARGET := nsgtk$(NETSURF_GTK_MAJOR) -endif +EXETARGET := nsgtk$(NETSURF_GTK_MAJOR) # The filter and target for split messages MESSAGES_FILTER=gtk @@ -109,6 +111,7 @@ GLIB_COMPILE_RESOURCES := glib-compile-resources CFLAGS += -DWITH_GRESOURCE NETSURF_GRESOURCE_XML := $(NSGTK_RESOURCES_DIR)/netsurf.gresource.xml +UI_GRESOURCE_XML := $(NSGTK_RESOURCES_DIR)/ui.gresource.xml MESSAGES_GRESOURCE_XML := $(NSGTK_RESOURCES_DIR)/messages.gresource.xml # generate the netsurf gresource source files @@ -118,6 +121,13 @@ $(OBJROOT)/netsurf_gresource.c: $(NETSURF_GRESOURCE_XML) $(shell $(GLIB_COMPILE_ S_RESOURCE += $(OBJROOT)/netsurf_gresource.c +# generate the ui gresource source files +$(OBJROOT)/ui_gresource.c: $(UI_GRESOURCE_XML) $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir $(NSGTK_RESOURCES_DIR)/gtk$(NETSURF_GTK_MAJOR) --generate-dependencies $(UI_GRESOURCE_XML)) + $(VQ)echo "GRESORCE: $<" + $(Q)$(GLIB_COMPILE_RESOURCES) --generate-source --sourcedir $(NSGTK_RESOURCES_DIR)/gtk$(NETSURF_GTK_MAJOR) --target=$@ $< + +S_RESOURCE += $(OBJROOT)/ui_gresource.c + # generate the messages gresource source file $(OBJROOT)/messages_gresource.c: $(MESSAGES_GRESOURCE_XML) $(addsuffix /Messages,$(addprefix $(MESSAGES_TARGET)/,$(MESSAGES_LANGUAGES))) $(VQ)echo "GRESORCE: $<" @@ -164,12 +174,12 @@ endif # ---------------------------------------------------------------------------- # S_FRONTEND are sources purely for the GTK frontend -S_FRONTEND := gui.c schedule.c layout_pango.c bitmap.c plotters.c \ - scaffolding.c gdk.c completion.c login.c throbber.c accelerator.c \ - selection.c window.c fetch.c download.c menu.c print.c \ - search.c tabs.c toolbar.c gettext.c compat.c viewdata.c \ - viewsource.c preferences.c about.c resources.c corewindow.c \ - local_history.c global_history.c cookies.c hotlist.c ssl_cert.c +S_FRONTEND := gui.c misc.c schedule.c layout_pango.c bitmap.c plotters.c \ + scaffolding.c gdk.c completion.c throbber.c accelerator.c \ + selection.c window.c fetch.c download.c menu.c print.c \ + search.c tabs.c toolbar.c gettext.c compat.c viewdata.c \ + viewsource.c preferences.c about.c resources.c corewindow.c \ + local_history.c global_history.c cookies.c hotlist.c page_info.c # This is the final source build list # Note this is deliberately *not* expanded here as common and image @@ -183,16 +193,15 @@ SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_RESOURCE) $(S_FRONTEND) GTK_RESOURCES_LIST := \ languages SearchEngines ca-bundle.txt \ default.css adblock.css quirks.css internal.css \ - credits.html licence.html welcome.html maps.html Messages \ - default.ico favicon.png netsurf.png netsurf.xpm netsurf-16x16.xpm \ - arrow_down_8x32.png + credits.html licence.html welcome.html Messages \ + default.ico favicon.png netsurf.png netsurf.xpm netsurf-16x16.xpm GTK_RESOURCES_LIST := \ $(addprefix $(NSGTK_RESOURCES_DIR)/, $(GTK_RESOURCES_LIST)) \ - $(wildcard $(NSGTK_RESOURCES_DIR)/*.gtk$(NETSURF_GTK_MAJOR).ui) + $(wildcard $(NSGTK_RESOURCES_DIR)/gtk$(NETSURF_GTK_MAJOR)/*.ui) # translations with more than just Messages files -GTK_TRANSLATIONS_HTML := de en fr it ja nl +GTK_TRANSLATIONS_HTML := de en fr it ja nl zh_CN # destination for installed resources is the first entry in the gtk resource path NSGTK_RESOURCES_DESTDIR := $(DESTDIR)$(word 1,$(subst :, ,$(NETSURF_GTK_RES_PATH))) |