From: Laszlo Boszormenyi (GCS) Date: Sat, 2 Jan 2021 07:22:09 +0000 (+0000) Subject: use crypto++ instead of cryptopp X-Git-Tag: archive/raspbian/8.7.0+git220824-1+rpi1~1^2^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=52ceacf488a0fee4772fc09d0c1b75d19e5aa8a3;p=libcrypto%2B%2B.git use crypto++ instead of cryptopp Forwarded: not-needed Last-Update: 2021-01-02 Gbp-Pq: Name fix_library_name.patch --- diff --git a/GNUmakefile b/GNUmakefile index acc4fc1..56824de 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -14,10 +14,10 @@ TMPDIR ?= /tmp TOUT ?= a.out TOUT := $(strip $(TOUT)) -# Allow override for the cryptest.exe recipe. Change to -# ./libcryptopp.so or ./libcryptopp.dylib to suit your +# Allow override for the cryptest recipe. Change to +# ./libcrypto++.so or ./libcryptopp.dylib to suit your # taste. https://github.com/weidai11/cryptopp/issues/866 -LINK_LIBRARY ?= libcryptopp.a +LINK_LIBRARY ?= libcrypto++.a LINK_LIBRARY_PATH ?= ./ # Command and arguments @@ -1077,7 +1077,7 @@ SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR) ifneq ($(IS_LINUX)$(IS_HURD),00) # Linux uses full version suffix for shared library SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH) -SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX) +SOLIB_FLAGS=-Wl,-soname,libcrypto++.so$(SOLIB_COMPAT_SUFFIX) endif # Solaris uses -Wl,-h ifeq ($(IS_SUN),1) @@ -1085,7 +1085,7 @@ ifeq ($(IS_SUN),1) # The minor version allows previous version to remain and not overwritten. # https://blogs.oracle.com/solaris/how-to-name-a-solaris-shared-object-v2 SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR) -SOLIB_FLAGS=-Wl,-h,libcryptopp.so$(SOLIB_COMPAT_SUFFIX) +SOLIB_FLAGS=-Wl,-h,libcrypto++.so$(SOLIB_COMPAT_SUFFIX) endif endif # HAS_SOLIB_VERSION @@ -1191,36 +1191,36 @@ LDFLAGS := $(strip $(CRYPTOPP_LDFLAGS) $(LDFLAGS)) # Default builds program with static library only .PHONY: default -default: cryptest.exe +default: cryptest .PHONY: all static dynamic -all: static dynamic cryptest.exe +all: static dynamic cryptest ifneq ($(IS_DARWIN),0) -static: libcryptopp.a +static: libcrypto++.a shared dynamic dylib: libcryptopp.dylib else -static: libcryptopp.a -shared dynamic: libcryptopp.so$(SOLIB_VERSION_SUFFIX) +static: libcrypto++.a +shared dynamic: libcrypto++.so$(SOLIB_VERSION_SUFFIX) endif # CXXFLAGS are tuned earlier. .PHONY: native no-asm asan ubsan -native no-asm asan ubsan: cryptest.exe +native no-asm asan ubsan: cryptest # CXXFLAGS are tuned earlier. Applications must use linker flags # -Wl,--gc-sections (Linux and Unix) or -Wl,-dead_strip (OS X) .PHONY: lean -lean: static dynamic cryptest.exe +lean: static dynamic cryptest # May want to export CXXFLAGS="-g3 -O1" .PHONY: lcov coverage -lcov coverage: cryptest.exe +lcov coverage: cryptest @-$(RM) -r ./TestCoverage/ lcov --base-directory . --directory . --zerocounters -q - ./cryptest.exe v - ./cryptest.exe tv all - ./cryptest.exe b 0.25 + ./cryptest v + ./cryptest tv all + ./cryptest b 0.25 lcov --base-directory . --directory . -c -o cryptest.info lcov --remove cryptest.info "adhoc.*" -o cryptest.info lcov --remove cryptest.info "fips140.*" -o cryptest.info @@ -1230,20 +1230,20 @@ lcov coverage: cryptest.exe # Travis CI and CodeCov rule .PHONY: gcov codecov -gcov codecov: cryptest.exe +gcov codecov: cryptest @-$(RM) -r ./TestCoverage/ - ./cryptest.exe v - ./cryptest.exe tv all + ./cryptest v + ./cryptest tv all gcov -r $(SRCS) # Should use CXXFLAGS="-g3 -O1" .PHONY: valgrind -valgrind: cryptest.exe - valgrind --track-origins=yes --suppressions=cryptopp.supp ./cryptest.exe v +valgrind: cryptest + valgrind --track-origins=yes --suppressions=cryptopp.supp ./cryptest v .PHONY: test check -test check: cryptest.exe - ./cryptest.exe v +test check: cryptest + ./cryptest v # Used to generate list of source files for Autotools, CMakeList, Android.mk, etc .PHONY: sources @@ -1283,9 +1283,9 @@ docs html: .PHONY: clean clean: -$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(CLEAN_OBJS) rdrand-*.o - @-$(RM) libcryptopp.a libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a - @-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX) libcryptopp.so$(SOLIB_VERSION_SUFFIX) - @-$(RM) cryptest.exe dlltest.exe cryptest.import.exe cryptest.info ct et + @-$(RM) libcrypto++.a libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a + @-$(RM) libcrypto++.so libcrypto++.so$(SOLIB_COMPAT_SUFFIX) libcrypto++.so$(SOLIB_VERSION_SUFFIX) + @-$(RM) cryptest dlltest.exe cryptest.import.exe cryptest.info ct et @-$(RM) *.la *.lo *.gcov *.gcno *.gcda *.stackdump core core-* @-$(RM) /tmp/adhoc.exe @-$(RM) -r /tmp/cryptopp_test/ @@ -1297,7 +1297,7 @@ autotools-clean: @-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile @-$(RM) -f config.guess config.status config.sub config.h.in compile depcomp @-$(RM) -f install-sh stamp-h1 ar-lib *.lo *.la *.m4 local.* lt*.sh missing - @-$(RM) -f cryptest cryptestcwd libtool* libcryptopp.la libcryptopp.pc* + @-$(RM) -f cryptest cryptestcwd libtool* libcryptopp.la libcrypto++.pc* @-$(RM) -rf build-aux/ m4/ auto*.cache/ .deps/ .libs/ .PHONY: cmake-clean @@ -1313,40 +1313,40 @@ android-clean: .PHONY: distclean distclean: clean autotools-clean cmake-clean android-clean -$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt - @-$(RM) cryptest-*.txt cryptopp.tgz libcryptopp.pc *.o *.bc *.ii *~ - @-$(RM) -r cryptlib.lib cryptest.exe *.suo *.sdf *.pdb Win32/ x64/ ipch/ + @-$(RM) cryptest-*.txt cryptopp.tgz libcrypto++.pc *.o *.bc *.ii *~ + @-$(RM) -r cryptlib.lib cryptest *.suo *.sdf *.pdb Win32/ x64/ ipch/ @-$(RM) -r $(LIBOBJS:.o=.obj) $(TESTOBJS:.o=.obj) @-$(RM) -r $(LIBOBJS:.o=.lst) $(TESTOBJS:.o=.lst) @-$(RM) -r TestCoverage/ ref*/ @-$(RM) cryptopp$(LIB_VER)\.* CryptoPPRef.zip -# Install cryptest.exe, libcryptopp.a, libcryptopp.so and libcryptopp.pc. +# Install cryptest, libcrypto++.a, libcrypto++.so and libcrypto++.pc. # The library install was broken-out into its own recipe at GH #653. .PHONY: install -install: cryptest.exe install-lib +install: cryptest install-lib @-$(MKDIR) $(DESTDIR)$(BINDIR) - $(CP) cryptest.exe $(DESTDIR)$(BINDIR) - $(CHMOD) 0755 $(DESTDIR)$(BINDIR)/cryptest.exe - @-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestData - @-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestVectors - $(CP) TestData/*.dat $(DESTDIR)$(DATADIR)/cryptopp/TestData - $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/cryptopp/TestData/*.dat - $(CP) TestVectors/*.txt $(DESTDIR)$(DATADIR)/cryptopp/TestVectors - $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/cryptopp/TestVectors/*.txt - -# A recipe to install only the library, and not cryptest.exe. Also + $(CP) cryptest $(DESTDIR)$(BINDIR) + $(CHMOD) 0755 $(DESTDIR)$(BINDIR)/cryptest + @-$(MKDIR) $(DESTDIR)$(DATADIR)/crypto++/TestData + @-$(MKDIR) $(DESTDIR)$(DATADIR)/crypto++/TestVectors + $(CP) TestData/*.dat $(DESTDIR)$(DATADIR)/crypto++/TestData + $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/crypto++/TestData/*.dat + $(CP) TestVectors/*.txt $(DESTDIR)$(DATADIR)/crypto++/TestVectors + $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/crypto++/TestVectors/*.txt + +# A recipe to install only the library, and not cryptest. Also # see https://github.com/weidai11/cryptopp/issues/653. Some users -# already have a libcryptopp.pc. Install the *.pc file if the file -# is present. If you want one, then issue 'make libcryptopp.pc'. +# already have a libcrypto++.pc. Install the *.pc file if the file +# is present. If you want one, then issue 'make libcrypto++.pc'. .PHONY: install-lib install-lib: - @-$(MKDIR) $(DESTDIR)$(INCLUDEDIR)/cryptopp - $(CP) *.h $(DESTDIR)$(INCLUDEDIR)/cryptopp - $(CHMOD) 0644 $(DESTDIR)$(INCLUDEDIR)/cryptopp/*.h -ifneq ($(wildcard libcryptopp.a),) + @-$(MKDIR) $(DESTDIR)$(INCLUDEDIR)/crypto++ + $(CP) *.h $(DESTDIR)$(INCLUDEDIR)/crypto++ + $(CHMOD) 0644 $(DESTDIR)$(INCLUDEDIR)/crypto++/*.h +ifneq ($(wildcard libcrypto++.a),) @-$(MKDIR) $(DESTDIR)$(LIBDIR) - $(CP) libcryptopp.a $(DESTDIR)$(LIBDIR) - $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/libcryptopp.a + $(CP) libcrypto++.a $(DESTDIR)$(LIBDIR) + $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/libcrypto++.a endif ifneq ($(wildcard libcryptopp.dylib),) @-$(MKDIR) $(DESTDIR)$(LIBDIR) @@ -1354,63 +1354,63 @@ ifneq ($(wildcard libcryptopp.dylib),) $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.dylib -install_name_tool -id $(DESTDIR)$(LIBDIR)/libcryptopp.dylib $(DESTDIR)$(LIBDIR)/libcryptopp.dylib endif -ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),) +ifneq ($(wildcard libcrypto++.so$(SOLIB_VERSION_SUFFIX)),) @-$(MKDIR) $(DESTDIR)$(LIBDIR) - $(CP) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR) - $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX) + $(CP) libcrypto++.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR) + $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_VERSION_SUFFIX) ifeq ($(HAS_SOLIB_VERSION),1) - -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so + -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcrypto++.so $(LDCONF) $(DESTDIR)$(LIBDIR) endif endif -ifneq ($(wildcard libcryptopp.pc),) +ifneq ($(wildcard libcrypto++.pc),) @-$(MKDIR) $(DESTDIR)$(LIBDIR)/pkgconfig - $(CP) libcryptopp.pc $(DESTDIR)$(LIBDIR)/pkgconfig - $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/pkgconfig/libcryptopp.pc + $(CP) libcrypto++.pc $(DESTDIR)$(LIBDIR)/pkgconfig + $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/pkgconfig/libcrypto++.pc endif .PHONY: remove uninstall remove uninstall: - -$(RM) -r $(DESTDIR)$(INCLUDEDIR)/cryptopp - -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.a - -$(RM) $(DESTDIR)$(BINDIR)/cryptest.exe + -$(RM) -r $(DESTDIR)$(INCLUDEDIR)/crypto++ + -$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.a + -$(RM) $(DESTDIR)$(BINDIR)/cryptest ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcryptopp.dylib),) -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.dylib endif -ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcryptopp.so),) - -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so +ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcrypto++.so),) + -$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so endif - @-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX) - @-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX) - @-$(RM) $(DESTDIR)$(LIBDIR)/pkgconfig/libcryptopp.pc + @-$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_VERSION_SUFFIX) + @-$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_COMPAT_SUFFIX) + @-$(RM) $(DESTDIR)$(LIBDIR)/pkgconfig/libcrypto++.pc @-$(RM) -r $(DESTDIR)$(DATADIR)/cryptopp -libcryptopp.a: $(LIBOBJS) +libcrypto++.a: $(LIBOBJS) $(AR) $(ARFLAGS) $@ $(LIBOBJS) ifeq ($(IS_SUN),0) $(RANLIB) $@ endif ifeq ($(HAS_SOLIB_VERSION),1) -.PHONY: libcryptopp.so -libcryptopp.so: libcryptopp.so$(SOLIB_VERSION_SUFFIX) | so_warning +.PHONY: libcrypto++.so +libcrypto++.so: libcrypto++.so$(SOLIB_VERSION_SUFFIX) | so_warning endif -libcryptopp.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS) +libcrypto++.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS) ifeq ($(XLC_COMPILER),1) $(CXX) -qmkshrobj $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS) $(LDLIBS) else $(CXX) -shared $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS) $(LDLIBS) endif ifeq ($(HAS_SOLIB_VERSION),1) - -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so - -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so$(SOLIB_COMPAT_SUFFIX) + -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) libcrypto++.so + -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) libcrypto++.so$(SOLIB_COMPAT_SUFFIX) endif libcryptopp.dylib: $(LIBOBJS) $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" -headerpad_max_install_names $(LDFLAGS) $(LIBOBJS) -cryptest.exe: $(LINK_LIBRARY) $(TESTOBJS) +cryptest: $(LINK_LIBRARY) $(TESTOBJS) $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) $(LINK_LIBRARY_PATH)$(LINK_LIBRARY) $(LDFLAGS) $(LDLIBS) # Makes it faster to test changes @@ -1434,24 +1434,24 @@ cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS) dlltest.exe: cryptopp.dll $(DLLTESTOBJS) $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS) -# Some users already have a libcryptopp.pc. We install it if the file -# is present. If you want one, then issue 'make libcryptopp.pc'. Be sure +# Some users already have a libcrypto++.pc. We install it if the file +# is present. If you want one, then issue 'make libcrypto++.pc'. Be sure # to use/verify PREFIX and LIBDIR below after writing the file. -libcryptopp.pc: - @echo '# Crypto++ package configuration file' > libcryptopp.pc - @echo '' >> libcryptopp.pc - @echo 'prefix=$(PC_PREFIX)' >> libcryptopp.pc - @echo 'libdir=$(PC_LIBDIR)' >> libcryptopp.pc - @echo 'includedir=$(PC_INCLUDEDIR)' >> libcryptopp.pc - @echo 'datadir=$(PC_DATADIR)' >> libcryptopp.pc - @echo '' >> libcryptopp.pc - @echo 'Name: Crypto++' >> libcryptopp.pc - @echo 'Description: Crypto++ cryptographic library' >> libcryptopp.pc - @echo 'Version: 8.4' >> libcryptopp.pc - @echo 'URL: https://cryptopp.com/' >> libcryptopp.pc - @echo '' >> libcryptopp.pc - @echo 'Cflags: -I$${includedir}' >> libcryptopp.pc - @echo 'Libs: -L$${libdir} -lcryptopp' >> libcryptopp.pc +libcrypto++.pc: + @echo '# Crypto++ package configuration file' > libcrypto++.pc + @echo '' >> libcrypto++.pc + @echo 'prefix=$(PC_PREFIX)' >> libcrypto++.pc + @echo 'libdir=$(PC_LIBDIR)' >> libcrypto++.pc + @echo 'includedir=$(PC_INCLUDEDIR)' >> libcrypto++.pc + @echo 'datadir=$(PC_DATADIR)' >> libcrypto++.pc + @echo '' >> libcrypto++.pc + @echo 'Name: Crypto++' >> libcrypto++.pc + @echo 'Description: Crypto++ cryptographic library' >> libcrypto++.pc + @echo 'Version: 8.4' >> libcrypto++.pc + @echo 'URL: https://cryptopp.com/' >> libcrypto++.pc + @echo '' >> libcrypto++.pc + @echo 'Cflags: -I$${includedir}' >> libcrypto++.pc + @echo 'Libs: -L$${libdir} -lcryptopp' >> libcrypto++.pc # This recipe prepares the distro files TEXT_FILES := *.h *.cpp License.txt Readme.txt Install.txt Filelist.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestPrograms/*.cxx TestScripts/*.sh TestScripts/*.cmd @@ -1510,9 +1510,9 @@ endif # CRYPTOPP_CPU_FREQ in GHz CRYPTOPP_CPU_FREQ ?= 0.0 .PHONY: bench benchmark benchmarks -bench benchmark benchmarks: cryptest.exe +bench benchmark benchmarks: cryptest @-$(RM) -f benchmarks.html - ./cryptest.exe b 2 $(CRYPTOPP_CPU_FREQ) + ./cryptest b 2 $(CRYPTOPP_CPU_FREQ) adhoc.cpp: adhoc.cpp.proto ifeq ($(wildcard adhoc.cpp),)