summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xModules/ld_so_aix58
-rwxr-xr-xModules/makexp_aix71
-rw-r--r--Modules/python.exp439
3 files changed, 568 insertions, 0 deletions
diff --git a/Modules/ld_so_aix b/Modules/ld_so_aix
new file mode 100755
index 0000000..77605c8
--- /dev/null
+++ b/Modules/ld_so_aix
@@ -0,0 +1,58 @@
+#!/bin/sh
+#
+# ========================================================================
+# FILE: ld_so_aix
+# TYPE: executable, uses makexp_aix
+# SYSTEM: AIX
+#
+# 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
+# 3. Uncommenting the "echo" lines gives detailed output
+# about the commands executed in the script.
+#
+# HISTORY: Jul-1-1996 -- Make sure to use /usr/ccs/bin/ld --
+# -- Use makexp_aix for the export list. --
+# Vladimir Marangozov (Vladimir.Marangozov@imag.fr)
+#
+# Manus Hand (mhand@csn.net) -- Initial code -- 6/24/96
+# ========================================================================
+#
+
+# Variables
+objfile=$1
+shift
+filename=`echo $objfile | sed -e "s:.*/\([^/]*\)$:\1:" -e "s/\..*$//"`
+entry=init`echo $filename | sed "s/module.*//"`
+ldopts="-e$entry -bE:$filename.exp -bI:python.exp -bM:SRE -T512 -H512 -lc"
+ldargs="$objfile $*"
+
+# Export list generation
+makexp_aix $filename.exp "$objfile" $objfile
+
+# Perform the link.
+#echo "ld $ldopts $ldargs"
+/usr/ccs/bin/ld $ldopts $ldargs
+
+# Delete the module's export list file.
+# Comment this line if you need it.
+rm -f $filename.exp
+
+# Remove the exec rights on the shared module.
+#echo chmod -x `echo $objfile | sed "s/\.o$/.so/"`
+chmod -x `echo $objfile | sed "s/\.o$/.so/"`
+
+
+
diff --git a/Modules/makexp_aix b/Modules/makexp_aix
new file mode 100755
index 0000000..733013f
--- /dev/null
+++ b/Modules/makexp_aix
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+# ===========================================================================
+# FILE: makexp_aix
+# TYPE: standalone executable
+# SYSTEM: AIX 3.2.5 and AIX 4
+#
+# DESCRIPTION: This script creates an export list of ALL global symbols
+# from a list of object or archive files.
+#
+# USAGE: makexp_aix <OutputFile> "<FirstLine>" <InputFile> ...
+#
+# where:
+# <OutputFile> is the target export list filename.
+# <FirstLine> is the path/file string to be appended
+# after the "#!" symbols in the first line of the
+# export file. Passing "" means deferred resolution.
+# <InputFile> is an object (.o) or an archive file (.a).
+#
+# HISTORY:
+# 1-Jul-1996 -- added header information
+# Vladimir Marangozov
+#
+# 28-Jun-1996 -- initial code
+# Vladimir Marangozov (Vladimir.Marangozov@imag.fr)
+# ==========================================================================
+
+# Variables
+expFileName=$1
+toAppendStr=$2
+shift; shift;
+inputFiles=$*
+automsg="Generated automatically by makexp_aix"
+notemsg="NOTE: lists _all_ global symbols defined in the above file(s)."
+curwdir=`pwd`
+
+# Create the export file and setup the header info
+echo "#!"$toAppendStr > $expFileName
+echo "*" >> $expFileName
+echo "* $automsg (`date -u`)" >> $expFileName
+echo "*" >> $expFileName
+echo "* Base Directory: $curwdir" >> $expFileName
+echo "* Input File(s) : $inputFiles" >> $expFileName
+echo "*" >> $expFileName
+echo "* $notemsg" >> $expFileName
+echo "*" >> $expFileName
+
+# Extract the symbol list using 'nm' which produces quite
+# different output under AIX 4 than under AIX 3.2.5.
+# The following handles both versions by using a common flagset.
+# Here are some hidden tricks:
+# 1. Use /usr/ccs/bin/nm. Relevant to AIX 3.2.5 which has
+# another version under /usr/ucb/bin/nm.
+# 2. Use the -B flag to have a standard BSD representation
+# of the symbol list on both AIX 3.2.5 and AIX 4. The "-B"
+# flag is missing in the AIX 3.2.5 online usage help of 'nm'.
+# 3. Use the -x flag to have a hex representation of the symbol
+# values. This fills the leading whitespaces on AIX 4,
+# thus simplifying the sed statement.
+# 4. Eliminate all entries except those with either "B", "D"
+# or "T" key letters. We are interested only in the global
+# (extern) BSS, DATA and TEXT symbols. With the same statement
+# we eliminate object member lines relevant to AIX 4.
+# 5. Eliminate entries containing a dot. We can have a dot only
+# as a symbol prefix, but such symbols are undefined externs.
+# 6. Eliminate everything including the key letter, so that we're
+# left with just the symbol name.
+#
+/usr/ccs/bin/nm -Bex $inputFiles \
+| sed -e '/ [^BDT] /d' -e '/\./d' -e 's/.* [BDT] //' \
+| sort | uniq >> $expFileName
diff --git a/Modules/python.exp b/Modules/python.exp
new file mode 100644
index 0000000..86fd6af
--- /dev/null
+++ b/Modules/python.exp
@@ -0,0 +1,439 @@
+#!
+*
+* =========================================================
+* This is the default export list of the python executable.
+* This file is used for the AIX platform ONLY. It provides
+* a list of all variables in the python executable that are
+* "exported" -- that is, which may be used by any extension
+* modules that are created. This file should be used as an
+* AIX "import" file when creating extension modules on that
+* platform.
+*
+* This file was generated from the default configuration of
+* the distribution (that is, from a build in which NONE of
+* the python Modules were built as shared libraries).
+*
+* THIS FILE IS OVERWRITTEN anytime the python executable is
+* re-built using a Modules/Setup file that was customized
+* to call for the building of some or all python Modules as
+* shared libraries and with the definition of LINKCC having
+* been uncommented. A new python.exp will be generated by
+* such a build; it will list ONLY the global symbols which
+* are defined in the statically-bound modules and libraries.
+* =========================================================
+*
+PyAccess_AsValue
+PyAccess_Clone
+PyAccess_FromValue
+PyAccess_HasValue
+PyAccess_SetOwner
+PyAccess_SetValue
+PyAccess_Type
+PyAnyMapping_Type
+PyAnyNumber_Type
+PyAnySequence_Type
+PyArg_GetChar
+PyArg_GetDoubleArray
+PyArg_GetFloat
+PyArg_GetFloatArray
+PyArg_GetLong
+PyArg_GetLongArray
+PyArg_GetLongArraySize
+PyArg_GetObject
+PyArg_GetShort
+PyArg_GetShortArray
+PyArg_GetShortArraySize
+PyArg_GetString
+PyArg_Parse
+PyArg_ParseTuple
+PyArgs_VaParse
+PyBuiltin_GetDict
+PyBuiltin_GetModule
+PyBuiltin_Init
+PyCFunction_GetFlags
+PyCFunction_GetFunction
+PyCFunction_GetSelf
+PyCFunction_New
+PyCFunction_Type
+PyCObject_AsVoidPtr
+PyCObject_FromVoidPtr
+PyCObject_Type
+PyCallable_Check
+PyClass_IsSubclass
+PyClass_New
+PyClass_Type
+PyCode_New
+PyCode_Type
+PyComplex_AsCComplex
+PyComplex_FromCComplex
+PyComplex_FromDoubles
+PyComplex_ImagAsDouble
+PyComplex_RealAsDouble
+PyComplex_Type
+PyDict_Clear
+PyDict_DelItem
+PyDict_DelItemString
+PyDict_GetItem
+PyDict_GetItemString
+PyDict_Items
+PyDict_Keys
+PyDict_New
+PyDict_Next
+PyDict_SetItem
+PyDict_SetItemString
+PyDict_Size
+PyDict_Type
+PyDict_Values
+PyErr_BadArgument
+PyErr_BadInternalCall
+PyErr_CheckSignals
+PyErr_Clear
+PyErr_Fetch
+PyErr_NoMemory
+PyErr_Occurred
+PyErr_Print
+PyErr_Restore
+PyErr_SetFromErrno
+PyErr_SetInterrupt
+PyErr_SetNone
+PyErr_SetObject
+PyErr_SetString
+PyEval_CallFunction
+PyEval_CallMethod
+PyEval_CallObject
+PyEval_CallObjectWithKeywords
+PyEval_EvalCode
+PyEval_GetBuiltins
+PyEval_GetFrame
+PyEval_GetGlobals
+PyEval_GetLocals
+PyEval_GetOwner
+PyEval_GetRestricted
+PyEval_RestoreThread
+PyEval_SaveThread
+PyExc_AccessError
+PyExc_AttributeError
+PyExc_ConflictError
+PyExc_EOFError
+PyExc_IOError
+PyExc_ImportError
+PyExc_IndexError
+PyExc_KeyError
+PyExc_KeyboardInterrupt
+PyExc_MemoryError
+PyExc_NameError
+PyExc_OverflowError
+PyExc_RuntimeError
+PyExc_SyntaxError
+PyExc_SystemError
+PyExc_SystemExit
+PyExc_TypeError
+PyExc_ValueError
+PyExc_ZeroDivisionError
+PyFile_AsFile
+PyFile_FromFile
+PyFile_FromString
+PyFile_GetLine
+PyFile_Name
+PyFile_SetBufSize
+PyFile_SoftSpace
+PyFile_Type
+PyFile_WriteObject
+PyFile_WriteString
+PyFloat_AsDouble
+PyFloat_AsString
+PyFloat_FromDouble
+PyFloat_Type
+PyFrame_BlockPop
+PyFrame_BlockSetup
+PyFrame_ExtendStack
+PyFrame_FastToLocals
+PyFrame_LocalsToFast
+PyFrame_New
+PyFrame_Type
+PyFunction_GetCode
+PyFunction_GetDefaults
+PyFunction_GetGlobals
+PyFunction_New
+PyFunction_SetDefaults
+PyFunction_Type
+PyGrammar_AddAccelerators
+PyGrammar_FindDFA
+PyGrammar_LabelRepr
+PyImport_AddModule
+PyImport_Cleanup
+PyImport_ExecCodeModule
+PyImport_FrozenModules
+PyImport_GetMagicNumber
+PyImport_GetModuleDict
+PyImport_ImportFrozenModule
+PyImport_ImportModule
+PyImport_Init
+PyImport_ReloadModule
+PyInstance_DoBinOp
+PyInstance_New
+PyInstance_Type
+PyInt_AsLong
+PyInt_FromLong
+PyInt_GetMax
+PyInt_Type
+PyList_Append
+PyList_AsTuple
+PyList_GetItem
+PyList_GetSlice
+PyList_Insert
+PyList_New
+PyList_Reverse
+PyList_SetItem
+PyList_SetSlice
+PyList_Size
+PyList_Sort
+PyList_Type
+PyLong_AsDouble
+PyLong_AsLong
+PyLong_FromDouble
+PyLong_FromLong
+PyLong_FromString
+PyLong_Type
+PyMapping_Check
+PyMapping_GetItemString
+PyMapping_HasKey
+PyMapping_HasKeyString
+PyMapping_Length
+PyMapping_SetItemString
+PyMarshal_Init
+PyMarshal_ReadLongFromFile
+PyMarshal_ReadObjectFromFile
+PyMarshal_ReadObjectFromString
+PyMarshal_WriteLongToFile
+PyMarshal_WriteObjectToFile
+PyMember_Get
+PyMember_Set
+PyMethod_Class
+PyMethod_Function
+PyMethod_New
+PyMethod_Self
+PyMethod_Type
+PyModule_GetDict
+PyModule_GetName
+PyModule_New
+PyModule_Type
+PyNode_AddChild
+PyNode_Compile
+PyNode_Free
+PyNode_ListTree
+PyNode_New
+PyNumber_Absolute
+PyNumber_Add
+PyNumber_And
+PyNumber_Check
+PyNumber_Coerce
+PyNumber_Divide
+PyNumber_Divmod
+PyNumber_Float
+PyNumber_Int
+PyNumber_Invert
+PyNumber_Long
+PyNumber_Lshift
+PyNumber_Multiply
+PyNumber_Negative
+PyNumber_Or
+PyNumber_Positive
+PyNumber_Power
+PyNumber_Remainder
+PyNumber_Rshift
+PyNumber_Subtract
+PyNumber_Xor
+PyOS_GetLastModificationTime
+PyOS_InitInterrupts
+PyOS_InterruptOccurred
+PyOS_Readline
+PyOS_strtol
+PyOS_strtoul
+PyObject_CallFunction
+PyObject_CallMethod
+PyObject_CallObject
+PyObject_Cmp
+PyObject_Compare
+PyObject_GetAttr
+PyObject_GetAttrString
+PyObject_GetItem
+PyObject_HasAttrString
+PyObject_Hash
+PyObject_IsTrue
+PyObject_Length
+PyObject_Print
+PyObject_Repr
+PyObject_SetAttr
+PyObject_SetAttrString
+PyObject_SetItem
+PyObject_Str
+PyObject_Type
+PyParser_AddToken
+PyParser_Delete
+PyParser_New
+PyParser_ParseFile
+PyParser_ParseString
+PyParser_SimpleParseFile
+PyParser_SimpleParseString
+PyRange_New
+PyRange_Type
+PyRun_AnyFile
+PyRun_File
+PyRun_InteractiveLoop
+PyRun_InteractiveOne
+PyRun_SimpleFile
+PyRun_SimpleString
+PyRun_String
+PySequence_Check
+PySequence_Concat
+PySequence_Count
+PySequence_GetItem
+PySequence_GetSlice
+PySequence_In
+PySequence_Index
+PySequence_Length
+PySequence_Repeat
+PySequence_SetItem
+PySequence_SetSlice
+PySequence_Tuple
+PySlice_GetIndices
+PySlice_New
+PySlice_Type
+PyString_AsString
+PyString_Concat
+PyString_ConcatAndDel
+PyString_Format
+PyString_FromString
+PyString_FromStringAndSize
+PyString_Size
+PyString_Type
+PySys_GetFile
+PySys_GetObject
+PySys_Init
+PySys_SetArgv
+PySys_SetObject
+PySys_SetPath
+PyToken_OneChar
+PyToken_TwoChars
+PyTokenizer_Free
+PyTokenizer_FromFile
+PyTokenizer_FromString
+PyTokenizer_Get
+PyTraceBack_Fetch
+PyTraceBack_Here
+PyTraceBack_Print
+PyTraceBack_Store
+PyTraceBack_Type
+PyTuple_GetItem
+PyTuple_GetSlice
+PyTuple_New
+PyTuple_SetItem
+PyTuple_Size
+PyTuple_Type
+PyType_Type
+Py_AddPendingCall
+Py_AtExit
+Py_BuildValue
+Py_Cleanup
+Py_CompileString
+Py_DebugFlag
+Py_Exit
+Py_FatalError
+Py_FindMethod
+Py_FindMethodInChain
+Py_FlushLine
+Py_GetArgcArgv
+Py_GetCompiler
+Py_GetCopyright
+Py_GetExecPrefix
+Py_GetPath
+Py_GetPlatform
+Py_GetPrefix
+Py_GetProgramName
+Py_GetVersion
+Py_InitModule4
+Py_Initialize
+Py_MakePendingCalls
+Py_ReturnNullError
+Py_SuppressPrintingFlag
+Py_VaBuildValue
+Py_VerboseFlag
+_PyImport_Filetab
+_PyImport_LoadDynamicModule
+_PyImport_MaxSuffixSize
+_PyLong_New
+_PyObject_New
+_PyObject_NewVar
+_PyParser_Grammar
+_PyParser_TokenNames
+_PyString_Resize
+_PySys_CheckInterval
+_PySys_ProfileFunc
+_PySys_TraceFunc
+_PyTuple_Resize
+_Py_EllipsesObject
+_Py_MD5Final
+_Py_MD5Init
+_Py_MD5Update
+_Py_NoneStruct
+_Py_TrueStruct
+_Py_ZeroStruct
+_Py_addarc
+_Py_addbit
+_Py_adddfa
+_Py_addfirstsets
+_Py_addlabel
+_Py_addstate
+_Py_c_diff
+_Py_c_neg
+_Py_c_pow
+_Py_c_prod
+_Py_c_quot
+_Py_c_sum
+_Py_delbitset
+_Py_findlabel
+_Py_mergebitset
+_Py_meta_grammar
+_Py_newbitset
+_Py_newgrammar
+_Py_pgen
+_Py_printgrammar
+_Py_printnonterminals
+_Py_re_compile_fastmap
+_Py_re_compile_pattern
+_Py_re_match
+_Py_re_match_2
+_Py_re_search
+_Py_re_search_2
+_Py_re_set_syntax
+_Py_re_syntax
+_Py_samebitset
+_Py_translatelabels
+import_modules
+initarray
+initaudioop
+initbinascii
+initcmath
+initcrypt
+initerrno
+initfcntl
+initgrp
+initimageop
+initimp
+initmath
+initmd5
+initoperator
+initposix
+initpwd
+initregex
+initrgbimg
+initrotor
+initselect
+initsignal
+initsocket
+initstrop
+initstruct
+inittab
+inittime
+main