summaryrefslogtreecommitdiffstats
path: root/tools/build/rtems-testsuite-autostuff
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/rtems-testsuite-autostuff')
-rwxr-xr-xtools/build/rtems-testsuite-autostuff49
1 files changed, 49 insertions, 0 deletions
diff --git a/tools/build/rtems-testsuite-autostuff b/tools/build/rtems-testsuite-autostuff
new file mode 100755
index 0000000000..8f298bac3c
--- /dev/null
+++ b/tools/build/rtems-testsuite-autostuff
@@ -0,0 +1,49 @@
+#! /usr/bin/env python
+
+#
+# Copyright 2017 Chris Johns <chrisj@rtems.org>
+# All rights reserved
+#
+
+#
+# Create the testsuite's configure.am and Makefile.am from the directories
+# found. This does not handle any conditional functionality that may be needed.
+#
+
+from __future__ import print_function
+import os
+import os.path
+import sys
+
+def eprint(*args, **kwargs):
+ print(*args, file = sys.stderr, **kwargs)
+
+def die(*args, **kwargs):
+ print(*args, file = sys.stderr, **kwargs)
+ sys.exit(1)
+
+if len(sys.argv) != 2:
+ die('error: just provide the path to the test directory')
+
+testdir = sys.argv[1]
+
+if not os.path.exists(testdir):
+ die('error: not found: %s' % (testdir))
+if not os.path.isdir(testdir):
+ die('error: not a directory: %s' % (testdir))
+
+excludes = ['autom4te.cache']
+
+tests = sorted([t for t in os.listdir(testdir)
+ if os.path.isdir(os.path.join(testdir, t)) \
+ and t not in excludes \
+ and os.path.exists(os.path.join(testdir, t, 'Makefile.am'))])
+
+configure = ['AC_CONFIG_FILES([Makefile'] + ['%s/Makefile' % (t) for t in tests] + ['])']
+makefile = ['_SUBDIRS ='] + ['_SUBDIRS += %s' % (t) for t in tests]
+
+print(os.linesep.join(configure))
+print()
+print(os.linesep.join(makefile))
+
+sys.exit(0)