File libcryptopp-shared.patch of Package libcryptopp
diff -rupN cryptopp562/GNUmakefile cryptopp562_mod/GNUmakefile
--- cryptopp562/GNUmakefile 2013-02-20 15:30:52.000000000 +0100
+++ cryptopp562_mod/GNUmakefile 2013-03-01 18:00:00.313404574 +0100
@@ -1,7 +1,7 @@
CXXFLAGS = -DNDEBUG -g -O2
# -O3 fails to link on Cygwin GCC version 4.5.3
# -fPIC is supported. Please report any breakage of -fPIC as a bug.
-# CXXFLAGS += -fPIC
+CXXFLAGS += -fPIC
# the following options reduce code size, but breaks link or makes link very slow on some systems
# CXXFLAGS += -ffunction-sections -fdata-sections
# LDFLAGS += -Wl,--gc-sections
@@ -142,17 +142,18 @@ static: libcryptopp.a
dynamic: libcryptopp.so
test: cryptest.exe
- ./cryptest.exe v
+ LD_LIBRARY_PATH=. ./cryptest.exe v
clean:
-$(RM) cryptest.exe libcryptopp.a libcryptopp.so $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTI MPORTOBJS) $(DLLTESTOBJS)
install:
- $(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin
- -$(CP) *.h $(PREFIX)/include/cryptopp
- -$(CP) *.a $(PREFIX)/lib
- -$(CP) *.so $(PREFIX)/lib
- -$(CP) *.exe $(PREFIX)/bin
+ $(MKDIR) -p $(DESTDIR)$(PREFIX)/include/cryptopp $(DESTDIR)$(PREFIX)/$(LIB) $(DESTDIR)$(PREFIX)/bin
+ $(CP) *.h $(DESTDIR)$(PREFIX)/include/cryptopp
+ $(CP) *.a $(DESTDIR)$(PREFIX)/$(LIB)
+ $(CP) libcryptopp${LIBSUFFIX}.so.0 $(DESTDIR)$(PREFIX)/$(LIB)
+ ln -s libcryptopp${LIBSUFFIX}.so.0 $(DESTDIR)$(PREFIX)/$(LIB)/libcryptopp.so
+ $(CP) *.exe $(DESTDIR)$(PREFIX)/bin
remove:
-$(RM) -rf $(PREFIX)/include/cryptopp
@@ -165,10 +166,11 @@ libcryptopp.a: $(LIBOBJS)
$(RANLIB) $@
libcryptopp.so: $(LIBOBJS)
- $(CXX) -shared -o $@ $(LIBOBJS)
+ $(CXX) -shared -Wl,-soname,libcryptopp${LIBSUFFIX}.so.0 -o libcryptopp${LIBSUFFIX}.so.0 $(LIBOBJS) $(LDFLAGS) $(LDLIBS)
+ ln -s libcryptopp${LIBSUFFIX}.so.0 $@
-cryptest.exe: libcryptopp.a $(TESTOBJS)
- $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS)
+cryptest.exe: libcryptopp.so $(TESTOBJS)
+ $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS)
nolib: $(OBJS) # makes it faster to test changes
$(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)