pw_tokenizer: Do not require input databases

Do not require inputs in database.py or the pw_tokenizer_database GN
template. This is helpful when building binaries with unsupported
executable formats (PE and Macho-O). This also supports explicitly
creating an empty binary format database.

Change-Id: I18284b0e3d5db2428f61655e717a70010e5eddf4
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/22902
Commit-Queue: Anthony DiGirolamo <tonymd@google.com>
Reviewed-by: Anthony DiGirolamo <tonymd@google.com>
diff --git a/pw_tokenizer/database.gni b/pw_tokenizer/database.gni
index 6e03597..a6cbf7e 100644
--- a/pw_tokenizer/database.gni
+++ b/pw_tokenizer/database.gni
@@ -76,12 +76,6 @@
     _input_databases = []
   }
 
-  assert(
-      _targets != [] || _optional_targets != [] || _input_databases != [],
-      "No 'targets', 'optional_targets', or 'input_databases' were set for " +
-          "pw_tokenizer_database! At least one target or database must be " +
-          "provided as an input.")
-
   if (defined(invoker.domain)) {
     _domain = "#" + invoker.domain
   } else {
diff --git a/pw_tokenizer/py/pw_tokenizer/database.py b/pw_tokenizer/py/pw_tokenizer/database.py
index 5e23b6c..3bc3310 100755
--- a/pw_tokenizer/py/pw_tokenizer/database.py
+++ b/pw_tokenizer/py/pw_tokenizer/database.py
@@ -393,7 +393,7 @@
     parser.add_argument(
         'databases',
         metavar='elf_or_token_database',
-        nargs='+',
+        nargs='*',
         action=LoadTokenDatabases,
         help=('ELF or token database files from which to read strings and '
               'tokens. For ELF files, the tokenization domain to read from '