Add util/fix-includes script
authorDr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Fri, 27 Sep 2019 21:58:12 +0000 (23:58 +0200)
committerDr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Fri, 27 Sep 2019 21:58:12 +0000 (23:58 +0200)
This script contains all adjustments to header files which were made
during the reorganization of the header files. It is meant as an aid
for other contributors which encounter preprocessor #include errors
after rebasing over this pull request. Simply running

  util/fix-includes

from the root of the source directory should hopefully fix the problem.

Note: such #include errors are expected only for pull requests which
add a lot of new code, in particular new compilation modules.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9681)

util/fix-includes [new file with mode: 0755]
util/fix-includes.sed [new file with mode: 0644]

diff --git a/util/fix-includes b/util/fix-includes
new file mode 100755 (executable)
index 0000000..c491638
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the Apache License 2.0 (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+find -name ossl_typ.h -o \( \
+        -name '*.h' -o \
+        -name '*.h.in' -o \
+        -name '*.c' -o \
+        -name '*.ec' -o \
+        -name 'README*' -o \
+        -name '*.pod' -o \
+        -name '*.conf' \
+        \) -exec sed -E -i \
+        -f util/fix-includes.sed {} \;
diff --git a/util/fix-includes.sed b/util/fix-includes.sed
new file mode 100644 (file)
index 0000000..fb0d652
--- /dev/null
@@ -0,0 +1,5 @@
+s|internal/([a-z0-9_]+)_int\.h|crypto/\1.h|g ;
+s@internal/(aria.h|async.h|bn_conf.h|bn_dh.h|bn_srp.h|chacha.h|ctype.h|__DECC_INCLUDE_EPILOGUE.H|__DECC_INCLUDE_PROLOGUE.H|dso_conf.h|engine.h|lhash.h|md32_common.h|objects.h|poly1305.h|sha.h|siphash.h|sm2err.h|sm2.h|sm3.h|sm4.h|store.h|foobar)@crypto/\1@g ;
+s/constant_time_locl/constant_time/g ;
+s/_lo?cl\.h/_local.h/g ;
+s/_int\.h/_local.h/g ;