X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=Makefile;h=bf159592a6cfc8ae6eae67a562ed174a07c566c8;hb=08d62241a742a68cde7cce7ffb7de7ffa62e538c;hp=3226da67427bbb747d1f3c6e9a9acc61e2e49d4f;hpb=5586e3330c5c904a921dd4a9fb55cfa27a2cab9f;p=videolink.git diff --git a/Makefile b/Makefile index 3226da6..bf15959 100644 --- a/Makefile +++ b/Makefile @@ -5,13 +5,25 @@ sharedir := $(prefix)/share docdir := $(sharedir)/doc mandir := $(sharedir)/man -# Prefer XULRunner to the old Mozilla -ifeq ($(shell pkg-config --exists xulrunner-gtkmozembed && echo yes),yes) +ifeq ($(shell pkg-config --atleast-version 1.9 mozilla-gtkmozembed-embedding && echo yes),yes) + moz_name := xulrunner-1.9 + moz_pc := mozilla-gtkmozembed-embedding + moz_cppflags_extra := $(shell pkg-config --cflags xulrunner-nspr) + moz_unstable_cppflags_extra := + moz_ldflags_extra := +else + ifeq ($(shell pkg-config --exists xulrunner-gtkmozembed && echo yes),yes) moz_name := xulrunner moz_pc := xulrunner-gtkmozembed -else + else moz_name := mozilla moz_pc := mozilla-gtkmozembed + endif + moz_unstable_cppflags_extra = \ + $(addprefix -I$(moz_include_dir)/, \ + content docshell dom gfx imglib2 layout locale necko uconv webshell widget) \ + -DMOZILLA_INTERNAL_API + moz_ldflags_extra = -Wl,-rpath,$(moz_lib_dir) endif moz_prefix := $(shell pkg-config --variable=prefix $(moz_pc)) @@ -27,7 +39,7 @@ CPPFLAGS := -D_REENTRANT CXXFLAGS := -ansi -Wall -Wunused LDFLAGS := -lpthread \ $(shell pkg-config --libs gtkmm-2.4 $(moz_pc)) \ - -Wl,-rpath -Wl,$(moz_lib_dir) -lexpat + $(moz_ldflags_extra) -lexpat ifdef NDEBUG CPPFLAGS += -DNDEBUG @@ -38,9 +50,10 @@ else endif cxxsources := \ - auto_proc.cpp browser_widget.cpp child_iterator.cpp generate_dvd.cpp \ - link_iterator.cpp null_prompt_service.cpp pixbufs.cpp style_sheets.cpp \ - temp_file.cpp video.cpp vob_list.cpp videolink.cpp warp_pointer.cpp \ + auto_proc.cpp browser_widget.cpp child_iterator.cpp \ + event_state_manager.cpp generate_dvd.cpp link_iterator.cpp \ + null_prompt_service.cpp pixbufs.cpp style_sheets.cpp temp_file.cpp \ + video.cpp vob_list.cpp videolink.cpp warp_pointer.cpp \ x_frame_buffer.cpp xml_utils.cpp xpcom_support.cpp csources := jquant2.c @@ -48,10 +61,12 @@ sources_using_gtkmm := \ browser_widget.cpp generate_dvd.cpp pixbufs.cpp temp_file.cpp \ vob_list.cpp videolink.cpp warp_pointer.cpp sources_using_moz := \ - browser_widget.cpp child_iterator.cpp link_iterator.cpp \ - null_prompt_service.cpp style_sheets.cpp videolink.cpp xpcom_support.cpp + browser_widget.cpp child_iterator.cpp event_state_manager.cpp \ + link_iterator.cpp null_prompt_service.cpp style_sheets.cpp \ + videolink.cpp xpcom_support.cpp sources_using_moz_unstable := \ - link_iterator.cpp null_prompt_service.cpp style_sheets.cpp videolink.cpp + browser_widget.cpp event_state_manager.cpp link_iterator.cpp \ + null_prompt_service.cpp style_sheets.cpp videolink.cpp videolink : $(cxxsources:%.cpp=.objs/%.o) $(csources:%.c=.objs/%.o) $(CXX) $^ $(LDFLAGS) -o $@ @@ -84,16 +99,13 @@ $(sources_using_gtkmm:%.cpp=.objs/%.o) \ : CPPFLAGS += $(shell pkg-config --cflags gtkmm-2.4) $(sources_using_moz:%.cpp=.objs/%.o) \ - : CPPFLAGS += $(shell pkg-config --cflags $(moz_pc)) + : CPPFLAGS += $(shell pkg-config --cflags $(moz_pc)) $(moz_cppflags_extra) # Non-virtual destructors are fine in XPCOM interface classes since # instances are only ever called by the Release function which is virtual. $(sources_using_moz:%.cpp=.objs/%.o) : CXXFLAGS += -Wno-non-virtual-dtor $(sources_using_moz_unstable:%.cpp=.objs/%.o) \ - : CPPFLAGS += $(addprefix -I$(moz_include_dir)/, \ - content docshell dom gfx imglib2 layout locale \ - necko uconv webshell widget) \ - -DMOZILLA_INTERNAL_API \ + : CPPFLAGS += $(moz_unstable_cppflags_extra) \ -DMOZ_VERSION_MAJOR=$(moz_version_major) \ -DMOZ_VERSION_MINOR=$(moz_version_minor)