From: Eric Bavier <bavier@member.fsf.org>
Date: Sat, 2 Apr 2016 01:31:03 -0500
Subject: [PATCH] Build against external libbrotli.

---
 Makefile         | 20 ++++----------------
 src/woff2_dec.cc |  2 +-
 src/woff2_enc.cc |  2 +-
 3 files changed, 6 insertions(+), 18 deletions(-)

diff --git a/Makefile b/Makefile
index 92b8d54..618a751 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 OS := $(shell uname)
 
-CPPFLAGS = -I./brotli/dec/ -I./brotli/enc/ -I./src
+CPPFLAGS := -I./src $(shell pkg-config --cflags libbrotlienc libbrotlidec)
 
 CC ?= gcc
 CXX ?= g++
@@ -22,29 +22,17 @@ OUROBJ = font.o glyph.o normalize.o table_tags.o transform.o \
          woff2_dec.o woff2_enc.o woff2_common.o woff2_out.o \
          variable_length.o
 
-BROTLI = brotli
-ENCOBJ = $(BROTLI)/enc/*.o
-DECOBJ = $(BROTLI)/dec/*.o
+BROTLI_LIBS := $(shell pkg-config --libs libbrotlienc libbrotlidec)
 
 OBJS = $(patsubst %, $(SRCDIR)/%, $(OUROBJ))
 EXECUTABLES=woff2_compress woff2_decompress
 
 EXE_OBJS=$(patsubst %, $(SRCDIR)/%.o, $(EXECUTABLES))
 
-ifeq (,$(wildcard $(BROTLI)/*))
-  $(error Brotli dependency not found : you must initialize the Git submodule)
-endif
-
 all : $(OBJS) $(EXECUTABLES)
 
-$(EXECUTABLES) : $(EXE_OBJS) deps
-	$(CXX) $(LFLAGS) $(OBJS) $(ENCOBJ) $(DECOBJ) $(SRCDIR)/$@.o -o $@
-
-deps :
-	$(MAKE) -C $(BROTLI)/dec
-	$(MAKE) -C $(BROTLI)/enc
+$(EXECUTABLES) : $(EXE_OBJS) $(OBJS)
+	$(CXX) $(LDFLAGS) $(OBJS) $(SRCDIR)/$@.o -o $@ $(BROTLI_LIBS) $(LIBS)
 
 clean :
 	rm -f $(OBJS) $(EXE_OBJS) $(EXECUTABLES)
-	$(MAKE) -C $(BROTLI)/dec clean
-	$(MAKE) -C $(BROTLI)/enc clean
diff --git a/src/woff2_dec.cc b/src/woff2_dec.cc
index 837eede..98c01ce 100644
--- a/src/woff2_dec.cc
+++ b/src/woff2_dec.cc
@@ -27,7 +27,7 @@
 #include <memory>
 #include <utility>
 
-#include "./decode.h"
+#include "brotli/dec/decode.h"
 #include "./buffer.h"
 #include "./port.h"
 #include "./round.h"
diff --git a/src/woff2_enc.cc b/src/woff2_enc.cc
index 920c614..00d74da 100644
--- a/src/woff2_enc.cc
+++ b/src/woff2_enc.cc
@@ -23,7 +23,7 @@
 #include <string>
 #include <vector>
 
-#include "./encode.h"
+#include "brotli/enc/encode.h"
 #include "./buffer.h"
 #include "./font.h"
 #include "./normalize.h"
-- 
2.7.3

