Update build systems

This commit is contained in:
Evgenii Kliuchnikov 2016-06-24 15:32:51 +02:00
parent 49df97c472
commit 52ff81717b
23 changed files with 192 additions and 2660 deletions

2
.gitignore vendored
View File

@ -4,6 +4,6 @@
*.bro
*.unbro
bin/
buildfiles/gmake/config.make
buildfiles/
**/obj/
dist/

117
BUILD
View File

@ -21,103 +21,47 @@ STRICT_C_OPTIONS = [
"-Wsign-compare",
]
COMMON_HEADERS = [
"common/constants.h",
"common/dictionary.h",
"common/port.h",
"common/types.h",
]
filegroup(
name = "common_headers",
srcs = glob(["common/*.h"]),
)
COMMON_SOURCES = [
"common/dictionary.c",
]
filegroup(
name = "common_sources",
srcs = glob(["common/*.c"]),
)
DEC_HEADERS = [
"dec/bit_reader.h",
"dec/context.h",
"dec/decode.h",
"dec/huffman.h",
"dec/port.h",
"dec/prefix.h",
"dec/state.h",
"dec/transform.h",
]
filegroup(
name = "dec_headers",
srcs = glob(["dec/*.h"]),
)
DEC_SOURCES = [
"dec/bit_reader.c",
"dec/decode.c",
"dec/huffman.c",
"dec/state.c",
]
filegroup(
name = "dec_sources",
srcs = glob(["dec/*.c"]),
)
ENC_HEADERS = [
"enc/backward_references.h",
"enc/backward_references_inc.h",
"enc/bit_cost.h",
"enc/bit_cost_inc.h",
"enc/block_encoder_inc.h",
"enc/block_splitter.h",
"enc/block_splitter_inc.h",
"enc/brotli_bit_stream.h",
"enc/cluster.h",
"enc/cluster_inc.h",
"enc/command.h",
"enc/compress_fragment.h",
"enc/compress_fragment_two_pass.h",
"enc/context.h",
"enc/dictionary_hash.h",
"enc/encode.h",
"enc/entropy_encode.h",
"enc/entropy_encode_static.h",
"enc/fast_log.h",
"enc/find_match_length.h",
"enc/hash.h",
"enc/hash_longest_match_inc.h",
"enc/hash_longest_match_quickly_inc.h",
"enc/histogram.h",
"enc/histogram_inc.h",
"enc/literal_cost.h",
"enc/memory.h",
"enc/metablock.h",
"enc/metablock_inc.h",
"enc/port.h",
"enc/prefix.h",
"enc/ringbuffer.h",
"enc/static_dict.h",
"enc/static_dict_lut.h",
"enc/utf8_util.h",
"enc/write_bits.h",
]
filegroup(
name = "enc_headers",
srcs = glob(["enc/*.h"]),
)
ENC_SOURCES = [
"enc/backward_references.c",
"enc/bit_cost.c",
"enc/block_splitter.c",
"enc/brotli_bit_stream.c",
"enc/cluster.c",
"enc/compress_fragment.c",
"enc/compress_fragment_two_pass.c",
"enc/encode.c",
"enc/entropy_encode.c",
"enc/histogram.c",
"enc/literal_cost.c",
"enc/memory.c",
"enc/metablock.c",
"enc/static_dict.c",
"enc/utf8_util.c",
]
filegroup(
name = "enc_sources",
srcs = glob(["enc/*.c"]),
)
cc_library(
name = "brotli_common",
srcs = COMMON_SOURCES,
hdrs = COMMON_HEADERS,
srcs = [":common_sources"],
hdrs = [":common_headers"],
copts = STRICT_C_OPTIONS,
)
cc_library(
name = "brotli_dec",
srcs = DEC_SOURCES,
hdrs = DEC_HEADERS,
srcs = [":dec_sources"],
hdrs = [":dec_headers"],
copts = STRICT_C_OPTIONS,
deps = [
":brotli_common",
@ -126,8 +70,8 @@ cc_library(
cc_library(
name = "brotli_enc",
srcs = ENC_SOURCES,
hdrs = ENC_HEADERS,
srcs = [":enc_sources"],
hdrs = [":enc_headers"],
copts = STRICT_C_OPTIONS,
deps = [
":brotli_common",
@ -138,6 +82,7 @@ cc_binary(
name = "bro",
srcs = ["tools/bro.c"],
copts = STRICT_C_OPTIONS,
linkstatic = 1,
deps = [
":brotli_dec",
":brotli_enc",

View File

@ -1,12 +1,35 @@
include buildfiles/gmake/config.make
OS := $(shell uname)
SOURCES = $(wildcard common/*.c) $(wildcard dec/*.c) $(wildcard enc/*.c) \
tools/bro.c
BINDIR = bin
OBJDIR = $(BINDIR)/obj
OBJECTS = $(addprefix $(OBJDIR)/, $(SOURCES:.c=.o))
EXECUTABLE = bro
DIRS = $(OBJDIR)/common $(OBJDIR)/dec $(OBJDIR)/enc \
$(OBJDIR)/tools $(BINDIR)/tmp
CFLAGS += -O2
ifeq ($(os), Darwin)
CPPFLAGS += -DOS_MACOSX
endif
TARGETS=all clean brotli_common brotli_dec brotli_enc brotli bro help
all: test
@:
.PHONY: $(TARGETS) install
.PHONY: all clean test
$(TARGETS):
@${MAKE} -C buildfiles/gmake $@
$(DIRS):
mkdir -p $@
install:
@echo "copy include and libraries to $(prefix)"
$(error Installation is not implemented yet)
$(OBJECTS): $(DIRS)
$(CC) $(CFLAGS) $(CPPFLAGS) \
-c $(patsubst %.o,%.c,$(patsubst $(OBJDIR)/%,%,$@)) -o $@
$(EXECUTABLE): $(OBJECTS)
$(CC) $(OBJECTS) -lm -o $(BINDIR)/$(EXECUTABLE)
test: $(EXECUTABLE)
tests/compatibility_test.sh
tests/roundtrip_test.sh
clean:
rm -rf $(BINDIR)

View File

@ -1,87 +0,0 @@
# GNU Make workspace makefile autogenerated by Premake
.NOTPARALLEL:
ifndef config
config=release
endif
ifndef verbose
SILENT = @
endif
ifeq ($(config),release)
brotli_common_config = release
brotli_dec_config = release
brotli_enc_config = release
brotli_config = release
bro_config = release
endif
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 brotli bro
.PHONY: all clean help $(PROJECTS)
all: $(PROJECTS)
brotli_common:
ifneq (,$(brotli_common_config))
@echo "==== Building brotli_common ($(brotli_common_config)) ===="
@${MAKE} --no-print-directory -C . -f brotli_common.make config=$(brotli_common_config)
endif
brotli_dec: brotli_common
ifneq (,$(brotli_dec_config))
@echo "==== Building brotli_dec ($(brotli_dec_config)) ===="
@${MAKE} --no-print-directory -C . -f brotli_dec.make config=$(brotli_dec_config)
endif
brotli_enc: brotli_common
ifneq (,$(brotli_enc_config))
@echo "==== Building brotli_enc ($(brotli_enc_config)) ===="
@${MAKE} --no-print-directory -C . -f brotli_enc.make config=$(brotli_enc_config)
endif
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)
endif
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"
@echo " debug"
@echo ""
@echo "TARGETS:"
@echo " all (default)"
@echo " clean"
@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"

View File

@ -1,133 +0,0 @@
# 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)/bro
OBJDIR = obj/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 -lm -Wl,--end-group
LDDEPS += ../../bin/libbrotli.a
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)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/bro
OBJDIR = obj/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 -lm -Wl,--end-group
LDDEPS += ../../bin/libbrotli.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
OBJECTS := \
$(OBJDIR)/bro.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 bro
$(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 bro
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)/bro.o: ../../tools/bro.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

View File

@ -1,209 +0,0 @@
# 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

View File

@ -1,133 +0,0 @@
# 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_common.so
OBJDIR = obj/Release/brotli_common
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -fPIC -Wall -fno-omit-frame-pointer
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
LIBS += -lm
LDDEPS +=
ALL_LDFLAGS += $(LDFLAGS) -s -shared
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)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_common.so
OBJDIR = obj/Debug/brotli_common
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -fPIC -Wall -fno-omit-frame-pointer
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
LIBS += -lm
LDDEPS +=
ALL_LDFLAGS += $(LDFLAGS) -shared
LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
define PREBUILDCMDS
endef
define PRELINKCMDS
endef
define POSTBUILDCMDS
endef
all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
@:
endif
OBJECTS := \
$(OBJDIR)/dictionary.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_common
$(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_common
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 "$<"
-include $(OBJECTS:%.o=%.d)
ifneq (,$(PCH))
-include $(OBJDIR)/$(notdir $(PCH)).d
endif

View File

@ -1,145 +0,0 @@
# 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_dec.so
OBJDIR = obj/Release/brotli_dec
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -fPIC -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.so
ALL_LDFLAGS += $(LDFLAGS) -L../../bin -s -shared
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)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_dec.so
OBJDIR = obj/Debug/brotli_dec
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -fPIC -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.so
ALL_LDFLAGS += $(LDFLAGS) -L../../bin -shared
LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
define PREBUILDCMDS
endef
define PRELINKCMDS
endef
define POSTBUILDCMDS
endef
all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
@:
endif
OBJECTS := \
$(OBJDIR)/bit_reader.o \
$(OBJDIR)/decode.o \
$(OBJDIR)/huffman.o \
$(OBJDIR)/state.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_dec
$(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_dec
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)/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 "$<"
-include $(OBJECTS:%.o=%.d)
ifneq (,$(PCH))
-include $(OBJDIR)/$(notdir $(PCH)).d
endif

View File

@ -1,189 +0,0 @@
# 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_enc.so
OBJDIR = obj/Release/brotli_enc
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -fPIC -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.so
ALL_LDFLAGS += $(LDFLAGS) -L../../bin -s -shared
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)
RESCOMP = windres
TARGETDIR = ../../bin
TARGET = $(TARGETDIR)/libbrotli_enc.so
OBJDIR = obj/Debug/brotli_enc
DEFINES +=
INCLUDES +=
FORCE_INCLUDE +=
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -fPIC -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.so
ALL_LDFLAGS += $(LDFLAGS) -L../../bin -shared
LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
define PREBUILDCMDS
endef
define PRELINKCMDS
endef
define POSTBUILDCMDS
endef
all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
@:
endif
OBJECTS := \
$(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_enc
$(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_enc
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)/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

View File

@ -1,261 +0,0 @@
// !$*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 */;
}

View File

@ -1,400 +0,0 @@
// !$*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 */;
}

View File

@ -1,19 +0,0 @@
<?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>

View File

@ -1,208 +0,0 @@
// !$*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 */;
}

View File

@ -1,290 +0,0 @@
// !$*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 */;
}

View File

@ -1,396 +0,0 @@
// !$*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 */;
}

23
configure vendored
View File

@ -1,19 +1,6 @@
#!/bin/bash
PREFIX=/usr/local
VERSION=`cat tools/version.h | grep BROTLI_VERSION | grep -o \".*\"`
VERSION=${VERSION:1:${#VERSION}-2}
for i in "$@"
do
case $i in
-p=*|--prefix=*)
PREFIX="${i#*=}"
;;
esac
done
echo -e "prefix=$PREFIX" > ./buildfiles/gmake/config.make
echo -e "version=$VERSION" >> ./buildfiles/gmake/config.make
echo "Use Bazel, CMake or Premake5 to generate projects / build files."
echo " Bazel: http://www.bazel.io/"
echo " CMake: https://cmake.org/"
echo " Premake5: https://premake.github.io/"
echo "Or simply run 'make' to build and test command line tool."

View File

@ -1268,27 +1268,36 @@ static BrotliErrorCode BROTLI_NOINLINE CopyUncompressedBlockToOutput(
int BrotliDecompressedSize(size_t encoded_size,
const uint8_t* encoded_buffer,
size_t* decoded_size) {
size_t total_size = 0;
BrotliState s;
int next_block_header;
BrotliBitReader* br;
BrotliStateInit(&s);
s.br.next_in = encoded_buffer;
s.br.avail_in = encoded_size;
if (!BrotliWarmupBitReader(&s.br)) {
return 0;
br = &s.br;
*decoded_size = 0;
br->next_in = encoded_buffer;
br->avail_in = encoded_size;
if (!BrotliWarmupBitReader(br)) return 0;
DecodeWindowBits(br);
while (1) {
size_t block_size;
if (DecodeMetaBlockLength(&s, br) != BROTLI_SUCCESS) return 0;
block_size = (size_t)s.meta_block_remaining_len;
if (!s.is_metadata) {
if ((block_size + total_size) < total_size) return 0;
total_size += block_size;
}
DecodeWindowBits(&s.br);
if (DecodeMetaBlockLength(&s, &s.br) != BROTLI_SUCCESS) {
return 0;
}
*decoded_size = (size_t)s.meta_block_remaining_len;
if (s.is_last_metablock) {
*decoded_size = total_size;
return 1;
}
if (!s.is_uncompressed || !BrotliJumpToByteBoundary(&s.br)) {
return 0;
if (!s.is_uncompressed && !s.is_metadata) return 0;
if (!BrotliJumpToByteBoundary(br)) return 0;
BrotliBitReaderUnload(br);
if (br->avail_in < block_size) return 0;
br->avail_in -= block_size;
br->next_in += block_size;
if (!BrotliWarmupBitReader(br)) return 0;
}
next_block_header = BrotliPeekByte(&s.br, (size_t)s.meta_block_remaining_len);
return (next_block_header != -1) && ((next_block_header & 3) == 3);
}
/* Calculates the smallest feasible ring buffer.

View File

@ -90,9 +90,8 @@ BrotliState* BrotliCreateState(
void BrotliDestroyState(BrotliState* state);
/* Sets |*decoded_size| to the decompressed size of the given encoded stream.
This function only works if the encoded buffer has a single meta block,
or if it has two meta-blocks, where the first is uncompressed and the
second is empty.
This function only works if the only compressed block, is last block.
There is no limit on number of uncompressed and metadata blocks.
Returns 1 on success, 0 on failure. */
int BrotliDecompressedSize(size_t encoded_size,
const uint8_t* encoded_buffer,

View File

@ -265,6 +265,7 @@ typedef struct PosData {
size_t pos;
int distance_cache[4];
float costdiff;
float cost;
} PosData;
/* Maintains the smallest 8 cost difference together with their positions */
@ -303,16 +304,12 @@ static const PosData* StartPosQueueAt(const StartPosQueue* self, size_t k) {
/* Returns the minimum possible copy length that can improve the cost of any */
/* future position. */
static size_t ComputeMinimumCopyLength(const StartPosQueue* queue,
static size_t ComputeMinimumCopyLength(const float start_cost,
const ZopfliNode* nodes,
const ZopfliCostModel* model,
const size_t num_bytes,
const size_t pos) {
/* Compute the minimum possible cost of reaching any future position. */
const size_t start0 = StartPosQueueAt(queue, 0)->pos;
float min_cost = (nodes[start0].u.cost +
ZopfliCostModelGetLiteralCosts(model, start0, pos) +
ZopfliCostModelGetMinCostCmd(model));
float min_cost = start_cost;
size_t len = 2;
size_t next_len_bucket = 4;
size_t next_len_offset = 10;
@ -332,6 +329,31 @@ static size_t ComputeMinimumCopyLength(const StartPosQueue* queue,
return len;
}
/* REQUIRES: nodes[pos].cost < kInfinity
REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */
static uint32_t ComputeDistanceShortcut(const size_t block_start,
const size_t pos,
const size_t max_backward,
const ZopfliNode* nodes) {
const size_t clen = ZopfliNodeCopyLength(&nodes[pos]);
const size_t ilen = nodes[pos].insert_length;
const size_t dist = ZopfliNodeCopyDistance(&nodes[pos]);
/* Since |block_start + pos| is the end position of the command, the copy part
starts from |block_start + pos - clen|. Distances that are greater than
this or greater than |max_backward| are static dictionary references, and
do not update the last distances. Also distance code 0 (last distance)
does not update the last distances. */
if (pos == 0) {
return 0;
} else if (dist + clen <= block_start + pos &&
dist <= max_backward &&
ZopfliNodeDistanceCode(&nodes[pos]) > 0) {
return (uint32_t)pos;
} else {
return nodes[pos - clen - ilen].u.shortcut;
}
}
/* Fills in dist_cache[0..3] with the last four distances (as defined by
Section 4. of the Spec) that would be used at (block_start + pos) if we
used the shortest path of commands from block_start, computed from
@ -339,30 +361,19 @@ static size_t ComputeMinimumCopyLength(const StartPosQueue* queue,
starting_dist_cach[0..3].
REQUIRES: nodes[pos].cost < kInfinity
REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */
static void ComputeDistanceCache(const size_t block_start,
const size_t pos,
const size_t max_backward,
static void ComputeDistanceCache(const size_t pos,
const int* starting_dist_cache,
const ZopfliNode* nodes,
int* dist_cache) {
int idx = 0;
size_t p = pos;
/* Because of prerequisite, does at most (pos + 1) / 2 iterations. */
size_t p = nodes[pos].u.shortcut;
while (idx < 4 && p > 0) {
const size_t clen = ZopfliNodeCopyLength(&nodes[p]);
const size_t ilen = nodes[p].insert_length;
const size_t clen = ZopfliNodeCopyLength(&nodes[p]);
const size_t dist = ZopfliNodeCopyDistance(&nodes[p]);
/* Since block_start + p is the end position of the command, the copy part
starts from block_start + p - clen. Distances that are greater than this
or greater than max_backward are static dictionary references, and do
not update the last distances. Also distance code 0 (last distance)
does not update the last distances. */
if (dist + clen <= block_start + p && dist <= max_backward &&
ZopfliNodeDistanceCode(&nodes[p]) > 0) {
dist_cache[idx++] = (int)dist;
}
/* Because of prerequisite, p >= clen + ilen >= 2. */
p -= clen + ilen;
p = nodes[p - clen - ilen].u.shortcut;
}
for (; idx < 4; ++idx) {
dist_cache[idx] = *starting_dist_cache++;
@ -391,17 +402,29 @@ static void UpdateNodes(const size_t num_bytes,
size_t min_len;
size_t k;
if (nodes[pos].u.cost <= ZopfliCostModelGetLiteralCosts(model, 0, pos)) {
{
/* Save cost, because ComputeDistanceCache invalidates it. */
float node_cost = nodes[pos].u.cost;
nodes[pos].u.shortcut = ComputeDistanceShortcut(
block_start, pos, max_backward_limit, nodes);
if (node_cost <= ZopfliCostModelGetLiteralCosts(model, 0, pos)) {
PosData posdata;
posdata.pos = pos;
posdata.costdiff = nodes[pos].u.cost -
posdata.cost = node_cost;
posdata.costdiff = node_cost -
ZopfliCostModelGetLiteralCosts(model, 0, pos);
ComputeDistanceCache(block_start, pos, max_backward_limit,
starting_dist_cache, nodes, posdata.distance_cache);
ComputeDistanceCache(
pos, starting_dist_cache, nodes, posdata.distance_cache);
StartPosQueuePush(queue, &posdata);
}
}
min_len = ComputeMinimumCopyLength(queue, nodes, model, num_bytes, pos);
{
const PosData* posdata = StartPosQueueAt(queue, 0);
float min_cost = (posdata->cost + ZopfliCostModelGetMinCostCmd(model) +
ZopfliCostModelGetLiteralCosts(model, posdata->pos, pos));
min_len = ComputeMinimumCopyLength(min_cost, nodes, num_bytes, pos);
}
/* Go over the command starting positions in order of increasing cost
difference. */
@ -512,7 +535,7 @@ static size_t ComputeShortestPathFromNodes(size_t num_bytes,
ZopfliNode* nodes) {
size_t index = num_bytes;
size_t num_commands = 0;
while (nodes[index].u.cost == kInfinity) --index;
while (nodes[index].insert_length == 0 && nodes[index].length == 1) --index;
nodes[index].u.next = BROTLI_UINT32_MAX;
while (index != 0) {
size_t len = ZopfliNodeCommandLength(&nodes[index]);

View File

@ -51,15 +51,17 @@ typedef struct ZopfliNode {
uint32_t insert_length;
/* This union holds information used by dynamic-programming. During forward
pass |cost| it used to store the goal function. On path backtracing pass
|next| is assigned the offset to next node on the path. As |cost| is not
used after the forward pass, it shares the memory with |next|. */
pass |cost| it used to store the goal function. When node is processed its
|cost| is invalidated in favor of |shortcut|. On path backtracing pass
|next| is assigned the offset to next node on the path. */
union {
/* Smallest cost to get to this byte from the beginning, as found so far. */
float cost;
/* Offset to the next node on the path. Equals to command_length() of the
next node on the path. For last node equals to BROTLI_UINT32_MAX */
uint32_t next;
/* Node position that provides next distance for distance cache. */
uint32_t shortcut;
} u;
} ZopfliNode;

View File

@ -23,36 +23,48 @@ configuration "linux"
links "m"
configuration { "macosx" }
defines { "DOS_MACOSX" }
defines { "OS_MACOSX" }
project "brotli_common"
kind "SharedLib"
language "C"
files { "common/**.h", "common/**.c" }
project "brotli_common_static"
kind "StaticLib"
targetname "brotli_common"
language "C"
files { "common/**.h", "common/**.c" }
project "brotli_dec"
kind "SharedLib"
language "C"
files { "dec/**.h", "dec/**.c" }
links "brotli_common"
project "brotli_dec_static"
kind "StaticLib"
targetname "brotli_dec"
language "C"
files { "dec/**.h", "dec/**.c" }
links "brotli_common_static"
project "brotli_enc"
kind "SharedLib"
language "C"
files { "enc/**.h", "enc/**.c" }
links "brotli_common"
project "brotli"
project "brotli_enc_static"
kind "StaticLib"
targetname "brotli_enc"
language "C"
files {
"common/**.h", "common/**.c",
"dec/**.h", "dec/**.c",
"enc/**.h", "enc/**.c"
}
files { "enc/**.h", "enc/**.c" }
links "brotli_common_static"
project "bro"
kind "ConsoleApp"
language "C"
linkoptions "-static"
files { "tools/bro.c" }
links { "brotli" }
links { "brotli_common_static", "brotli_dec_static", "brotli_enc_static" }

View File

@ -5,12 +5,14 @@
set -o errexit
BRO=../bin/bro
BRO=bin/bro
TMP_DIR=bin/tmp
for file in testdata/*.compressed*; do
for file in tests/testdata/*.compressed*; do
echo "Testing decompression of file $file"
expected=${file%.compressed*}
uncompressed=${expected}.uncompressed
uncompressed=${TMP_DIR}/${expected##*/}.uncompressed
echo $uncompressed
$BRO -f -d -i $file -o $uncompressed
diff -q $uncompressed $expected
# Test the streaming version
@ -18,4 +20,3 @@ for file in testdata/*.compressed*; do
diff -q $uncompressed $expected
rm -f $uncompressed
done

View File

@ -4,23 +4,24 @@
set -o errexit
BRO=../bin/bro
BRO=bin/bro
TMP_DIR=bin/tmp
INPUTS="""
testdata/alice29.txt
testdata/asyoulik.txt
testdata/lcet10.txt
testdata/plrabn12.txt
../enc/encode.c
../common/dictionary.h
../dec/decode.c
tests/testdata/alice29.txt
tests/testdata/asyoulik.txt
tests/testdata/lcet10.txt
tests/testdata/plrabn12.txt
enc/encode.c
common/dictionary.h
dec/decode.c
$BRO
"""
for file in $INPUTS; do
for quality in 1 6 9 11; do
echo "Roundtrip testing $file at quality $quality"
compressed=${file}.bro
uncompressed=${file}.unbro
compressed=${TMP_DIR}/${file##*/}.bro
uncompressed=${TMP_DIR}/${file##*/}.unbro
$BRO -f -q $quality -i $file -o $compressed
$BRO -f -d -i $compressed -o $uncompressed
diff -q $file $uncompressed