+static void
+usage (void)
+{
+ char *supported_formats = get_supported_formats ();
+ char *inc_path = string_array_join (include_path_default (), " ");
+
+ printf (_("\
+PSPP, a program for statistical analysis of sample data.\n\
+Usage: %s [OPTION]... FILE...\n\
+\n\
+Arguments to long options also apply to equivalent short options.\n\
+\n\
+Output options:\n\
+ -o, --output=FILE output to FILE, default format from FILE's name\n\
+ -O format=FORMAT override format for previous -o\n\
+ -O OPTION=VALUE set output option to customize previous -o\n\
+ -O device={terminal|listing} override device type for previous -o\n\
+ -e, --error-file=FILE append errors, warnings, and notes to FILE\n\
+ --no-output disable default output driver\n\
+Supported output formats: %s\n\
+\n\
+Language options:\n\
+ -I, --include=DIR append DIR to search path\n\
+ -I-, --no-include clear search path\n\
+ -r, --no-statrc disable running rc file at startup\n\
+ -a, --algorithm={compatible|enhanced}\n\
+ set to `compatible' if you want output\n\
+ calculated from broken algorithms\n\
+ -x, --syntax={compatible|enhanced}\n\
+ set to `compatible' to disable PSPP extensions\n\
+ -b, --batch interpret syntax in batch mode\n\
+ -i, --interactive interpret syntax in interactive mode\n\
+ --syntax-encoding=ENCODING specify encoding for syntax files\n\
+ -s, --safer don't allow some unsafe operations\n\
+Default search path: %s\n\
+\n\
+Informative output:\n\
+ -h, --help display this help and exit\n\
+ -V, --version output version information and exit\n\
+\n\
+Non-option arguments are interpreted as syntax files to execute.\n"),
+ program_name, supported_formats, inc_path);
+
+ free (supported_formats);
+ free (inc_path);
+
+ emit_bug_reporting_address ();
+ exit (EXIT_SUCCESS);
+}