Sindbad~EG File Manager
�
�fc@s�dZddlZddlZdejd dZdejdejdd Zd
Zedd�Zd�ZdZ dZ
e
d�Zd�Ze
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#RtsyststdouttwritetDEF_TEMPLATEtclose(Rtexportstf((s,/usr/lib64/python2.7/Tools/scripts/nm2def.pytmain]s
t__main__(RRR((t__doc__RR%tversionR$tPC_PYTHONLIBRRRR(tSPECIALSR#R,t__name__(((s,/usr/lib64/python2.7/Tools/scripts/nm2def.pyt<module>$s
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists