diff options
Diffstat (limited to 'Mac/Python/macshlglue.c')
-rw-r--r-- | Mac/Python/macshlglue.c | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/Mac/Python/macshlglue.c b/Mac/Python/macshlglue.c deleted file mode 100644 index d88d443..0000000 --- a/Mac/Python/macshlglue.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************** -Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam, -The Netherlands. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Stichting Mathematisch -Centrum or CWI or Corporation for National Research Initiatives or -CNRI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -While CWI is the initial source for this software, a modified version -is made available by the Corporation for National Research Initiatives -(CNRI) at the Internet address ftp://ftp.python.org. - -STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH -CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -******************************************************************/ - -/* -** Shared library initialization code. -** -** This code calls the MetroWerks shared-library initialization code -** and performs one extra step: it remembers the FSSpec of the file -** we are loaded from, so we can later call PyMac_AddLibResources to -** add the file to our resource file chain. -** -** This file is needed for PythonCore and for any dynamically loaded -** module that has interesting resources in its .slb file. -** Use by replacing __initialize in the "CFM preferences" init field -** by __initialize_with_resources. -*/ - -#include <Types.h> -#include <Quickdraw.h> -#include <SegLoad.h> -#include <CodeFragments.h> -#include <Files.h> -#include <Resources.h> - -/* Defined in the MSL runtime: */ -extern void __initialize(void); - -/* Defined either in macglue.c or in a MPW library: */ -extern pascal short PLstrcmp(const unsigned char *, const unsigned char *); - -/* -** Variables passed from shared lib initialization to PyMac_AddLibResources. -*/ -static int library_fss_valid; -static FSSpec library_fss; - -/* -** Routine called upon fragment load. We attempt to save the FSSpec from which we're -** loaded. We always return noErr (we just continue without the resources). -*/ -OSErr pascal -__initialize_with_resources(CFragInitBlockPtr data) -{ - /* Call the MW runtime's initialization routine */ - __initialize(); - - if ( data == nil ) return noErr; - if ( data->fragLocator.where == kDataForkCFragLocator ) { - library_fss = *data->fragLocator.u.onDisk.fileSpec; - library_fss_valid = 1; - } else if ( data->fragLocator.where == kResourceCFragLocator ) { - library_fss = *data->fragLocator.u.inSegs.fileSpec; - library_fss_valid = 1; - } - return noErr; -} - -/* -** compare two FSSpecs, return true if equal, false if different -** XXX where could this function live? (jvr) -*/ - -static int -FSpCompare(FSSpec *fss1, FSSpec *fss2) { - if (fss1->vRefNum != fss2->vRefNum) - return 0; - if (fss1->parID != fss2->parID) - return 0; - return !PLstrcmp(fss1->name, fss2->name); -} - -/* XXX can't include "macglue.h" somehow (jvr) */ -extern FSSpec PyMac_ApplicationFSSpec; /* Application location (from macargv.c) */ - -/* -** Insert the library resources into the search path. Put them after -** the resources from the application (which we assume is the current -** resource file). Again, we ignore errors. -*/ -void -PyMac_AddLibResources() -{ - if ( !library_fss_valid || FSpCompare(&library_fss, &PyMac_ApplicationFSSpec)) - return; - (void)FSpOpenResFile(&library_fss, fsRdPerm); -} - -/* -** Dummy main() program to keep linker happy: we want to -** use the MW AppRuntime in our shared library (better than building -** custom runtime libraries as we did before) but AppRuntime -** expects a main program. Note that it -*/ - -#pragma export off -int -main(int argc, char **argv) { - DebugStr("\pCannot happen: PythonCore dummy main called!"); -} -#pragma export reset |