
    5d
                     .    d dl Z dZd Zd Zi ZddZd ZdS )    N   c                 6    t           rt          |            d S d S N)verboseprint)strs    KD:\Marlin\Marlin-2.1.2.1\buildroot\share\PlatformIO\scripts\preprocessor.pyblabr
   	   s#     c




     c                 <   |pd}|t           v rt           |         S |                     d          }|                     |          }t          |           }d|z   dz   g}|d         D ]I}t	          |t
                    r)|d|d         z   dz   t          |d                   z   gz  }@|d|z   gz  }J|d	gz  }||gz   }d
                    |          }t          |           	 t          j
        |d                                          }n	#  i }Y nxY w|t           |<   |S )Nz8buildroot/share/PlatformIO/scripts/common-dependencies.hBUILD_FLAGS"
CPPDEFINESz-Dr   =r   z"-D__MARLIN_DEPS__ -w -dM -E -x c++ T)shell)preprocessor_cachegetParseFlagsExtendedsearch_compiler
isinstancetupler   joinr
   
subprocesscheck_output
splitlines)	envfnfilenamebuild_flagscxxcmdsdepcmddefine_lists	            r	   run_preprocessorr&      sM   OOH%%%!(++ ''-((K((55K
#

C9s?
C
 &  a 	D1Q4K#%AaD		122CCD1H:CC011CX<F
((6

CIII -c>>>IIKK#.x s    (D	 	Dc                 >   ddl m}m}  || d         | d                   }|dz  }	 |                     d          }t	          d           |S #  Y nxY wt
          s7|                                r#t	          d           |                                S d	}d
}| d         dk    rd}|dz  }t          || d         d         	                    |                    D ]}|
                    | d         dz             r}|                    |          D ]g}	t          |	                                          }t
          s8|                                r$t	          d           |                    |           |c c S |                     d          }t	          d|z             |S )Nr   )PathPurePathPROJECT_BUILD_DIRPIOENVz	.gcc_path
custom_gcczGetting compiler from envzGetting g++ path from cache:z*g++PLATFORMwin32;z.exeENVPATHPROJECT_PACKAGES_DIRz/**/binzCaching g++ for current envCXXz(Couldn't find a compiler! Fallback to %s)pathlibr(   r)   GetProjectOptionr
   nocacheexists	read_textmapsplitmatchglobr   resolve
write_textr   )
r   r(   r)   ENV_BUILD_PATHGCC_PATH_CACHEgccpathpath_separatorgcc_exeppathgpaths
             r	   r   r   7   s   &&&&&&&&T#12CMBBN#k1N&&|44()))  *~,,.. **+++''))) NG
:'!!6 T3u:f-33NCCDD  ;;s12Y>?? 	G,,  emmoo.. 7>#8#8#:#: 76777"--g666ggennG	3g	=>>>Ns   %A Ar   )r   r7   r   r
   r   r&   r    r   r	   <module>rH      sb       

       J' ' ' ' 'r   