- for module in $modules; do
- func_get_include_directive "$module"
- done | LC_ALL=C sort -u | sed -e '/^$/d;' -e 's/^/ /'
+ (
+ # First the #include <...> directives without #ifs, sorted for convenience.
+ for module in $modules; do
+ if func_get_include_directive "$module" | grep '^#if' >/dev/null; then
+ :
+ else
+ func_get_include_directive "$module" | grep -v 'include "'
+ fi
+ done | LC_ALL=C sort -u
+ # Then the #include "..." directives without #ifs, sorted for convenience.
+ for module in $modules; do
+ if func_get_include_directive "$module" | grep '^#if' >/dev/null; then
+ :
+ else
+ func_get_include_directive "$module" | grep 'include "'
+ fi
+ done | LC_ALL=C sort -u
+ # Then the #include directives that are surrounded by #ifs. Not sorted.
+ for module in $modules; do
+ if func_get_include_directive "$module" | grep '^#if' >/dev/null; then
+ func_get_include_directive "$module"
+ fi
+ done
+ ) | sed -e '/^$/d;' -e 's/^/ /'