Subject: dynamic loading on NeXTSTEP
From: horst@il.us.swissbank.com (Ted Horst)
To: python-list@cwi.nl
Date: Fri, 6 Sep 1996 15:02:26 GMT
X-Newsgroups: comp.lang.python
X-Organization: Swiss Bank Corporation CM&T Division


These are the steps that I took to get dynamic loading working under NeXTSTEP  
(3.3 m68k, i486) for Python1.4beta3 (including the Numeric stuff).   
Unfortunately, I don't know anything about the configure scripts, so I don't  
know how to fix these things properly, but this works for me.  I would be  
interested in how other people have done this as well.

/configure --prefix=/home/horst/Unix --with-readline=/home/horst/Unix/lib  
--with-thread --with-next-archs='m68k i486' --without-libm

edit Python/importdl.c
	under:
		#ifdef USE_RLD
	add:
		#define SHORT_EXT ".a"
		#define LONG_EXT "module.a"

edit Modules/Setup
	uncomment *shared*
	(other editing as desired)

make (just to create the Makefiles)

edit Makefiles
	change all AR= ar to AR = libtool
	change all $(AR) cr ... to $(AR) -o ...
	in Modules/Makefile change:
		libm =
		LDSHARED=	cc -r -nostdlib $(CFLAGS)
		CCSHARED=	-r -nostdlib
		LINKFORSHARED=	-u libsys_s

make "OPT=-O3 -fschedule-insns2 -ObjC -arch m68k -arch i486"


Ted Horst
(not speaking for Swissbank)


Subject: Re: dynamic loading on NeXTSTEP
From: horst@il.us.swissbank.com (Ted Horst)
To: python-list@cwi.nl
Date: Fri, 6 Sep 1996 16:27:32 GMT
X-Newsgroups: comp.lang.python
X-Organization: Swiss Bank Corporation CM&T Division

Ted Horst writes
> 
> These are the steps that I took to get dynamic loading working under NeXTSTEP
> (3.3 m68k, i486) for Python1.4beta3 (including the Numeric stuff).   

<SNIP>

> make "OPT=-O3 -fschedule-insns2 -ObjC -arch m68k -arch i486"
> 
> Ted Horst
> (not speaking for Swissbank)

Wow, I guess I was overzealous with the optimizations.  Upon further
testing, I discovered that the Numeric stuff did not work properly on
Intel machines, but did work properly on m68k.  I dropped the
optimization to -O2 (leaving out the -fschedule-insns2), and it seems
to behave properly on both architectures now.

So,

make "OPT=-O2 -ObjC -arch m68k -arch i486"

looks like a better choice.

Sorry for the misguidance,

Ted Horst
(still not speaking for SwissBank)
