Ignore mingw32-boost for now, because it doesn't work.
[fedora-mingw.git] / openssl / hobble-openssl
1 #!/bin/sh
2
3 # Quit out if anything fails.
4 set -e
5
6 # Clean out patent-or-otherwise-encumbered code.
7 # MDC-2: 4,908,861 13/03/2007
8 # IDEA:  5,214,703 25/05/2010
9 # RC5:   5,724,428 03/03/2015
10 # EC:    ????????? ??/??/2015
11
12 # Remove assembler portions of IDEA, MDC2, and RC5.
13 (find crypto/{idea,mdc2,rc5}/asm -type f | xargs -r rm -fv)
14
15 # IDEA, MDC2, RC5, EC.
16 for a in idea mdc2 rc5 ec ecdh ecdsa; do
17   for c in `find crypto/$a -name "*.c" -a \! -name "*test*" -type f` ; do
18         echo Destroying $c
19         > $c
20   done
21 done
22
23 for c in `find crypto/evp -name "*_rc5.c" -o -name "*_idea.c" -o -name "*_mdc2.c" -o -name "*_ecdsa.c"`; do
24         echo Destroying $c
25         > $c
26 done
27
28 for h in `find crypto ssl apps test -name "*.h"` ; do
29         echo Removing IDEA, MDC2, RC5, and EC references from $h
30         cat $h | \
31         awk    'BEGIN {ech=1;} \
32                 /^#[ \t]*ifndef.*NO_IDEA/ {ech--; next;} \
33                 /^#[ \t]*ifndef.*NO_MDC2/ {ech--; next;} \
34                 /^#[ \t]*ifndef.*NO_RC5/ {ech--; next;} \
35                 /^#[ \t]*ifndef.*NO_EC/ {ech--; next;} \
36                 /^#[ \t]*ifndef.*NO_ECDH/ {ech--; next;} \
37                 /^#[ \t]*ifndef.*NO_ECDSA/ {ech--; next;} \
38                 /^#[ \t]*if/ {if(ech < 1) ech--;} \
39                 {if(ech>0) {;print $0};} \
40                 /^#[ \t]*endif/ {if(ech < 1) ech++;}' > $h.hobbled && \
41         mv $h.hobbled $h
42 done
43
44 # Make the makefiles happy.
45 touch crypto/rc5/asm/rc5-586.pl