diff options
author | Guido van Rossum <guido@python.org> | 1997-08-06 23:42:07 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-08-06 23:42:07 (GMT) |
commit | fb84255e6756adcb4c38e23d63c0f3c017012789 (patch) | |
tree | 9d3c1117729bb91258f2ead299a2a71ec9b35b18 /Modules | |
parent | b06df27843611d9b1a9988da7aacf01073a1fbc4 (diff) | |
download | cpython-fb84255e6756adcb4c38e23d63c0f3c017012789.zip cpython-fb84255e6756adcb4c38e23d63c0f3c017012789.tar.gz cpython-fb84255e6756adcb4c38e23d63c0f3c017012789.tar.bz2 |
New version of Vladimir Marangozov's AIX hacks -- simpler etc.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/Makefile.pre.in | 2 | ||||
-rw-r--r-- | Modules/Setup.in | 5 | ||||
-rwxr-xr-x | Modules/defmakexp_aix | 106 | ||||
-rwxr-xr-x | Modules/ld_so_aix | 5 | ||||
-rw-r--r-- | Modules/python.exp | 422 |
5 files changed, 4 insertions, 536 deletions
diff --git a/Modules/Makefile.pre.in b/Modules/Makefile.pre.in index 0abe6ef..213c74a 100644 --- a/Modules/Makefile.pre.in +++ b/Modules/Makefile.pre.in @@ -70,7 +70,7 @@ INSTALL_SHARED= ${INSTALL} -m 555 # === Variables that are customizable by hand or by inclusion in Setup === -LINKCC= $(PURIFY) $(CC) +LINKCC= $(PURIFY) @LINKCC@ INCLDIR= $(srcdir)/../Include CONFIGINCLDIR= .. CFLAGS= $(OPT) -I$(INCLDIR) -I$(CONFIGINCLDIR) $(DEFS) diff --git a/Modules/Setup.in b/Modules/Setup.in index bb06b11..3e886fc 100644 --- a/Modules/Setup.in +++ b/Modules/Setup.in @@ -51,11 +51,6 @@ # to ftp sources from elsewhere. -# -------> Uncomment this line if you are running AIX <---------- -# -------> and if you are building with shared libraries <---------- -#LINKCC= makexp_aix python.exp "" $(MYLIBS) $(ADDOBJS) ; $(CC) - - # Some special rules to define PYTHONPATH. # Edit the definitions below to indicate which options you are using. # Don't add any whitespace or comments! diff --git a/Modules/defmakexp_aix b/Modules/defmakexp_aix deleted file mode 100755 index 675602c..0000000 --- a/Modules/defmakexp_aix +++ /dev/null @@ -1,106 +0,0 @@ -#! /bin/sh -# -# ============================================================================ -# FILE: defmakexp_aix -# TYPE: standalone executable -# SYSTEM: AIX, Solaris -# -# DESCRIPTION: This script creates the default export list file "python.exp" -# for AIX platforms which has to be included in the Modules -# directory of the python source tree. -# It contains all global symbols defined in the following files: -# a) python.o -# b) ../libpython1.5.a -# -# The script should be run after a new unpack, configure & make -# of the python release, without any options nor changes to -# Modules/Setup.in (i.e. a default static build). -# -# USAGE: defmakexp_aix [path] -# -# where [path] points to the Python source root directory. -# ============================================================================ -# - - -# -# Check for AIX or Solaris -# -if (test `uname -s` != "AIX") && - (test `uname -s` != "IRIX") && - (test `uname -s` != "SunOS" || test `uname -r | cut -d. -f1` != "5"); then - echo "*** Make sure you are running AIX or Solaris" - exit 1 -fi - -if test "$*" = ""; then - echo "Usage: defmakexp_aix [path to python's source root directory]" - exit 1 -fi - -# -# Variables -# -VERSION=1.5 -ROOTDIR=$1 -MODSDIR=$ROOTDIR/Modules -PYTHDIR=$ROOTDIR/Python -OBJSDIR=$ROOTDIR/Objects -PARSDIR=$ROOTDIR/Parser - -OBJFILES="$MODSDIR/python.o" -LIBFILES="$ROOTDIR/libpython$(VERSION).a" -ALLFILES="$OBJFILES $LIBFILES" - -# -# Check for object and library files -# -for i in $ALLFILES; do - echo "checking for $i" - if test ! -f $i; then echo "*** Cannot find $i"; exit 1; fi -done - -# -# Setup the header of Modules/python.exp -# -pyexp=$MODSDIR/python.exp -echo "making export list $pyexp" -echo "#!" > $pyexp -echo "*" >> $pyexp -echo "* ========================================================= " >> $pyexp -echo "* This is the default export list of the python executable. " >> $pyexp -echo "* This file is used for the AIX platform ONLY. It provides " >> $pyexp -echo "* a list of all variables in the python executable that are " >> $pyexp -echo "* "exported" -- that is, which may be used by any extension " >> $pyexp -echo "* modules that are created. This file should be used as an " >> $pyexp -echo "* AIX "import" file when creating extension modules on that " >> $pyexp -echo "* platform. " >> $pyexp -echo "* " >> $pyexp -echo "* This file was generated from the default configuration of " >> $pyexp -echo "* the distribution (that is, from a build in which NONE of " >> $pyexp -echo "* the python Modules were built as shared libraries). " >> $pyexp -echo "* " >> $pyexp -echo "* THIS FILE IS OVERWRITTEN anytime the python executable is " >> $pyexp -echo "* re-built using a Modules/Setup file that was customized " >> $pyexp -echo "* to call for the building of some or all python Modules as " >> $pyexp -echo "* shared libraries and with the definition of LINKCC having " >> $pyexp -echo "* been uncommented. A new python.exp will be generated by " >> $pyexp -echo "* such a build; it will list ONLY the global symbols which " >> $pyexp -echo "* are defined in the statically-bound modules and libraries." >> $pyexp -echo "* ========================================================= " >> $pyexp -echo "*" >> $pyexp - -# -# Make the export list -# -if test `uname -s` = "AIX"; then - nmflags='-Bex' -else - nmflags='-p' -fi -: ${nm=nm} -$nm $nmflags $ALLFILES \ -| sed -e '/ [^BDT] /d' -e '/\./d' -e 's/.* [BDT] //' \ -| sort | uniq >> $pyexp - -echo "done" diff --git a/Modules/ld_so_aix b/Modules/ld_so_aix index 57fbdeb..7106c0b 100755 --- a/Modules/ld_so_aix +++ b/Modules/ld_so_aix @@ -20,6 +20,7 @@ # (*) -bE:[ExportFile] -bE:[OutputBaseName].exp # (*) -bI:[ImportFile] -bI:./python.exp # -bM:[ModuleType] -bM:SRE +# -bhalt:[Number] -bhalt:4 # -T[Number] -T512 # -H[Number] -H512 # -lm @@ -155,7 +156,7 @@ if test -z "$entry"; then entry=init`echo $filename | sed "s/module.*//"` fi -#echo "ld_so_aix: Debug info section +#echo "ld_so_aix: Debug info section" #echo " -> output file : $objfile" #echo " -> import file : $impfile" #echo " -> export file : $expfile" @@ -163,7 +164,7 @@ fi #echo " -> object files: $objs" #echo " -> CC arguments: $args" -CCOPT="-Wl,-e$entry -Wl,-bE:$expfile -Wl,-bI:$impfile" +CCOPT="-Wl,-e$entry -Wl,-bE:$expfile -Wl,-bI:$impfile -Wl,-bhalt:4" CCOPT="$CCOPT -Wl,-bM:SRE -Wl,-T512 -Wl,-H512 -lm -o $objfile" CCARGS="$args" diff --git a/Modules/python.exp b/Modules/python.exp deleted file mode 100644 index 0d72da9..0000000 --- a/Modules/python.exp +++ /dev/null @@ -1,422 +0,0 @@ -#! -* -* ========================================================= -* 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. -* ========================================================= -* -PyAST_Type -PyArg_Parse -PyArg_ParseTuple -PyArg_ParseTupleAndKeywords -PyArg_VaParse -PyBuiltin_GetDict -PyBuiltin_GetModule -PyBuiltin_Init -PyCFunction_GetFlags -PyCFunction_GetFunction -PyCFunction_GetSelf -PyCFunction_New -PyCFunction_Type -PyCObject_AsVoidPtr -PyCObject_FromVoidPtr -PyCObject_Import -PyCObject_Type -PyCallable_Check -PyClass_IsSubclass -PyClass_New -PyClass_Type -PyCode_Addr2Line -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_Format -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_GetRestricted -PyEval_RestoreThread -PyEval_SaveThread -PyExc_AccessError -PyExc_AssertionError -PyExc_AttributeError -PyExc_EOFError -PyExc_FloatingPointError -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_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 -PyInterpreterState_Delete -PyInterpreterState_New -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_AsUnsignedLong -PyLong_FromDouble -PyLong_FromLong -PyLong_FromString -PyLong_FromUnsignedLong -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 -PyMarshal_WriteObjectToString -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_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_GnuReadline -PyOS_InitInterrupts -PyOS_InterruptOccurred -PyOS_Readline -PyOS_ReadlineFunctionPointer -PyOS_ReadlineInit -PyOS_StdioReadline -PyOS_strtol -PyOS_strtoul -PyObject_CallFunction -PyObject_CallMethod -PyObject_CallObject -PyObject_Cmp -PyObject_Compare -PyObject_DelItem -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_DelItem -PySequence_DelSlice -PySequence_GetItem -PySequence_GetSlice -PySequence_In -PySequence_Index -PySequence_Length -PySequence_List -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_InternFromString -PyString_InternInPlace -PyString_Size -PyString_Type -PySys_GetFile -PySys_GetObject -PySys_Init -PySys_SetArgv -PySys_SetObject -PySys_SetPath -PyThreadState_Delete -PyThreadState_Get -PyThreadState_New -PyThreadState_Swap -PyToken_OneChar -PyToken_TwoChars -PyTokenizer_Free -PyTokenizer_FromFile -PyTokenizer_FromString -PyTokenizer_Get -PyTraceBack_Here -PyTraceBack_Print -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_FdIsInteractive -Py_FindMethod -Py_FindMethodInChain -Py_FlushLine -Py_GetArgcArgv -Py_GetBuildInfo -Py_GetCompiler -Py_GetCopyright -Py_GetExecPrefix -Py_GetPath -Py_GetPlatform -Py_GetPrefix -Py_GetProgramName -Py_GetVersion -Py_InitModule4 -Py_Initialize -Py_InteractiveFlag -Py_MakePendingCalls -Py_OptimizeFlag -Py_Setup -Py_SuppressPrintingFlag -Py_VaBuildValue -Py_VerboseFlag -_PyImport_Filetab -_PyImport_Inittab -_PyImport_LoadDynamicModule -_PyImport_MaxSuffixSize -_PyImport_Modules -_PyLong_New -_PyObject_New -_PyObject_NewVar -_PyParser_Grammar -_PyParser_TokenNames -_PyString_Resize -_PyTuple_Resize -_Py_EllipsisObject -_Py_MD5Final -_Py_MD5Init -_Py_MD5Update -_Py_NoneStruct -_Py_TrueStruct -_Py_ZeroStruct -_Py_abstract_hack -_Py_c_diff -_Py_c_neg -_Py_c_pow -_Py_c_prod -_Py_c_quot -_Py_c_sum -_Py_cobject_hack -_Py_re_compile_fastmap -_Py_re_compile_pattern -_Py_re_match -_Py_re_search -_Py_re_set_syntax -_Py_re_syntax -initarray -initaudioop -initbinascii -initcmath -initcrypt -initerrno -initfcntl -initgrp -initimageop -initimp -initmath -initmd5 -initoperator -initparser -initposix -initpwd -initregex -initrgbimg -initrotor -initselect -initsignal -initsocket -initstrop -initstruct -inittime -main |