HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/relenv/__pycache__/buildenv.cpython-310.pyc
o

;j1�@s�dZddlmZddlZddlZddlZddlmZmZm	Z	ddl
mZmZm
Z
mZmZer6ddlZddlZe��Zddd�Zddd�Z	dddd�Zddd�ZdS)zE
Helper for building libraries to install into a relenv environment.
�)�annotationsN)�
TYPE_CHECKING�Any�cast�)�MACOS_DEVELOPMENT_TARGET�
PlatformError�RelenvEnvironmentError�
get_toolchain�get_triplet�
subparsers�3argparse._SubParsersAction[argparse.ArgumentParser]�return�NonecCs0|jddd�}|jtd�|jddddd	�d
S)z�
    Setup the subparser for the ``relenv buildenv`` command.

    :param subparsers: The subparsers object returned from ``add_subparsers``
    :type subparsers: argparse._SubParsersAction
    �buildenvzRelenv build environment)�description)�funcz--jsonF�
store_truez1Output json to stdout instead of export statments)�default�action�helpN)�
add_parser�set_defaults�main�add_argument)rZ	subparser�r�C/opt/saltstack/salt/lib/python3.10/site-packages/relenv/buildenv.py�setup_parsers	
�r�boolcCs
ttd�S)z3
    True when we are in a relenv environment.
    �RELENV)�hasattr�sysrrrr�	is_relenv0s
r"�relenv_path�str | os.PathLike[str] | None�dict[str, str]cCs�|st�s	td��tdtdt�j�}tjdkrtd��t�}|s$td��t�}|�d|�d�}idd	�d
|��d|��d|��d
|�d|�d��d|�d|�d��dd|�d|�d|�d��dd|�d|�d|�d|�d|�d|�d�
�dd|�d|�d|�d��dd|�d|�d|�d��dd|�d|�d|�d|�d�	�d d	�d!|��d"|�d#��d$|�d��d%|�d&��d'd(|�d)|�d��}tjd*kr�t	|d+<|S),z4
    Relenv build environment variable mapping.
    zNot in a relenv environmentzstr | os.PathLike[str]r�linuxz#buildenv is only supported on Linux�/z/sysroot�RELENV_BUILDENV�1ZTOOLCHAIN_PATHZTRIPLETZRELENV_PATH�CCz/bin/z-gcc�CXXz-g++�CFLAGSz
--sysroot=z	 -fPIC -Iz/include -Iz/usr/includeZCXXFLAGSz/usr/include -Lz/lib -Lz/lib -Wl,-rpath,z/lib�CPPFLAGSZCMAKE_CFLAGS�LDFLAGSz -LZCRATE_CC_NO_DEFAULTS�OPENSSL_DIRZOPENSSL_INCLUDE_DIRz/includeZOPENSSL_LIB_DIRZPKG_CONFIG_PATHz/lib/pkgconfig�	RUSTFLAGSz-L z/lib -C link-arg=-Wl,-rpath,�darwinr)
r"r	rr!r�platformrr
rr)r#�	toolchain�tripletZsysroot�envrrrr7sx
������������������
�
�
��
r�args�argparse.NamespacecCs�tjtjd�t�st�d�t�d�tjdkrt�d�|j	r.t
t	�t���t�d�d}t��
�D]\}}|d|�d	|�d
�7}q5t
|�t�d�dS)z�
    The entrypoint into the ``relenv buildenv`` command.

    :param args: The args passed to the command
    :type args: argparse.Namespace
    )�levelzNot in a relenv environment.rr&z$buildenv is only supported on Linux.r�zexport z="z"
N)�logging�basicConfig�INFOr"�log�errorr!�exitr2�json�print�dumpsr�items)r6Zscript�k�vrrrrjs




r)rr
rr)rr)N)r#r$rr%)r6r7rr)�__doc__�
__future__rr@r:r!�typingrrr�commonrrr	r
r�argparse�os�	getLoggerr=rr"rrrrrr�<module>s 

�3