##// END OF EJS Templates
phabricator: add a "phabstatus" template keyword...
phabricator: add a "phabstatus" template keyword We add a "phabstatus" template keyword, returning an object with "url" and "status" keys. This is quite similar to "phabreview" template keyword, but it queries phabricator for each specified revision so it's going to be slow (as compared to the "phabstatus" show view from previous changeset). Differential Revision: https://phab.mercurial-scm.org/D7507

File last commit:

r44256:ceeff2d9 default
r44292:79c01212 default
Show More
Makefile
141 lines | 4.8 KiB | text/x-makefile | MakefileLexer
Yuya Nishihara
fuzz: expand variables by make...
r38232 CC = clang
CXX = clang++
Augie Fackler
fuzz: use a more standard approach to allow local builds of fuzzers...
r44265 # By default, use our own standalone_fuzz_target_runner.
# This runner does no fuzzing, but simply executes the inputs
# provided via parameters.
# Run e.g. "make all LIB_FUZZING_ENGINE=/path/to/libFuzzer.a"
# to link the fuzzer(s) against a real fuzzing engine.
#
# OSS-Fuzz will define its own value for LIB_FUZZING_ENGINE.
LIB_FUZZING_ENGINE ?= standalone_fuzz_target_runner.o
Augie Fackler
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE...
r44262
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 PYTHON_CONFIG ?= $$OUT/sanpy/bin/python-config
Augie Fackler
fuzz: suppress deprecated-register warnings in our compile...
r44263 CXXFLAGS += -Wno-deprecated-register
Augie Fackler
tests: finally fix up test-fuzz-targets.t...
r44267 all: standalone_fuzz_target_runner.o oss-fuzz
Yuya Nishihara
fuzz: fix the default make target
r38233
Augie Fackler
fuzz: use a more standard approach to allow local builds of fuzzers...
r44265 standalone_fuzz_target_runner.o: standalone_fuzz_target_runner.cc
Augie Fackler
fuzz: extract Python initialization to utility package...
r41049 pyutil.o: pyutil.cc pyutil.h
$(CXX) $(CXXFLAGS) -g -O1 \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: extract Python initialization to utility package...
r41049 -I../../mercurial -c -o pyutil.o pyutil.cc
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 bdiff-oss-fuzz.o: ../../mercurial/bdiff.c
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -c -o bdiff-oss-fuzz.o ../../mercurial/bdiff.c
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 bdiff_fuzzer: bdiff.cc bdiff-oss-fuzz.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial bdiff.cc \
Augie Fackler
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE...
r44262 bdiff-oss-fuzz.o $(LIB_FUZZING_ENGINE) -o \
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 $$OUT/bdiff_fuzzer
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 mpatch.o: ../../mercurial/mpatch.c
$(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c -o mpatch.o \
../../mercurial/mpatch.c
mpatch-oss-fuzz.o: ../../mercurial/mpatch.c
$(CC) $(CFLAGS) -c -o mpatch-oss-fuzz.o ../../mercurial/mpatch.c
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 mpatch_fuzzer: mpatch.cc mpatch-oss-fuzz.o
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial mpatch.cc \
Augie Fackler
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE...
r44262 mpatch-oss-fuzz.o $(LIB_FUZZING_ENGINE) -o \
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 $$OUT/mpatch_fuzzer
mpatch_corpus.zip:
python mpatch_corpus.py $$OUT/mpatch_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 fuzz-x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -c \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -o $@ \
$<
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 xdiff_fuzzer: xdiff.cc fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial xdiff.cc \
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o \
Augie Fackler
fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE...
r44262 $(LIB_FUZZING_ENGINE) -o $$OUT/xdiff_fuzzer
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 parsers-%.o: ../../mercurial/cext/%.c
$(CC) -I../../mercurial `$(PYTHON_CONFIG) --cflags` $(CFLAGS) -c \
-o $@ $<
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 PARSERS_OBJS=parsers-manifest.o parsers-charencode.o parsers-parsers.o parsers-dirs.o parsers-pathencode.o parsers-revlog.o
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 dirs_fuzzer: dirs.cc pyutil.o $(PARSERS_OBJS)
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: new fuzzer for dirs.c...
r43420 -Wno-register -Wno-macro-redefined \
-I../../mercurial dirs.cc \
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 pyutil.o $(PARSERS_OBJS) \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \
Augie Fackler
fuzz: new fuzzer for dirs.c...
r43420 -o $$OUT/dirs_fuzzer
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 fncache_fuzzer: fncache.cc
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: new fuzzer for fncache-related functions...
r43422 -Wno-register -Wno-macro-redefined \
-I../../mercurial fncache.cc \
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 pyutil.o $(PARSERS_OBJS) \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \
Augie Fackler
fuzz: new fuzzer for fncache-related functions...
r43422 -o $$OUT/fncache_fuzzer
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 jsonescapeu8fast_fuzzer: jsonescapeu8fast.cc pyutil.o $(PARSERS_OBJS)
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: new target to fuzz jsonescapeu8fast...
r43423 -Wno-register -Wno-macro-redefined \
-I../../mercurial jsonescapeu8fast.cc \
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 pyutil.o $(PARSERS_OBJS) \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \
Augie Fackler
fuzz: new target to fuzz jsonescapeu8fast...
r43423 -o $$OUT/jsonescapeu8fast_fuzzer
Augie Fackler
fuzz: new fuzzer for dirs.c...
r43420 manifest_corpus.zip:
python manifest_corpus.py $$OUT/manifest_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 manifest_fuzzer: manifest.cc pyutil.o $(PARSERS_OBJS)
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 -Wno-register -Wno-macro-redefined \
-I../../mercurial manifest.cc \
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 pyutil.o $(PARSERS_OBJS) \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 -o $$OUT/manifest_fuzzer
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 revlog_fuzzer: revlog.cc pyutil.o $(PARSERS_OBJS)
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 -Wno-register -Wno-macro-redefined \
-I../../mercurial revlog.cc \
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 pyutil.o $(PARSERS_OBJS) \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 -o $$OUT/revlog_fuzzer
revlog_corpus.zip:
python revlog_corpus.py $$OUT/revlog_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 dirstate_fuzzer: dirstate.cc pyutil.o $(PARSERS_OBJS)
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: new fuzzer for dirstate parser...
r41051 -Wno-register -Wno-macro-redefined \
-I../../mercurial dirstate.cc \
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 pyutil.o $(PARSERS_OBJS) \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \
Augie Fackler
fuzz: new fuzzer for dirstate parser...
r41051 -o $$OUT/dirstate_fuzzer
dirstate_corpus.zip:
python dirstate_corpus.py $$OUT/dirstate_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 fm1readmarkers_fuzzer: fm1readmarkers.cc pyutil.o $(PARSERS_OBJS)
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(CXX) $(CXXFLAGS) `$(PYTHON_CONFIG) --cflags` \
Augie Fackler
fuzz: new fuzzer for parsers.fm1readmarkers...
r41053 -Wno-register -Wno-macro-redefined \
-I../../mercurial fm1readmarkers.cc \
Augie Fackler
fuzz: clean up some repetition on building parsers.so fuzzers...
r44269 pyutil.o $(PARSERS_OBJS) \
Augie Fackler
fuzz: use a variable to allow specifying python-config to use...
r44264 $(LIB_FUZZING_ENGINE) `$(PYTHON_CONFIG) --ldflags` \
Augie Fackler
fuzz: new fuzzer for parsers.fm1readmarkers...
r41053 -o $$OUT/fm1readmarkers_fuzzer
fm1readmarkers_corpus.zip:
python fm1readmarkers_corpus.py $$OUT/fm1readmarkers_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: add clean target...
r38193 clean:
Yuya Nishihara
fuzz: fix "make clean" to pass even if no binaries built yet
r38236 $(RM) *.o *_fuzzer \
Augie Fackler
fuzz: add clean target...
r38193 bdiff \
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 mpatch \
Augie Fackler
fuzz: add clean target...
r38193 xdiff
Augie Fackler
fuzz: new target to fuzz jsonescapeu8fast...
r43423 oss-fuzz: bdiff_fuzzer mpatch_fuzzer mpatch_corpus.zip xdiff_fuzzer dirs_fuzzer fncache_fuzzer jsonescapeu8fast_fuzzer manifest_fuzzer manifest_corpus.zip revlog_fuzzer revlog_corpus.zip dirstate_fuzzer dirstate_corpus.zip fm1readmarkers_fuzzer fm1readmarkers_corpus.zip
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 .PHONY: all clean oss-fuzz