4b2bec5
#!/bin/sh
4b2bec5
4b2bec5
# Quit out if anything fails.
4b2bec5
set -e
4b2bec5
4b2bec5
# Clean out patent-or-otherwise-encumbered code.
1deb370
# MDC-2: 4,908,861 13/03/2007 - expired, we do not remove it but do not enable it anyway
7ab115b
# IDEA:  5,214,703 07/01/2012 - expired, we do not remove it anymore
Kalev Lember ca8adb3
# RC5:   5,724,428 01/11/2015
Kalev Lember ca8adb3
# EC:    ????????? ??/??/2020
7ab115b
# SRP:   ????????? ??/??/20??
4b2bec5
4b2bec5
# Remove assembler portions of IDEA, MDC2, and RC5.
7ab115b
(find crypto/rc5/asm -type f | xargs -r rm -fv)
4b2bec5
b629b66
# RC5, SRP.
b629b66
for a in rc5 srp; do
4b2bec5
  for c in `find crypto/$a -name "*.c" -a \! -name "*test*" -type f` ; do
4b2bec5
	echo Destroying $c
4b2bec5
	> $c
4b2bec5
  done
4b2bec5
done
4b2bec5
b629b66
for c in `find crypto/evp -name "*_rc5.c"`; do
7ab115b
	echo Destroying $c
7ab115b
	> $c
7ab115b
done
7ab115b
7ab115b
for c in `find crypto/bn -name "*gf2m.c"`; do
4b2bec5
	echo Destroying $c
4b2bec5
	> $c
4b2bec5
done
4b2bec5
b629b66
for c in `find crypto/ec -name "ec2*.c" -o -name "ec_curve.c" -o -name "ecp_nistp?2?.c" -o -name "ectest.c"`; do
b629b66
	echo Destroying $c
b629b66
	> $c
b629b66
done
b629b66
4b2bec5
for h in `find crypto ssl apps test -name "*.h"` ; do
b629b66
	echo Removing RC5, SRP and EC2M references from $h
4b2bec5
	cat $h | \
4b2bec5
	awk    'BEGIN {ech=1;} \
7ab115b
		/^#[ \t]*ifndef.*NO_SRP/ {ech--; next;} \
4b2bec5
		/^#[ \t]*ifndef.*NO_RC5/ {ech--; next;} \
b629b66
		/^#[ \t]*ifndef.*NO_EC2M/ {ech--; next;} \
4b2bec5
                /^#[ \t]*if/ {if(ech < 1) ech--;} \
4b2bec5
		{if(ech>0) {;print $0};} \
4b2bec5
		/^#[ \t]*endif/ {if(ech < 1) ech++;}' > $h.hobbled && \
4b2bec5
	mv $h.hobbled $h
4b2bec5
done
4b2bec5
4b2bec5
# Make the makefiles happy.
4b2bec5
touch crypto/rc5/asm/rc5-586.pl