diff -ru re2.orig/Makefile re2/Makefile --- re2.orig/Makefile 2012-10-21 09:15:03.000000000 -0400 +++ re2/Makefile 2013-06-16 10:34:32.000000000 -0400 @@ -2,7 +2,11 @@ # 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 +# ABI version +# http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html +SONAME=0 + +all: obj/libre2.a obj/so/libre2.$(SONAME).dylib # to build against PCRE for testing or benchmarking, # uncomment the next two lines @@ -29,16 +33,12 @@ INSTALL_PROGRAM=$(INSTALL) INSTALL_DATA=$(INSTALL) -m 644 -# ABI version -# http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html -SONAME=0 - # To rebuild the Tables generated by Perl and Python scripts (requires Internet # access for Unicode data), uncomment the following line: # REBUILD_TABLES=1 ifeq ($(shell uname),Darwin) -MAKE_SHARED_LIBRARY=$(CXX) -dynamiclib $(LDFLAGS) -exported_symbols_list libre2.symbols.darwin +MAKE_SHARED_LIBRARY=$(CXX) -dynamiclib $(LDFLAGS) -install_name $(libdir)/libre2.$(SONAME).dylib -current_version $(SONAME).0.0 -compatibility_version $(SONAME).0.0 -exported_symbols_list libre2.symbols.darwin else MAKE_SHARED_LIBRARY=$(CXX) -shared -Wl,-soname,libre2.so.$(SONAME),--version-script=libre2.symbols $(LDFLAGS) endif @@ -176,10 +176,10 @@ @mkdir -p obj/dbg $(AR) $(ARFLAGS) obj/dbg/libre2.a $(DOFILES) -obj/so/libre2.so: $(SOFILES) +obj/so/libre2.$(SONAME).dylib: $(SOFILES) @mkdir -p obj/so - $(MAKE_SHARED_LIBRARY) -o $@.$(SONAME) $(SOFILES) - ln -sf libre2.so.$(SONAME) $@ + $(MAKE_SHARED_LIBRARY) -o $@ $(SOFILES) + ln -sf libre2.$(SONAME).dylib obj/so/libre2.dylib obj/test/%: obj/libre2.a obj/re2/testing/%.o $(TESTOFILES) obj/util/test.o @mkdir -p obj/test @@ -189,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.so obj/libre2.a obj/so/re2/testing/%.o $(STESTOFILES) obj/so/util/test.o +obj/so/test/%: obj/so/libre2.$(SONAME).dylib 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) @@ -232,7 +232,7 @@ @echo @echo Running dynamic binary tests. @echo - @LD_LIBRARY_PATH=obj/so:$(LD_LIBRARY_PATH) ./runtests $(STESTS) + @DYLD_LIBRARY_PATH=obj/so:$(DYLD_LIBRARY_PATH) ./runtests $(STESTS) debug-bigtest: $(DTESTS) $(DBIGTESTS) @./runtests $(DTESTS) $(DBIGTESTS) @@ -241,17 +241,16 @@ @./runtests $(TESTS) $(BIGTESTS) shared-bigtest: $(STESTS) $(SBIGTESTS) - @LD_LIBRARY_PATH=obj/so:$(LD_LIBRARY_PATH) ./runtests $(STESTS) $(SBIGTESTS) + @DYLD_LIBRARY_PATH=obj/so:$(DYLD_LIBRARY_PATH) ./runtests $(STESTS) $(SBIGTESTS) benchmark: obj/test/regexp_benchmark -install: obj/libre2.a obj/so/libre2.so +install: obj/libre2.a obj/so/libre2.$(SONAME).dylib 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.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 + $(INSTALL) obj/so/libre2.$(SONAME).dylib $(DESTDIR)$(libdir)/libre2.$(SONAME).dylib + ln -sf libre2.$(SONAME).dylib $(DESTDIR)$(libdir)/libre2.dylib testinstall: @mkdir -p obj Only in re2: libre2.dylib