summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xModules/make_aix_so122
1 files changed, 0 insertions, 122 deletions
diff --git a/Modules/make_aix_so b/Modules/make_aix_so
deleted file mode 100755
index 7093df2..0000000
--- a/Modules/make_aix_so
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/bin/ksh
-
-#################################
-# AIX shared library helper #
-#################################
-
-# ========================================================================
-# FILENAME: make_aix_so
-# MODULE FOR: standalone executable
-# PLATFORM: AIX (specific)
-# DESCRIPTION: Creates a shareable .o from a pre-compiled (unshared)
-# .o file
-# ARGUMENTS: Same as for "ld". The -bM, -bE, -bI, -H, -T, and -lc
-# arguments of "ld" will be supplied by this script.
-# NOTES: 1. Currently specific to the building of Python
-# interpreter shared objects, in that the entry
-# point name is hardcoded based on the object file
-# name (the "mathmodule.o" file will expect an
-# entry point of "initmath"). This could be remedied
-# by the support (or simple expectation) of a "-e"
-# argument.
-# 2. The resulting shared object file is left in the
-# current directory with the extension .so. It may
-# need to be changed to have a .o extension before
-# it is usable. (At least, Python expects it to
-# have the .o extension, but this is simply because
-# python wants it that way -- it COULD probably be
-# called anything at all).
-# HISTORY: Manus Hand (mhand@csn.net) -- Initial code -- 6/24/96
-# ========================================================================
-
-# ========================================================================
-# SET UP VARIABLES FOR USE IN THIS SCRIPT
-# ------------------------------------------------------------------------
-# Note that the setting of "entry" is Python-build specific. This script
-# is not general-purpose for that reason (although support for a "-e"
-# argument to it could be added, making it usable for any AIX application)
-# ========================================================================
-objfile=$1
-shift
-filename=`echo $objfile | sed -e "s:.*/\([^/]*\)$:\1:" -e "s/\..*$//"`
-entry=init`echo $filename | sed "s/module.*//"`
-ldargs="-e$entry -bE:$filename.exp -bM:SRE -T512 -H512 -lc $objfile $*"
-tmpfile=.py_$$
-
-# ======================================================================
-# EXPORT LIST GENERATION
-# ----------------------------------------------------------------------
-# For the Python modules, this COULD be much simpler, since we know the
-# only exported variable is ".$entry" ("entry" was assigned just above).
-# However, the approach used here for export file generation is more
-# generic and will support all .o's, not just properly formatted Python-
-# importable modules. Here is the rule: any "extern" symbol name which
-# appears in the # output of "nm" which IS resolved (i.e., which does
-# NOT have an address of zero) should go into the export list. Read
-# each line from a temp file containing these symbols. If it begins
-# with a dot, then add it to the list being built. If it does not, then
-# see if the same symbol, with the dot prepended, also appears in the
-# list. If so, DON'T include the current symbol (the one without the
-# prepended dot).
-# ======================================================================
-exec 3>&1 1>$filename.exp
-echo "#!$objfile"
-nm $objfile | grep "|extern|" | grep -v " 0|extern|" | cut -f1 -d"|" > $tmpfile
-while read line ; do
- echo "$line" | cut -c1 | read prefix
- if [ "$prefix" = "." ]; then
- echo "$line"
- else
- grep "^\.$line" $tmpfile > /dev/null
- if [ $? != 0 ]; then
- echo "$line" ; fi ; fi ; done < $tmpfile
-rm $tmpfile
-
-# ===============================================================
-# IMPORT LIST AND SHARED OBJECT FILE GENERATION
-# ---------------------------------------------------------------
-# Send all output to the to-be-built import file, starting it off
-# with the required "#!" line (which tells it in which loaded
-# binary these symbols are to be found at runtime). Then attempt
-# to ld the object using only the export list built above, and
-# hide the stderr output from "ld". If the ld fails with status
-# code 8 (and in the case of the Python modules, it always does,
-# since each need some symbols from the statically linked portion
-# of the interpreter), this is because an import list should be
-# given containing the symbols which are unresolved. The symbols
-# will have been sent to stdout as a side-effect of the failed ld
-# command, so by redirecting the stdout output, they will have
-# magically been put into the import file being built. Then we
-# simply call ld again with both the import and export lists.
-# ===============================================================
-exec 1>$filename.imp
-echo "#!python"
-ld $ldargs 2>/dev/null
-status=$?
-exec 1>&3
-
-# ================================================================
-# GUIDO: If you want to separate the generation of the import and
-# export lists from the creation of the .so file, here's where the
-# break should be made -- in my mail I mentioned that some of this
-# script belongs in the pre-static link stage of the make and some
-# belongs after it. As I said, here is the dividing line. Now,
-# of course, if there is a module which needs NO statically linked
-# symbols -- but then again, there can't be, because they all need
-# initmodule4() -- the "ld" which is ABOVE this line may actually
-# have succeeded, so the "if" below will fail, but of course,
-# if you separate the script at this point, you won't care about
-# such things.
-# ================================================================
-if [ $status = 8 ] ; then
- ld $ldargs $filename.imp ; fi
-
-# ======================================================================
-# GUIDO: Remember that at this point, the files (assuming you leave the
-# arguments to LDSHARED totally unchanged) are still named with a .so
-# extension. However, Python looks for them with a .o extension. You
-# can either change this in the core code (#ifdef _AIX) so that it looks
-# for an .so or you can do what I did, which is rename them to .o's when
-# they get mv'ed by the sharedinstall make rule. (Actually, I did it by
-# hand, but you'd do it in sharedinstall.
-# =======================================================================