]> git.decadent.org.uk Git - videolink.git/blobdiff - Makefile
Added support for XULRunner/GRE 1.9:
[videolink.git] / Makefile
index 3226da67427bbb747d1f3c6e9a9acc61e2e49d4f..bf159592a6cfc8ae6eae67a562ed174a07c566c8 100644 (file)
--- 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)