summaryrefslogtreecommitdiffstats
path: root/Mac/Python/macshlglue.c
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Python/macshlglue.c')
-rw-r--r--Mac/Python/macshlglue.c37
1 files changed, 14 insertions, 23 deletions
diff --git a/Mac/Python/macshlglue.c b/Mac/Python/macshlglue.c
index 5db7567..58fe7fd 100644
--- a/Mac/Python/macshlglue.c
+++ b/Mac/Python/macshlglue.c
@@ -1,5 +1,15 @@
/*
-** Mac shared lib glue.
+** 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 <Quickdraw.h>
@@ -8,26 +18,6 @@
#include <Files.h>
#include <Resources.h>
-#ifdef __MWERKS__
-#ifdef PRE_CW8
-/*
-** This part is copied from MW Startup.c, which is
-** Copyright © 1993 metrowerks inc. All Rights Reserved.
-*/
-#include <setjmp.h>
-#include <stdio.h>
-
-/* void *__local_destructor_chain; /* chain of local objects that need destruction */
-
- /* public data */
-
-QDGlobals qd; /* define the Quickdraw globals here! */
-jmp_buf __program_exit; /* exit() does a longjmp() to here */
-void (*__atexit_hook)(void); /* atexit() sets this up if it is ever called */
-void (*___atexit_hook)(void); /* _atexit() sets this up if it is ever called */
-int __aborting; /* abort() sets this and longjmps to __program_exit */
-#endif
-#endif
/*
** Variables passed from shared lib initialization to PyMac_AddLibResources.
@@ -40,10 +30,11 @@ static FSSpec library_fss;
** loaded. We always return noErr (we just continue without the resources).
*/
OSErr pascal
-PythonCore_init(InitBlockPtr data)
+__initialize_with_resources(InitBlockPtr data)
{
/* Call the MW runtime's initialization routine */
-#ifdef __CFM68K__
+/* #ifdef __CFM68K__ */
+#if 1
__initialize();
#else
__sinit();