| Index: third_party/re2/Makefile
|
| diff --git a/third_party/re2/Makefile b/third_party/re2/Makefile
|
| index 50684595dc5303265e374ad090856712ae47916e..4ded8ec00d7f033e0fa93845c532978fc41fe0fc 100644
|
| --- a/third_party/re2/Makefile
|
| +++ b/third_party/re2/Makefile
|
| @@ -1,20 +1,22 @@
|
| # Copyright 2009 The RE2 Authors. All Rights Reserved.
|
| # Use of this source code is governed by a BSD-style
|
| # license that can be found in the LICENSE file.
|
| +
|
| +all: obj/libre2.a obj/so/libre2.so
|
|
|
| # to build against PCRE for testing or benchmarking,
|
| # uncomment the next two lines
|
| # CCPCRE=-I/usr/local/include -DUSEPCRE
|
| # LDPCRE=-L/usr/local/lib -lpcre
|
|
|
| -CXX?=g++
|
| -CXXFLAGS?=-O3 -g # can override
|
| -RE2_CXXFLAGS?=-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -I. $(CCPCRE) # required
|
| -LDFLAGS?=-pthread
|
| -AR?=ar
|
| -ARFLAGS?=rsc
|
| -NM?=nm
|
| -NMFLAGS?=-p
|
| +CXX=g++
|
| +CXXFLAGS=-Wall -O3 -g -pthread # can override
|
| +RE2_CXXFLAGS=-Wno-sign-compare -c -I. $(CCPCRE) # required
|
| +LDFLAGS=-pthread
|
| +AR=ar
|
| +ARFLAGS=rsc
|
| +NM=nm
|
| +NMFLAGS=-p
|
|
|
| # Variables mandated by GNU, the arbiter of all good taste on the internet.
|
| # http://www.gnu.org/prep/standards/standards.html
|
| @@ -36,23 +38,10 @@
|
| # REBUILD_TABLES=1
|
|
|
| ifeq ($(shell uname),Darwin)
|
| -SOEXT=dylib
|
| -SOEXTVER=$(SONAME).$(SOEXT)
|
| -SOEXTVER00=$(SONAME).0.0.$(SOEXT)
|
| -MAKE_SHARED_LIBRARY=$(CXX) -dynamiclib $(LDFLAGS) -Wl,-install_name,@rpath/libre2.$(SOEXTVER) -exported_symbols_list libre2.symbols.darwin
|
| -else ifeq ($(shell uname),SunOS)
|
| -SOEXT=so
|
| -SOEXTVER=$(SOEXT).$(SONAME)
|
| -SOEXTVER00=$(SOEXT).$(SONAME).0.0
|
| -MAKE_SHARED_LIBRARY=$(CXX) -shared -Wl,-soname,libre2.$(SOEXTVER),-M,libre2.symbols $(LDFLAGS)
|
| +MAKE_SHARED_LIBRARY=$(CXX) -dynamiclib $(LDFLAGS) -exported_symbols_list libre2.symbols.darwin
|
| else
|
| -SOEXT=so
|
| -SOEXTVER=$(SOEXT).$(SONAME)
|
| -SOEXTVER00=$(SOEXT).$(SONAME).0.0
|
| -MAKE_SHARED_LIBRARY=$(CXX) -shared -Wl,-soname,libre2.$(SOEXTVER),--version-script,libre2.symbols $(LDFLAGS)
|
| +MAKE_SHARED_LIBRARY=$(CXX) -shared -Wl,-soname,libre2.so.$(SONAME),--version-script=libre2.symbols $(LDFLAGS)
|
| endif
|
| -
|
| -all: obj/libre2.a obj/so/libre2.$(SOEXT)
|
|
|
| INSTALL_HFILES=\
|
| re2/filtered_re2.h\
|
| @@ -62,6 +51,7 @@
|
| re2/variadic_function.h\
|
|
|
| HFILES=\
|
| + util/arena.h\
|
| util/atomicops.h\
|
| util/benchmark.h\
|
| util/flags.h\
|
| @@ -72,7 +62,6 @@
|
| util/sparse_array.h\
|
| util/sparse_set.h\
|
| util/test.h\
|
| - util/thread.h\
|
| util/utf.h\
|
| util/util.h\
|
| util/valgrind.h\
|
| @@ -94,9 +83,10 @@
|
| re2/walker-inl.h\
|
|
|
| OFILES=\
|
| + obj/util/arena.o\
|
| obj/util/hash.o\
|
| - obj/util/logging.o\
|
| obj/util/rune.o\
|
| + obj/util/stringpiece.o\
|
| obj/util/stringprintf.o\
|
| obj/util/strutil.o\
|
| obj/util/valgrind.o\
|
| @@ -116,7 +106,6 @@
|
| obj/re2/regexp.o\
|
| obj/re2/set.o\
|
| obj/re2/simplify.o\
|
| - obj/re2/stringpiece.o\
|
| obj/re2/tostring.o\
|
| obj/re2/unicode_casefold.o\
|
| obj/re2/unicode_groups.o\
|
| @@ -169,15 +158,15 @@
|
|
|
| obj/%.o: %.cc $(HFILES)
|
| @mkdir -p $$(dirname $@)
|
| - $(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $(RE2_CXXFLAGS) -DNDEBUG $*.cc
|
| + $(CXX) -o $@ $(CPPFLAGS) $(CXXFLAGS) $(RE2_CXXFLAGS) -DNDEBUG $*.cc
|
|
|
| obj/dbg/%.o: %.cc $(HFILES)
|
| @mkdir -p $$(dirname $@)
|
| - $(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $(RE2_CXXFLAGS) $*.cc
|
| + $(CXX) -o $@ -fPIC $(CPPFLAGS) $(CXXFLAGS) $(RE2_CXXFLAGS) $*.cc
|
|
|
| obj/so/%.o: %.cc $(HFILES)
|
| @mkdir -p $$(dirname $@)
|
| - $(CXX) -c -o $@ -fPIC $(CPPFLAGS) $(CXXFLAGS) $(RE2_CXXFLAGS) -DNDEBUG $*.cc
|
| + $(CXX) -o $@ -fPIC $(CPPFLAGS) $(CXXFLAGS) $(RE2_CXXFLAGS) -DNDEBUG $*.cc
|
|
|
| obj/libre2.a: $(OFILES)
|
| @mkdir -p obj
|
| @@ -187,10 +176,10 @@
|
| @mkdir -p obj/dbg
|
| $(AR) $(ARFLAGS) obj/dbg/libre2.a $(DOFILES)
|
|
|
| -obj/so/libre2.$(SOEXT): $(SOFILES)
|
| +obj/so/libre2.so: $(SOFILES)
|
| @mkdir -p obj/so
|
| - $(MAKE_SHARED_LIBRARY) -o obj/so/libre2.$(SOEXTVER) $(SOFILES)
|
| - ln -sf libre2.$(SOEXTVER) $@
|
| + $(MAKE_SHARED_LIBRARY) -o $@.$(SONAME) $(SOFILES)
|
| + ln -sf libre2.so.$(SONAME) $@
|
|
|
| obj/test/%: obj/libre2.a obj/re2/testing/%.o $(TESTOFILES) obj/util/test.o
|
| @mkdir -p obj/test
|
| @@ -200,7 +189,7 @@
|
| @mkdir -p obj/dbg/test
|
| $(CXX) -o $@ obj/dbg/re2/testing/$*.o $(DTESTOFILES) obj/dbg/util/test.o obj/dbg/libre2.a $(LDFLAGS) $(LDPCRE)
|
|
|
| -obj/so/test/%: obj/so/libre2.$(SOEXT) obj/libre2.a obj/so/re2/testing/%.o $(STESTOFILES) obj/so/util/test.o
|
| +obj/so/test/%: obj/so/libre2.so obj/libre2.a obj/so/re2/testing/%.o $(STESTOFILES) obj/so/util/test.o
|
| @mkdir -p obj/so/test
|
| $(CXX) -o $@ obj/so/re2/testing/$*.o $(STESTOFILES) obj/so/util/test.o -Lobj/so -lre2 obj/libre2.a $(LDFLAGS) $(LDPCRE)
|
|
|
| @@ -214,8 +203,6 @@
|
|
|
| re2/unicode_%.cc: re2/make_unicode_%.py
|
| python $< > $@
|
| -
|
| -.PRECIOUS: re2/perl_groups.cc re2/unicode_casefold.cc re2/unicode_groups.cc
|
| endif
|
|
|
| distclean: clean
|
| @@ -258,28 +245,23 @@
|
|
|
| benchmark: obj/test/regexp_benchmark
|
|
|
| -install: obj/libre2.a obj/so/libre2.$(SOEXT)
|
| - mkdir -p $(DESTDIR)$(includedir)/re2 $(DESTDIR)$(libdir)/pkgconfig
|
| +install: obj/libre2.a obj/so/libre2.so
|
| + mkdir -p $(DESTDIR)$(includedir)/re2 $(DESTDIR)$(libdir)
|
| $(INSTALL_DATA) $(INSTALL_HFILES) $(DESTDIR)$(includedir)/re2
|
| $(INSTALL) obj/libre2.a $(DESTDIR)$(libdir)/libre2.a
|
| - $(INSTALL) obj/so/libre2.$(SOEXT) $(DESTDIR)$(libdir)/libre2.$(SOEXTVER00)
|
| - ln -sf libre2.$(SOEXTVER00) $(DESTDIR)$(libdir)/libre2.$(SOEXTVER)
|
| - ln -sf libre2.$(SOEXTVER00) $(DESTDIR)$(libdir)/libre2.$(SOEXT)
|
| - sed -e "s#@prefix@#${prefix}#" re2.pc >$(DESTDIR)$(libdir)/pkgconfig/re2.pc
|
| + $(INSTALL) obj/so/libre2.so $(DESTDIR)$(libdir)/libre2.so.$(SONAME).0.0
|
| + ln -sf libre2.so.$(SONAME).0.0 $(DESTDIR)$(libdir)/libre2.so.$(SONAME)
|
| + ln -sf libre2.so.$(SONAME).0.0 $(DESTDIR)$(libdir)/libre2.so
|
|
|
| testinstall:
|
| @mkdir -p obj
|
| cp testinstall.cc obj
|
| -ifneq ($(shell uname),Darwin)
|
| - (cd obj && $(CXX) -I$(DESTDIR)$(includedir) -L$(DESTDIR)$(libdir) testinstall.cc -lre2 -pthread -static -o testinstall)
|
| - obj/testinstall
|
| -endif
|
| (cd obj && $(CXX) -I$(DESTDIR)$(includedir) -L$(DESTDIR)$(libdir) testinstall.cc -lre2 -pthread -o testinstall)
|
| LD_LIBRARY_PATH=$(DESTDIR)$(libdir) obj/testinstall
|
|
|
| benchlog: obj/test/regexp_benchmark
|
| (echo '==BENCHMARK==' `hostname` `date`; \
|
| - (uname -a; $(CXX) --version; git rev-parse --short HEAD; file obj/test/regexp_benchmark) | sed 's/^/# /'; \
|
| + (uname -a; $(CXX) --version; hg identify; file obj/test/regexp_benchmark) | sed 's/^/# /'; \
|
| echo; \
|
| ./obj/test/regexp_benchmark 'PCRE|RE2') | tee -a benchlog.$$(hostname | sed 's/\..*//')
|
|
|
| @@ -291,9 +273,8 @@
|
| obj/test/% obj/so/test/% obj/dbg/test/%
|
|
|
| log:
|
| - $(MAKE) clean
|
| - $(MAKE) CXXFLAGS="$(CXXFLAGS) -DLOGGING=1" \
|
| - $(filter obj/test/exhaustive%_test,$(BIGTESTS))
|
| + make clean
|
| + make CXXFLAGS="$(CXXFLAGS) -DLOGGING=1" obj/test/exhaustive{,1,2,3}_test
|
| echo '#' RE2 exhaustive tests built by make log >re2-exhaustive.txt
|
| echo '#' $$(date) >>re2-exhaustive.txt
|
| obj/test/exhaustive_test |grep -v '^PASS$$' >>re2-exhaustive.txt
|
| @@ -301,10 +282,7 @@
|
| obj/test/exhaustive2_test |grep -v '^PASS$$' >>re2-exhaustive.txt
|
| obj/test/exhaustive3_test |grep -v '^PASS$$' >>re2-exhaustive.txt
|
|
|
| - $(MAKE) CXXFLAGS="$(CXXFLAGS) -DLOGGING=1" obj/test/search_test
|
| + make CXXFLAGS="$(CXXFLAGS) -DLOGGING=1" obj/test/search_test
|
| echo '#' RE2 basic search tests built by make $@ >re2-search.txt
|
| echo '#' $$(date) >>re2-search.txt
|
| obj/test/search_test |grep -v '^PASS$$' >>re2-search.txt
|
| -
|
| -x: x.cc obj/libre2.a
|
| - g++ -I. -o x x.cc obj/libre2.a
|
|
|