]>
Commit | Line | Data |
---|---|---|
bcf1fa6b RR |
1 | /* setup.h |
2 | ||
3 | Do not edit this file. It is autogenerated by configure. | |
4 | ||
5 | Leave the following blank line there!! Autoheader needs it. */ | |
6 | \f | |
7 | ||
8 | // ------------------------------------------------------------------------ | |
9 | // Features as requested by configure | |
10 | // ------------------------------------------------------------------------ | |
11 | ||
12 | #ifndef __GTKSETUPH__ | |
13 | #define __GTKSETUPH__ | |
14 | ||
15 | #ifdef __GNUG__ | |
16 | #pragma interface | |
17 | #endif | |
18 | ||
19 | /* define the system to compile */ | |
bcf1fa6b RR |
20 | #undef __UNIX__ |
21 | #undef __LINUX__ | |
22 | #undef __SGI__ | |
23 | #undef __HPUX__ | |
24 | #undef __SYSV__ | |
25 | #undef __SVR4__ | |
26 | #undef __AIX__ | |
27 | #undef __SUN__ | |
28 | #undef __SOLARIS__ | |
29 | #undef __SUNOS__ | |
30 | #undef __ALPHA__ | |
31 | #undef __OSF__ | |
32 | #undef __BSD__ | |
33 | #undef __FREEBSD__ | |
34 | #undef __VMS__ | |
35 | #undef __ULTRIX__ | |
36 | #undef __DATA_GENERAL__ | |
37 | ||
38 | //------------------------------------------------------------------------ | |
39 | // library options | |
40 | //------------------------------------------------------------------------ | |
41 | ||
42 | /* | |
43 | * Use zlib | |
44 | */ | |
27fc802d | 45 | #undef wxUSE_ZLIB |
bcf1fa6b RR |
46 | /* |
47 | * Use gdk_imlib | |
48 | */ | |
27fc802d | 49 | #undef wxUSE_GDK_IMLIB |
bcf1fa6b RR |
50 | /* |
51 | * Use libpng | |
52 | */ | |
27fc802d | 53 | #undef wxUSE_LIBPNG |
bcf1fa6b RR |
54 | /* |
55 | * Use iODBC | |
56 | */ | |
27fc802d | 57 | #undef wxUSE_ODBC |
bcf1fa6b RR |
58 | /* |
59 | * Use Threads | |
60 | */ | |
27fc802d | 61 | #undef wxUSE_THREADS |
bcf1fa6b RR |
62 | |
63 | //------------------------------------------------------------------------ | |
64 | // GUI control options | |
65 | //------------------------------------------------------------------------ | |
66 | ||
67 | /* | |
68 | * Use gauge item | |
69 | */ | |
27fc802d | 70 | #undef wxUSE_GAUGE |
a60c99e6 RR |
71 | /* |
72 | * Use combobox item | |
73 | */ | |
27fc802d | 74 | #undef wxUSE_COMBOBOX |
bcf1fa6b RR |
75 | /* |
76 | * Use scrollbar item | |
77 | */ | |
27fc802d | 78 | #undef wxUSE_SCROLLBAR |
bcf1fa6b RR |
79 | /* |
80 | * Use notebook item | |
81 | */ | |
27fc802d | 82 | #undef wxUSE_NOTEBOOK |
bcf1fa6b RR |
83 | /* |
84 | * Use listctrl item | |
85 | */ | |
27fc802d | 86 | #undef wxUSE_LISTCTRL |
bcf1fa6b RR |
87 | /* |
88 | * Use treectrl item | |
89 | */ | |
27fc802d | 90 | #undef wxUSE_TREECTRL |
bcf1fa6b RR |
91 | /* |
92 | * Use grid item | |
93 | */ | |
27fc802d | 94 | #undef wxUSE_GRID |
bcf1fa6b RR |
95 | /* |
96 | * Use tab dialog item | |
97 | */ | |
27fc802d | 98 | #undef wxUSE_TAB_DIALOG |
bcf1fa6b RR |
99 | |
100 | //------------------------------------------------------------------------ | |
101 | // non-GUI options | |
102 | //------------------------------------------------------------------------ | |
103 | ||
104 | /* | |
105 | * Use fraction class | |
106 | */ | |
27fc802d | 107 | #undef wxUSE_FRACTION |
bcf1fa6b RR |
108 | /* |
109 | * Use time and date classes | |
110 | */ | |
27fc802d | 111 | #undef wxUSE_TIMEDATE |
bcf1fa6b RR |
112 | /* |
113 | * Use config system | |
114 | */ | |
27fc802d | 115 | #undef wxUSE_CONFIG |
bcf1fa6b RR |
116 | /* |
117 | * Use intl system | |
118 | */ | |
27fc802d | 119 | #undef wxUSE_INTL |
bcf1fa6b RR |
120 | /* |
121 | * Use streams | |
122 | */ | |
27fc802d | 123 | #undef wxUSE_STREAMS |
bcf1fa6b RR |
124 | /* |
125 | * Use wxFile | |
126 | */ | |
27fc802d | 127 | #undef wxUSE_FILE |
bcf1fa6b RR |
128 | /* |
129 | * Use wxTextFile | |
130 | */ | |
27fc802d | 131 | #undef wxUSE_TEXTFILE |
bcf1fa6b RR |
132 | /* |
133 | * Use class serialization | |
134 | */ | |
27fc802d | 135 | #undef wxUSE_SERIAL |
bcf1fa6b RR |
136 | |
137 | //------------------------------------------------------------------------ | |
138 | // PS options | |
139 | //------------------------------------------------------------------------ | |
140 | ||
141 | /* | |
142 | * Use font metric files in GetTextExtent for wxPostScriptDC | |
143 | * Use consistent PostScript fonts for AFM and printing (!) | |
144 | */ | |
27fc802d | 145 | #undef wxUSE_AFM_FOR_POSTSCRIPT |
bcf1fa6b RR |
146 | #undef WX_NORMALIZED_PS_FONTS |
147 | /* | |
148 | * Use PostScript device context | |
149 | */ | |
27fc802d | 150 | #undef wxUSE_POSTSCRIPT |
bcf1fa6b | 151 | |
fb4e5803 VZ |
152 | //------------------------------------------------------------------------ |
153 | // wxString options | |
154 | //------------------------------------------------------------------------ | |
155 | ||
156 | /* | |
157 | * Compile wxString with wide character (Unicode) support? | |
158 | */ | |
159 | #undef wxUSE_UNICODE | |
160 | ||
161 | /* | |
162 | * Work around a bug in GNU libc 5.x wcstombs() implementation. | |
163 | * | |
164 | * Note that you must link your programs with libc.a if you enable this and you | |
165 | * have libc 5 (you should enable this for libc6 where wcsrtombs() is | |
166 | * thread-safe version of wcstombs()). | |
167 | */ | |
168 | #undef wxUSE_WCSRTOMBS | |
169 | ||
bcf1fa6b RR |
170 | //------------------------------------------------------------------------ |
171 | // misc options | |
172 | //------------------------------------------------------------------------ | |
173 | ||
174 | /* | |
175 | * Use Interprocess communication | |
176 | */ | |
27fc802d | 177 | #undef wxUSE_IPC |
bcf1fa6b RR |
178 | /* |
179 | * Use wxGetResource & wxWriteResource (change .Xdefaults) | |
180 | */ | |
27fc802d | 181 | #undef wxUSE_RESOURCES |
bcf1fa6b RR |
182 | /* |
183 | * Use clipboard | |
184 | */ | |
27fc802d | 185 | #undef wxUSE_CLIPBOARD |
bcf1fa6b RR |
186 | /* |
187 | * Use dnd | |
188 | */ | |
27fc802d | 189 | #undef wxUSE_DND |
bcf1fa6b RR |
190 | /* |
191 | * Use wxWindows layout constraint system | |
192 | */ | |
27fc802d | 193 | #undef wxUSE_CONSTRAINTS |
bcf1fa6b RR |
194 | |
195 | //------------------------------------------------------------------------ | |
196 | // architecture options | |
197 | //------------------------------------------------------------------------ | |
198 | ||
199 | /* | |
200 | * Use the mdi architecture | |
201 | */ | |
27fc802d | 202 | #undef wxUSE_MDI_ARCHITECTURE |
bcf1fa6b RR |
203 | /* |
204 | * Use the document/view architecture | |
205 | */ | |
27fc802d | 206 | #undef wxUSE_DOC_VIEW_ARCHITECTURE |
bcf1fa6b RR |
207 | /* |
208 | * Use the print/preview architecture | |
209 | */ | |
27fc802d | 210 | #undef wxUSE_PRINTING_ARCHITECTURE |
bcf1fa6b RR |
211 | |
212 | //------------------------------------------------------------------------ | |
213 | // Prolog and wxWindows' resource system options | |
214 | //------------------------------------------------------------------------ | |
215 | ||
216 | /* | |
217 | * Use Prolog IO | |
218 | */ | |
27fc802d | 219 | #undef wxUSE_PROLOGIO |
bcf1fa6b | 220 | /* |
27fc802d | 221 | * Use Remote Procedure Call (Needs wxUSE_IPC and wxUSE_PROLOGIO) |
bcf1fa6b | 222 | */ |
27fc802d | 223 | #undef wxUSE_RPC |
bcf1fa6b | 224 | /* |
27fc802d | 225 | * Use wxWindows resource loading (.wxr-files) (Needs wxUSE_PROLOGIO 1) |
bcf1fa6b | 226 | */ |
27fc802d | 227 | #undef wxUSE_WX_RESOURCES |
bcf1fa6b RR |
228 | |
229 | //------------------------------------------------------------------------ | |
230 | // the rest | |
231 | //------------------------------------------------------------------------ | |
232 | ||
233 | /* | |
234 | * Implement a GLCanvas class as an interface to OpenGL, using the GLX | |
235 | * extension to the X11 protocol. You can use the (free) Mesa library | |
236 | * if you don't have a 'real' OpenGL. | |
237 | */ | |
27fc802d | 238 | #undef wxUSE_GLX |
bcf1fa6b | 239 | /* |
27fc802d | 240 | * Use wxWindows help facility (needs wxUSE_IPC 1) |
bcf1fa6b | 241 | */ |
27fc802d | 242 | #undef wxUSE_HELP |
bcf1fa6b RR |
243 | /* |
244 | * Use iostream.h rather than iostream | |
245 | */ | |
27fc802d | 246 | #undef wxUSE_IOSTREAMH |
bcf1fa6b RR |
247 | /* |
248 | * Use Metafile and Metafile device context | |
249 | */ | |
27fc802d | 250 | #undef wxUSE_METAFILE |
bcf1fa6b RR |
251 | /* |
252 | * Use wxGraph | |
253 | */ | |
27fc802d | 254 | #undef wxUSE_WXGRAPH |
bcf1fa6b RR |
255 | /* |
256 | * Use wxTree | |
257 | */ | |
27fc802d | 258 | #undef wxUSE_WXTREE |
bcf1fa6b RR |
259 | /* |
260 | * Use Apple Ieee-double converter | |
261 | */ | |
27fc802d | 262 | #undef wxUSE_APPLE_IEEE |
bcf1fa6b RR |
263 | /* Compatibility with 1.66 API. |
264 | Level 0: no backward compatibility, all new features | |
265 | Level 1: wxDC, OnSize (etc.) compatibility, but | |
266 | some new features such as event tables */ | |
267 | #define WXWIN_COMPATIBILITY 1 | |
268 | /* | |
269 | * Enables debugging: memory tracing, assert, etc., contains debug level | |
270 | */ | |
271 | #undef WXDEBUG | |
272 | /* | |
273 | * Enables debugging version of wxObject::new and wxObject::delete (IF WXDEBUG) | |
274 | * WARNING: this code may not work with all architectures, especially | |
275 | * if alignment is an issue. | |
276 | */ | |
27fc802d | 277 | #undef wxUSE_MEMORY_TRACING |
bcf1fa6b RR |
278 | /* |
279 | * Enable debugging version of global memory operators new and delete | |
280 | * Disable it, If this causes problems (e.g. link errors) | |
281 | */ | |
27fc802d | 282 | #undef wxUSE_GLOBAL_MEMORY_OPERATORS |
bcf1fa6b RR |
283 | /* |
284 | * Matthews garbage collection (used for MrEd?) | |
285 | */ | |
286 | #define WXGARBAGE_COLLECTION_ON 0 | |
287 | /* | |
288 | * Use splines | |
289 | */ | |
27fc802d | 290 | #define wxUSE_SPLINES 1 |
bcf1fa6b | 291 | /* |
27fc802d | 292 | * wxUSE_DYNAMIC_CLASSES is TRUE for the Xt port |
bcf1fa6b | 293 | */ |
27fc802d | 294 | #define wxUSE_DYNAMIC_CLASSES 1 |
bcf1fa6b RR |
295 | /* |
296 | * Disable this if your compiler can't cope | |
297 | * with omission of prototype parameters. | |
298 | */ | |
299 | #define REMOVE_UNUSED_ARG 1 | |
300 | /* | |
301 | * The const keyword is being introduced more in wxWindows. | |
302 | * You can use this setting to maintain backward compatibility. | |
303 | * If 0: will use const wherever possible. | |
304 | * If 1: will use const only where necessary | |
305 | * for precompiled headers to work. | |
306 | * If 2: will be totally backward compatible, but precompiled | |
307 | * headers may not work and program size will be larger. | |
308 | */ | |
309 | #define CONST_COMPATIBILITY 0 | |
310 | ||
311 | // ------------------------------------------------------------------------ | |
312 | // System-specific stuff | |
313 | // ------------------------------------------------------------------------ | |
314 | ||
315 | /* acconfig.h | |
316 | This file is in the public domain. | |
317 | ||
318 | Descriptive text for the C preprocessor macros that | |
319 | the distributed Autoconf macros can define. | |
320 | No software package will use all of them; autoheader copies the ones | |
321 | your configure.in uses into your configuration header file templates. | |
322 | ||
323 | The entries are in sort -df order: alphabetical, case insensitive, | |
324 | ignoring punctuation (such as underscores). Although this order | |
325 | can split up related entries, it makes it easier to check whether | |
326 | a given entry is in the file. */ | |
327 | ||
328 | /* Define if on AIX 3. | |
329 | System headers sometimes define this. | |
330 | We just want to avoid a redefinition error message. */ | |
331 | #ifndef _ALL_SOURCE | |
332 | #undef _ALL_SOURCE | |
333 | #endif | |
334 | ||
335 | /* Define if using alloca.c. */ | |
336 | #undef C_ALLOCA | |
337 | ||
338 | /* Define if type char is unsigned and you are not using gcc. */ | |
339 | #ifndef __CHAR_UNSIGNED__ | |
340 | #undef __CHAR_UNSIGNED__ | |
341 | #endif | |
342 | ||
343 | /* Define if the closedir function returns void instead of int. */ | |
344 | #undef CLOSEDIR_VOID | |
345 | ||
346 | /* Define to empty if the keyword does not work. */ | |
347 | #undef const | |
348 | ||
349 | /* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. | |
350 | This function is required for alloca.c support on those systems. */ | |
351 | #undef CRAY_STACKSEG_END | |
352 | ||
353 | /* Define for DGUX with <sys/dg_sys_info.h>. */ | |
354 | #undef DGUX | |
355 | ||
356 | /* Define if you have <dirent.h>. */ | |
357 | #undef DIRENT | |
358 | ||
359 | /* Define to the type of elements in the array set by `getgroups'. | |
360 | Usually this is either `int' or `gid_t'. */ | |
361 | #undef GETGROUPS_T | |
362 | ||
363 | /* Define if the `getloadavg' function needs to be run setuid or setgid. */ | |
364 | #undef GETLOADAVG_PRIVILEGED | |
365 | ||
366 | /* Define if the `getpgrp' function takes no argument. */ | |
367 | #undef GETPGRP_VOID | |
368 | ||
369 | /* Define to `int' if <sys/types.h> doesn't define. */ | |
370 | #undef gid_t | |
371 | ||
372 | /* Define if you have alloca, as a function or macro. */ | |
373 | #undef HAVE_ALLOCA | |
374 | ||
375 | /* Define if you have <alloca.h> and it should be used (not on Ultrix). */ | |
376 | #undef HAVE_ALLOCA_H | |
377 | ||
378 | /* Define if you don't have vprintf but do have _doprnt. */ | |
379 | #undef HAVE_DOPRNT | |
380 | ||
381 | /* Define if your system has its own `getloadavg' function. */ | |
382 | #undef HAVE_GETLOADAVG | |
383 | ||
384 | /* Define if you have the getmntent function. */ | |
385 | #undef HAVE_GETMNTENT | |
386 | ||
387 | /* Define if the `long double' type works. */ | |
388 | #undef HAVE_LONG_DOUBLE | |
389 | ||
390 | /* Define if you support file names longer than 14 characters. */ | |
391 | #undef HAVE_LONG_FILE_NAMES | |
392 | ||
393 | /* Define if you have a working `mmap' system call. */ | |
394 | #undef HAVE_MMAP | |
395 | ||
396 | /* Define if system calls automatically restart after interruption | |
397 | by a signal. */ | |
398 | #undef HAVE_RESTARTABLE_SYSCALLS | |
399 | ||
400 | /* Define if your struct stat has st_blksize. */ | |
401 | #undef HAVE_ST_BLKSIZE | |
402 | ||
403 | /* Define if your struct stat has st_blocks. */ | |
404 | #undef HAVE_ST_BLOCKS | |
405 | ||
406 | /* Define if you have the strcoll function and it is properly defined. */ | |
407 | #undef HAVE_STRCOLL | |
408 | ||
409 | /* Define if your struct stat has st_rdev. */ | |
410 | #undef HAVE_ST_RDEV | |
411 | ||
412 | /* Define if you have the strftime function. */ | |
413 | #undef HAVE_STRFTIME | |
414 | ||
415 | /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ | |
416 | #undef HAVE_SYS_WAIT_H | |
417 | ||
418 | /* Define if your struct tm has tm_zone. */ | |
419 | #undef HAVE_TM_ZONE | |
420 | ||
421 | /* Define if you don't have tm_zone but do have the external array | |
422 | tzname. */ | |
423 | #undef HAVE_TZNAME | |
424 | ||
425 | /* Define if you have <unistd.h>. */ | |
426 | #undef HAVE_UNISTD_H | |
427 | ||
a4876ea4 KB |
428 | /* Define if you have <fnmatch.h>. */ |
429 | #undef HAVE_FNMATCH_H | |
430 | ||
bcf1fa6b RR |
431 | /* Define if utime(file, NULL) sets file's timestamp to the present. */ |
432 | #undef HAVE_UTIME_NULL | |
433 | ||
434 | /* Define if you have <vfork.h>. */ | |
435 | #undef HAVE_VFORK_H | |
436 | ||
437 | /* Define if you have the vprintf function. */ | |
438 | #undef HAVE_VPRINTF | |
439 | ||
440 | /* Define if you have the wait3 system call. */ | |
441 | #undef HAVE_WAIT3 | |
442 | ||
443 | /* Define as __inline if that's what the C compiler calls it. */ | |
444 | #ifndef __cplusplus | |
445 | #undef inline | |
446 | #endif | |
447 | ||
448 | /* Define if major, minor, and makedev are declared in <mkdev.h>. */ | |
449 | #undef MAJOR_IN_MKDEV | |
450 | ||
451 | /* Define if major, minor, and makedev are declared in <sysmacros.h>. */ | |
452 | #undef MAJOR_IN_SYSMACROS | |
453 | ||
454 | /* Define if on MINIX. */ | |
455 | #undef _MINIX | |
456 | ||
457 | /* Define to `int' if <sys/types.h> doesn't define. */ | |
458 | #undef mode_t | |
459 | ||
460 | /* Define if you don't have <dirent.h>, but have <ndir.h>. */ | |
461 | #undef NDIR | |
462 | ||
463 | /* Define if you have <memory.h>, and <string.h> doesn't declare the | |
464 | mem* functions. */ | |
465 | #undef NEED_MEMORY_H | |
466 | ||
467 | /* Define if your struct nlist has an n_un member. */ | |
468 | #undef NLIST_NAME_UNION | |
469 | ||
470 | /* Define if you have <nlist.h>. */ | |
471 | #undef NLIST_STRUCT | |
472 | ||
473 | /* Define if your C compiler doesn't accept -c and -o together. */ | |
474 | #undef NO_MINUS_C_MINUS_O | |
475 | ||
476 | /* Define to `long' if <sys/types.h> doesn't define. */ | |
477 | #undef off_t | |
478 | ||
479 | /* Define to `int' if <sys/types.h> doesn't define. */ | |
480 | #undef pid_t | |
481 | ||
482 | /* Define if the system does not provide POSIX.1 features except | |
483 | with this defined. */ | |
484 | #undef _POSIX_1_SOURCE | |
485 | ||
486 | /* Define if you need to in order for stat and other things to work. */ | |
487 | #undef _POSIX_SOURCE | |
488 | ||
489 | /* Define as the return type of signal handlers (int or void). */ | |
490 | #undef RETSIGTYPE | |
491 | ||
492 | /* Define if the setvbuf function takes the buffering type as its second | |
493 | argument and the buffer pointer as the third, as on System V | |
494 | before release 3. */ | |
495 | #undef SETVBUF_REVERSED | |
496 | ||
497 | /* Define SIZESOF for some Objects */ | |
498 | #undef SIZEOF_INT | |
499 | #undef SIZEOF_INT_P | |
500 | #undef SIZEOF_LONG | |
501 | ||
502 | /* Define to `unsigned' if <sys/types.h> doesn't define. */ | |
503 | #undef size_t | |
504 | ||
505 | /* If using the C implementation of alloca, define if you know the | |
506 | direction of stack growth for your system; otherwise it will be | |
507 | automatically deduced at run-time. | |
508 | STACK_DIRECTION > 0 => grows toward higher addresses | |
509 | STACK_DIRECTION < 0 => grows toward lower addresses | |
510 | STACK_DIRECTION = 0 => direction of growth unknown | |
511 | */ | |
512 | #undef STACK_DIRECTION | |
513 | ||
514 | /* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */ | |
515 | #undef STAT_MACROS_BROKEN | |
516 | ||
517 | /* Define if you have the ANSI C header files. */ | |
518 | #undef STDC_HEADERS | |
519 | ||
520 | /* Define on System V Release 4. */ | |
521 | #undef SVR4 | |
522 | ||
523 | /* Define on BSD */ | |
524 | #undef BSD | |
525 | ||
526 | /* Define on System V */ | |
527 | #undef SYSV | |
528 | ||
529 | /* Define if you don't have <dirent.h>, but have <sys/dir.h>. */ | |
530 | #undef SYSDIR | |
531 | ||
532 | /* Define if you don't have <dirent.h>, but have <sys/ndir.h>. */ | |
533 | #undef SYSNDIR | |
534 | ||
535 | /* Define if `sys_siglist' is declared by <signal.h>. */ | |
536 | #undef SYS_SIGLIST_DECLARED | |
537 | ||
538 | /* Define if you can safely include both <sys/time.h> and <time.h>. */ | |
539 | #undef TIME_WITH_SYS_TIME | |
540 | ||
541 | /* Define if your <sys/time.h> declares struct tm. */ | |
542 | #undef TM_IN_SYS_TIME | |
543 | ||
544 | /* Define to `int' if <sys/types.h> doesn't define. */ | |
545 | #undef uid_t | |
546 | ||
547 | /* Define for Encore UMAX. */ | |
548 | #undef UMAX | |
549 | ||
550 | /* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h> | |
551 | instead of <sys/cpustats.h>. */ | |
552 | #undef UMAX4_3 | |
553 | ||
554 | /* Define if you do not have <strings.h>, index, bzero, etc.. */ | |
555 | #undef USG | |
556 | ||
557 | /* Define if the system is System V Release 4 */ | |
558 | #undef SVR4 | |
559 | ||
560 | /* Define vfork as fork if vfork does not work. */ | |
561 | #undef vfork | |
562 | ||
563 | /* Define if the closedir function returns void instead of int. */ | |
564 | #undef VOID_CLOSEDIR | |
565 | ||
566 | /* Define if your processor stores words with the most significant | |
567 | byte first (like Motorola and SPARC, unlike Intel and VAX). */ | |
568 | #undef WORDS_BIGENDIAN | |
569 | ||
570 | /* Define if lex declares yytext as a char * by default, not a char[]. */ | |
571 | #undef YYTEXT_POINTER | |
572 | ||
573 | #endif /* __GTKSETUPH__ */ | |
574 | ||
575 | \f | |
576 | /* Leave that blank line there!! Autoheader needs it. | |
577 | If you're adding to this file, keep in mind: | |
578 | The entries are in sort -df order: alphabetical, case insensitive, | |
579 | ignoring punctuation (such as underscores). */ |