Gentoo Archives: gentoo-commits

From: "Dane Smith (c1pher)" <c1pher@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/crypto++/files: crypto++-5.6.1-r3-fix_build_system.patch
Date: Mon, 30 Jan 2012 16:06:24
Message-Id: 20120130160614.BF5C52004B@flycatcher.gentoo.org
1 c1pher 12/01/30 16:06:14
2
3 Added: crypto++-5.6.1-r3-fix_build_system.patch
4 Log:
5 dev-libs/crypto++: Revbump. Add new revision of fix_build_system.patch to address bug 401431. sunos.patch can be dropped when -r3 is stable and -r1 is dropped.
6
7 (Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.1 dev-libs/crypto++/files/crypto++-5.6.1-r3-fix_build_system.patch
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/crypto++/files/crypto++-5.6.1-r3-fix_build_system.patch?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/crypto++/files/crypto++-5.6.1-r3-fix_build_system.patch?rev=1.1&content-type=text/plain
14
15 Index: crypto++-5.6.1-r3-fix_build_system.patch
16 ===================================================================
17 --- GNUmakefile
18 +++ GNUmakefile
19 @@ -1,3 +1,5 @@
20 +LIBTOOL = libtool
21 +LIBDIR = lib
22 CXXFLAGS = -DNDEBUG -g -O2
23 #CXXFLAGS = -g
24 # -fPIC is supported. Please report any breakage of -fPIC as a bug.
25 @@ -7,8 +9,9 @@
26 # LDFLAGS += -Wl,--gc-sections
27 ARFLAGS = -cr # ar needs the dash on OpenBSD
28 RANLIB = ranlib
29 -CP = cp
30 +LN_S = ln -s
31 MKDIR = mkdir
32 +INSTALL = install
33 EGREP = egrep
34 UNAME = $(shell uname)
35 ISX86 = $(shell uname -m | $(EGREP) -c "i.86|x86|i86|amd64")
36 @@ -77,8 +80,11 @@
37 CXXFLAGS += -pipe
38 endif
39
40 +THREAD_LIBS =
41 +
42 ifeq ($(UNAME),Linux)
43 LDFLAGS += -pthread
44 +THREAD_LIBS += -lpthread
45 ifneq ($(shell uname -i | $(EGREP) -c "(_64|d64)"),0)
46 M32OR64 = -m64
47 endif
48 @@ -99,8 +105,6 @@
49 ifeq ($(UNAME),SunOS)
50 LDLIBS += -lnsl -lsocket
51 M32OR64 = -m$(shell isainfo -b)
52 -endif
53 -
54 ifneq ($(IS_SUN_CC),0) # override flags for CC Sun C++ compiler
55 CXXFLAGS = -DNDEBUG -O -g0 -native -template=no%extdef $(M32OR64)
56 LDFLAGS =
57 @@ -114,52 +118,52 @@
58 CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
59 endif
60 endif
61 +endif
62
63 SRCS = $(wildcard *.cpp)
64 ifeq ($(SRCS),) # workaround wildcard function bug in GNU Make 3.77
65 SRCS = $(shell echo *.cpp)
66 endif
67
68 -OBJS = $(SRCS:.cpp=.o)
69 -# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?)
70 -TESTOBJS = bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o
71 +OBJS = $(SRCS:.cpp=.lo)
72 +# test.lo needs to be after bench.lo for cygwin 1.1.4 (possible ld bug?)
73 +TESTOBJS = bench.lo bench2.lo test.lo validat1.lo validat2.lo validat3.lo adhoc.lo datatest.lo regtest.lo fipsalgt.lo dlltest.lo
74 LIBOBJS = $(filter-out $(TESTOBJS),$(OBJS))
75
76 DLLSRCS = algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp cryptlib.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp
77 -DLLOBJS = $(DLLSRCS:.cpp=.export.o)
78 -LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o)
79 -TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o)
80 -DLLTESTOBJS = dlltest.dllonly.o
81 +DLLOBJS = $(DLLSRCS:.cpp=.export.lo)
82 +LIBIMPORTOBJS = $(LIBOBJS:.lo=.import.lo)
83 +TESTIMPORTOBJS = $(TESTOBJS:.lo=.import.lo)
84 +DLLTESTOBJS = dlltest.dllonly.lo
85
86 -all: cryptest.exe
87 +all: libcrypto++.la
88
89 -test: cryptest.exe
90 - ./cryptest.exe v
91 +test: cryptest
92 + ./cryptest v
93
94 clean:
95 - $(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
96 + $(RM) -f .libs cryptest libcrypto++.* libcryptopp.* $(LIBOBJS) $(TESTOBJS) cryptopp.dll cryptest.import dlltest $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
97
98 install:
99 - $(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin
100 - $(CP) *.h $(PREFIX)/include/cryptopp
101 - $(CP) *.a $(PREFIX)/lib
102 - $(CP) *.so $(PREFIX)/lib
103 - $(CP) *.exe $(PREFIX)/bin
104 -
105 -libcryptopp.a: $(LIBOBJS)
106 - $(AR) $(ARFLAGS) $@ $(LIBOBJS)
107 - $(RANLIB) $@
108 + $(MKDIR) -p $(DESTDIR)$(PREFIX)/include/crypto++ $(DESTDIR)$(PREFIX)/$(LIBDIR)
109 + $(INSTALL) -m 644 *.h $(DESTDIR)$(PREFIX)/include/crypto++
110 + $(LN_S) crypto++ $(DESTDIR)$(PREFIX)/include/cryptopp
111 + $(LIBTOOL) --mode=install $(INSTALL) libcrypto++.la $(DESTDIR)$(PREFIX)/$(LIBDIR)
112 + $(LN_S) libcrypto++.a $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.a
113 + $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so
114 + $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so.0
115 + $(LN_S) libcrypto++.so.0.0.0 $(DESTDIR)$(PREFIX)/$(LIBDIR)/libcryptopp.so.0.0.0
116
117 -libcryptopp.so: $(LIBOBJS)
118 - $(CXX) -shared -o $@ $(LIBOBJS)
119 +libcrypto++.la: $(LIBOBJS)
120 + $(LIBTOOL) --tag=CXX --mode=link $(CXX) $(LDFLAGS) -rpath $(PREFIX)/$(LIBDIR) -o $@ $(LIBOBJS) $(THREAD_LIBS)
121
122 -cryptest.exe: libcryptopp.a $(TESTOBJS)
123 - $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS)
124 +cryptest: libcrypto++.la $(TESTOBJS)
125 + $(LIBTOOL) --tag=CXX --mode=link $(CXX) $(LDFLAGS) -o $@ $(TESTOBJS) -L. -lcrypto++ $(LDLIBS) $(THREAD_LIBS)
126
127 nolib: $(OBJS) # makes it faster to test changes
128 - $(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)
129 + $(LIBTOOL) --tag=CXX --mode=link $(CXX) -o ct $(LDFLAGS) $(OBJS) $(LDLIBS) $(THREAD_LIBS)
130
131 -dll: cryptest.import.exe dlltest.exe
132 +dll: cryptest.import dlltest
133
134 cryptopp.dll: $(DLLOBJS)
135 $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
136 @@ -168,10 +172,10 @@
137 $(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
138 $(RANLIB) $@
139
140 -cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
141 +cryptest.import: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
142 $(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS)
143
144 -dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
145 +dlltest: cryptopp.dll $(DLLTESTOBJS)
146 $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS)
147
148 adhoc.cpp: adhoc.cpp.proto
149 @@ -181,14 +185,14 @@
150 touch adhoc.cpp
151 endif
152
153 -%.dllonly.o : %.cpp
154 +%.dllonly.lo : %.cpp
155 $(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@
156
157 -%.import.o : %.cpp
158 +%.import.lo : %.cpp
159 $(CXX) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c $< -o $@
160
161 -%.export.o : %.cpp
162 +%.export.lo : %.cpp
163 $(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@
164
165 -%.o : %.cpp
166 - $(CXX) $(CXXFLAGS) -c $<
167 +%.lo : %.cpp
168 + $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(CXXFLAGS) -c $<