aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreustas <eustas.ru@gmail.com>2016-06-20 17:50:57 +0200
committerGitHub <noreply@github.com>2016-06-20 17:50:57 +0200
commitbdf54ed9e6f2448052d2c5e54871dfbe7b369bbd (patch)
tree6110de340ee85280507b00d29f3177271d7bad29
parentf836c9459f99da11a56234f09641e940aafb761e (diff)
parent6a078b17d75d6445eb08c906032be2110adce87b (diff)
downloadbrotli-bdf54ed9e6f2448052d2c5e54871dfbe7b369bbd.zip
brotli-bdf54ed9e6f2448052d2c5e54871dfbe7b369bbd.tar.gz
brotli-bdf54ed9e6f2448052d2c5e54871dfbe7b369bbd.tar.bz2
Merge pull request #382 from eustas/master
Update encoder and add xcode projects
-rw-r--r--Makefile2
-rw-r--r--buildfiles/gmake/Makefile54
-rw-r--r--buildfiles/gmake/bro.make72
-rwxr-xr-xbuildfiles/gmake/brotli.make209
-rw-r--r--buildfiles/gmake/brotli_common.make64
-rw-r--r--buildfiles/gmake/brotli_dec.make64
-rw-r--r--buildfiles/gmake/brotli_enc.make64
-rwxr-xr-xbuildfiles/xcode4/bro.xcodeproj/project.pbxproj261
-rwxr-xr-xbuildfiles/xcode4/brotli.xcodeproj/project.pbxproj400
-rwxr-xr-xbuildfiles/xcode4/brotli.xcworkspace/contents.xcworkspacedata19
-rwxr-xr-xbuildfiles/xcode4/brotli_common.xcodeproj/project.pbxproj208
-rwxr-xr-xbuildfiles/xcode4/brotli_dec.xcodeproj/project.pbxproj290
-rwxr-xr-xbuildfiles/xcode4/brotli_enc.xcodeproj/project.pbxproj396
-rw-r--r--enc/encode.c107
-rw-r--r--enc/encode.h13
-rw-r--r--premake5.lua24
16 files changed, 1902 insertions, 345 deletions
diff --git a/Makefile b/Makefile
index 2dece38..b64c87f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
include buildfiles/gmake/config.make
-TARGETS=all clean brotli_common brotli_dec brotli_enc bro help
+TARGETS=all clean brotli_common brotli_dec brotli_enc brotli bro help
.PHONY: $(TARGETS) install
diff --git a/buildfiles/gmake/Makefile b/buildfiles/gmake/Makefile
index b2ebdc0..9da6fee 100644
--- a/buildfiles/gmake/Makefile
+++ b/buildfiles/gmake/Makefile
@@ -3,39 +3,29 @@
.NOTPARALLEL:
ifndef config
- config=release_static
+ config=release
endif
ifndef verbose
SILENT = @
endif
-ifeq ($(config),release_static)
- brotli_common_config = release_static
- brotli_dec_config = release_static
- brotli_enc_config = release_static
- bro_config = release_static
+ifeq ($(config),release)
+ brotli_common_config = release
+ brotli_dec_config = release
+ brotli_enc_config = release
+ brotli_config = release
+ bro_config = release
endif
-ifeq ($(config),release_shared)
- brotli_common_config = release_shared
- brotli_dec_config = release_shared
- brotli_enc_config = release_shared
- bro_config = release_shared
-endif
-ifeq ($(config),debug_static)
- brotli_common_config = debug_static
- brotli_dec_config = debug_static
- brotli_enc_config = debug_static
- bro_config = debug_static
-endif
-ifeq ($(config),debug_shared)
- brotli_common_config = debug_shared
- brotli_dec_config = debug_shared
- brotli_enc_config = debug_shared
- bro_config = debug_shared
+ifeq ($(config),debug)
+ brotli_common_config = debug
+ brotli_dec_config = debug
+ brotli_enc_config = debug
+ brotli_config = debug
+ bro_config = debug
endif
-PROJECTS := brotli_common brotli_dec brotli_enc bro
+PROJECTS := brotli_common brotli_dec brotli_enc brotli bro
.PHONY: all clean help $(PROJECTS)
@@ -59,7 +49,13 @@ ifneq (,$(brotli_enc_config))
@${MAKE} --no-print-directory -C . -f brotli_enc.make config=$(brotli_enc_config)
endif
-bro: brotli_common brotli_dec brotli_enc
+brotli:
+ifneq (,$(brotli_config))
+ @echo "==== Building brotli ($(brotli_config)) ===="
+ @${MAKE} --no-print-directory -C . -f brotli.make config=$(brotli_config)
+endif
+
+bro: brotli
ifneq (,$(bro_config))
@echo "==== Building bro ($(bro_config)) ===="
@${MAKE} --no-print-directory -C . -f bro.make config=$(bro_config)
@@ -69,16 +65,15 @@ clean:
@${MAKE} --no-print-directory -C . -f brotli_common.make clean
@${MAKE} --no-print-directory -C . -f brotli_dec.make clean
@${MAKE} --no-print-directory -C . -f brotli_enc.make clean
+ @${MAKE} --no-print-directory -C . -f brotli.make clean
@${MAKE} --no-print-directory -C . -f bro.make clean
help:
@echo "Usage: make [config=name] [target]"
@echo ""
@echo "CONFIGURATIONS:"
- @echo " release_static"
- @echo " release_shared"
- @echo " debug_static"
- @echo " debug_shared"
+ @echo " release"
+ @echo " debug"
@echo ""
@echo "TARGETS:"
@echo " all (default)"
@@ -86,6 +81,7 @@ help:
@echo " brotli_common"
@echo " brotli_dec"
@echo " brotli_enc"
+ @echo " brotli"
@echo " bro"
@echo ""
@echo "For more information, see http://industriousone.com/premake/quick-start" \ No newline at end of file
diff --git a/buildfiles/gmake/bro.make b/buildfiles/gmake/bro.make
index 5314de8..be83d6c 100644
--- a/buildfiles/gmake/bro.make
+++ b/buildfiles/gmake/bro.make
@@ -1,7 +1,7 @@
# GNU Make project makefile autogenerated by Premake
ifndef config
- config=release_static
+ config=release
endif
ifndef verbose
@@ -10,11 +10,11 @@ endif
.PHONY: clean prebuild prelink
-ifeq ($(config),release_static)
+ifeq ($(config),release)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/bro
- OBJDIR = obj/Static/Release/bro
+ OBJDIR = obj/Release/bro
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
@@ -22,8 +22,8 @@ ifeq ($(config),release_static)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -fno-omit-frame-pointer
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lbrotli_dec -lbrotli_enc -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.a ../../bin/libbrotli_dec.a ../../bin/libbrotli_enc.a
+ LIBS += -Wl,--start-group -lbrotli -lm -Wl,--end-group
+ LDDEPS += ../../bin/libbrotli.a
ALL_LDFLAGS += $(LDFLAGS) -L../../bin -s
LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
define PREBUILDCMDS
@@ -37,65 +37,11 @@ all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
endif
-ifeq ($(config),release_shared)
+ifeq ($(config),debug)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/bro
- OBJDIR = obj/Shared/Release/bro
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lbrotli_dec -lbrotli_enc -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.so ../../bin/libbrotli_dec.so ../../bin/libbrotli_enc.so
- ALL_LDFLAGS += $(LDFLAGS) -L../../bin -s
- LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),debug_static)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/bro
- OBJDIR = obj/Static/Debug/bro
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lbrotli_dec -lbrotli_enc -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.a ../../bin/libbrotli_dec.a ../../bin/libbrotli_enc.a
- ALL_LDFLAGS += $(LDFLAGS) -L../../bin
- LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),debug_shared)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/bro
- OBJDIR = obj/Shared/Debug/bro
+ OBJDIR = obj/Debug/bro
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
@@ -103,8 +49,8 @@ ifeq ($(config),debug_shared)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -fno-omit-frame-pointer
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lbrotli_dec -lbrotli_enc -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.so ../../bin/libbrotli_dec.so ../../bin/libbrotli_enc.so
+ LIBS += -Wl,--start-group -lbrotli -lm -Wl,--end-group
+ LDDEPS += ../../bin/libbrotli.a
ALL_LDFLAGS += $(LDFLAGS) -L../../bin
LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
define PREBUILDCMDS
diff --git a/buildfiles/gmake/brotli.make b/buildfiles/gmake/brotli.make
new file mode 100755
index 0000000..b5020a2
--- /dev/null
+++ b/buildfiles/gmake/brotli.make
@@ -0,0 +1,209 @@
+# GNU Make project makefile autogenerated by Premake
+
+ifndef config
+ config=release
+endif
+
+ifndef verbose
+ SILENT = @
+endif
+
+.PHONY: clean prebuild prelink
+
+ifeq ($(config),release)
+ RESCOMP = windres
+ TARGETDIR = ../../bin
+ TARGET = $(TARGETDIR)/libbrotli.a
+ OBJDIR = obj/Release/brotli
+ DEFINES +=
+ INCLUDES +=
+ FORCE_INCLUDE +=
+ ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
+ ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -fno-omit-frame-pointer
+ ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
+ ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
+ LIBS += -lm
+ LDDEPS +=
+ ALL_LDFLAGS += $(LDFLAGS) -s
+ LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
+ define PREBUILDCMDS
+ endef
+ define PRELINKCMDS
+ endef
+ define POSTBUILDCMDS
+ endef
+all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
+ @:
+
+endif
+
+ifeq ($(config),debug)
+ RESCOMP = windres
+ TARGETDIR = ../../bin
+ TARGET = $(TARGETDIR)/libbrotli.a
+ OBJDIR = obj/Debug/brotli
+ DEFINES +=
+ INCLUDES +=
+ FORCE_INCLUDE +=
+ ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
+ ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -fno-omit-frame-pointer
+ ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
+ ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
+ LIBS += -lm
+ LDDEPS +=
+ ALL_LDFLAGS += $(LDFLAGS)
+ LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
+ define PREBUILDCMDS
+ endef
+ define PRELINKCMDS
+ endef
+ define POSTBUILDCMDS
+ endef
+all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
+ @:
+
+endif
+
+OBJECTS := \
+ $(OBJDIR)/dictionary.o \
+ $(OBJDIR)/bit_reader.o \
+ $(OBJDIR)/decode.o \
+ $(OBJDIR)/huffman.o \
+ $(OBJDIR)/state.o \
+ $(OBJDIR)/backward_references.o \
+ $(OBJDIR)/bit_cost.o \
+ $(OBJDIR)/block_splitter.o \
+ $(OBJDIR)/brotli_bit_stream.o \
+ $(OBJDIR)/cluster.o \
+ $(OBJDIR)/compress_fragment.o \
+ $(OBJDIR)/compress_fragment_two_pass.o \
+ $(OBJDIR)/encode.o \
+ $(OBJDIR)/entropy_encode.o \
+ $(OBJDIR)/histogram.o \
+ $(OBJDIR)/literal_cost.o \
+ $(OBJDIR)/memory.o \
+ $(OBJDIR)/metablock.o \
+ $(OBJDIR)/static_dict.o \
+ $(OBJDIR)/utf8_util.o \
+
+RESOURCES := \
+
+CUSTOMFILES := \
+
+SHELLTYPE := msdos
+ifeq (,$(ComSpec)$(COMSPEC))
+ SHELLTYPE := posix
+endif
+ifeq (/bin,$(findstring /bin,$(SHELL)))
+ SHELLTYPE := posix
+endif
+
+$(TARGET): $(GCH) ${CUSTOMFILES} $(OBJECTS) $(LDDEPS) $(RESOURCES)
+ @echo Linking brotli
+ $(SILENT) $(LINKCMD)
+ $(POSTBUILDCMDS)
+
+$(TARGETDIR):
+ @echo Creating $(TARGETDIR)
+ifeq (posix,$(SHELLTYPE))
+ $(SILENT) mkdir -p $(TARGETDIR)
+else
+ $(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
+endif
+
+$(OBJDIR):
+ @echo Creating $(OBJDIR)
+ifeq (posix,$(SHELLTYPE))
+ $(SILENT) mkdir -p $(OBJDIR)
+else
+ $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
+endif
+
+clean:
+ @echo Cleaning brotli
+ifeq (posix,$(SHELLTYPE))
+ $(SILENT) rm -f $(TARGET)
+ $(SILENT) rm -rf $(OBJDIR)
+else
+ $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
+ $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
+endif
+
+prebuild:
+ $(PREBUILDCMDS)
+
+prelink:
+ $(PRELINKCMDS)
+
+ifneq (,$(PCH))
+$(OBJECTS): $(GCH) $(PCH)
+$(GCH): $(PCH)
+ @echo $(notdir $<)
+ $(SILENT) $(CC) -x c-header $(ALL_CFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
+endif
+
+$(OBJDIR)/dictionary.o: ../../common/dictionary.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/bit_reader.o: ../../dec/bit_reader.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/decode.o: ../../dec/decode.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/huffman.o: ../../dec/huffman.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/state.o: ../../dec/state.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/backward_references.o: ../../enc/backward_references.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/bit_cost.o: ../../enc/bit_cost.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/block_splitter.o: ../../enc/block_splitter.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/brotli_bit_stream.o: ../../enc/brotli_bit_stream.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/cluster.o: ../../enc/cluster.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/compress_fragment.o: ../../enc/compress_fragment.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/compress_fragment_two_pass.o: ../../enc/compress_fragment_two_pass.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/encode.o: ../../enc/encode.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/entropy_encode.o: ../../enc/entropy_encode.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/histogram.o: ../../enc/histogram.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/literal_cost.o: ../../enc/literal_cost.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/memory.o: ../../enc/memory.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/metablock.o: ../../enc/metablock.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/static_dict.o: ../../enc/static_dict.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+$(OBJDIR)/utf8_util.o: ../../enc/utf8_util.c
+ @echo $(notdir $<)
+ $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
+ifneq (,$(PCH))
+ -include $(OBJDIR)/$(notdir $(PCH)).d
+endif \ No newline at end of file
diff --git a/buildfiles/gmake/brotli_common.make b/buildfiles/gmake/brotli_common.make
index 01f95e9..c1f0f29 100644
--- a/buildfiles/gmake/brotli_common.make
+++ b/buildfiles/gmake/brotli_common.make
@@ -1,7 +1,7 @@
# GNU Make project makefile autogenerated by Premake
ifndef config
- config=release_static
+ config=release
endif
ifndef verbose
@@ -10,38 +10,11 @@ endif
.PHONY: clean prebuild prelink
-ifeq ($(config),release_static)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/libbrotli_common.a
- OBJDIR = obj/Static/Release/brotli_common
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -lm
- LDDEPS +=
- ALL_LDFLAGS += $(LDFLAGS) -s
- LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),release_shared)
+ifeq ($(config),release)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_common.so
- OBJDIR = obj/Shared/Release/brotli_common
+ OBJDIR = obj/Release/brotli_common
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
@@ -64,38 +37,11 @@ all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
endif
-ifeq ($(config),debug_static)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/libbrotli_common.a
- OBJDIR = obj/Static/Debug/brotli_common
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -lm
- LDDEPS +=
- ALL_LDFLAGS += $(LDFLAGS)
- LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),debug_shared)
+ifeq ($(config),debug)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_common.so
- OBJDIR = obj/Shared/Debug/brotli_common
+ OBJDIR = obj/Debug/brotli_common
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
diff --git a/buildfiles/gmake/brotli_dec.make b/buildfiles/gmake/brotli_dec.make
index 849db0f..7788ecf 100644
--- a/buildfiles/gmake/brotli_dec.make
+++ b/buildfiles/gmake/brotli_dec.make
@@ -1,7 +1,7 @@
# GNU Make project makefile autogenerated by Premake
ifndef config
- config=release_static
+ config=release
endif
ifndef verbose
@@ -10,38 +10,11 @@ endif
.PHONY: clean prebuild prelink
-ifeq ($(config),release_static)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/libbrotli_dec.a
- OBJDIR = obj/Static/Release/brotli_dec
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.a
- ALL_LDFLAGS += $(LDFLAGS) -L../../bin -s
- LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),release_shared)
+ifeq ($(config),release)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_dec.so
- OBJDIR = obj/Shared/Release/brotli_dec
+ OBJDIR = obj/Release/brotli_dec
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
@@ -64,38 +37,11 @@ all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
endif
-ifeq ($(config),debug_static)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/libbrotli_dec.a
- OBJDIR = obj/Static/Debug/brotli_dec
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.a
- ALL_LDFLAGS += $(LDFLAGS) -L../../bin
- LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),debug_shared)
+ifeq ($(config),debug)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_dec.so
- OBJDIR = obj/Shared/Debug/brotli_dec
+ OBJDIR = obj/Debug/brotli_dec
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
diff --git a/buildfiles/gmake/brotli_enc.make b/buildfiles/gmake/brotli_enc.make
index 765cbb2..bcd28d0 100644
--- a/buildfiles/gmake/brotli_enc.make
+++ b/buildfiles/gmake/brotli_enc.make
@@ -1,7 +1,7 @@
# GNU Make project makefile autogenerated by Premake
ifndef config
- config=release_static
+ config=release
endif
ifndef verbose
@@ -10,38 +10,11 @@ endif
.PHONY: clean prebuild prelink
-ifeq ($(config),release_static)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/libbrotli_enc.a
- OBJDIR = obj/Static/Release/brotli_enc
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.a
- ALL_LDFLAGS += $(LDFLAGS) -L../../bin -s
- LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),release_shared)
+ifeq ($(config),release)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_enc.so
- OBJDIR = obj/Shared/Release/brotli_enc
+ OBJDIR = obj/Release/brotli_enc
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
@@ -64,38 +37,11 @@ all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
endif
-ifeq ($(config),debug_static)
- RESCOMP = windres
- TARGETDIR = ../../bin
- TARGET = $(TARGETDIR)/libbrotli_enc.a
- OBJDIR = obj/Static/Debug/brotli_enc
- DEFINES +=
- INCLUDES +=
- FORCE_INCLUDE +=
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -Wall -fno-omit-frame-pointer
- ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- LIBS += -Wl,--start-group -lbrotli_common -lm -Wl,--end-group
- LDDEPS += ../../bin/libbrotli_common.a
- ALL_LDFLAGS += $(LDFLAGS) -L../../bin
- LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
- define PREBUILDCMDS
- endef
- define PRELINKCMDS
- endef
- define POSTBUILDCMDS
- endef
-all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
- @:
-
-endif
-
-ifeq ($(config),debug_shared)
+ifeq ($(config),debug)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_enc.so
- OBJDIR = obj/Shared/Debug/brotli_enc
+ OBJDIR = obj/Debug/brotli_enc
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
diff --git a/buildfiles/xcode4/bro.xcodeproj/project.pbxproj b/buildfiles/xcode4/bro.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..2a94c6c
--- /dev/null
+++ b/buildfiles/xcode4/bro.xcodeproj/project.pbxproj
@@ -0,0 +1,261 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ AA3E9C5E42846800270913D843376400C250D740B7193800 /* bro.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F004FB129E75000E2F520E379FAE800E7F941E9FC791800 /* bro.c */; };
+ BC1D634C9BA6480065BCB6A1908AA000D75A0579B35EB000 /* libbrotli.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AD4727551CEC0005E1330D14B6F1400D9FE3213BF02700 /* libbrotli.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 941712E7FCEC5800519AE826455D3C00E2DB5C8F89FC1000 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C74EE30EF8F6880051D68E932DC39400845EEE384D3EB000 /* brotli.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 2AC44E67300C2A00E8BAED2CD2FA500061CC9DC362203000;
+ remoteInfo = libbrotli.a;
+ };
+ 9689541E4F26C800540D295C9797B000E54D9DC5DC368000 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C74EE30EF8F6880051D68E932DC39400845EEE384D3EB000 /* brotli.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 56A1ACDDE48A28001E53D0B556153F00EBB1713605166800;
+ remoteInfo = libbrotli.a;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 9F004FB129E75000E2F520E379FAE800E7F941E9FC791800 /* bro.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bro.c; path = ../../tools/bro.c; sourceTree = "<group>"; };
+ B3163BFC4F39B800F70B0D2E9F4D5000FC0F2E3521CB8000 /* bro */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; name = bro; path = bro; sourceTree = BUILT_PRODUCTS_DIR; };
+ C74EE30EF8F6880051D68E932DC39400845EEE384D3EB000 /* libbrotli.a */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "brotli.xcodeproj"; path = brotli.xcodeproj; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ DD49D920DA05C80013EAB7CBC5F6D30053CC418B182E6C00 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BC1D634C9BA6480065BCB6A1908AA000D75A0579B35EB000 /* libbrotli.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 59D22759A81A98009D9FD87A9306C000547340DADAEC8400 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 7AD4727551CEC0005E1330D14B6F1400D9FE3213BF02700 /* libbrotli.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ A073485D1FD220015022F30DD2DD2001BA741B736D05000 /* bro */ = {
+ isa = PBXGroup;
+ children = (
+ 9F004FB129E75000E2F520E379FAE800E7F941E9FC791800 /* bro.c */,
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */,
+ DE2FDC7F9D9690008E13545B920D0800BA1800CBE0E0A800 /* Projects */,
+ );
+ name = bro;
+ sourceTree = "<group>";
+ };
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ B3163BFC4F39B800F70B0D2E9F4D5000FC0F2E3521CB8000 /* bro */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DE2FDC7F9D9690008E13545B920D0800BA1800CBE0E0A800 /* Projects */ = {
+ isa = PBXGroup;
+ children = (
+ C74EE30EF8F6880051D68E932DC39400845EEE384D3EB000 /* brotli.xcodeproj */,
+ );
+ name = Projects;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 3BBB6E3F80A2CE00E875460AB95D9800743F187F48F4CC00 /* bro */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = DD49D91FC841100013EAB7CAB4321B0053CC418A0669B400 /* Build configuration list for PBXNativeTarget "bro" */;
+ buildPhases = (
+ DD49D92449ED480013EAB7CF35DE530053CC418E8815EC00 /* Resources */,
+ DD49D924B39A600013EAB7CF9F8B6D0053CC418EF1C30800 /* Sources */,
+ DD49D920DA05C80013EAB7CBC5F6D30053CC418B182E6C00 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 59E5219095D2D4009DB2D2B180BEF80054863B11C8A4C400 /* PBXTargetDependency */,
+ );
+ name = bro;
+ productInstallPath = "$(HOME)/bin";
+ productName = bro;
+ productReference = B3163BFC4F39B800F70B0D2E9F4D5000FC0F2E3521CB8000 /* bro */;
+ productType = "com.apple.product-type.tool";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "bro" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = A073485D1FD220015022F30DD2DD2001BA741B736D05000 /* bro */;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 59D22759A81A98009D9FD87A9306C000547340DADAEC8400 /* Products */;
+ ProjectRef = C74EE30EF8F6880051D68E932DC39400845EEE384D3EB000 /* brotli.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ 3BBB6E3F80A2CE00E875460AB95D9800743F187F48F4CC00 /* bro */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ 7AD4727551CEC0005E1330D14B6F1400D9FE3213BF02700 /* libbrotli.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libbrotli.a;
+ remoteRef = 941712E7FCEC5800519AE826455D3C00E2DB5C8F89FC1000 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+ DD49D92449ED480013EAB7CF35DE530053CC418E8815EC00 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ DD49D924B39A600013EAB7CF9F8B6D0053CC418EF1C30800 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AA3E9C5E42846800270913D843376400C250D740B7193800 /* bro.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 59E5219095D2D4009DB2D2B180BEF80054863B11C8A4C400 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = libbrotli.a;
+ targetProxy = 9689541E4F26C800540D295C9797B000E54D9DC5DC368000 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 1CE6FA726FB2CC003300612C86C56800374091A376E16200 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/bin;
+ PRODUCT_NAME = bro;
+ };
+ name = Release;
+ };
+ 5724788107CE6000B977AD96B431200077E2A47372B99800 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Debug/bro;
+ ONLY_ACTIVE_ARCH = YES;
+ SYMROOT = ../../bin;
+ };
+ name = Debug;
+ };
+ B270D6882955F800F665A7BA79699000FB69C8C0FBE7C000 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Release/bro;
+ ONLY_ACTIVE_ARCH = NO;
+ STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
+ SYMROOT = ../../bin;
+ };
+ name = Release;
+ };
+ F52E5B2941DC0800B324F9EEE4CA28002C36AA8573F00A00 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/bin;
+ PRODUCT_NAME = bro;
+ };
+ name = Debug;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "bro" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ B270D6882955F800F665A7BA79699000FB69C8C0FBE7C000 /* Release */,
+ 5724788107CE6000B977AD96B431200077E2A47372B99800 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ DD49D91FC841100013EAB7CAB4321B0053CC418A0669B400 /* Build configuration list for PBXNativeTarget "bro" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1CE6FA726FB2CC003300612C86C56800374091A376E16200 /* Release */,
+ F52E5B2941DC0800B324F9EEE4CA28002C36AA8573F00A00 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+};
+rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+} \ No newline at end of file
diff --git a/buildfiles/xcode4/brotli.xcodeproj/project.pbxproj b/buildfiles/xcode4/brotli.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..20757b4
--- /dev/null
+++ b/buildfiles/xcode4/brotli.xcodeproj/project.pbxproj
@@ -0,0 +1,400 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 10BD55AB5A0E9E0024371C6CB54FF20096DCBB988AA3C80 /* decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 21974C30B2DA3C0037B0B2EAC9ECD6003BF0E361BA08D200 /* decode.c */; };
+ 3C81FD971E352C0039770AFE928F70001F236BE61072FA00 /* compress_fragment.c in Sources */ = {isa = PBXBuildFile; fileRef = FCB369FC45C1F00075E90D3657EBCC00624E9D688BDCB400 /* compress_fragment.c */; };
+ 4C1B4363C112EC04C6A3851805FD400652A7ACC2870D00 /* bit_reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 1F5DFB5ACA490A00F92B5E77EC14B80064F6B91D28C9E000 /* bit_reader.c */; };
+ 4D7F02AF2A3B84002DF7D21CC2B37200C93470ACEE9A6000 /* compress_fragment_two_pass.c in Sources */ = {isa = PBXBuildFile; fileRef = F2F803A33F742000D95C8A86D99810006100622889BDF400 /* compress_fragment_two_pass.c */; };
+ 5079A3C2E9257801FCA7A3A2EC9C60E7A9088B20D02800 /* brotli_bit_stream.c in Sources */ = {isa = PBXBuildFile; fileRef = 91F8B1CFEC22B000B2E5509FE4C8980F793E53C323D7000 /* brotli_bit_stream.c */; };
+ 51F5642BB9EDE400842D51D82715F000D128A3CA28A8E000 /* literal_cost.c in Sources */ = {isa = PBXBuildFile; fileRef = 1044A1BDF273FA0FADA57472C8A3800BC70C6F8A2A93800 /* literal_cost.c */; };
+ 6781E3906CA5000020D08F4ADDC7A200BFE5EE21938E5000 /* utf8_util.c in Sources */ = {isa = PBXBuildFile; fileRef = A865AE81D749C800D633CC73FF848000B9630040E7200800 /* utf8_util.c */; };
+ 76BB032A6A7BE0008A34C9EBC5BD30006F6B793899177C00 /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = 68784773B07C74007E91AE2DC78F100082D1DEA4B7AB0800 /* memory.c */; };
+ 79B7C93FCEFB6800AE4F7BD4C8BD2800A2B3E1B502BC2800 /* bit_cost.c in Sources */ = {isa = PBXBuildFile; fileRef = 854B0C96829F580042CEE1D4CB103C00D40F563E0FAF1000 /* bit_cost.c */; };
+ 7CA8116C4910700050820969DB9E3C002643BC9E4476DE00 /* static_dict.c in Sources */ = {isa = PBXBuildFile; fileRef = BF55665B51EC80004208054815584000CE149E2F53FBE800 /* static_dict.c */; };
+ B37B538D11CD18006CC9FF4782EFB400BDF5E1E38B66300 /* metablock.c in Sources */ = {isa = PBXBuildFile; fileRef = 33E4F55E68F42E0061B31350912EE80044E2471D78CA7400 /* metablock.c */; };
+ BD9E4FDA9969200034EACA5FF7141C1D8C0237CDF93B00 /* block_splitter.c in Sources */ = {isa = PBXBuildFile; fileRef = 82C8B3B619F4400065ECD6BEAF6B0000E7AE106C1E075800 /* block_splitter.c */; };
+ C0EC42CBA998C80099F2BF50DA7CC000A792751FED94F800 /* huffman.c in Sources */ = {isa = PBXBuildFile; fileRef = BB91D507D72CC00DC71AECA398FC0022D544E00A9FF200 /* huffman.c */; };
+ CC52A7D072B22800A5592455A3962000B2F8DA24B6AE5800 /* cluster.c in Sources */ = {isa = PBXBuildFile; fileRef = 58B19737A55B08005ABF94D3CB8138006FCDBEC732882C00 /* cluster.c */; };
+ D3D94183199AC00035DCE3E60A922C00EB1646597695B000 /* backward_references.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C2E82267FBB0007C2CE10B004894004466E6262E8F9400 /* backward_references.c */; };
+ D7D79802E4689000EB515EC43FA9E000D0880E1113042800 /* encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 70C1115A8FA5CC0086DA7814A6B868008B1AA88B96D46000 /* encode.c */; };
+ D8E70C12936B80436F81FBD921640060C6996947238800 /* entropy_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 752DC64E7A6A50005851E9570FE11000DA1323047E7D6800 /* entropy_encode.c */; };
+ E874A52B3C924800A1C350E5ADB4E80040D8AFBC637B9400 /* histogram.c in Sources */ = {isa = PBXBuildFile; fileRef = 1C02ECBC9F36F80049D10AAEC771B0002D003E7BAF0D3E00 /* histogram.c */; };
+ FA65E097F3903000497ED847D7D73400D776F2095BC46000 /* dictionary.c in Sources */ = {isa = PBXBuildFile; fileRef = E5152A986AFDD800BE1BA71D9BE1D000CBBB5CECAEFA0800 /* dictionary.c */; };
+ FEE7B16FBEAD5800E6798DA6EE3F28002F8F3B10C94C6600 /* state.c in Sources */ = {isa = PBXBuildFile; fileRef = A8D59CCF0B95100066CC3B94AE833400DFDDEC2B3DA91800 /* state.c */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 1044A1BDF273FA0FADA57472C8A3800BC70C6F8A2A93800 /* literal_cost.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = literal_cost.c; path = ../../enc/literal_cost.c; sourceTree = "<group>"; };
+ 1C02ECBC9F36F80049D10AAEC771B0002D003E7BAF0D3E00 /* histogram.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = histogram.c; path = ../../enc/histogram.c; sourceTree = "<group>"; };
+ 1C495A3508B37100DA3FF8FAABA198005351A9913AC77800 /* state.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = state.h; path = ../../dec/state.h; sourceTree = "<group>"; };
+ 1F5DFB5ACA490A00F92B5E77EC14B80064F6B91D28C9E000 /* bit_reader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bit_reader.c; path = ../../dec/bit_reader.c; sourceTree = "<group>"; };
+ 21974C30B2DA3C0037B0B2EAC9ECD6003BF0E361BA08D200 /* decode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = decode.c; path = ../../dec/decode.c; sourceTree = "<group>"; };
+ 25E5E2AAFE944400FD6767A202051800EC5ABA128371B800 /* port.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = port.h; path = ../../enc/port.h; sourceTree = "<group>"; };
+ 269E17A53DF47A00A950B69201603800355D4F794003E000 /* static_dict.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = static_dict.h; path = ../../enc/static_dict.h; sourceTree = "<group>"; };
+ 2AC44E67300C2A00E8BAED2CD2FA500061CC9DC362203000 /* libbrotli.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libbrotli.a; path = libbrotli.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 2B11CC28BB2ABC002D1FC9C4E150EC00422DF3B84857E000 /* huffman.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = huffman.h; path = ../../dec/huffman.h; sourceTree = "<group>"; };
+ 2E7A5A77BB46C2004493C131D2595C0048D3F1A8C2755800 /* prefix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = prefix.h; path = ../../enc/prefix.h; sourceTree = "<group>"; };
+ 33E4F55E68F42E0061B31350912EE80044E2471D78CA7400 /* metablock.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = metablock.c; path = ../../enc/metablock.c; sourceTree = "<group>"; };
+ 382B65648759AC0199C1D105F8836001DDC4D874FA43100 /* decode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = decode.h; path = ../../dec/decode.h; sourceTree = "<group>"; };
+ 414F560BF86450001A55D2912948490027F588603C608000 /* dictionary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dictionary.h; path = ../../common/dictionary.h; sourceTree = "<group>"; };
+ 41E7FB59088B580DDEBE2D2B254600049B73D77EF098C00 /* compressor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compressor.h; path = ../../enc/compressor.h; sourceTree = "<group>"; };
+ 4A63B1994617D400607D18535D2A700064BD48CA4D466C00 /* memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = ../../enc/memory.h; sourceTree = "<group>"; };
+ 4A76867472834C00C3AC29AE84AD2800B011B9E0B89E1000 /* find_match_length.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = find_match_length.h; path = ../../enc/find_match_length.h; sourceTree = "<group>"; };
+ 4E85685214C09800D138073ED82C58005D44A02616D00000 /* cluster_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cluster_inc.h; path = ../../enc/cluster_inc.h; sourceTree = "<group>"; };
+ 516324A340DF30004B3931CE8E422400CCFA18004612480 /* literal_cost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = literal_cost.h; path = ../../enc/literal_cost.h; sourceTree = "<group>"; };
+ 5191078CD09F3C00CE5B7F06D152380069A3426F45340C00 /* port.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = port.h; path = ../../common/port.h; sourceTree = "<group>"; };
+ 52AC7B802541280068C5E23A3C53C4006D0612B12C6FC000 /* encode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = encode.h; path = ../../enc/encode.h; sourceTree = "<group>"; };
+ 58AD6033A95064003BD1833C3EC72400BD92BCE9AD637800 /* entropy_encode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = entropy_encode.h; path = ../../enc/entropy_encode.h; sourceTree = "<group>"; };
+ 58B19737A55B08005ABF94D3CB8138006FCDBEC732882C00 /* cluster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cluster.c; path = ../../enc/cluster.c; sourceTree = "<group>"; };
+ 5900B55528706800F62C0F5C6C843800923674EB6055C000 /* block_splitter_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = block_splitter_inc.h; path = ../../enc/block_splitter_inc.h; sourceTree = "<group>"; };
+ 59BD763BF8FCB400313EFB32FC6D860020324DA37DDA2A00 /* port.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = port.h; path = ../../dec/port.h; sourceTree = "<group>"; };
+ 5E3FA568F8747C009AF8ACECC697D00091EF07B04DA62000 /* encode_parallel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = encode_parallel.h; path = ../../enc/encode_parallel.h; sourceTree = "<group>"; };
+ 638C17E20BCEB0003B0D9CD90F3F82002A00EF4990AC2600 /* hash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../enc/hash.h; sourceTree = "<group>"; };
+ 66484D9B48DA5400496C70A3DE511400CB2DAA514CED6800 /* block_splitter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = block_splitter.h; path = ../../enc/block_splitter.h; sourceTree = "<group>"; };
+ 68784773B07C74007E91AE2DC78F100082D1DEA4B7AB0800 /* memory.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = ../../enc/memory.c; sourceTree = "<group>"; };
+ 6A9612E8ABAFFC0043DC50E5A515FC00D022903A98B15800 /* types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = types.h; path = ../../common/types.h; sourceTree = "<group>"; };
+ 6B80F2AECE307000A839FA329C53C8009F3054F623621800 /* static_dict_lut.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = static_dict_lut.h; path = ../../enc/static_dict_lut.h; sourceTree = "<group>"; };
+ 70C1115A8FA5CC0086DA7814A6B868008B1AA88B96D46000 /* encode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = encode.c; path = ../../enc/encode.c; sourceTree = "<group>"; };
+ 7442B299AA20C400A210D08BD25B800085400458B9F70800 /* histogram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = histogram.h; path = ../../enc/histogram.h; sourceTree = "<group>"; };
+ 7443C098A47BC800A211DE8ACCB6800085411257B4521000 /* transform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transform.h; path = ../../dec/transform.h; sourceTree = "<group>"; };
+ 752DC64E7A6A50005851E9570FE11000DA1323047E7D6800 /* entropy_encode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = entropy_encode.c; path = ../../enc/entropy_encode.c; sourceTree = "<group>"; };
+ 758B25580E33DC006F6132835B96D00030F7A234D1B5D000 /* bit_cost_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bit_cost_inc.h; path = ../../enc/bit_cost_inc.h; sourceTree = "<group>"; };
+ 780A460FE312F8007A1843AC093928008F266D9F70402000 /* cluster.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cluster.h; path = ../../enc/cluster.h; sourceTree = "<group>"; };
+ 7EC347BDCE18A40020B76D0EB3AFAC00B10E98A676F4B800 /* hash_longest_match_quickly_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = hash_longest_match_quickly_inc.h; path = ../../enc/hash_longest_match_quickly_inc.h; sourceTree = "<group>"; };
+ 7F967CD9271D24005963DFF648E8D000C52F3A9B859DF800 /* bit_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bit_reader.h; path = ../../dec/bit_reader.h; sourceTree = "<group>"; };
+ 82C8B3B619F4400065ECD6BEAF6B0000E7AE106C1E075800 /* block_splitter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block_splitter.c; path = ../../enc/block_splitter.c; sourceTree = "<group>"; };
+ 854B0C96829F580042CEE1D4CB103C00D40F563E0FAF1000 /* bit_cost.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bit_cost.c; path = ../../enc/bit_cost.c; sourceTree = "<group>"; };
+ 862335C8C81CC80088313364EE42F8009D3F5D585549F000 /* context.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = context.h; path = ../../enc/context.h; sourceTree = "<group>"; };
+ 8C24BB3B73DDF800B9F2D92D9C18B0009D220CFA83B44000 /* metablock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metablock.h; path = ../../enc/metablock.h; sourceTree = "<group>"; };
+ 8D7B571AE75710006B0FA54F980EB80F3168A872D71D800 /* brotli_bit_stream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = brotli_bit_stream.h; path = ../../enc/brotli_bit_stream.h; sourceTree = "<group>"; };
+ 8FB996766C05F0004D3D6BB4B476D400DE7DE01DF915A800 /* bit_cost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bit_cost.h; path = ../../enc/bit_cost.h; sourceTree = "<group>"; };
+ 9071C0B4F9CF20006A3F23D21B9AC800D60A7E77584FF000 /* ringbuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ringbuffer.h; path = ../../enc/ringbuffer.h; sourceTree = "<group>"; };
+ 91F8B1CFEC22B000B2E5509FE4C8980F793E53C323D7000 /* brotli_bit_stream.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = brotli_bit_stream.c; path = ../../enc/brotli_bit_stream.c; sourceTree = "<group>"; };
+ 92B6D33F9CF8B000A6309A00F83A00008B67494DCB944800 /* constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = constants.h; path = ../../common/constants.h; sourceTree = "<group>"; };
+ 991BA39FDBD5900C7158F78462E4000585603E18ACD1000 /* fast_log.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fast_log.h; path = ../../enc/fast_log.h; sourceTree = "<group>"; };
+ A4E8445E03DB8000A6F641FA2A01B000BC046BED9108A800 /* streams.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = streams.h; path = ../../enc/streams.h; sourceTree = "<group>"; };
+ A5745EE23391C02E7392510A6E4A0011A2C61DF209D800 /* utf8_util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = utf8_util.h; path = ../../enc/utf8_util.h; sourceTree = "<group>"; };
+ A865AE81D749C800D633CC73FF848000B9630040E7200800 /* utf8_util.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = utf8_util.c; path = ../../enc/utf8_util.c; sourceTree = "<group>"; };
+ A8D59CCF0B95100066CC3B94AE833400DFDDEC2B3DA91800 /* state.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = state.c; path = ../../dec/state.c; sourceTree = "<group>"; };
+ A9355FD19FE7A0008F99E6B53A0B9800173DBE56EA317800 /* compress_fragment_two_pass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compress_fragment_two_pass.h; path = ../../enc/compress_fragment_two_pass.h; sourceTree = "<group>"; };
+ AFAD46301D0E3800EC664DB3EB318800E35CA877723FE000 /* dictionary_hash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dictionary_hash.h; path = ../../enc/dictionary_hash.h; sourceTree = "<group>"; };
+ B388E6DDE22AF8008D5649FB03F6A000F921A4A040ABC800 /* write_bits.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = write_bits.h; path = ../../enc/write_bits.h; sourceTree = "<group>"; };
+ B6851630F18EC000CC9E7CEB08A15800D0DEAD61F8BD5800 /* prefix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = prefix.h; path = ../../dec/prefix.h; sourceTree = "<group>"; };
+ BB91D507D72CC00DC71AECA398FC0022D544E00A9FF200 /* huffman.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = huffman.c; path = ../../dec/huffman.c; sourceTree = "<group>"; };
+ BF55665B51EC80004208054815584000CE149E2F53FBE800 /* static_dict.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = static_dict.c; path = ../../enc/static_dict.c; sourceTree = "<group>"; };
+ CD840C178147800062EE0500199464002B280A1B47DB6400 /* backward_references.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backward_references.h; path = ../../enc/backward_references.h; sourceTree = "<group>"; };
+ D5AE8668DB4D2000D7BC840501735000ECCAADF8687A4800 /* command.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = command.h; path = ../../enc/command.h; sourceTree = "<group>"; };
+ DA54D17714EDB000946BC25B2FBA2000460C2262338AB800 /* entropy_encode_static.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = entropy_encode_static.h; path = ../../enc/entropy_encode_static.h; sourceTree = "<group>"; };
+ DE1632DCC3CC480079ACED32C36F300014E56B09FDC3E200 /* hash_longest_match_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = hash_longest_match_inc.h; path = ../../enc/hash_longest_match_inc.h; sourceTree = "<group>"; };
+ E357A5D849C13000AAE5AB0C7BBA80002BD6CCF3F599BA00 /* histogram_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = histogram_inc.h; path = ../../enc/histogram_inc.h; sourceTree = "<group>"; };
+ E5152A986AFDD800BE1BA71D9BE1D000CBBB5CECAEFA0800 /* dictionary.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = dictionary.c; path = ../../common/dictionary.c; sourceTree = "<group>"; };
+ E6C2E82267FBB0007C2CE10B004894004466E6262E8F9400 /* backward_references.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = backward_references.c; path = ../../enc/backward_references.c; sourceTree = "<group>"; };
+ EA71409AE57B4000B1FF45CF1774880032F067B69153C400 /* metablock_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metablock_inc.h; path = ../../enc/metablock_inc.h; sourceTree = "<group>"; };
+ EEC4C21C8E87B00067FA6556A0B18C00545FF588D4A27400 /* block_encoder_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = block_encoder_inc.h; path = ../../enc/block_encoder_inc.h; sourceTree = "<group>"; };
+ F20A40A885911800CE38E87CF97990001988390C1BC74000 /* backward_references_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backward_references_inc.h; path = ../../enc/backward_references_inc.h; sourceTree = "<group>"; };
+ F2F803A33F742000D95C8A86D99810006100622889BDF400 /* compress_fragment_two_pass.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress_fragment_two_pass.c; path = ../../enc/compress_fragment_two_pass.c; sourceTree = "<group>"; };
+ F8360F4740F65000716BB28153202C005DD142B387111400 /* compress_fragment.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compress_fragment.h; path = ../../enc/compress_fragment.h; sourceTree = "<group>"; };
+ F8568A8C764910011936644ED8AC10026A190385491B800 /* context.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = context.h; path = ../../dec/context.h; sourceTree = "<group>"; };
+ FCB369FC45C1F00075E90D3657EBCC00624E9D688BDCB400 /* compress_fragment.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress_fragment.c; path = ../../enc/compress_fragment.c; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D24DFE4D07843800B9D1C189ABD6D800F6742EECBE0F2000 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 3F8511F796603A0053F2F8FE39ABC400AA8375AF547C9000 /* common */ = {
+ isa = PBXGroup;
+ children = (
+ 92B6D33F9CF8B000A6309A00F83A00008B67494DCB944800 /* constants.h */,
+ E5152A986AFDD800BE1BA71D9BE1D000CBBB5CECAEFA0800 /* dictionary.c */,
+ 414F560BF86450001A55D2912948490027F588603C608000 /* dictionary.h */,
+ 5191078CD09F3C00CE5B7F06D152380069A3426F45340C00 /* port.h */,
+ 6A9612E8ABAFFC0043DC50E5A515FC00D022903A98B15800 /* types.h */,
+ );
+ name = common;
+ sourceTree = "<group>";
+ };
+ 6BCCD41A9D729400A26DB2C58963A000E24F3C84DB9B3800 /* enc */ = {
+ isa = PBXGroup;
+ children = (
+ E6C2E82267FBB0007C2CE10B004894004466E6262E8F9400 /* backward_references.c */,
+ CD840C178147800062EE0500199464002B280A1B47DB6400 /* backward_references.h */,
+ F20A40A885911800CE38E87CF97990001988390C1BC74000 /* backward_references_inc.h */,
+ 854B0C96829F580042CEE1D4CB103C00D40F563E0FAF1000 /* bit_cost.c */,
+ 8FB996766C05F0004D3D6BB4B476D400DE7DE01DF915A800 /* bit_cost.h */,
+ 758B25580E33DC006F6132835B96D00030F7A234D1B5D000 /* bit_cost_inc.h */,
+ EEC4C21C8E87B00067FA6556A0B18C00545FF588D4A27400 /* block_encoder_inc.h */,
+ 82C8B3B619F4400065ECD6BEAF6B0000E7AE106C1E075800 /* block_splitter.c */,
+ 66484D9B48DA5400496C70A3DE511400CB2DAA514CED6800 /* block_splitter.h */,
+ 5900B55528706800F62C0F5C6C843800923674EB6055C000 /* block_splitter_inc.h */,
+ 91F8B1CFEC22B000B2E5509FE4C8980F793E53C323D7000 /* brotli_bit_stream.c */,
+ 8D7B571AE75710006B0FA54F980EB80F3168A872D71D800 /* brotli_bit_stream.h */,
+ 58B19737A55B08005ABF94D3CB8138006FCDBEC732882C00 /* cluster.c */,
+ 780A460FE312F8007A1843AC093928008F266D9F70402000 /* cluster.h */,
+ 4E85685214C09800D138073ED82C58005D44A02616D00000 /* cluster_inc.h */,
+ D5AE8668DB4D2000D7BC840501735000ECCAADF8687A4800 /* command.h */,
+ FCB369FC45C1F00075E90D3657EBCC00624E9D688BDCB400 /* compress_fragment.c */,
+ F8360F4740F65000716BB28153202C005DD142B387111400 /* compress_fragment.h */,
+ F2F803A33F742000D95C8A86D99810006100622889BDF400 /* compress_fragment_two_pass.c */,
+ A9355FD19FE7A0008F99E6B53A0B9800173DBE56EA317800 /* compress_fragment_two_pass.h */,
+ 41E7FB59088B580DDEBE2D2B254600049B73D77EF098C00 /* compressor.h */,
+ 862335C8C81CC80088313364EE42F8009D3F5D585549F000 /* context.h */,
+ AFAD46301D0E3800EC664DB3EB318800E35CA877723FE000 /* dictionary_hash.h */,
+ 70C1115A8FA5CC0086DA7814A6B868008B1AA88B96D46000 /* encode.c */,
+ 52AC7B802541280068C5E23A3C53C4006D0612B12C6FC000 /* encode.h */,
+ 5E3FA568F8747C009AF8ACECC697D00091EF07B04DA62000 /* encode_parallel.h */,
+ 752DC64E7A6A50005851E9570FE11000DA1323047E7D6800 /* entropy_encode.c */,
+ 58AD6033A95064003BD1833C3EC72400BD92BCE9AD637800 /* entropy_encode.h */,
+ DA54D17714EDB000946BC25B2FBA2000460C2262338AB800 /* entropy_encode_static.h */,
+ 991BA39FDBD5900C7158F78462E4000585603E18ACD1000 /* fast_log.h */,
+ 4A76867472834C00C3AC29AE84AD2800B011B9E0B89E1000 /* find_match_length.h */,
+ 638C17E20BCEB0003B0D9CD90F3F82002A00EF4990AC2600 /* hash.h */,
+ DE1632DCC3CC480079ACED32C36F300014E56B09FDC3E200 /* hash_longest_match_inc.h */,
+ 7EC347BDCE18A40020B76D0EB3AFAC00B10E98A676F4B800 /* hash_longest_match_quickly_inc.h */,
+ 1C02ECBC9F36F80049D10AAEC771B0002D003E7BAF0D3E00 /* histogram.c */,
+ 7442B299AA20C400A210D08BD25B800085400458B9F70800 /* histogram.h */,
+ E357A5D849C13000AAE5AB0C7BBA80002BD6CCF3F599BA00 /* histogram_inc.h */,
+ 1044A1BDF273FA0FADA57472C8A3800BC70C6F8A2A93800 /* literal_cost.c */,
+ 516324A340DF30004B3931CE8E422400CCFA18004612480 /* literal_cost.h */,
+ 68784773B07C74007E91AE2DC78F100082D1DEA4B7AB0800 /* memory.c */,
+ 4A63B1994617D400607D18535D2A700064BD48CA4D466C00 /* memory.h */,
+ 33E4F55E68F42E0061B31350912EE80044E2471D78CA7400 /* metablock.c */,
+ 8C24BB3B73DDF800B9F2D92D9C18B0009D220CFA83B44000 /* metablock.h */,
+ EA71409AE57B4000B1FF45CF1774880032F067B69153C400 /* metablock_inc.h */,
+ 25E5E2AAFE944400FD6767A202051800EC5ABA128371B800 /* port.h */,
+ 2E7A5A77BB46C2004493C131D2595C0048D3F1A8C2755800 /* prefix.h */,
+ 9071C0B4F9CF20006A3F23D21B9AC800D60A7E77584FF000 /* ringbuffer.h */,
+ BF55665B51EC80004208054815584000CE149E2F53FBE800 /* static_dict.c */,
+ 269E17A53DF47A00A950B69201603800355D4F794003E000 /* static_dict.h */,
+ 6B80F2AECE307000A839FA329C53C8009F3054F623621800 /* static_dict_lut.h */,
+ A4E8445E03DB8000A6F641FA2A01B000BC046BED9108A800 /* streams.h */,
+ A865AE81D749C800D633CC73FF848000B9630040E7200800 /* utf8_util.c */,
+ A5745EE23391C02E7392510A6E4A0011A2C61DF209D800 /* utf8_util.h */,
+ B388E6DDE22AF8008D5649FB03F6A000F921A4A040ABC800 /* write_bits.h */,
+ );
+ name = enc;
+ sourceTree = "<group>";
+ };
+ 9FA467AB35E25800D645465621D368001626D015740AFF00 /* dec */ = {
+ isa = PBXGroup;
+ children = (
+ 1F5DFB5ACA490A00F92B5E77EC14B80064F6B91D28C9E000 /* bit_reader.c */,
+ 7F967CD9271D24005963DFF648E8D000C52F3A9B859DF800 /* bit_reader.h */,
+ F8568A8C764910011936644ED8AC10026A190385491B800 /* context.h */,
+ 21974C30B2DA3C0037B0B2EAC9ECD6003BF0E361BA08D200 /* decode.c */,
+ 382B65648759AC0199C1D105F8836001DDC4D874FA43100 /* decode.h */,
+ BB91D507D72CC00DC71AECA398FC0022D544E00A9FF200 /* huffman.c */,
+ 2B11CC28BB2ABC002D1FC9C4E150EC00422DF3B84857E000 /* huffman.h */,
+ 59BD763BF8FCB400313EFB32FC6D860020324DA37DDA2A00 /* port.h */,
+ B6851630F18EC000CC9E7CEB08A15800D0DEAD61F8BD5800 /* prefix.h */,
+ A8D59CCF0B95100066CC3B94AE833400DFDDEC2B3DA91800 /* state.c */,
+ 1C495A3508B37100DA3FF8FAABA198005351A9913AC77800 /* state.h */,
+ 7443C098A47BC800A211DE8ACCB6800085411257B4521000 /* transform.h */,
+ );
+ name = dec;
+ sourceTree = "<group>";
+ };
+ BD7415A1DE30C80027A29A8FBBDBC600F250187C8F804800 /* brotli */ = {
+ isa = PBXGroup;
+ children = (
+ 3F8511F796603A0053F2F8FE39ABC400AA8375AF547C9000 /* common */,
+ 9FA467AB35E25800D645465621D368001626D015740AFF00 /* dec */,
+ 6BCCD41A9D729400A26DB2C58963A000E24F3C84DB9B3800 /* enc */,
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */,
+ );
+ name = brotli;
+ sourceTree = "<group>";
+ };
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 2AC44E67300C2A00E8BAED2CD2FA500061CC9DC362203000 /* libbrotli.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 56A1ACDDE48A28001E53D0B556153F00EBB1713605166800 /* brotli */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D24DFE4BF5BF8000B9D1C1889A122000F6742EEBAC4A6800 /* Build configuration list for PBXNativeTarget "brotli" */;
+ buildPhases = (
+ D24DFE50776BB800B9D1C18D1BBE5800F6742EF02DF6A000 /* Resources */,
+ D24DFE50E118D800B9D1C18D856B7000F6742EF097A3B800 /* Sources */,
+ D24DFE4D07843800B9D1C189ABD6D800F6742EECBE0F2000 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = brotli;
+ productName = brotli;
+ productReference = 2AC44E67300C2A00E8BAED2CD2FA500061CC9DC362203000 /* libbrotli.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = BD7415A1DE30C80027A29A8FBBDBC600F250187C8F804800 /* brotli */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 56A1ACDDE48A28001E53D0B556153F00EBB1713605166800 /* libbrotli.a */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ D24DFE50776BB800B9D1C18D1BBE5800F6742EF02DF6A000 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D24DFE50E118D800B9D1C18D856B7000F6742EF097A3B800 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ FA65E097F3903000497ED847D7D73400D776F2095BC46000 /* dictionary.c in Sources */,
+ 4C1B4363C112EC04C6A3851805FD400652A7ACC2870D00 /* bit_reader.c in Sources */,
+ 10BD55AB5A0E9E0024371C6CB54FF20096DCBB988AA3C80 /* decode.c in Sources */,
+ C0EC42CBA998C80099F2BF50DA7CC000A792751FED94F800 /* huffman.c in Sources */,
+ FEE7B16FBEAD5800E6798DA6EE3F28002F8F3B10C94C6600 /* state.c in Sources */,
+ D3D94183199AC00035DCE3E60A922C00EB1646597695B000 /* backward_references.c in Sources */,
+ 79B7C93FCEFB6800AE4F7BD4C8BD2800A2B3E1B502BC2800 /* bit_cost.c in Sources */,
+ BD9E4FDA9969200034EACA5FF7141C1D8C0237CDF93B00 /* block_splitter.c in Sources */,
+ 5079A3C2E9257801FCA7A3A2EC9C60E7A9088B20D02800 /* brotli_bit_stream.c in Sources */,
+ CC52A7D072B22800A5592455A3962000B2F8DA24B6AE5800 /* cluster.c in Sources */,
+ 3C81FD971E352C0039770AFE928F70001F236BE61072FA00 /* compress_fragment.c in Sources */,
+ 4D7F02AF2A3B84002DF7D21CC2B37200C93470ACEE9A6000 /* compress_fragment_two_pass.c in Sources */,
+ D7D79802E4689000EB515EC43FA9E000D0880E1113042800 /* encode.c in Sources */,
+ D8E70C12936B80436F81FBD921640060C6996947238800 /* entropy_encode.c in Sources */,
+ E874A52B3C924800A1C350E5ADB4E80040D8AFBC637B9400 /* histogram.c in Sources */,
+ 51F5642BB9EDE400842D51D82715F000D128A3CA28A8E000 /* literal_cost.c in Sources */,
+ 76BB032A6A7BE0008A34C9EBC5BD30006F6B793899177C00 /* memory.c in Sources */,
+ B37B538D11CD18006CC9FF4782EFB400BDF5E1E38B66300 /* metablock.c in Sources */,
+ 7CA8116C4910700050820969DB9E3C002643BC9E4476DE00 /* static_dict.c in Sources */,
+ 6781E3906CA5000020D08F4ADDC7A200BFE5EE21938E5000 /* utf8_util.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 12271DEA721BA500EBF4810793E7500057BFDBACD09C7C00 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli;
+ };
+ name = Release;
+ };
+ 6A8124BBD58DCC002D101C382813F600D2985E0EFA585800 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Debug/brotli;
+ ONLY_ACTIVE_ARCH = YES;
+ SYMROOT = ../../bin;
+ };
+ name = Debug;
+ };
+ C9725A40E011B800F7407833084C7000DA6FABFFEFE80000 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli;
+ };
+ name = Debug;
+ };
+ FA97CAD6491A780B1D44488714E5800DA74575CE638C800 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Release/brotli;
+ ONLY_ACTIVE_ARCH = NO;
+ STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
+ SYMROOT = ../../bin;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ FA97CAD6491A780B1D44488714E5800DA74575CE638C800 /* Release */,
+ 6A8124BBD58DCC002D101C382813F600D2985E0EFA585800 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D24DFE4BF5BF8000B9D1C1889A122000F6742EEBAC4A6800 /* Build configuration list for PBXNativeTarget "libbrotli.a" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 12271DEA721BA500EBF4810793E7500057BFDBACD09C7C00 /* Release */,
+ C9725A40E011B800F7407833084C7000DA6FABFFEFE80000 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+};
+rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+} \ No newline at end of file
diff --git a/buildfiles/xcode4/brotli.xcworkspace/contents.xcworkspacedata b/buildfiles/xcode4/brotli.xcworkspace/contents.xcworkspacedata
new file mode 100755
index 0000000..f3880bf
--- /dev/null
+++ b/buildfiles/xcode4/brotli.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "group:brotli_common.xcodeproj">
+ </FileRef>
+ <FileRef
+ location = "group:brotli_dec.xcodeproj">
+ </FileRef>
+ <FileRef
+ location = "group:brotli_enc.xcodeproj">
+ </FileRef>
+ <FileRef
+ location = "group:brotli.xcodeproj">
+ </FileRef>
+ <FileRef
+ location = "group:bro.xcodeproj">
+ </FileRef>
+</Workspace> \ No newline at end of file
diff --git a/buildfiles/xcode4/brotli_common.xcodeproj/project.pbxproj b/buildfiles/xcode4/brotli_common.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..8f1171b
--- /dev/null
+++ b/buildfiles/xcode4/brotli_common.xcodeproj/project.pbxproj
@@ -0,0 +1,208 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ F2F0AE68752FB000278860FD6EF16C001BECC6DDA8F06E00 /* dictionary.c in Sources */ = {isa = PBXBuildFile; fileRef = BFD6F1DB753620007D5AC719BDA70000E9B3B830245D300 /* dictionary.c */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 6BC98619E244AC00534D4956869748008FEFB6B998CF9000 /* types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = types.h; path = ../../common/types.h; sourceTree = "<group>"; };
+ 7BAB352A0634880090191C30A9801000E6A998E1C450E000 /* port.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = port.h; path = ../../common/port.h; sourceTree = "<group>"; };
+ 9835F75C5D978800ABAFBE1DB8D8D80090E66D6A8C332000 /* libbrotli_common.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; name = libbrotli_common.dylib; path = libbrotli_common.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
+ A1C25C010AD178005F46313F53426000F086A5A897E13000 /* dictionary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dictionary.h; path = ../../common/dictionary.h; sourceTree = "<group>"; };
+ B051615D5E23B800B25F5EF98449E800C76D88ECEB50E000 /* constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = constants.h; path = ../../common/constants.h; sourceTree = "<group>"; };
+ BFD6F1DB753620007D5AC719BDA70000E9B3B830245D300 /* dictionary.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = dictionary.c; path = ../../common/dictionary.c; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 9FE39800EFEF1000DE21508467C7A80C731169A1EF59000 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 2CC07956215F3E00D97A51215A1A000065442395E9B13C00 /* brotli_common */ = {
+ isa = PBXGroup;
+ children = (
+ B051615D5E23B800B25F5EF98449E800C76D88ECEB50E000 /* constants.h */,
+ BFD6F1DB753620007D5AC719BDA70000E9B3B830245D300 /* dictionary.c */,
+ A1C25C010AD178005F46313F53426000F086A5A897E13000 /* dictionary.h */,
+ 7BAB352A0634880090191C30A9801000E6A998E1C450E000 /* port.h */,
+ 6BC98619E244AC00534D4956869748008FEFB6B998CF9000 /* types.h */,
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */,
+ );
+ name = brotli_common;
+ sourceTree = "<group>";
+ };
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 9835F75C5D978800ABAFBE1DB8D8D80090E66D6A8C332000 /* libbrotli_common.dylib */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ C5F4D23620A7F00E62CB04083D6300051F80AE5C08B5400 /* brotli_common */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9FE397FFDE2A5800DE2150734B7C300C73116990D30D800 /* Build configuration list for PBXNativeTarget "brotli_common" */;
+ buildPhases = (
+ 9FE398045FD69000DE2150BB663FB00C731169D8EDD1000 /* Resources */,
+ 9FE39804C983A800DE2150C20111480C731169DF88A2800 /* Sources */,
+ 9FE39800EFEF1000DE21508467C7A80C731169A1EF59000 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = brotli_common;
+ productName = brotli_common;
+ productReference = 9835F75C5D978800ABAFBE1DB8D8D80090E66D6A8C332000 /* libbrotli_common.dylib */;
+ productType = "com.apple.product-type.library.dynamic";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli_common" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = 2CC07956215F3E00D97A51215A1A000065442395E9B13C00 /* brotli_common */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ C5F4D23620A7F00E62CB04083D6300051F80AE5C08B5400 /* libbrotli_common.dylib */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 9FE398045FD69000DE2150BB663FB00C731169D8EDD1000 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 9FE39804C983A800DE2150C20111480C731169DF88A2800 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F2F0AE68752FB000278860FD6EF16C001BECC6DDA8F06E00 /* dictionary.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 3BDBC9691DBD6C0051F5302334D008005635609A24EC0000 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Release/brotli_common;
+ ONLY_ACTIVE_ARCH = NO;
+ STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
+ SYMROOT = ../../bin;
+ };
+ name = Release;
+ };
+ 7EDF4B619C925C00C687CF7CE0E1000080703ED823083800 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli_common;
+ };
+ name = Debug;
+ };
+ 89934A6AAB68F0004789E9304E571400C09B99C6DD7CF000 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Debug/brotli_common;
+ ONLY_ACTIVE_ARCH = YES;
+ SYMROOT = ../../bin;
+ };
+ name = Debug;
+ };
+ D694DA2C515FD800AA6ED229E3EDA0008030855E4CC64800 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli_common;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli_common" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3BDBC9691DBD6C0051F5302334D008005635609A24EC0000 /* Release */,
+ 89934A6AAB68F0004789E9304E571400C09B99C6DD7CF000 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 9FE397FFDE2A5800DE2150734B7C300C73116990D30D800 /* Build configuration list for PBXNativeTarget "libbrotli_common.dylib" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D694DA2C515FD800AA6ED229E3EDA0008030855E4CC64800 /* Release */,
+ 7EDF4B619C925C00C687CF7CE0E1000080703ED823083800 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+};
+rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+} \ No newline at end of file
diff --git a/buildfiles/xcode4/brotli_dec.xcodeproj/project.pbxproj b/buildfiles/xcode4/brotli_dec.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..b64a828
--- /dev/null
+++ b/buildfiles/xcode4/brotli_dec.xcodeproj/project.pbxproj
@@ -0,0 +1,290 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 34622C418955A400782FDD627441CC002F0345C2BC279200 /* state.c in Sources */ = {isa = PBXBuildFile; fileRef = 78281D66338DA8005FABE0A2D7E044009C4E4E05EA189000 /* state.c */; };
+ 7ABB312CD1465000E8B9AE3427D3B800A208AFC6004CD000 /* decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 5E144196871068003595C68D8A813A00248918FE0BEDDE00 /* decode.c */; };
+ 8C597841E78F400073EB547917211000BD0101E2F22E5000 /* huffman.c in Sources */ = {isa = PBXBuildFile; fileRef = 686BC908FCAED000266267CE9F9CF8009F7418652EC2D800 /* huffman.c */; };
+ AA6602AA3D207800E20EDFF7BE5A1804784D9DC6771440 /* libbrotli_common.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 91A382451F064000C17C9C493D29B800EFD7F22D6A8FD800 /* libbrotli_common.dylib */; };
+ D40EE94AB11CA8008A69BDFAADE6800FD0B01BFE4DD6800 /* bit_reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 80207A3AC0B5280C585DCE1F47C380056C6514B391B0800 /* bit_reader.c */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 170D2BD2A0508700F013A857D1348000FDB35E26E44CB800 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 9835F75C5D978800ABAFBE1DB8D8D80090E66D6A8C332000;
+ remoteInfo = libbrotli_common.dylib;
+ };
+ 197F6D08F28AFA00F285E98E236EF000259F5D36872810 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = C5F4D23620A7F00E62CB04083D6300051F80AE5C08B5400;
+ remoteInfo = libbrotli_common.dylib;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 15E4FC09C0E29D00ED668100C4537000DC59D37145C01000 /* prefix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = prefix.h; path = ../../dec/prefix.h; sourceTree = "<group>"; };
+ 310C732BA377F600EF0311F1466620006814C287D58BFC00 /* huffman.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = huffman.h; path = ../../dec/huffman.h; sourceTree = "<group>"; };
+ 54A4C2DD65AC4C002C2647D4691D1E001B199A44EA89C300 /* decode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = decode.h; path = ../../dec/decode.h; sourceTree = "<group>"; };
+ 5E144196871068003595C68D8A813A00248918FE0BEDDE00 /* decode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = decode.c; path = ../../dec/decode.c; sourceTree = "<group>"; };
+ 686BC908FCAED000266267CE9F9CF8009F7418652EC2D800 /* huffman.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = huffman.c; path = ../../dec/huffman.c; sourceTree = "<group>"; };
+ 78281D66338DA8005FABE0A2D7E044009C4E4E05EA189000 /* state.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = state.c; path = ../../dec/state.c; sourceTree = "<group>"; };
+ 7BAB352A0634880090191C30A9801000E6A998E1C450E000 /* port.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = port.h; path = ../../dec/port.h; sourceTree = "<group>"; };
+ 80207A3AC0B5280C585DCE1F47C380056C6514B391B0800 /* bit_reader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bit_reader.c; path = ../../dec/bit_reader.c; sourceTree = "<group>"; };
+ B901AA77B606B000BB0FA813DC2CE000D01DD2074333D000 /* transform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transform.h; path = ../../dec/transform.h; sourceTree = "<group>"; };
+ BD5CF5CAA9F468007B5394904CE29400F4654526DC087000 /* context.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = context.h; path = ../../dec/context.h; sourceTree = "<group>"; };
+ E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* libbrotli_common.dylib */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "brotli_common.xcodeproj"; path = brotli_common.xcodeproj; sourceTree = SOURCE_ROOT; };
+ E9ED71C941A6B000A77147078A17980038B1BB70CEB66800 /* bit_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bit_reader.h; path = ../../dec/bit_reader.h; sourceTree = "<group>"; };
+ F3FDF2C570F1E000DB81B6021544800018242365277CC600 /* state.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = state.h; path = ../../dec/state.h; sourceTree = "<group>"; };
+ F7B1523FD690E800257F7031FECBA2008AEA3FEE6672F00 /* libbrotli_dec.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; name = libbrotli_dec.dylib; path = libbrotli_dec.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ CA561B874C216800CC64192372479800E1724316D94E9000 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AA6602AA3D207800E20EDFF7BE5A1804784D9DC6771440 /* libbrotli_common.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 277C853238B10600AA2F241EFC1CC800363BBD063AC06C00 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 91A382451F064000C17C9C493D29B800EFD7F22D6A8FD800 /* libbrotli_common.dylib */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ F7B1523FD690E800257F7031FECBA2008AEA3FEE6672F00 /* libbrotli_dec.dylib */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DE2FDC7F9D9690008E13545B920D0800BA1800CBE0E0A800 /* Projects */ = {
+ isa = PBXGroup;
+ children = (
+ E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */,
+ );
+ name = Projects;
+ sourceTree = "<group>";
+ };
+ DEE7B4F33E6470001588939E2A557E00556A1D5D7C8D1800 /* brotli_dec */ = {
+ isa = PBXGroup;
+ children = (
+ 80207A3AC0B5280C585DCE1F47C380056C6514B391B0800 /* bit_reader.c */,
+ E9ED71C941A6B000A77147078A17980038B1BB70CEB66800 /* bit_reader.h */,
+ BD5CF5CAA9F468007B5394904CE29400F4654526DC087000 /* context.h */,
+ 5E144196871068003595C68D8A813A00248918FE0BEDDE00 /* decode.c */,
+ 54A4C2DD65AC4C002C2647D4691D1E001B199A44EA89C300 /* decode.h */,
+ 686BC908FCAED000266267CE9F9CF8009F7418652EC2D800 /* huffman.c */,
+ 310C732BA377F600EF0311F1466620006814C287D58BFC00 /* huffman.h */,
+ 7BAB352A0634880090191C30A9801000E6A998E1C450E000 /* port.h */,
+ 15E4FC09C0E29D00ED668100C4537000DC59D37145C01000 /* prefix.h */,
+ 78281D66338DA8005FABE0A2D7E044009C4E4E05EA189000 /* state.c */,
+ F3FDF2C570F1E000DB81B6021544800018242365277CC600 /* state.h */,
+ B901AA77B606B000BB0FA813DC2CE000D01DD2074333D000 /* transform.h */,
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */,
+ DE2FDC7F9D9690008E13545B920D0800BA1800CBE0E0A800 /* Projects */,
+ );
+ name = brotli_dec;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ C1B09D77DA1210002FAF1A7F309F7800E8FE1C1109188800 /* brotli_dec */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = CA561B863A5CB000CC6419226082E000E1724315C789D800 /* Build configuration list for PBXNativeTarget "brotli_dec" */;
+ buildPhases = (
+ CA561B8ABC08E800CC641926E22F1800E172431A49361000 /* Resources */,
+ CA561B8B25B60000CC6419274BDC3000E172431AB2E32800 /* Sources */,
+ CA561B874C216800CC64192372479800E1724316D94E9000 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 278F7F6926694200AA421E55E9D50800364EB73D2878A800 /* PBXTargetDependency */,
+ );
+ name = brotli_dec;
+ productName = brotli_dec;
+ productReference = F7B1523FD690E800257F7031FECBA2008AEA3FEE6672F00 /* libbrotli_dec.dylib */;
+ productType = "com.apple.product-type.library.dynamic";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli_dec" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = DEE7B4F33E6470001588939E2A557E00556A1D5D7C8D1800 /* brotli_dec */;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 277C853238B10600AA2F241EFC1CC800363BBD063AC06C00 /* Products */;
+ ProjectRef = E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ C1B09D77DA1210002FAF1A7F309F7800E8FE1C1109188800 /* libbrotli_dec.dylib */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ 91A382451F064000C17C9C493D29B800EFD7F22D6A8FD800 /* libbrotli_common.dylib */ = {
+ isa = PBXReferenceProxy;
+ fileType = "compiled.mach-o.dylib";
+ path = libbrotli_common.dylib;
+ remoteRef = 170D2BD2A0508700F013A857D1348000FDB35E26E44CB800 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+ CA561B8ABC08E800CC641926E22F1800E172431A49361000 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ CA561B8B25B60000CC6419274BDC3000E172431AB2E32800 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D40EE94AB11CA8008A69BDFAADE6800FD0B01BFE4DD6800 /* bit_reader.c in Sources */,
+ 7ABB312CD1465000E8B9AE3427D3B800A208AFC6004CD000 /* decode.c in Sources */,
+ 8C597841E78F400073EB547917211000BD0101E2F22E5000 /* huffman.c in Sources */,
+ 34622C418955A400782FDD627441CC002F0345C2BC279200 /* state.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 278F7F6926694200AA421E55E9D50800364EB73D2878A800 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = libbrotli_common.dylib;
+ targetProxy = 197F6D08F28AFA00F285E98E236EF000259F5D36872810 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 6DC841687FC7180050EC6471153DD800D2AD9E1E83DA3000 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli_dec;
+ };
+ name = Release;
+ };
+ 7BD368467CDDBC0053CF9317AB84100024BFACDD04C56C00 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Debug/brotli_dec;
+ ONLY_ACTIVE_ARCH = YES;
+ SYMROOT = ../../bin;
+ };
+ name = Debug;
+ };
+ BE9ACD7F1FA8F000864CF1569134080053AA91D740353000 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Release/brotli_dec;
+ ONLY_ACTIVE_ARCH = NO;
+ STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
+ SYMROOT = ../../bin;
+ };
+ name = Release;
+ };
+ F10621297BB41000B894265DADAD600039854845278C9A00 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli_dec;
+ };
+ name = Debug;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli_dec" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ BE9ACD7F1FA8F000864CF1569134080053AA91D740353000 /* Release */,
+ 7BD368467CDDBC0053CF9317AB84100024BFACDD04C56C00 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ CA561B863A5CB000CC6419226082E000E1724315C789D800 /* Build configuration list for PBXNativeTarget "libbrotli_dec.dylib" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 6DC841687FC7180050EC6471153DD800D2AD9E1E83DA3000 /* Release */,
+ F10621297BB41000B894265DADAD600039854845278C9A00 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+};
+rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+} \ No newline at end of file
diff --git a/buildfiles/xcode4/brotli_enc.xcodeproj/project.pbxproj b/buildfiles/xcode4/brotli_enc.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..cce0e43
--- /dev/null
+++ b/buildfiles/xcode4/brotli_enc.xcodeproj/project.pbxproj
@@ -0,0 +1,396 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1B13533325C17C008911D03A7C4EE8004260D1CC54C7FC00 /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = 5E72B77E13535C0035F43C7516C4300024E78EE59830D400 /* memory.c */; };
+ 22B5F2E15408D60090B46FE8AA9640004A03717A830F5400 /* encode.c in Sources */ = {isa = PBXBuildFile; fileRef = E9CC836141123000C14E085844830000B0415AC8C5EFA800 /* encode.c */; };
+ 2782203F0AF24200F13FC763A8410005829A9E015915000 /* cluster.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B12DADAB9F9FE00F90979A05CE82800721B2A36EC0E0400 /* cluster.c */; };
+ 324F0FA09CECD80045C8D661F82E2C002AFF85AECB887600 /* bit_cost.c in Sources */ = {isa = PBXBuildFile; fileRef = A4A2FB3FDE5DF800BABC61F9F5709000BEFC9270E58C9000 /* bit_cost.c */; };
+ 49311CF39D3C98007B690AA00A64A800C8645C920BF79800 /* entropy_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = FD24E2F29FFC9800F6FAF01DED5F9000B8915FCF637E9000 /* entropy_encode.c */; };
+ 617C81F3200BE8003A82FE7850EFDE004822B44764081400 /* histogram.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F8BD6A4CBB33A0506BB0672E163401A14E4F9D9E85A00 /* histogram.c */; };
+ 7C238047EED5B800BECC964390BF50008E473EC487E66800 /* brotli_bit_stream.c in Sources */ = {isa = PBXBuildFile; fileRef = 368C5DD6F0398604021CD613D26EC0037182824C4353E00 /* brotli_bit_stream.c */; };
+ 8F14FF81387DD800D1BE157CDA677000A138BDFDD18E8800 /* compress_fragment.c in Sources */ = {isa = PBXBuildFile; fileRef = ED10A4039EFC4004B8A11C40813180042806C878F216C00 /* compress_fragment.c */; };
+ 928252427776C000DA2AD65DBBC56800941345B8FDECA000 /* literal_cost.c in Sources */ = {isa = PBXBuildFile; fileRef = C82D1423B1932800A1FA7740D35ED800DC5D1E610140080 /* literal_cost.c */; };
+ AA6602AA3D207800E20EDFF7BE5A1804784D9DC6771440 /* libbrotli_common.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 91A382451F064000C17C9C493D29B800EFD7F22D6A8FD800 /* libbrotli_common.dylib */; };
+ BA0268C2BE1940009308E547EEFD3800A0A89B1702157000 /* metablock.c in Sources */ = {isa = PBXBuildFile; fileRef = 358FD165B433760566FAB2816967001A7524A5E8705E00 /* metablock.c */; };
+ BED8C1AE98EB5800BBCDCF160D45A000A17A2FFD8B292800 /* backward_references.c in Sources */ = {isa = PBXBuildFile; fileRef = 71D75E3BE75E0800EB0D0175F987E000D77291A82D78D000 /* backward_references.c */; };
+ C53E0D36A8893800F050E84B05104000B41C90D68DB2F800 /* compress_fragment_two_pass.c in Sources */ = {isa = PBXBuildFile; fileRef = AD500D74F03FF0004FC7FC3600251C00AC2DAD16EC98A800 /* compress_fragment_two_pass.c */; };
+ C6280A931A606000F85FF83F87887000455B4A31891B6000 /* block_splitter.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D514097DD8D500047274DC32AF048008BDBD74A10F4700 /* block_splitter.c */; };
+ C837E680A19B5800A13E6305D27F5000AEDE18D4E5978000 /* utf8_util.c in Sources */ = {isa = PBXBuildFile; fileRef = 8E61C29134C31800906FC02D5AE94800A57DEA20C1F04000 /* utf8_util.c */; };
+ FD42400C39B21800B690EBC6AAD4B80055A64A9D609B6400 /* static_dict.c in Sources */ = {isa = PBXBuildFile; fileRef = 3633BEFF33C110006401DCF15BFBC800473110BE43975400 /* static_dict.c */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 170D2BD2A0508700F013A857D1348000FDB35E26E44CB800 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 9835F75C5D978800ABAFBE1DB8D8D80090E66D6A8C332000;
+ remoteInfo = libbrotli_common.dylib;
+ };
+ 197F6D08F28AFA00F285E98E236EF000259F5D36872810 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = C5F4D23620A7F00E62CB04083D6300051F80AE5C08B5400;
+ remoteInfo = libbrotli_common.dylib;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 15E4FC09C0E29D00ED668100C4537000DC59D37145C01000 /* prefix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = prefix.h; path = ../../enc/prefix.h; sourceTree = "<group>"; };
+ 1928102FABC47D00F2F5734CCD9028005EC0CDF20A455400 /* bit_cost_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bit_cost_inc.h; path = ../../enc/bit_cost_inc.h; sourceTree = "<group>"; };
+ 1B8517632C1F3600D97BB628CF0D6000528D66BF5E333C00 /* command.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = command.h; path = ../../enc/command.h; sourceTree = "<group>"; };
+ 1D57FF731E178403E37D935807A7E018F1A786BF0E9E00 /* utf8_util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = utf8_util.h; path = ../../enc/utf8_util.h; sourceTree = "<group>"; };
+ 1F926C390F1FF800E720716D4119400068119354BAF88000 /* encode_parallel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = encode_parallel.h; path = ../../enc/encode_parallel.h; sourceTree = "<group>"; };
+ 2F8BD6A4CBB33A0506BB0672E163401A14E4F9D9E85A00 /* histogram.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = histogram.c; path = ../../enc/histogram.c; sourceTree = "<group>"; };
+ 315225CFD64D4E0045C00CD67998D8009C5089879469A000 /* hash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../enc/hash.h; sourceTree = "<group>"; };
+ 3201121E4D5FA000B4B3B10B10CB600040C049F24F6F0400 /* metablock_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metablock_inc.h; path = ../../enc/metablock_inc.h; sourceTree = "<group>"; };
+ 358FD165B433760566FAB2816967001A7524A5E8705E00 /* metablock.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = metablock.c; path = ../../enc/metablock.c; sourceTree = "<group>"; };
+ 3633BEFF33C110006401DCF15BFBC800473110BE43975400 /* static_dict.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = static_dict.c; path = ../../enc/static_dict.c; sourceTree = "<group>"; };
+ 368C5DD6F0398604021CD613D26EC0037182824C4353E00 /* brotli_bit_stream.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = brotli_bit_stream.c; path = ../../enc/brotli_bit_stream.c; sourceTree = "<group>"; };
+ 3B12DADAB9F9FE00F90979A05CE82800721B2A36EC0E0400 /* cluster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cluster.c; path = ../../enc/cluster.c; sourceTree = "<group>"; };
+ 3B384FD60C32340C1AA23C303B148003ABBD45992D72A00 /* cluster.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cluster.h; path = ../../enc/cluster.h; sourceTree = "<group>"; };
+ 3FECBF4CA8E70200D7B894BC8804200096884D5C640D7800 /* hash_longest_match_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = hash_longest_match_inc.h; path = ../../enc/hash_longest_match_inc.h; sourceTree = "<group>"; };
+ 4A88B2DCE479480087F51A287676D8081910239168D5000 /* streams.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = streams.h; path = ../../enc/streams.h; sourceTree = "<group>"; };
+ 4D514097DD8D500047274DC32AF048008BDBD74A10F4700 /* block_splitter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block_splitter.c; path = ../../enc/block_splitter.c; sourceTree = "<group>"; };
+ 550338C4F1EF44002C84BDBBF56014001B78102C76CCB900 /* memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = ../../enc/memory.h; sourceTree = "<group>"; };
+ 558C6DD771790000835A8BC999B3B8006689BF96814F4400 /* static_dict.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = static_dict.h; path = ../../enc/static_dict.h; sourceTree = "<group>"; };
+ 5CEB5E601FECC400DF9DFD4CE35888006BAA963421FC2C00 /* histogram_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = histogram_inc.h; path = ../../enc/histogram_inc.h; sourceTree = "<group>"; };
+ 5D5D6470FCD0B4005733719C4A33A80018C9E14DC052A800 /* entropy_encode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = entropy_encode.h; path = ../../enc/entropy_encode.h; sourceTree = "<group>"; };
+ 5E72B77E13535C0035F43C7516C4300024E78EE59830D400 /* memory.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = ../../enc/memory.c; sourceTree = "<group>"; };
+ 5E891C835ED548008C573A75871000006F866E426EAB8C00 /* cluster_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cluster_inc.h; path = ../../enc/cluster_inc.h; sourceTree = "<group>"; };
+ 5FA2F150FC6A10009C5BF8D4CA8D600093525398519BB800 /* brotli_bit_stream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = brotli_bit_stream.h; path = ../../enc/brotli_bit_stream.h; sourceTree = "<group>"; };
+ 697E9EF1C9811800A637A67597A470009D2E01391EB2C000 /* block_encoder_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = block_encoder_inc.h; path = ../../enc/block_encoder_inc.h; sourceTree = "<group>"; };
+ 6B0B35B3C7563C00A7C43D37957990009EBA97FB1C87E000 /* compress_fragment.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compress_fragment.h; path = ../../enc/compress_fragment.h; sourceTree = "<group>"; };
+ 71D75E3BE75E0800EB0D0175F987E000D77291A82D78D000 /* backward_references.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = backward_references.c; path = ../../enc/backward_references.c; sourceTree = "<group>"; };
+ 75BAB4620F682C0CEE9B07A52EFD0004FDAD261CCCF0800 /* static_dict_lut.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = static_dict_lut.h; path = ../../enc/static_dict_lut.h; sourceTree = "<group>"; };
+ 766C7AD049D99800787A786C6FFFC4008D88A25FD706C000 /* histogram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = histogram.h; path = ../../enc/histogram.h; sourceTree = "<group>"; };
+ 76CCBA7C5861980078DAB8187E87C8008DE8E20BE58EC000 /* metablock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metablock.h; path = ../../enc/metablock.h; sourceTree = "<group>"; };
+ 7BAB352A0634880090191C30A9801000E6A998E1C450E000 /* port.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = port.h; path = ../../enc/port.h; sourceTree = "<group>"; };
+ 7E9547F07D4FE80038AC38D4981C5800EA4C98DB9BECF000 /* backward_references_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backward_references_inc.h; path = ../../enc/backward_references_inc.h; sourceTree = "<group>"; };
+ 8158E9B752FC7000977250716A0F08009BB280E85A2B0800 /* bit_cost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bit_cost.h; path = ../../enc/bit_cost.h; sourceTree = "<group>"; };
+ 82850B98AF5CF800B053298AD797B00093825D57BF333800 /* libbrotli_enc.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; name = libbrotli_enc.dylib; path = libbrotli_enc.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8E61C29134C31800906FC02D5AE94800A57DEA20C1F04000 /* utf8_util.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = utf8_util.c; path = ../../enc/utf8_util.c; sourceTree = "<group>"; };
+ 950A3650D0528000528E0B8F18C36400E3CE7FF85D623800 /* compressor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compressor.h; path = ../../enc/compressor.h; sourceTree = "<group>"; };
+ 9EC97C5F1F1690005C4D519D67877400ED8DC606AC264800 /* ringbuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ringbuffer.h; path = ../../enc/ringbuffer.h; sourceTree = "<group>"; };
+ A4A2FB3FDE5DF800BABC61F9F5709000BEFC9270E58C9000 /* bit_cost.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bit_cost.c; path = ../../enc/bit_cost.c; sourceTree = "<group>"; };
+ A9A9749DF1D87000713779D223D1B800F2289BB99DB0F000 /* dictionary_hash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dictionary_hash.h; path = ../../enc/dictionary_hash.h; sourceTree = "<group>"; };
+ AB7B4A58D7C16000FA944208BC086800888C5BCA3FF59800 /* block_splitter_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = block_splitter_inc.h; path = ../../enc/block_splitter_inc.h; sourceTree = "<group>"; };
+ AD500D74F03FF0004FC7FC3600251C00AC2DAD16EC98A800 /* compress_fragment_two_pass.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress_fragment_two_pass.c; path = ../../enc/compress_fragment_two_pass.c; sourceTree = "<group>"; };
+ AD89C2163A616800A75FCF4187C4600068F63EF2FDE36000 /* block_splitter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = block_splitter.h; path = ../../enc/block_splitter.h; sourceTree = "<group>"; };
+ BC28B6F75E55B8005EA0A5B86E3AE400BB0656995AAE7000 /* compress_fragment_two_pass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compress_fragment_two_pass.h; path = ../../enc/compress_fragment_two_pass.h; sourceTree = "<group>"; };
+ BD5CF5CAA9F468007B5394904CE29400F4654526DC087000 /* context.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = context.h; path = ../../enc/context.h; sourceTree = "<group>"; };
+ BEC22537F4962800FB7B2CBBC2B97800F271877F49C7D000 /* find_match_length.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = find_match_length.h; path = ../../enc/find_match_length.h; sourceTree = "<group>"; };
+ C54A34C6E7B748003E7FD800F9E128002AE568332DD21200 /* backward_references.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backward_references.h; path = ../../enc/backward_references.h; sourceTree = "<group>"; };
+ C691345A077EE80C9ECE883E8E8D0005B2D5CED2D87A400 /* write_bits.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = write_bits.h; path = ../../enc/write_bits.h; sourceTree = "<group>"; };
+ C82D1423B1932800A1FA7740D35ED800DC5D1E610140080 /* literal_cost.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = literal_cost.c; path = ../../enc/literal_cost.c; sourceTree = "<group>"; };
+ D29B9E039AF9C000AC690120BCC5680018345BC5F97A9500 /* literal_cost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = literal_cost.h; path = ../../enc/literal_cost.h; sourceTree = "<group>"; };
+ E05D04A81FAE1800B7DE899F231EE800A6D1DC0FA48B8800 /* encode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = encode.h; path = ../../enc/encode.h; sourceTree = "<group>"; };
+ E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* libbrotli_common.dylib */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "brotli_common.xcodeproj"; path = brotli_common.xcodeproj; sourceTree = SOURCE_ROOT; };
+ E7C14D624B59F000E90F730D93F92800C834A6B4B724E000 /* hash_longest_match_quickly_inc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = hash_longest_match_quickly_inc.h; path = ../../enc/hash_longest_match_quickly_inc.h; sourceTree = "<group>"; };
+ E833EF835E335000FE4D563D7545E80028D86B46561E520 /* fast_log.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fast_log.h; path = ../../enc/fast_log.h; sourceTree = "<group>"; };
+ E9CC836141123000C14E085844830000B0415AC8C5EFA800 /* encode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = encode.c; path = ../../enc/encode.c; sourceTree = "<group>"; };
+ ED10A4039EFC4004B8A11C40813180042806C878F216C00 /* compress_fragment.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress_fragment.c; path = ../../enc/compress_fragment.c; sourceTree = "<group>"; };
+ F80F68388C43F0008D7961212490D80055B3663C52D7D800 /* entropy_encode_static.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = entropy_encode_static.h; path = ../../enc/entropy_encode_static.h; sourceTree = "<group>"; };
+ FD24E2F29FFC9800F6FAF01DED5F9000B8915FCF637E9000 /* entropy_encode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = entropy_encode.c; path = ../../enc/entropy_encode.c; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 84E550C4FF63080A5C52A8761C60001F6A7C9BDD235700 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AA6602AA3D207800E20EDFF7BE5A1804784D9DC6771440 /* libbrotli_common.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 277C853238B10600AA2F241EFC1CC800363BBD063AC06C00 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 91A382451F064000C17C9C493D29B800EFD7F22D6A8FD800 /* libbrotli_common.dylib */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 82850B98AF5CF800B053298AD797B00093825D57BF333800 /* libbrotli_enc.dylib */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DE2FDC7F9D9690008E13545B920D0800BA1800CBE0E0A800 /* Projects */ = {
+ isa = PBXGroup;
+ children = (
+ E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */,
+ );
+ name = Projects;
+ sourceTree = "<group>";
+ };
+ DEE7B4F3A05D20001588939E8C4E2900556A1D5DDE85C400 /* brotli_enc */ = {
+ isa = PBXGroup;
+ children = (
+ 71D75E3BE75E0800EB0D0175F987E000D77291A82D78D000 /* backward_references.c */,
+ C54A34C6E7B748003E7FD800F9E128002AE568332DD21200 /* backward_references.h */,
+ 7E9547F07D4FE80038AC38D4981C5800EA4C98DB9BECF000 /* backward_references_inc.h */,
+ A4A2FB3FDE5DF800BABC61F9F5709000BEFC9270E58C9000 /* bit_cost.c */,
+ 8158E9B752FC7000977250716A0F08009BB280E85A2B0800 /* bit_cost.h */,
+ 1928102FABC47D00F2F5734CCD9028005EC0CDF20A455400 /* bit_cost_inc.h */,
+ 697E9EF1C9811800A637A67597A470009D2E01391EB2C000 /* block_encoder_inc.h */,
+ 4D514097DD8D500047274DC32AF048008BDBD74A10F4700 /* block_splitter.c */,
+ AD89C2163A616800A75FCF4187C4600068F63EF2FDE36000 /* block_splitter.h */,
+ AB7B4A58D7C16000FA944208BC086800888C5BCA3FF59800 /* block_splitter_inc.h */,
+ 368C5DD6F0398604021CD613D26EC0037182824C4353E00 /* brotli_bit_stream.c */,
+ 5FA2F150FC6A10009C5BF8D4CA8D600093525398519BB800 /* brotli_bit_stream.h */,
+ 3B12DADAB9F9FE00F90979A05CE82800721B2A36EC0E0400 /* cluster.c */,
+ 3B384FD60C32340C1AA23C303B148003ABBD45992D72A00 /* cluster.h */,
+ 5E891C835ED548008C573A75871000006F866E426EAB8C00 /* cluster_inc.h */,
+ 1B8517632C1F3600D97BB628CF0D6000528D66BF5E333C00 /* command.h */,
+ ED10A4039EFC4004B8A11C40813180042806C878F216C00 /* compress_fragment.c */,
+ 6B0B35B3C7563C00A7C43D37957990009EBA97FB1C87E000 /* compress_fragment.h */,
+ AD500D74F03FF0004FC7FC3600251C00AC2DAD16EC98A800 /* compress_fragment_two_pass.c */,
+ BC28B6F75E55B8005EA0A5B86E3AE400BB0656995AAE7000 /* compress_fragment_two_pass.h */,
+ 950A3650D0528000528E0B8F18C36400E3CE7FF85D623800 /* compressor.h */,
+ BD5CF5CAA9F468007B5394904CE29400F4654526DC087000 /* context.h */,
+ A9A9749DF1D87000713779D223D1B800F2289BB99DB0F000 /* dictionary_hash.h */,
+ E9CC836141123000C14E085844830000B0415AC8C5EFA800 /* encode.c */,
+ E05D04A81FAE1800B7DE899F231EE800A6D1DC0FA48B8800 /* encode.h */,
+ 1F926C390F1FF800E720716D4119400068119354BAF88000 /* encode_parallel.h */,
+ FD24E2F29FFC9800F6FAF01DED5F9000B8915FCF637E9000 /* entropy_encode.c */,
+ 5D5D6470FCD0B4005733719C4A33A80018C9E14DC052A800 /* entropy_encode.h */,
+ F80F68388C43F0008D7961212490D80055B3663C52D7D800 /* entropy_encode_static.h */,
+ E833EF835E335000FE4D563D7545E80028D86B46561E520 /* fast_log.h */,
+ BEC22537F4962800FB7B2CBBC2B97800F271877F49C7D000 /* find_match_length.h */,
+ 315225CFD64D4E0045C00CD67998D8009C5089879469A000 /* hash.h */,
+ 3FECBF4CA8E70200D7B894BC8804200096884D5C640D7800 /* hash_longest_match_inc.h */,
+ E7C14D624B59F000E90F730D93F92800C834A6B4B724E000 /* hash_longest_match_quickly_inc.h */,
+ 2F8BD6A4CBB33A0506BB0672E163401A14E4F9D9E85A00 /* histogram.c */,
+ 766C7AD049D99800787A786C6FFFC4008D88A25FD706C000 /* histogram.h */,
+ 5CEB5E601FECC400DF9DFD4CE35888006BAA963421FC2C00 /* histogram_inc.h */,
+ C82D1423B1932800A1FA7740D35ED800DC5D1E610140080 /* literal_cost.c */,
+ D29B9E039AF9C000AC690120BCC5680018345BC5F97A9500 /* literal_cost.h */,
+ 5E72B77E13535C0035F43C7516C4300024E78EE59830D400 /* memory.c */,
+ 550338C4F1EF44002C84BDBBF56014001B78102C76CCB900 /* memory.h */,
+ 358FD165B433760566FAB2816967001A7524A5E8705E00 /* metablock.c */,
+ 76CCBA7C5861980078DAB8187E87C8008DE8E20BE58EC000 /* metablock.h */,
+ 3201121E4D5FA000B4B3B10B10CB600040C049F24F6F0400 /* metablock_inc.h */,
+ 7BAB352A0634880090191C30A9801000E6A998E1C450E000 /* port.h */,
+ 15E4FC09C0E29D00ED668100C4537000DC59D37145C01000 /* prefix.h */,
+ 9EC97C5F1F1690005C4D519D67877400ED8DC606AC264800 /* ringbuffer.h */,
+ 3633BEFF33C110006401DCF15BFBC800473110BE43975400 /* static_dict.c */,
+ 558C6DD771790000835A8BC999B3B8006689BF96814F4400 /* static_dict.h */,
+ 75BAB4620F682C0CEE9B07A52EFD0004FDAD261CCCF0800 /* static_dict_lut.h */,
+ 4A88B2DCE479480087F51A287676D8081910239168D5000 /* streams.h */,
+ 8E61C29134C31800906FC02D5AE94800A57DEA20C1F04000 /* utf8_util.c */,
+ 1D57FF731E178403E37D935807A7E018F1A786BF0E9E00 /* utf8_util.h */,
+ C691345A077EE80C9ECE883E8E8D0005B2D5CED2D87A400 /* write_bits.h */,
+ DE2FD571A6C938008E134D4D9B3FB000BA17F9BDEA135000 /* Products */,
+ DE2FDC7F9D9690008E13545B920D0800BA1800CBE0E0A800 /* Projects */,
+ );
+ name = brotli_enc;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ FC3326F6AA5648006A31A3FE00E3B8002380A58FD95CCA00 /* brotli_enc */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 84E550B3E317880A5C52A76457A8801F6A7C9ACB5E9F00 /* Build configuration list for PBXNativeTarget "brotli_enc" */;
+ buildPhases = (
+ 84E550FBFDDB100A5C52ABE603E0801F6A7C9F4D0AD700 /* Resources */,
+ 84E5510298ACA80A5C52AC4FB0FA001F6A7C9FB6B7F100 /* Sources */,
+ 84E550C4FF63080A5C52A8761C60001F6A7C9BDD235700 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 278F7F6926694200AA421E55E9D50800364EB73D2878A800 /* PBXTargetDependency */,
+ );
+ name = brotli_enc;
+ productName = brotli_enc;
+ productReference = 82850B98AF5CF800B053298AD797B00093825D57BF333800 /* libbrotli_enc.dylib */;
+ productType = "com.apple.product-type.library.dynamic";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli_enc" */;
+ compatibilityVersion = "Xcode 3.2";
+ hasScannedForEncodings = 1;
+ mainGroup = DEE7B4F3A05D20001588939E8C4E2900556A1D5DDE85C400 /* brotli_enc */;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 277C853238B10600AA2F241EFC1CC800363BBD063AC06C00 /* Products */;
+ ProjectRef = E2D6C8A71F291800E07371ADB260B00091799F8FBD973000 /* brotli_common.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ FC3326F6AA5648006A31A3FE00E3B8002380A58FD95CCA00 /* libbrotli_enc.dylib */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ 91A382451F064000C17C9C493D29B800EFD7F22D6A8FD800 /* libbrotli_common.dylib */ = {
+ isa = PBXReferenceProxy;
+ fileType = "compiled.mach-o.dylib";
+ path = libbrotli_common.dylib;
+ remoteRef = 170D2BD2A0508700F013A857D1348000FDB35E26E44CB800 /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 84E550FBFDDB100A5C52ABE603E0801F6A7C9F4D0AD700 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 84E5510298ACA80A5C52AC4FB0FA001F6A7C9FB6B7F100 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BED8C1AE98EB5800BBCDCF160D45A000A17A2FFD8B292800 /* backward_references.c in Sources */,
+ 324F0FA09CECD80045C8D661F82E2C002AFF85AECB887600 /* bit_cost.c in Sources */,
+ C6280A931A606000F85FF83F87887000455B4A31891B6000 /* block_splitter.c in Sources */,
+ 7C238047EED5B800BECC964390BF50008E473EC487E66800 /* brotli_bit_stream.c in Sources */,
+ 2782203F0AF24200F13FC763A8410005829A9E015915000 /* cluster.c in Sources */,
+ 8F14FF81387DD800D1BE157CDA677000A138BDFDD18E8800 /* compress_fragment.c in Sources */,
+ C53E0D36A8893800F050E84B05104000B41C90D68DB2F800 /* compress_fragment_two_pass.c in Sources */,
+ 22B5F2E15408D60090B46FE8AA9640004A03717A830F5400 /* encode.c in Sources */,
+ 49311CF39D3C98007B690AA00A64A800C8645C920BF79800 /* entropy_encode.c in Sources */,
+ 617C81F3200BE8003A82FE7850EFDE004822B44764081400 /* histogram.c in Sources */,
+ 928252427776C000DA2AD65DBBC56800941345B8FDECA000 /* literal_cost.c in Sources */,
+ 1B13533325C17C008911D03A7C4EE8004260D1CC54C7FC00 /* memory.c in Sources */,
+ BA0268C2BE1940009308E547EEFD3800A0A89B1702157000 /* metablock.c in Sources */,
+ FD42400C39B21800B690EBC6AAD4B80055A64A9D609B6400 /* static_dict.c in Sources */,
+ C837E680A19B5800A13E6305D27F5000AEDE18D4E5978000 /* utf8_util.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 278F7F6926694200AA421E55E9D50800364EB73D2878A800 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = libbrotli_common.dylib;
+ targetProxy = 197F6D08F28AFA00F285E98E236EF000259F5D36872810 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 8F23E9F37680500D0A46276A8F320009E0202F757F44000 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Release/brotli_enc;
+ ONLY_ACTIVE_ARCH = NO;
+ STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
+ SYMROOT = ../../bin;
+ };
+ name = Release;
+ };
+ E692707913FE2800AE2075AD45F770002F119794BFD6AE00 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli_enc;
+ };
+ name = Debug;
+ };
+ F3C8AC8D4695C000CBC4D75E753C10009CB4F123CE7D7000 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+ CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
+ CONFIGURATION_TEMP_DIR = "$(OBJROOT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DOS_MACOSX,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OBJROOT = obj/Debug/brotli_enc;
+ ONLY_ACTIVE_ARCH = YES;
+ SYMROOT = ../../bin;
+ };
+ name = Debug;
+ };
+ F7A5A2FF52ED4000DAC9C607E86400005C8AFFB557005800 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CONFIGURATION_BUILD_DIR = ../../bin;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = brotli_enc;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "brotli_enc" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8F23E9F37680500D0A46276A8F320009E0202F757F44000 /* Release */,
+ F3C8AC8D4695C000CBC4D75E753C10009CB4F123CE7D7000 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 84E550B3E317880A5C52A76457A8801F6A7C9ACB5E9F00 /* Build configuration list for PBXNativeTarget "libbrotli_enc.dylib" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ F7A5A2FF52ED4000DAC9C607E86400005C8AFFB557005800 /* Release */,
+ E692707913FE2800AE2075AD45F770002F119794BFD6AE00 /* Debug */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+};
+rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+} \ No newline at end of file
diff --git a/enc/encode.c b/enc/encode.c
index cffc4fb..0071322 100644
--- a/enc/encode.c
+++ b/enc/encode.c
@@ -42,14 +42,6 @@ static const size_t kMaxNumDelayedSymbols = 0x2fff;
#define COPY_ARRAY(dst, src) memcpy(dst, src, sizeof(src));
-static void BrotliEncoderParamsSetDefault(
- BrotliEncoderParams* self) {
- self->mode = BROTLI_DEFAULT_MODE;
- self->quality = BROTLI_DEFAULT_QUALITY;
- self->lgwin = BROTLI_DEFAULT_WINDOW;
- self->lgblock = 0;
-}
-
typedef enum BrotliEncoderStreamState {
/* Default state. */
BROTLI_STREAM_PROCESSING = 0,
@@ -61,7 +53,12 @@ typedef enum BrotliEncoderStreamState {
} BrotliEncoderStreamState;
typedef struct BrotliEncoderStateStruct {
- BrotliEncoderParams params_;
+ /* Encoding parameters */
+ BrotliEncoderMode mode;
+ int quality;
+ int lgwin;
+ int lgblock;
+
MemoryManager memory_manager_;
Hashers hashers_;
@@ -119,7 +116,7 @@ static int EnsureInitialized(BrotliEncoderState* s);
size_t BrotliEncoderInputBlockSize(BrotliEncoderState* s) {
if (!EnsureInitialized(s)) return 0;
- return (size_t)1 << s->params_.lgblock;
+ return (size_t)1 << s->lgblock;
}
static uint64_t UnprocessedInputSize(BrotliEncoderState* s) {
@@ -140,19 +137,19 @@ int BrotliEncoderSetParameter(
/* TODO: Validate/clamp params here. */
switch (p) {
case BROTLI_PARAM_MODE:
- state->params_.mode = (BrotliEncoderMode)value;
+ state->mode = (BrotliEncoderMode)value;
return 1;
case BROTLI_PARAM_QUALITY:
- state->params_.quality = (int)value;
+ state->quality = (int)value;
return 1;
case BROTLI_PARAM_LGWIN:
- state->params_.lgwin = (int)value;
+ state->lgwin = (int)value;
return 1;
case BROTLI_PARAM_LGBLOCK:
- state->params_.lgblock = (int)value;
+ state->lgblock = (int)value;
return 1;
default: return 0;
@@ -564,30 +561,28 @@ static void WriteMetaBlockInternal(MemoryManager* m,
}
static int EnsureInitialized(BrotliEncoderState* s) {
- BrotliEncoderParams* params = &s->params_;
-
if (BROTLI_IS_OOM(&s->memory_manager_)) return 0;
if (s->is_initialized_) return 1;
/* Sanitize params. */
- params->quality = BROTLI_MAX(int, 0, params->quality);
- if (params->lgwin < kBrotliMinWindowBits) {
- params->lgwin = kBrotliMinWindowBits;
- } else if (params->lgwin > kBrotliMaxWindowBits) {
- params->lgwin = kBrotliMaxWindowBits;
+ s->quality = BROTLI_MAX(int, 0, s->quality);
+ if (s->lgwin < kBrotliMinWindowBits) {
+ s->lgwin = kBrotliMinWindowBits;
+ } else if (s->lgwin > kBrotliMaxWindowBits) {
+ s->lgwin = kBrotliMaxWindowBits;
}
- if (params->quality <= 1) {
- params->lgblock = params->lgwin;
- } else if (params->quality < kMinQualityForBlockSplit) {
- params->lgblock = 14;
- } else if (params->lgblock == 0) {
- params->lgblock = 16;
- if (params->quality >= 9 && params->lgwin > params->lgblock) {
- params->lgblock = BROTLI_MIN(int, 18, params->lgwin);
+ if (s->quality <= 1) {
+ s->lgblock = s->lgwin;
+ } else if (s->quality < kMinQualityForBlockSplit) {
+ s->lgblock = 14;
+ } else if (s->lgblock == 0) {
+ s->lgblock = 16;
+ if (s->quality >= 9 && s->lgwin > s->lgblock) {
+ s->lgblock = BROTLI_MIN(int, 18, s->lgwin);
}
} else {
- params->lgblock = BROTLI_MIN(int, kBrotliMaxInputBlockBits,
- BROTLI_MAX(int, kBrotliMinInputBlockBits, params->lgblock));
+ s->lgblock = BROTLI_MIN(int, kBrotliMaxInputBlockBits,
+ BROTLI_MAX(int, kBrotliMinInputBlockBits, s->lgblock));
}
/* Initialize input and literal cost ring buffers.
@@ -597,20 +592,20 @@ static int EnsureInitialized(BrotliEncoderState* s) {
smaller than ringbuffer size. */
{
int ringbuffer_bits =
- BROTLI_MAX(int, params->lgwin + 1, params->lgblock + 1);
- RingBufferSetup(ringbuffer_bits, params->lgblock, &s->ringbuffer_);
+ BROTLI_MAX(int, s->lgwin + 1, s->lgblock + 1);
+ RingBufferSetup(ringbuffer_bits, s->lgblock, &s->ringbuffer_);
}
/* Initialize last byte with stream header. */
- EncodeWindowBits(params->lgwin, &s->last_byte_, &s->last_byte_bits_);
+ EncodeWindowBits(s->lgwin, &s->last_byte_, &s->last_byte_bits_);
- if (params->quality == 0) {
+ if (s->quality == 0) {
InitCommandPrefixCodes(s->cmd_depths_, s->cmd_bits_,
s->cmd_code_, &s->cmd_code_numbits_);
}
/* Initialize hashers. */
- s->hash_type_ = BROTLI_MIN(int, 10, params->quality);
+ s->hash_type_ = BROTLI_MIN(int, 10, s->quality);
HashersSetup(&s->memory_manager_, &s->hashers_, s->hash_type_);
if (BROTLI_IS_OOM(&s->memory_manager_)) return 0;
@@ -619,7 +614,11 @@ static int EnsureInitialized(BrotliEncoderState* s) {
}
static void BrotliEncoderInitState(BrotliEncoderState* s) {
- BrotliEncoderParamsSetDefault(&s->params_);
+ s->mode = BROTLI_DEFAULT_MODE;
+ s->quality = BROTLI_DEFAULT_QUALITY;
+ s->lgwin = BROTLI_DEFAULT_WINDOW;
+ s->lgblock = 0;
+
s->input_pos_ = 0;
s->num_commands_ = 0;
s->num_literals_ = 0;
@@ -764,13 +763,13 @@ void BrotliEncoderCopyInputToRingBuffer(BrotliEncoderState* s,
void BrotliEncoderSetCustomDictionary(BrotliEncoderState* s, size_t size,
const uint8_t* dict) {
- size_t max_dict_size = MaxBackwardLimit(s->params_.lgwin);
+ size_t max_dict_size = MaxBackwardLimit(s->lgwin);
size_t dict_size = size;
MemoryManager* m = &s->memory_manager_;
if (!EnsureInitialized(s)) return;
- if (dict_size == 0 || s->params_.quality <= 1) {
+ if (dict_size == 0 || s->quality <= 1) {
return;
}
if (size > max_dict_size) {
@@ -787,7 +786,7 @@ void BrotliEncoderSetCustomDictionary(BrotliEncoderState* s, size_t size,
s->prev_byte2_ = dict[dict_size - 2];
}
HashersPrependCustomDictionary(m, &s->hashers_,
- s->hash_type_, s->params_.lgwin, dict_size, dict);
+ s->hash_type_, s->lgwin, dict_size, dict);
if (BROTLI_IS_OOM(m)) return;
}
@@ -812,7 +811,7 @@ int BrotliEncoderWriteData(BrotliEncoderState* s, const int is_last,
if (delta > BrotliEncoderInputBlockSize(s)) {
return 0;
}
- if (s->params_.quality == 1 && !s->command_buf_) {
+ if (s->quality == 1 && !s->command_buf_) {
s->command_buf_ =
BROTLI_ALLOC(m, uint32_t, kCompressFragmentTwoPassBlockSize);
s->literal_buf_ =
@@ -820,7 +819,7 @@ int BrotliEncoderWriteData(BrotliEncoderState* s, const int is_last,
if (BROTLI_IS_OOM(m)) return 0;
}
- if (s->params_.quality <= 1) {
+ if (s->quality <= 1) {
uint8_t* storage;
size_t storage_ix = s->last_byte_bits_;
size_t table_size;
@@ -835,9 +834,9 @@ int BrotliEncoderWriteData(BrotliEncoderState* s, const int is_last,
storage = GetBrotliStorage(s, 2 * bytes + 500);
if (BROTLI_IS_OOM(m)) return 0;
storage[0] = s->last_byte_;
- table = GetHashTable(s, s->params_.quality, bytes, &table_size);
+ table = GetHashTable(s, s->quality, bytes, &table_size);
if (BROTLI_IS_OOM(m)) return 0;
- if (s->params_.quality == 0) {
+ if (s->quality == 0) {
BrotliCompressFragmentFast(
m, &data[WrapPosition(s->last_processed_pos_) & mask],
bytes, is_last,
@@ -884,8 +883,8 @@ int BrotliEncoderWriteData(BrotliEncoderState* s, const int is_last,
BrotliCreateBackwardReferences(m, bytes, WrapPosition(s->last_processed_pos_),
is_last, data, mask,
- s->params_.quality,
- s->params_.lgwin,
+ s->quality,
+ s->lgwin,
&s->hashers_,
s->hash_type_,
s->dist_cache_,
@@ -902,7 +901,7 @@ int BrotliEncoderWriteData(BrotliEncoderState* s, const int is_last,
const size_t max_commands = max_length / 8;
const uint64_t input_limit = s->input_pos_ + BrotliEncoderInputBlockSize(s);
if (!is_last && !force_flush &&
- (s->params_.quality >= kMinQualityForBlockSplit ||
+ (s->quality >= kMinQualityForBlockSplit ||
(s->num_literals_ + s->num_commands_ < kMaxNumDelayedSymbols)) &&
s->num_literals_ < max_literals &&
s->num_commands_ < max_commands &&
@@ -935,12 +934,12 @@ int BrotliEncoderWriteData(BrotliEncoderState* s, const int is_last,
(uint32_t)(s->input_pos_ - s->last_flush_pos_);
uint8_t* storage = GetBrotliStorage(s, 2 * metablock_size + 500);
size_t storage_ix = s->last_byte_bits_;
- int is_font_mode = (s->params_.mode == BROTLI_MODE_FONT) ? 1 : 0;
+ int is_font_mode = (s->mode == BROTLI_MODE_FONT) ? 1 : 0;
if (BROTLI_IS_OOM(m)) return 0;
storage[0] = s->last_byte_;
WriteMetaBlockInternal(
m, data, mask, s->last_flush_pos_, metablock_size, is_last,
- s->params_.quality, is_font_mode, s->prev_byte_, s->prev_byte2_,
+ s->quality, is_font_mode, s->prev_byte_, s->prev_byte2_,
s->num_literals_, s->num_commands_, s->commands_, s->saved_dist_cache_,
s->dist_cache_, &storage_ix, storage);
if (BROTLI_IS_OOM(m)) return 0;
@@ -1370,7 +1369,7 @@ static int BrotliEncoderCompressStreamFast(
BrotliEncoderState* s, BrotliEncoderOperation op, size_t* available_in,
const uint8_t** next_in, size_t* available_out, uint8_t** next_out,
size_t* total_out) {
- const size_t block_size_limit = (size_t)1 << s->params_.lgwin;
+ const size_t block_size_limit = (size_t)1 << s->lgwin;
const size_t buf_size = BROTLI_MIN(size_t, kCompressFragmentTwoPassBlockSize,
BROTLI_MIN(size_t, *available_in, block_size_limit));
uint32_t* tmp_command_buf = NULL;
@@ -1378,7 +1377,7 @@ static int BrotliEncoderCompressStreamFast(
uint8_t* tmp_literal_buf = NULL;
uint8_t* literal_buf = NULL;
MemoryManager* m = &s->memory_manager_;
- if (s->params_.quality == 1) {
+ if (s->quality == 1) {
if (!s->command_buf_ && buf_size == kCompressFragmentTwoPassBlockSize) {
s->command_buf_ =
BROTLI_ALLOC(m, uint32_t, kCompressFragmentTwoPassBlockSize);
@@ -1450,10 +1449,10 @@ static int BrotliEncoderCompressStreamFast(
if (BROTLI_IS_OOM(m)) return 0;
}
storage[0] = s->last_byte_;
- table = GetHashTable(s, s->params_.quality, block_size, &table_size);
+ table = GetHashTable(s, s->quality, block_size, &table_size);
if (BROTLI_IS_OOM(m)) return 0;
- if (s->params_.quality == 0) {
+ if (s->quality == 0) {
BrotliCompressFragmentFast(m, *next_in, block_size, is_last, table,
table_size, s->cmd_depths_, s->cmd_bits_, &s->cmd_code_numbits_,
s->cmd_code_, &storage_ix, storage);
@@ -1502,7 +1501,7 @@ int BrotliEncoderCompressStream(BrotliEncoderState* s,
if (s->stream_state_ != BROTLI_STREAM_PROCESSING && *available_in != 0) {
return 0;
}
- if (s->params_.quality <= 1) {
+ if (s->quality <= 1) {
return BrotliEncoderCompressStreamFast(s, op, available_in, next_in,
available_out, next_out, total_out);
}
diff --git a/enc/encode.h b/enc/encode.h
index 87d24ab..6cb1a3a 100644
--- a/enc/encode.h
+++ b/enc/encode.h
@@ -44,19 +44,6 @@ typedef enum BrotliEncoderOperation {
BROTLI_OPERATION_FINISH = 2
} BrotliEncoderOperation;
-/* DEPRECATED */
-typedef struct BrotliEncoderParams {
- BrotliEncoderMode mode;
- /* Controls the compression-speed vs compression-density tradeoffs. The higher
- the |quality|, the slower the compression. Range is 0 to 11. */
- int quality;
- /* Base 2 logarithm of the sliding window size. Range is 10 to 24. */
- int lgwin;
- /* Base 2 logarithm of the maximum input block size. Range is 16 to 24.
- If set to 0, the value will be set based on the quality. */
- int lgblock;
-} BrotliEncoderParams;
-
typedef enum BrotliEncoderParameter {
BROTLI_PARAM_MODE = 0,
/* Controls the compression-speed vs compression-density tradeoffs. The higher
diff --git a/premake5.lua b/premake5.lua
index 8b61f90..3a15702 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -1,7 +1,6 @@
-- A solution contains projects, and defines the available configurations
solution "brotli"
configurations { "Release", "Debug" }
-platforms { "Static", "Shared" }
targetdir "bin"
location "buildfiles"
flags "RelativeLinks"
@@ -13,16 +12,13 @@ filter "configurations:Release"
filter "configurations:Debug"
flags { "Symbols" }
-filter { "platforms:Static" }
- kind "StaticLib"
-
-filter { "platforms:Shared" }
- kind "SharedLib"
-
configuration { "gmake" }
buildoptions { "-Wall -fno-omit-frame-pointer" }
location "buildfiles/gmake"
+configuration { "xcode4" }
+ location "buildfiles/xcode4"
+
configuration "linux"
links "m"
@@ -30,21 +26,33 @@ configuration { "macosx" }
defines { "DOS_MACOSX" }
project "brotli_common"
+ kind "SharedLib"
language "C"
files { "common/**.h", "common/**.c" }
project "brotli_dec"
+ kind "SharedLib"
language "C"
files { "dec/**.h", "dec/**.c" }
links "brotli_common"
project "brotli_enc"
+ kind "SharedLib"
language "C"
files { "enc/**.h", "enc/**.c" }
links "brotli_common"
+project "brotli"
+ kind "StaticLib"
+ language "C"
+ files {
+ "common/**.h", "common/**.c",
+ "dec/**.h", "dec/**.c",
+ "enc/**.h", "enc/**.c"
+ }
+
project "bro"
kind "ConsoleApp"
language "C"
files { "tools/bro.c" }
- links { "brotli_common", "brotli_dec", "brotli_enc" }
+ links { "brotli" }