Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/Tools/scripts/__pycache__/nm2def.cpython-33.pyc

�
��f�	c@s�dZddlZddlZdejdd�dZdejdejddZd	Zedd
d�Zdd�ZdZ	fZ
e
dd�Zdd�Ze
dkr�e�ndS(uEnm2def.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).

iNu	libpythoniu.auPythoniu.dllunm -p -g %suTuCuDc	Cs�tjt|�j�}dd�|D�}i}x�|D]}t|�dks9d|krcq9n|j�}t|�dkr�q9n|\}}}||kr�q9n||f||<q9W|S(NcSsg|]}|j��qS((ustrip(u.0us((u9/opt/alt/python33/lib64/python3.3/Tools/scripts/nm2def.pyu
<listcomp>.s	usymbols.<locals>.<listcomp>iu:i(uosupopenuNMu	readlinesulenusplit(	ulibutypesulinesusymbolsulineuitemsuaddressutypeuname((u9/opt/alt/python33/lib64/python3.3/Tools/scripts/nm2def.pyusymbols+s
usymbolscCs�g}g}xQ|j�D]C\}\}}|dkrK|jd|�q|jd|�qW|j�|jd�|j�dj|�ddj|�S(NuCuDu	uu DATA
u
(uCuD(uitemsuappendusortujoin(usymbolsudataucodeunameuaddrutype((u9/opt/alt/python33/lib64/python3.3/Tools/scripts/nm2def.pyuexport_list<s


uexport_listuEXPORTS
%s
cCsfx_t|j��D]K}|dd�dks^|dd�dkrHq||kr||=qqWdS(NiuPyiu_Py(ulistukeys(usymbolsuspecialsuname((u9/opt/alt/python33/lib64/python3.3/Tools/scripts/nm2def.pyu
filter_PythonUs
,u
filter_PythoncCsJtt�}t|�t|�}tj}|jt|�|j�dS(N(	usymbolsu	PYTHONLIBu
filter_Pythonuexport_listusysustdoutuwriteuDEF_TEMPLATEuclose(usuexportsuf((u9/opt/alt/python33/lib64/python3.3/Tools/scripts/nm2def.pyumain]s
	umainu__main__(uTuCuD(u__doc__uosusysuversionu	PYTHONLIBuPC_PYTHONLIBuNMusymbolsuexport_listuDEF_TEMPLATEuSPECIALSu
filter_Pythonumainu__name__(((u9/opt/alt/python33/lib64/python3.3/Tools/scripts/nm2def.pyu<module>$s