diff options
author | Guy Harris <guy@alum.mit.edu> | 2013-08-12 01:20:20 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2013-08-12 01:20:20 +0000 |
commit | 829a4f213abd4908ef3ed5dd22bdfd850bd89edc (patch) | |
tree | 80b06cc3960a65ba3db3f168651a0ed5a3e5aa75 /epan/filesystem.c | |
parent | 237c5a7b606a54d9d25f0d6bd6a3e5efe48fe6a0 (diff) |
Add a comment discussing the layout of application bundles and the
directories we should - and perhaps should *not* - set up.
svn path=/trunk/; revision=51307
Diffstat (limited to 'epan/filesystem.c')
-rw-r--r-- | epan/filesystem.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/epan/filesystem.c b/epan/filesystem.c index 1208e821aa..50fe2592c9 100644 --- a/epan/filesystem.c +++ b/epan/filesystem.c @@ -247,6 +247,53 @@ static char *progfile_dir; /* * Directory of the application bundle in which we're contained, * if we're contained in an application bundle. Otherwise, NULL. + * + * Note: Table 2-5 "Subdirectories of the Contents directory" of + * + * https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1 + * + * says that the "Frameworks" directory + * + * Contains any private shared libraries and frameworks used by the + * executable. The frameworks in this directory are revision-locked + * to the application and cannot be superseded by any other, even + * newer, versions that may be available to the operating system. In + * other words, the frameworks included in this directory take precedence + * over any other similarly named frameworks found in other parts of + * the operating system. For information on how to add private + * frameworks to your application bundle, see Framework Programming Guide. + * + * so if we were to ship with any frameworks (e.g. Qt) we should + * perhaps put them in a Frameworks directory rather than under + * Resources. + * + * It also says that the "PlugIns" directory + * + * Contains loadable bundles that extend the basic features of your + * application. You use this directory to include code modules that + * must be loaded into your applicationbs process space in order to + * be used. You would not use this directory to store standalone + * executables. + * + * Our plugins are just raw .so/.dylib files; I don't know whether by + * "bundles" they mean application bundles (i.e., directory hierarchies) + * or just "bundles" in the Mach-O sense (which are an image type that + * can be loaded with dlopen() but not linked as libraries; our plugins + * are, I think, built as dylibs and can be loaded either way). + * + * And it says that the "SharedSupport" directory + * + * Contains additional non-critical resources that do not impact the + * ability of the application to run. You might use this directory to + * include things like document templates, clip art, and tutorials + * that your application expects to be present but that do not affect + * the ability of your application to run. + * + * I don't think I'd put the files that currently go under Resources/share + * into that category; they're not, for example, sample Lua scripts that + * don't actually get run by Wireshark, they're configuration/data files + * for Wireshark whose absence might not prevent Wireshark from running + * but that would affect how it behaves when run. */ static char *appbundle_dir; #endif |