From 14421777fcb6164104a7aadf169c47e39c088c41 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 14 Sep 1994 14:06:46 +0000 Subject: Some new files... --- Misc/ACKS | 1 + Misc/HPUX-NOTES | 21 +++++++++++++++++++++ Misc/README | 6 +++++- Misc/dlMakefile | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Misc/indent.pro | 15 +++++++++++++++ 5 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 Misc/HPUX-NOTES create mode 100755 Misc/dlMakefile create mode 100644 Misc/indent.pro diff --git a/Misc/ACKS b/Misc/ACKS index 4536cab..0f7e36c 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -66,6 +66,7 @@ John Redford Timothy Roscoe Jim Roskind Kevin Samborn +Michael Scharf Fred Sells Denis Severson Michael Shiplett diff --git a/Misc/HPUX-NOTES b/Misc/HPUX-NOTES new file mode 100644 index 0000000..33ce4d4 --- /dev/null +++ b/Misc/HPUX-NOTES @@ -0,0 +1,21 @@ +Subject: Dynamic Linking under HP-UX +From: "C. Derek Fields" +Date: Thu, 08 Sep 94 14:14:07 -0400 + +There are two important points. First, the python executable must be +linked with the -E option to explicitly export all symbols. This +works with the vanilla interpreter, but I am not sure how friendly it +will be when I try to embed the interpreter in a larger application. +It may be necessary to hand tune the exports using the -e option. +Anyway, the additional flag to $(CC) is "-Wl,-E", which passes the -E +flag to the compiler. My link line (from an actual run) looks like +this: + +cc config.o -Wl,-E libModules.a ../Python/libPython.a ../Objects/libObjects.a ../Parser/libParser.a -lm -ldld -o python + +Second, the dynamic module must be compiled with the +z option to make +it position independent and then linked into a shared library: + +ld -b -o module.sl + +The -b tells the linker to produce a shared library. diff --git a/Misc/README b/Misc/README index 05a9351..75ce5bc 100644 --- a/Misc/README +++ b/Misc/README @@ -17,13 +17,17 @@ COPYRIGHT The Python copyright notice FAQ Frequently Asked Questions about Python (and answers) Fixcprt.py Fix the copyright message (a yearly chore :-) HISTORY News from previous releases -- oldest last +HPUX-NOTES Notes about dynamic loading under HP-UX +HYPE More hype about Python Makefile Used for administrative chores like cleaning up NEWS News for this release README The file you're reading now RFD Request For Discussion about a Python newsgroup cheatsheet Quick summary of Python by Ken Mannheimer +dlMakefile Generic Makefile for dynamically loadable modules by Ken M. fixfuncptrs.sh Shell script to fix function pointer initializers +indent.pro GNU indent profile approximating my C style (by Steen Lumholt) python-mode.el Emacs mode for editing Python programs (thanks, Tim!) -python.gif 4-level grayscale image of a Python (snake) +python.gif 4-level grayscale image of a Python snake python.man UNIX man page for the python interpreter renumber.py Script to renumber the sections in the FAQ diff --git a/Misc/dlMakefile b/Misc/dlMakefile new file mode 100755 index 0000000..0a69f2d --- /dev/null +++ b/Misc/dlMakefile @@ -0,0 +1,58 @@ +# Makefile to do general-coverage creation of dynamic-load libraries +# from python C-module sources. + +# $Id$ +# Created by Ken Manheimer, Jul-1994. ken.manheimer@nist.gov, 301 975-3539 + +# To configure for your site, select the appropriate SOURCES and macro +# def and assign the right path to the prefix macro. + +ARCH= sun4 +prefix= /depot/sundry +DESTLIB= $(prefix)/lib/python/$(ARCH) + +### For Sun Make; tested in v 1.0, under both SunOS 4.1.3 and SunOS 5.3: +#SOURCES:sh= echo *.c +### For Gnu Make; works at least for v 3.59: +SOURCES= $(wildcard *.c) + +# To configure for a new module: +# - put the module in the current directory +# - if it doesn't require any special compile or load options, that's it. +# - if it does require special compile or load options, create a macro +# composed of the (full) module name, sans suffix, plus 'CFLAGS' or +# 'LDFLAGS', depending on the compile phase in question. +metalbasemoduleCFLAGS= -I$(prefix)/include/mbase51 -DNO_TIMEB -DNO_USHORT -DNO_ENCRYPT +metalbasemoduleLDFLAGS= -L/depot/sundry/plat/lib -lmb +cursesmoduleCFLAGS= -I/usr/5include +cursesmoduleLDFLAGS= -L/usr/5lib -lcurses -ltermcap + +OBJS= $(SOURCES:.c=.so) + +CC= gcc +OPT= -g -O +DEFS= -DHAVE_CONFIG_H +INCLDIR= $(prefix)/include/python +CFLAGS= $(OPT) -I$(INCLDIR) -I.. $(DEFS) +LD= ld + +all: $(OBJS) + +%.o: %.c + $(CC) -c $(CFLAGS) $(CPPFLAGS) $($*CFLAGS) -o $@ $< + +%.so: %.o + $(LD) $(LDFLAGS) -o $@ $< $($*LDFLAGS) $(LOADLIBES) + +PHONY: echo # For testing derivation of $(OBJS). +echo: + @echo "(Set SOURCES def if you don't see a '.so' for each '.c' between the brackets)" + @echo :$(OBJS): + +PHONY : install +install: $(OBJS) + ls $(OBJS) | cpio -pm $(DESTLIB) + +PHONY : clean +clean: + rm -f *.o *.so diff --git a/Misc/indent.pro b/Misc/indent.pro new file mode 100644 index 0000000..3efac89 --- /dev/null +++ b/Misc/indent.pro @@ -0,0 +1,15 @@ +-sob +-nbad +-bap +-br +-nce +-ncs +-npcs +-i8 +-ip8 +-c25 +-T PyObject + + + + -- cgit v0.12