libstupid ========= What is this? ------------- Some damned fool programmers apparently can't tell the difference between upper and lower case. This is annoying because it means that they constantly break compatibility with case-sensitive filesystems. Most of these idiots started on the Windows platform, which is basically always case insensitive. A few of them started on the Mac OS platform, prior to Mac OS X. One or two of them (particularly those working for a well-known game porting company beginning with the letter "A", and those working for another well-known gaming company beginning with the letter "V") are *so* aggressively stupid that they refuse to fix their bugs and instead try to claim that it isn't their problem. They may even *add* code to aggressively stop people from running their software on a case-sensitive filesystem, on the assumption that this is better than fixing their bugs. libstupid is a library for them. Or rather, to address their wanton idiocy. You use it via dyld interposing, and it replaces a set of path-based functions with modified versions that, on finding that the programmer is an idiot, will search for files with names that differ only in case. How do I use it? ---------------- Broadly speaking you do something like this: DYLD_INSERT_LIBRARIES=<path to libstupid.dylib> <executable path> So, perhaps you install libstupid.dylib in /usr/local/lib, after building it with Xcode 4, and then you want to run a program called Foo.app, written by a stupid person. So you start Terminal and enter DYLD_INSERT_LIBRARIES=/usr/local/lib/libstupid.dylib \ /Applications/Foo.app/Contents/MacOS/Foo A certain piece of software written by the aforementioned company starting with the letter "V", which itself starts with the letter "S", can be run using something like DYLD_INSERT_LIBRARIES=/usr/local/lib/libstupid.dylib \ /Applications/Something.app/Contents/MacOS/something.sh I can't get this working ------------------------ Then you probably shouldn't run it, and should instead complain at the idiots who are causing you a problem. I need help ----------- There is no help. I *am* an idiot programmer and I find your diatribe against me offensive ------------------------------------------------------------------------ Grow up and fix your bugs, and then I'll talk to you. Otherwise, you're too stupid to exist.