Magellan Linux

Contents of /trunk/openssl/patches/openssl-0.9.8e-libdir.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (show annotations) (download)
Tue May 8 20:52:56 2007 UTC (17 years ago) by niro
File size: 28301 byte(s)
-import

1 Submitted By: Jeremy Utley (jeremy at jutley dot org)
2 Date: 2006-05-18
3 Initial Package Version: 0.9.8b
4 Origin: Based on work by Ryan Oliver & Jim Gifford
5 Upstream Status: Unknown
6 Description: Allows lib{32,64} by adding LIBDIR= to the make line - new OpenSSL
7 introduces changes to engines/Makefile that causes the previous patch to fail.
8 This new patch corrects that.
9
10 diff -Naur openssl-0.9.8b/Makefile.org openssl-0.9.8b-new/Makefile.org
11 --- openssl-0.9.8b/Makefile.org 2006-02-10 08:52:56.000000000 +0000
12 +++ openssl-0.9.8b-new/Makefile.org 2006-05-19 02:02:41.048137327 +0000
13 @@ -70,6 +70,7 @@
14 TAR= tar
15 TARFLAGS= --no-recursion
16 MAKEDEPPROG=makedepend
17 +LIBDIR=lib
18
19 # We let the C compiler driver to take care of .s files. This is done in
20 # order to be excused from maintaining a separate set of architecture
21 @@ -172,7 +173,7 @@
22 CC='${CC}' CFLAG='${CFLAG}' \
23 AS='${CC}' ASFLAG='${CFLAG} -c' \
24 AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}' \
25 - SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib' \
26 + SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/$(LIBDIR)' \
27 INSTALL_PREFIX='${INSTALL_PREFIX}' \
28 INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' \
29 MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
30 @@ -301,7 +302,7 @@
31 libcrypto.pc: Makefile
32 @ ( echo 'prefix=$(INSTALLTOP)'; \
33 echo 'exec_prefix=$${prefix}'; \
34 - echo 'libdir=$${exec_prefix}/lib'; \
35 + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
36 echo 'includedir=$${prefix}/include'; \
37 echo ''; \
38 echo 'Name: OpenSSL-libcrypto'; \
39 @@ -314,7 +315,7 @@
40 libssl.pc: Makefile
41 @ ( echo 'prefix=$(INSTALLTOP)'; \
42 echo 'exec_prefix=$${prefix}'; \
43 - echo 'libdir=$${exec_prefix}/lib'; \
44 + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
45 echo 'includedir=$${prefix}/include'; \
46 echo ''; \
47 echo 'Name: OpenSSL'; \
48 @@ -327,7 +328,7 @@
49 openssl.pc: Makefile
50 @ ( echo 'prefix=$(INSTALLTOP)'; \
51 echo 'exec_prefix=$${prefix}'; \
52 - echo 'libdir=$${exec_prefix}/lib'; \
53 + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
54 echo 'includedir=$${prefix}/include'; \
55 echo ''; \
56 echo 'Name: OpenSSL'; \
57 @@ -477,9 +478,9 @@
58
59 install_sw:
60 @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
61 - $(INSTALL_PREFIX)$(INSTALLTOP)/lib \
62 - $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines \
63 - $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \
64 + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
65 + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
66 + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \
67 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
68 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
69 $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
70 @@ -494,10 +495,10 @@
71 do \
72 if [ -f "$$i" ]; then \
73 ( echo installing $$i; \
74 - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
75 - $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
76 - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
77 - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
78 + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
79 + $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
80 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
81 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \
82 fi; \
83 done;
84 @set -e; if [ -n "$(SHARED_LIBS)" ]; then \
85 @@ -507,22 +508,22 @@
86 if [ -f "$$i" -o -f "$$i.a" ]; then \
87 ( echo installing $$i; \
88 if [ "$(PLATFORM)" != "Cygwin" ]; then \
89 - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
90 - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
91 - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
92 + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
93 + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
94 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
95 else \
96 c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
97 cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
98 chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
99 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
100 - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
101 - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
102 - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
103 + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
104 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
105 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
106 fi ); \
107 fi; \
108 done; \
109 ( here="`pwd`"; \
110 - cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
111 + cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \
112 $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
113 if [ "$(INSTALLTOP)" != "/usr" ]; then \
114 echo 'OpenSSL shared libraries have been installed in:'; \
115 @@ -531,12 +532,12 @@
116 sed -e '1,/^$$/d' doc/openssl-shared.txt; \
117 fi; \
118 fi
119 - cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
120 - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libcrypto.pc
121 - cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
122 - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libssl.pc
123 - cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
124 - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc
125 + cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
126 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
127 + cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
128 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc
129 + cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
130 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc
131
132 install_docs:
133 @$(PERL) $(TOP)/util/mkdir-p.pl \
134 diff -Naur openssl-0.9.8b/Makefile.org.orig openssl-0.9.8b-new/Makefile.org.orig
135 --- openssl-0.9.8b/Makefile.org.orig 1970-01-01 00:00:00.000000000 +0000
136 +++ openssl-0.9.8b-new/Makefile.org.orig 2006-02-10 08:52:56.000000000 +0000
137 @@ -0,0 +1,588 @@
138 +##
139 +## Makefile for OpenSSL
140 +##
141 +
142 +VERSION=
143 +MAJOR=
144 +MINOR=
145 +SHLIB_VERSION_NUMBER=
146 +SHLIB_VERSION_HISTORY=
147 +SHLIB_MAJOR=
148 +SHLIB_MINOR=
149 +SHLIB_EXT=
150 +PLATFORM=dist
151 +OPTIONS=
152 +CONFIGURE_ARGS=
153 +SHLIB_TARGET=
154 +
155 +# HERE indicates where this Makefile lives. This can be used to indicate
156 +# where sub-Makefiles are expected to be. Currently has very limited usage,
157 +# and should probably not be bothered with at all.
158 +HERE=.
159 +
160 +# INSTALL_PREFIX is for package builders so that they can configure
161 +# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/.
162 +# Normally it is left empty.
163 +INSTALL_PREFIX=
164 +INSTALLTOP=/usr/local/ssl
165 +
166 +# Do not edit this manually. Use Configure --openssldir=DIR do change this!
167 +OPENSSLDIR=/usr/local/ssl
168 +
169 +# NO_IDEA - Define to build without the IDEA algorithm
170 +# NO_RC4 - Define to build without the RC4 algorithm
171 +# NO_RC2 - Define to build without the RC2 algorithm
172 +# THREADS - Define when building with threads, you will probably also need any
173 +# system defines as well, i.e. _REENTERANT for Solaris 2.[34]
174 +# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing.
175 +# TERMIOS - Define the termios terminal subsystem, Silicon Graphics.
176 +# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3).
177 +# DEVRANDOM - Give this the value of the 'random device' if your OS supports
178 +# one. 32 bytes will be read from this when the random
179 +# number generator is initalised.
180 +# SSL_FORBID_ENULL - define if you want the server to be not able to use the
181 +# NULL encryption ciphers.
182 +#
183 +# LOCK_DEBUG - turns on lots of lock debug output :-)
184 +# REF_CHECK - turn on some xyz_free() assertions.
185 +# REF_PRINT - prints some stuff on structure free.
186 +# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff
187 +# MFUNC - Make all Malloc/Free/Realloc calls call
188 +# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
189 +# call application defined callbacks via CRYPTO_set_mem_functions()
190 +# MD5_ASM needs to be defined to use the x86 assembler for MD5
191 +# SHA1_ASM needs to be defined to use the x86 assembler for SHA1
192 +# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160
193 +# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must
194 +# equal 4.
195 +# PKCS1_CHECK - pkcs1 tests.
196 +
197 +CC= cc
198 +CFLAG= -O
199 +DEPFLAG=
200 +PEX_LIBS=
201 +EX_LIBS=
202 +EXE_EXT=
203 +ARFLAGS=
204 +AR=ar $(ARFLAGS) r
205 +RANLIB= ranlib
206 +PERL= perl
207 +TAR= tar
208 +TARFLAGS= --no-recursion
209 +MAKEDEPPROG=makedepend
210 +
211 +# We let the C compiler driver to take care of .s files. This is done in
212 +# order to be excused from maintaining a separate set of architecture
213 +# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
214 +# gcc, then the driver will automatically translate it to -xarch=v8plus
215 +# and pass it down to assembler.
216 +AS=$(CC) -c
217 +ASFLAG=$(CFLAG)
218 +
219 +# For x86 assembler: Set PROCESSOR to 386 if you want to support
220 +# the 80386.
221 +PROCESSOR=
222 +
223 +# CPUID module collects small commonly used assembler snippets
224 +CPUID_OBJ=
225 +BN_ASM= bn_asm.o
226 +DES_ENC= des_enc.o fcrypt_b.o
227 +AES_ASM_OBJ=aes_core.o aes_cbc.o
228 +BF_ENC= bf_enc.o
229 +CAST_ENC= c_enc.o
230 +RC4_ENC= rc4_enc.o
231 +RC5_ENC= rc5_enc.o
232 +MD5_ASM_OBJ=
233 +SHA1_ASM_OBJ=
234 +RMD160_ASM_OBJ=
235 +
236 +# KRB5 stuff
237 +KRB5_INCLUDES=
238 +LIBKRB5=
239 +
240 +# Zlib stuff
241 +ZLIB_INCLUDE=
242 +LIBZLIB=
243 +
244 +DIRS= crypto ssl engines apps test tools
245 +SHLIBDIRS= crypto ssl
246 +
247 +# dirs in crypto to build
248 +SDIRS= \
249 + objects \
250 + md2 md4 md5 sha mdc2 hmac ripemd \
251 + des aes rc2 rc4 rc5 idea bf cast \
252 + bn ec rsa dsa ecdsa dh ecdh dso engine \
253 + buffer bio stack lhash rand err \
254 + evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
255 + store pqueue
256 +# keep in mind that the above list is adjusted by ./Configure
257 +# according to no-xxx arguments...
258 +
259 +# tests to perform. "alltests" is a special word indicating that all tests
260 +# should be performed.
261 +TESTS = alltests
262 +
263 +MAKEFILE= Makefile
264 +
265 +MANDIR=$(OPENSSLDIR)/man
266 +MAN1=1
267 +MAN3=3
268 +MANSUFFIX=
269 +SHELL=/bin/sh
270 +
271 +TOP= .
272 +ONEDIRS=out tmp
273 +EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS
274 +WDIRS= windows
275 +LIBS= libcrypto.a libssl.a
276 +SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
277 +SHARED_SSL=libssl$(SHLIB_EXT)
278 +SHARED_LIBS=
279 +SHARED_LIBS_LINK_EXTS=
280 +SHARED_LDFLAGS=
281 +
282 +GENERAL= Makefile
283 +BASENAME= openssl
284 +NAME= $(BASENAME)-$(VERSION)
285 +TARFILE= $(NAME).tar
286 +WTARFILE= $(NAME)-win.tar
287 +EXHEADER= e_os2.h
288 +HEADER= e_os.h
289 +
290 +all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
291 +
292 +# as we stick to -e, CLEARENV ensures that local variables in lower
293 +# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
294 +# shell, which [annoyingly enough] terminates unset with error if VAR
295 +# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
296 +# which terminates unset with error if no variable was present:-(
297 +CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \
298 + $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \
299 + $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \
300 + $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \
301 + $${EXHEADER+EXHEADER} $${HEADER+HEADER} \
302 + $${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \
303 + $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \
304 + $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} \
305 + $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \
306 + $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
307 +
308 +BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
309 + CC='${CC}' CFLAG='${CFLAG}' \
310 + AS='${CC}' ASFLAG='${CFLAG} -c' \
311 + AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}' \
312 + SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib' \
313 + INSTALL_PREFIX='${INSTALL_PREFIX}' \
314 + INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' \
315 + MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
316 + DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \
317 + MAKEDEPPROG='${MAKEDEPPROG}' \
318 + SHARED_LDFLAGS='${SHARED_LDFLAGS}' \
319 + KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \
320 + EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
321 + SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
322 + PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' \
323 + CPUID_OBJ='${CPUID_OBJ}' \
324 + BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' \
325 + AES_ASM_OBJ='${AES_ASM_OBJ}' \
326 + BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' \
327 + RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' \
328 + SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' \
329 + MD5_ASM_OBJ='${MD5_ASM_OBJ}' \
330 + RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' \
331 + THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
332 +# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
333 +# which in turn eliminates ambiguities in variable treatment with -e.
334 +
335 +# BUILD_CMD is a generic macro to build a given target in a given
336 +# subdirectory. The target must be given through the shell variable
337 +# `target' and the subdirectory to build in must be given through `dir'.
338 +# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
339 +# BUILD_ONE_CMD instead.
340 +#
341 +# BUILD_ONE_CMD is a macro to build a given target in a given
342 +# subdirectory if that subdirectory is part of $(DIRS). It requires
343 +# exactly the same shell variables as BUILD_CMD.
344 +#
345 +# RECURSIVE_BUILD_CMD is a macro to build a given target in all
346 +# subdirectories defined in $(DIRS). It requires that the target
347 +# is given through the shell variable `target'.
348 +BUILD_CMD= if [ -d "$$dir" ]; then \
349 + ( cd $$dir && echo "making $$target in $$dir..." && \
350 + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
351 + ) || exit 1; \
352 + fi
353 +RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
354 +BUILD_ONE_CMD=\
355 + if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
356 + $(BUILD_CMD); \
357 + fi
358 +
359 +reflect:
360 + @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
361 +
362 +sub_all: build_all
363 +build_all: build_libs build_apps build_tests build_tools
364 +
365 +build_libs: build_crypto build_ssl build_engines
366 +
367 +build_crypto:
368 + @dir=crypto; target=all; $(BUILD_ONE_CMD)
369 +build_ssl:
370 + @dir=ssl; target=all; $(BUILD_ONE_CMD)
371 +build_engines:
372 + @dir=engines; target=all; $(BUILD_ONE_CMD)
373 +build_apps:
374 + @dir=apps; target=all; $(BUILD_ONE_CMD)
375 +build_tests:
376 + @dir=test; target=all; $(BUILD_ONE_CMD)
377 +build_tools:
378 + @dir=tools; target=all; $(BUILD_ONE_CMD)
379 +
380 +all_testapps: build_libs build_testapps
381 +build_testapps:
382 + @dir=crypto; target=testapps; $(BUILD_ONE_CMD)
383 +
384 +libcrypto$(SHLIB_EXT): libcrypto.a
385 + @if [ "$(SHLIB_TARGET)" != "" ]; then \
386 + $(MAKE) SHLIBDIRS=crypto build-shared; \
387 + else \
388 + echo "There's no support for shared libraries on this platform" >&2; \
389 + exit 1; \
390 + fi
391 +
392 +libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
393 + @if [ "$(SHLIB_TARGET)" != "" ]; then \
394 + $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
395 + else \
396 + echo "There's no support for shared libraries on this platform" >&2; \
397 + exit 1; \
398 + fi
399 +
400 +clean-shared:
401 + @set -e; for i in $(SHLIBDIRS); do \
402 + if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
403 + tmp="$(SHARED_LIBS_LINK_EXTS)"; \
404 + for j in $${tmp:-x}; do \
405 + ( set -x; rm -f lib$$i$$j ); \
406 + done; \
407 + fi; \
408 + ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
409 + if [ "$(PLATFORM)" = "Cygwin" ]; then \
410 + ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
411 + fi; \
412 + done
413 +
414 +link-shared:
415 + @ set -e; for i in ${SHLIBDIRS}; do \
416 + $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
417 + LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
418 + LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
419 + symlink.$(SHLIB_TARGET); \
420 + libs="$$libs -l$$i"; \
421 + done
422 +
423 +build-shared: do_$(SHLIB_TARGET) link-shared
424 +
425 +do_$(SHLIB_TARGET):
426 + @ set -e; libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
427 + if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
428 + libs="$(LIBKRB5) $$libs"; \
429 + fi; \
430 + $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
431 + LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
432 + LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
433 + LIBDEPS="$$libs $(EX_LIBS)" \
434 + link_a.$(SHLIB_TARGET); \
435 + libs="-l$$i $$libs"; \
436 + done
437 +
438 +libcrypto.pc: Makefile
439 + @ ( echo 'prefix=$(INSTALLTOP)'; \
440 + echo 'exec_prefix=$${prefix}'; \
441 + echo 'libdir=$${exec_prefix}/lib'; \
442 + echo 'includedir=$${prefix}/include'; \
443 + echo ''; \
444 + echo 'Name: OpenSSL-libcrypto'; \
445 + echo 'Description: OpenSSL cryptography library'; \
446 + echo 'Version: '$(VERSION); \
447 + echo 'Requires: '; \
448 + echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
449 + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
450 +
451 +libssl.pc: Makefile
452 + @ ( echo 'prefix=$(INSTALLTOP)'; \
453 + echo 'exec_prefix=$${prefix}'; \
454 + echo 'libdir=$${exec_prefix}/lib'; \
455 + echo 'includedir=$${prefix}/include'; \
456 + echo ''; \
457 + echo 'Name: OpenSSL'; \
458 + echo 'Description: Secure Sockets Layer and cryptography libraries'; \
459 + echo 'Version: '$(VERSION); \
460 + echo 'Requires: '; \
461 + echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
462 + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
463 +
464 +openssl.pc: Makefile
465 + @ ( echo 'prefix=$(INSTALLTOP)'; \
466 + echo 'exec_prefix=$${prefix}'; \
467 + echo 'libdir=$${exec_prefix}/lib'; \
468 + echo 'includedir=$${prefix}/include'; \
469 + echo ''; \
470 + echo 'Name: OpenSSL'; \
471 + echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
472 + echo 'Version: '$(VERSION); \
473 + echo 'Requires: '; \
474 + echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
475 + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
476 +
477 +Makefile: Makefile.org Configure config
478 + @echo "Makefile is older than Makefile.org, Configure or config."
479 + @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
480 + @false
481 +
482 +libclean:
483 + rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
484 +
485 +clean: libclean
486 + rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
487 + @set -e; target=clean; $(RECURSIVE_BUILD_CMD)
488 + rm -f $(LIBS)
489 + rm -f openssl.pc libssl.pc libcrypto.pc
490 + rm -f speed.* .pure
491 + rm -f $(TARFILE)
492 + @set -e; for i in $(ONEDIRS) ;\
493 + do \
494 + rm -fr $$i/*; \
495 + done
496 +
497 +makefile.one: files
498 + $(PERL) util/mk1mf.pl >makefile.one; \
499 + sh util/do_ms.sh
500 +
501 +files:
502 + $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
503 + @set -e; target=files; $(RECURSIVE_BUILD_CMD)
504 +
505 +links:
506 + @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
507 + @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
508 + @set -e; target=links; $(RECURSIVE_BUILD_CMD)
509 +
510 +gentests:
511 + @(cd test && echo "generating dummy tests (if needed)..." && \
512 + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
513 +
514 +dclean:
515 + rm -f *.bak
516 + @set -e; target=dclean; $(RECURSIVE_BUILD_CMD)
517 +
518 +rehash: rehash.time
519 +rehash.time: certs
520 + @(OPENSSL="`pwd`/util/opensslwrap.sh"; \
521 + OPENSSL_DEBUG_MEMORY=on; \
522 + export OPENSSL OPENSSL_DEBUG_MEMORY; \
523 + $(PERL) tools/c_rehash certs)
524 + touch rehash.time
525 +
526 +test: tests
527 +
528 +tests: rehash
529 + @(cd test && echo "testing..." && \
530 + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
531 + util/opensslwrap.sh version -a
532 +
533 +report:
534 + @$(PERL) util/selftest.pl
535 +
536 +depend:
537 + @set -e; target=depend; $(RECURSIVE_BUILD_CMD)
538 +
539 +lint:
540 + @set -e; target=lint; $(RECURSIVE_BUILD_CMD)
541 +
542 +tags:
543 + rm -f TAGS
544 + find . -name '[^.]*.[ch]' | xargs etags -a
545 +
546 +errors:
547 + $(PERL) util/mkerr.pl -recurse -write
548 + (cd engines; $(MAKE) PERL=$(PERL) errors)
549 + $(PERL) util/ck_errf.pl */*.c */*/*.c
550 +
551 +stacks:
552 + $(PERL) util/mkstack.pl -write
553 +
554 +util/libeay.num::
555 + $(PERL) util/mkdef.pl crypto update
556 +
557 +util/ssleay.num::
558 + $(PERL) util/mkdef.pl ssl update
559 +
560 +crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
561 + $(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
562 +crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
563 + $(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
564 +
565 +apps/openssl-vms.cnf: apps/openssl.cnf
566 + $(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
567 +
568 +crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
569 + $(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h
570 +
571 +
572 +TABLE: Configure
573 + (echo 'Output of `Configure TABLE'"':"; \
574 + $(PERL) Configure TABLE) > TABLE
575 +
576 +update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend
577 +
578 +# Build distribution tar-file. As the list of files returned by "find" is
579 +# pretty long, on several platforms a "too many arguments" error or similar
580 +# would occur. Therefore the list of files is temporarily stored into a file
581 +# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
582 +# tar does not support the --files-from option.
583 +tar:
584 + find . -type d -print | xargs chmod 755
585 + find . -type f -print | xargs chmod a+r
586 + find . -type f -perm -0100 -print | xargs chmod a+x
587 + find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \
588 + $(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
589 + tardy --user_number=0 --user_name=openssl \
590 + --group_number=0 --group_name=openssl \
591 + --prefix=openssl-$(VERSION) - |\
592 + gzip --best >../$(TARFILE).gz; \
593 + rm -f ../$(TARFILE).list; \
594 + ls -l ../$(TARFILE).gz
595 +
596 +tar-snap:
597 + @$(TAR) $(TARFLAGS) -cvf - \
598 + `find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \! -name '*test' \! -name '.#*' \! -name '*~' | sort` |\
599 + tardy --user_number=0 --user_name=openssl \
600 + --group_number=0 --group_name=openssl \
601 + --prefix=openssl-$(VERSION) - > ../$(TARFILE);\
602 + ls -l ../$(TARFILE)
603 +
604 +dist:
605 + $(PERL) Configure dist
606 + @$(MAKE) dist_pem_h
607 + @$(MAKE) SDIRS='${SDIRS}' clean
608 + @$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar
609 +
610 +dist_pem_h:
611 + (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
612 +
613 +install: all install_docs install_sw
614 +
615 +install_sw:
616 + @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
617 + $(INSTALL_PREFIX)$(INSTALLTOP)/lib \
618 + $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines \
619 + $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \
620 + $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
621 + $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
622 + $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
623 + $(INSTALL_PREFIX)$(OPENSSLDIR)/private
624 + @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
625 + do \
626 + (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
627 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
628 + done;
629 + @set -e; target=install; $(RECURSIVE_BUILD_CMD)
630 + @set -e; for i in $(LIBS) ;\
631 + do \
632 + if [ -f "$$i" ]; then \
633 + ( echo installing $$i; \
634 + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
635 + $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
636 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
637 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
638 + fi; \
639 + done;
640 + @set -e; if [ -n "$(SHARED_LIBS)" ]; then \
641 + tmp="$(SHARED_LIBS)"; \
642 + for i in $${tmp:-x}; \
643 + do \
644 + if [ -f "$$i" -o -f "$$i.a" ]; then \
645 + ( echo installing $$i; \
646 + if [ "$(PLATFORM)" != "Cygwin" ]; then \
647 + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
648 + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
649 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
650 + else \
651 + c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
652 + cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
653 + chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
654 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
655 + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
656 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
657 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
658 + fi ); \
659 + fi; \
660 + done; \
661 + ( here="`pwd`"; \
662 + cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
663 + $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
664 + if [ "$(INSTALLTOP)" != "/usr" ]; then \
665 + echo 'OpenSSL shared libraries have been installed in:'; \
666 + echo ' $(INSTALLTOP)'; \
667 + echo ''; \
668 + sed -e '1,/^$$/d' doc/openssl-shared.txt; \
669 + fi; \
670 + fi
671 + cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
672 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libcrypto.pc
673 + cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
674 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libssl.pc
675 + cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
676 + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc
677 +
678 +install_docs:
679 + @$(PERL) $(TOP)/util/mkdir-p.pl \
680 + $(INSTALL_PREFIX)$(MANDIR)/man1 \
681 + $(INSTALL_PREFIX)$(MANDIR)/man3 \
682 + $(INSTALL_PREFIX)$(MANDIR)/man5 \
683 + $(INSTALL_PREFIX)$(MANDIR)/man7
684 + @pod2man="`cd util; ./pod2mantest $(PERL)`"; \
685 + here="`pwd`"; \
686 + filecase=; \
687 + if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \
688 + filecase=-i; \
689 + fi; \
690 + set -e; for i in doc/apps/*.pod; do \
691 + fn=`basename $$i .pod`; \
692 + sec=`$(PERL) util/extract-section.pl 1 < $$i`; \
693 + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
694 + (cd `$(PERL) util/dirname.pl $$i`; \
695 + sh -c "$$pod2man \
696 + --section=$$sec --center=OpenSSL \
697 + --release=$(VERSION) `basename $$i`") \
698 + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
699 + $(PERL) util/extract-names.pl < $$i | \
700 + (grep -v $$filecase "^$$fn\$$"; true) | \
701 + (grep -v "[ ]"; true) | \
702 + (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
703 + while read n; do \
704 + $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
705 + done); \
706 + done; \
707 + set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \
708 + fn=`basename $$i .pod`; \
709 + sec=`$(PERL) util/extract-section.pl 3 < $$i`; \
710 + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
711 + (cd `$(PERL) util/dirname.pl $$i`; \
712 + sh -c "$$pod2man \
713 + --section=$$sec --center=OpenSSL \
714 + --release=$(VERSION) `basename $$i`") \
715 + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
716 + $(PERL) util/extract-names.pl < $$i | \
717 + (grep -v $$filecase "^$$fn\$$"; true) | \
718 + (grep -v "[ ]"; true) | \
719 + (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
720 + while read n; do \
721 + $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
722 + done); \
723 + done
724 +
725 +# DO NOT DELETE THIS LINE -- make depend depends on it.
726 diff -Naur openssl-0.9.8b/engines/Makefile openssl-0.9.8b-new/engines/Makefile
727 --- openssl-0.9.8b/engines/Makefile 2006-02-04 01:49:34.000000000 +0000
728 +++ openssl-0.9.8b-new/engines/Makefile 2006-05-19 02:00:52.158523141 +0000
729 @@ -97,13 +97,13 @@
730 *DSO_DL*) sfx="sl";; \
731 *) sfx="bad";; \
732 esac; \
733 - cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
734 + cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/lib$$l.$$sfx.new; \
735 else \
736 sfx="so"; \
737 cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
738 fi; \
739 - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
740 - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx ); \
741 + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/lib$$l.$$sfx.new; \
742 + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/lib$$l.$$sfx ); \
743 done; \
744 fi
745