ok

Mini Shell

Direktori : /lib64/python2.7/Tools/scripts/
Upload File :
Current File : //lib64/python2.7/Tools/scripts/nm2def.pyc

�
�fc@s�dZddlZddlZdejd dZdejdejdd	Zd
Zedd�Zd�ZdZ	dZ
e
d�Zd�Ze
dkr�e�ndS(sEnm2def.py

Helpers to extract symbols from Unix libs and auto-generate
Windows definition files from them. Depends on nm(1). Tested
on Linux and Solaris only (-p option to nm is for Solaris only).

By Marc-Andre Lemburg, Aug 1998.

Additional notes: the output of nm is supposed to look like this:

acceler.o:
000001fd T PyGrammar_AddAccelerators
         U PyGrammar_FindDFA
00000237 T PyGrammar_RemoveAccelerators
         U _IO_stderr_
         U exit
         U fprintf
         U free
         U malloc
         U printf

grammar1.o:
00000000 T PyGrammar_FindDFA
00000034 T PyGrammar_LabelRepr
         U _PyParser_TokenNames
         U abort
         U printf
         U sprintf

...

Even if this isn't the default output of your nm, there is generally an
option to produce this format (since it is the original v7 Unix format).

i����Nt	libpythonis.atPythoniis.dllsnm -p -g %stTtCtDc
Cs�tjt|�j�}g|D]}|j�^q }i}x�|D]}t|�dksEd|kroqEn|j�}t|�dkr�qEn|\}}}	||kr�qEn||f||	<qEW|S(Nit:i(tostpopentNMt	readlineststriptlentsplit(
tlibttypestlineststsymbolstlinetitemstaddressttypetname((s,/usr/lib64/python2.7/Tools/scripts/nm2def.pyR+s
cCs�g}g}xQ|j�D]C\}\}}|dkrK|jd|�q|jd|�qW|j�|jd�|j�dj|�ddj|�S(NRRs	ts DATA
s
(RR(Rtappendtsorttjoin(RtdatatcodeRtaddrR((s,/usr/lib64/python2.7/Tools/scripts/nm2def.pytexport_list<s


sEXPORTS
%s
cCsTxM|j�D]?}|d dksL|d dkr6q
||kr
||=q
q
WdS(NitPyit_Py(tkeys(RtspecialsR((s,/usr/lib64/python2.7/Tools/scripts/nm2def.pyt
filter_PythonUs
 cCsJtt�}t|�t|�}tj}|jt|�|j�dS(N(	Rt	PYTHONLIBR#RtsyststdouttwritetDEF_TEMPLATEtclose(Rtexportstf((s,/usr/lib64/python2.7/Tools/scripts/nm2def.pytmain]s
	t__main__(RRR((t__doc__RR%tversionR$tPC_PYTHONLIBRRRR(tSPECIALSR#R,t__name__(((s,/usr/lib64/python2.7/Tools/scripts/nm2def.pyt<module>$s 			

Zerion Mini Shell 1.0