qLc@sdZdddfZdddfZdZddlZddlZddlZddlZddl Z ddl Zddl Zddl Zddl ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZd efd YZejjZejjZea ea!d e"fd YZ#ejj$a%d Z&gZ'dZ(dej)j*fdYZ+dej)j,fdYZ-dej)j,fdYZ.de"fdYZ/dZ0ej1dZ2ej1dZ3da4da5da6da7da8da9da:da;ea<gZ=de"fdYZ>e>a?dZ@dZAdZBde"fd YZCd!eCfd"YZDeDZEd#eCfd$YZFeFZGd%ZHd&ZId'ZJd(ZKd)ZLd*ZMd+ged,ZNd-ZOd.ZPed/ZQd0ZRd1ZSd2ZTd3ZUd4ZVdS(5sSCons.Script This file implements the main() function used by the scons script. Architecturally, this *is* the scons script, and will likely only be called from the external "scons" wrapper. Consequently, anything here should not be, or be considered, part of the build engine. If it's something that we expect other software to want to use, it should go in some other module. If it's specific to the "scons" script invocation, it goes here. iiiis>src/engine/SCons/Script/Main.py 5023 2010/06/14 22:05:46 sconsiNcCsddl}|jjjS(Ni(tSCons.Platform.win32tPlatformtwin32t parallel_msg(tSCons((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytfetch_win32_parallel_msgGs tSConsPrintHelpExceptioncBseZRS((t__name__t __module__(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRSst ProgressorcBsbeZdZdZdZdd edZdZdZ dZ dZ d Z d Z RS( tis$TARGETicCs|dkrtj}n||_||_||_||_t|rT||_nTt j j |ru|j |_n3|j |jdkr|j|_n |j|_dS(Ni(tNonetsyststdouttobjtfiletintervalt overwritetcallabletfuncRtUtiltis_Listtspinnertfindt target_stringtreplace_stringtstring(tselfRRRR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt__init__as        cCs*|jj||jj||_dS(N(Rtwritetflushtprev(Rts((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRss cCs]|jrYt|j}|jddkr8|d}n|jd|dd|_ndS(Nis s it R (s s (RtlenR(Rtlength((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyterase_previousxs   cCs(|j|j|jt|jdS(N(RRtcountR"(Rtnode((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRscCs|j|jdS(N(RR(RR&((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRscCs)|j|jj|jt|dS(N(RRtreplaceRtstr(RR&((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRscCsP|jd|_|j|jdkrL|jr<|jn|j|ndS(Nii(R%RRR$R(RR&((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt__call__s   N(RRRR%RR tFalseRRR$RRRR)(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR \s     cOst||adS(N(R tProgressObject(targstkw((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytProgressscCstS(N(t_BuildFailures(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytGetBuildFailuresst BuildTaskcBsheZdZeZdZdZdZdZddZ dZ dZ d Z d Z RS( sAn SCons build task.cCstd|dS(Nsscons: (tdisplay(Rtmessage((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR2scCs'|j|jdtjjj|S(Ni(tprogressttargetsRt Taskmastert OutOfDateTasktprepare(R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR8scCsStjjj|rtS|jrO|jdjrOtdt |j nt S(Nisscons: `%s' is up to date.( RR6R7t needs_executetTruettopR5t has_builderR2R(R&R*(R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR9s cCstr*tj}tdkr*|aq*ntjjj|tr~tj}|at ||a t j j d||ndS(Ns#Command execution time: %f seconds ( t print_timettimetfirst_command_startR RR6R7texecutetlast_command_endtcumulative_command_timeR R R(Rt start_timet finish_time((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR@s    icCstj|jd|jjr6tjjj|nM|jj rdtjjj ||a |a ntjjj ||a |a dS(Ni(R/tappendt exceptiontoptionst ignore_errorsRR6R7texecutedt keep_goingt fail_continuet exit_statustthis_build_statust fail_stop(Rtstatus((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt do_faileds   cCsF|jd}|jr/|j r/|j r/|js|jjd krjd|jj||jf}nd|jj|f}tj j d||j j stj j dntj j d yt jj||Wn$tk rn|jnX|jqBd |GHt jjj|nt jjj|dS( NitFiletDirtEntrys,Do not know how to make %s target `%s' (%s).s'Do not know how to make %s target `%s'.s scons: *** s Stop.s s#scons: Nothing to be done for `%s'.(sFilesDirsEntry(R5R;R<t side_effecttexistst __class__RtabspathR tstderrRRGRJRtErrorst BuildErrortKeyboardInterruptt exception_setRPR6R7RI(Rttterrstr((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRIs(       c Cs|j}y|\}}}Wn#tk rD|\}}d}nX|dkrytj\}}}Wqtk r|\}}d}qXn|dkr|}ntjj|}|js|j|_n|j}tjj |s|g}ndj t t |}d}tj j|||f|jdr|jdrt|jdttjjtjjf r|j\} } } tj| | | n5|rtrtj jdtj|dtj n|||f|_|j|j|jdS(Ns, sscons: *** [%s] %s iisscons: internal stack trace: R(texc_infot ValueErrorR R RRYtconvert_to_BuildErrorR&RRtjointmapR(RXRt isinstancetEnvironmentErrort StopErrort UserErrort tracebacktprint_exceptiontprint_stacktracetprint_tbRFRPt exitstatust exc_clear( RR_R]tettbt buildErrorR&tnodenameterrfmtttypetvaluettrace((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytfailedsH                cCs~|jrg|jd}x!|jjD]}|j|q#W|jjrg|j}|rdH|GHqdqgntjj j |dS(Ni( R;R5RGt tree_printersR2tdebug_includestrender_include_treeRR6R7t postprocess(RR]ttpttree((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRzs    cCs_tjjj||jr[|jjr[|jdj}|r[tj j d|q[ndS(sMake a task ready for executionisscons: N( RR6R7t make_readyt out_of_dateRGt debug_explaintexplainR R R(Rt explanation((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR}(s (RRt__doc__R+R4R2R8R9R@RPRIRvRzR}(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR1s       5 t CleanTaskcBsYeZdZddZdZdZeZejj j Z ejj j Z dZRS(sAn SCons clean task.icCsybtjj|ratjj|s9tjj|r`|rOtj|ntd|qatjj|rBtjj| rBxttj |D]|}tjj ||}tjj ||}tjj|r|rtj|ntd|q|j |||qW|r1tj |ntd|qad}t jj||nWnFt jjk r}|GHn)ttfk r}d|G|jGHnXdS(NsRemoved sRemoved directory s/Path '%s' exists but isn't a file or directory.sscons: Could not remove '%s':(tostpathtlexiststisfiletislinktunlinkR2tisdirtsortedtlistdirRbt fs_deletetrmdirRRYRgtIOErrortOSErrortstrerror(RRtpathstrtremoveRntpR R^((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR2s0$%cCs|jd}|js"|jrf|j rfx7|jD])}|js6tdt|q6q6Wn|tjj krtjj |}x-|D]"}|j |j t|dqWndS(NisRemoved ( R5R<RTtnocleanRR2R(Rt Environmentt CleanTargetsRRW(RttargetR]tfilestf((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytshowMs   cCs|jd}|js"|jr|j rxm|jD]_}y|j}Wn)tk rw}dt|G|jGHq6X|r6tdt|q6q6Wn|t j j krt j j |}x*|D]}|j |j t|qWndS(Nisscons: Could not remove '%s':sRemoved (R5R<RTRRRR(RR2RRRRRW(RRR]tremovedRnRR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRXs  cCsdS(N((R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR8zs(RRRRRRR@RR6tTasktexecuted_without_callbacksRItmake_ready_allR}R8(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR0s  t QuestionTaskcBs)eZdZdZdZdZRS(s+An SCons task for the -q (question) option.cCsdS(N((R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR8scCs\|jdjtjjks<|jrX|jdj rXdada|j j ndS(Nii( R5t get_stateRtNodet up_to_dateR;RURLRMttmtstop(R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR@s cCsdS(N((R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRIs(RRRR8R@RI(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR}s  t TreePrintercBs5eZeeedZdZdZdZRS(cCs||_||_||_dS(N(tderivedtpruneRO(RRRRO((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRs  cCs |jS(N(t all_children(RR&((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytget_all_childrenscCs2|jd}g|D]}|jr|^qS(N(RR R<(RR&tchildrentx((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytget_derived_childrensc CsY|jr|j}n |j}|jr-dp0d}tjj||d|jd|dS(NiiRtshowtags(RRRRORRt print_treeR(RR]RR ((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR2s    (RRR*RRRR2(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRs  cCstjjdS(Ni(R tversiontsplit(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytpython_version_stringscCs |tkS(N(tunsupported_python_version(R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytpython_version_unsupportedscCs |tkS(N(tdeprecated_python_version(R((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytpython_version_deprecatedstFakeOptionParsercBs6eZdZdefdYZeZdZRS(s A do-nothing option parser, used for the initial OptionsParser variable. During normal SCons operation, the OptionsParser is created right away by the main() function. Certain tests scripts however, can introspect on different Tool modules, the initialization of which can try to add a new, local option to an otherwise uninitialized OptionsParser object. This allows that introspection to happen without blowing up. tFakeOptionValuescBseZdZRS(cCsdS(N(R (Rtattr((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt __getattr__s(RRR(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRscOsdS(N((RR,R-((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytadd_local_options(RRRtobjectRtvaluesR(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRs  cOs/d|krd|d|jj| tg| D]} | d^qoxIt|j D]5}||| |g}|jj| t|qWdS( NiisObject counts: s s %s R s %7ss %7dtClass(R R( RRRR"RbRREttupleRtkeys(Rt stats_tableR R]tntitctpretposttltfmt1tfmt2RRtktr((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRs,$    11(RRRR(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRs tMemStatscBseZdZdZRS(cCs-|jj||jjtjjdS(N(RRERRRtmemory(RR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRscCsJd}x=t|j|jD]&\}}|jj|||fqWdS(NsMemory %-32s %12d (tzipRRRR(RtfmtRR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyR s"(RRRR(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRs cCs]tj\}}}tj||}x"|D]}tjj|dq.WtjddS(sUHandle syntax errors. Print out a message and show where the error occurred. s iN(R R_Rhtformat_exception_onlyRXRtexit(RntetypeRtRotlinestline((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_scons_syntax_errors  cCsT|jx?|D]7}|d}|jtjdtjdkr|SqW|dS(s Find the deepest stack frame that is not part of SCons. Input is a "pre-processed" stack trace in the form returned by traceback.extract_tb() or traceback.extract_stack() iRi(treverseRRtsep(Rotframetfilename((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytfind_deepest_user_frames    #cCstj\}}}tr1tj|||nttj|\}}}}tjjd|tjjd|||ftj ddS(sHandle user errors. Print out a message and a description of the error, along with the line number and routine where it occured. The file and line number will be the deepest stack frame that is not part of SCons itself. s scons: *** %s sFile "%s", line %d, in %s iN( R R_RjRhRiRt extract_tbRXRR(RnRRtRoRtlinenotroutinetdummy((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_scons_user_error/s!cCsktj\}}}ttj|\}}}}tjjd|tjjd|||fdS(sHandle user warnings. Print out a message and a description of the warning, along with the line number and routine where it occured. The file and line number will be the deepest stack frame that is not part of SCons itself. s scons: warning: %s sFile "%s", line %d, in %s N(R R_RRhRRXR(RnRRtRoRRRR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_scons_user_warning>s!cCsZttj\}}}}tjjd|jdtjjd|||fdS(sSlightly different from _scons_user_warning in that we use the *current call stack* rather than sys.exc_info() to get our stack trace. This is used by the warnings framework to print warnings.s scons: warning: %s isFile "%s", line %d, in %s N(RRht extract_stackR RXRR,(RnRRRR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_scons_internal_warningIscCs dGHtjtjddS(sHandle all errors but user errors. Print out a message telling the user what to do in this case and print a normal trace. sinternal erroriN(Rht print_excR R(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_scons_internal_errorQs R cCs|sdddg}nx|D]|}tjj||}tjj|rP|Stjj|sx6|D]+}tjjtjj||ri|SqiWqqWdS(sThis function checks that an SConstruct file exists in a directory. If so, it returns the path of the file. By default, it checks the current directory. t SConstructt Sconstructt sconstructN(RRRbRtisabsR (tdirnamet repositoriestfilelistRtsfiletrep((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_SConstruct_existsYs  !cCs|j}d|kr`t}t}|r:tjtjq`dd}tjj tjj |nd|kr|j j t dtnd|k|_d|krdtjj_nd|k|_d |kad |krtjtjnd |kad |krd tj_nd|kr+d and|krS|j j t dtnd|krhd and|kr|j j t ndS(NR%s2--debug=count is not supported when running SCons s7 with the python -O option or optimized (.pyo) modules.tdtreeRRtfindlibstincludestmemoizerRtobjectstpresubit stacktracetstreeROR>R|(tdebugR*R:t count_statsRR R RtWarningstwarntNoObjectCountWarningRwRERRtScannertProgtprint_find_libsRxtprint_memoizert memory_statst print_objectstActiontprint_actions_presubRjR=(RGt debug_valuest enable_counttmsg((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_set_debug_valuesjs:              cCsDd}x7|D]/}tjj|r.|}q |d|}q W|S(Nt.t/(RRR(tplistRtd((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt _create_paths   cBsI|re}n d}e}ejj|j|}ejj|sh|rdejjd|ndSd}d}d}ejj |ge je _ejj||}ejj||}ejj|rddl } zy| j ||g\} } } ye j d} Wn5ek rM}d }ejj|e|nXy| | jUWnIek rsn6ek r}d }e jj|e|nXWnIek rn6ek r}d }e jj|e|nXWd| r | jnXnejj|rEejjjejj |ndS( sLoad the site_scons dir under topdir. Adds site_scons to sys.path, imports site_scons/site_init.py, and adds site_scons/site_tools to default toolpath.t site_sconsssite dir %s not found.Ns site_init.pyt site_initt site_toolsis SCons.Scripts:cannot import site_init.py: missing SCons.Script module %ss%*** Error loading site_init file %s: s%*** cannot import site init file %s: (R:R*RRRbRURRYRgRWR timpt find_moduletmodulest Exceptiont InternalErrortreprt__dict__R[RXRt ImportErrortclosetTooltDefaultToolpathRE(ttopdirt site_dir_nameterr_if_not_foundtsite_dirtsite_init_filenametsite_init_modnametsite_tools_dirnametsite_init_filetsite_tools_dirR&tfptpathnamet descriptiontmRnR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_load_site_scons_dirsX        cCsh|j}|j}|rB|ddkr5d|}n||}nd}||||j|j|jfS(NiRs %s: v%s, %s, by %s on %s (t __version__t __build__t__date__t __developer__t __buildsys__(RtmoduleRtbuildR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytversion_strings    c Cs|j}tjjtjjg}x|D]}tjj|q(Wttj_tjj|j y |j }Wnt k rnXt j |x't D]\}}tjj ||qW|j rtjjj|j n|jrtjjt|j}n tj}d}|jrd}xb|rt||j|j rtjj|\}} | r{tjj| |}q&d}q&Wn|r|tjkrtd|ytj|Wqt k rt!j"j#d|qXntjjj$} x|jD]} | j%| qWg} |jr?| j |jn| sytd|jd|j} | ry| j&| qyn| s|j'rt(ntj)j*dn| dd kr| j}n| j+| dj,}| j-|t.||j/tj_/|j0tj_0|j1tj_1|j2rCd tj3_4dtj5_6n|j7r[d tj3_4n|j8rwtj3j9d n|j'rtj3j9d ntj3j:|j;tj3j<t=|j>s|j?rt=j@dn|jArtB||jAn|jCs tB|n|jDr)|jDt!jt!_ng}g}xP|jED]E}|d d kr[q?nd |krw|j&|q?|j&|q?WtjFjG||jHtjFjI|tJt!jKd st!jKjL rtjMjNt!jKt!_KntJt!j"d st!j"jL r+tjMjNt!j"t!_"ntOj&dtPj&dt=dtQjQ}y+x$| D]}tjFjRjR| |qeWWn@tj)jSk r}t!j"j#d|daTt!jUtTnXtQjQ|aVt=dtOj&dtPj&dtjj|j tWrFdd}tjj tjjX|tYn|j'sktj3jZtj[j\nt]|_^|j_|jE||j'rtjFj`}|dkrt(n |GHdGHdaTdS| j| jatjjjbd |j/tj_/tjjjc|jd| je|jf|jgtjh_i|jjrM|jjtjjj+_jntjkjl}|jmrtjFjnjo| tp|||n$tq| |||}|sdaTndS(NRR sscons: Entering directory `%s's!Could not change directory to %s RRsNo SConstruct file found.it-itcleanthelpt=tisattys before reading SConscript files:spre-treads#scons: Reading SConscript files ...sscons: *** %s Stop. is%scons: done reading SConscript files.safter reading SConscript files:spost-s/Support for pre-2.4 Python (%s) is deprecated. s> If this will cause hardship, contact dev@scons.tigris.org.s1Use scons -H for help about command-line options.(spre-sread(spost-sread(rRRRtWarningOnByDefaulttDeprecatedWarningtenableWarningClassRt _warningOuttprocess_warn_stringsRtdelayed_warningstAttributeErrortextendt diskcheckRtFSt set_diskcheckt directoryRRRWR"tgetcwdR tclimb_upRt repositoryRRRbR2tchdirRR RXRtget_default_fst RepositoryRERIRRYRgRQtdirtset_SConstruct_dirRtimplicit_cachetimplicit_deps_changedtimplicit_deps_unchangedtno_exectSConftdryrunRtexecute_actionstquestionRHt SetBuildTypet SetCacheModetconfigtSetProgressDisplaytprogress_displayt no_progresstsilenttset_modeR4R>t no_site_dirt include_dirtlargstScriptt _Add_Targetstrargst_Add_ArgumentsthasattrR RKRt UnbufferedRRR>t _SConscriptRfRLRtsconscript_timeRtPythonVersionWarningRtCreateConfigHBuildertDefaultstDefaultEnvironmentR*tpreserve_unknown_optionst parse_argst help_texttTopt save_stringst set_duplicatet duplicatet set_max_driftt max_driftt stack_sizetJobtexplicit_stack_sizet md5_chunksizeRtplatform_modulet interactivet InteractivetinteractRt_build_targets(tparserRGtdefault_warningstwarningtdwt warning_typeR3t script_dirt target_topt last_parttfsRtscriptsRR!R5t xmit_argstaRCtscriptRnRRtplatformtnodes((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt_mains                              ##                  cCspdatj|jp|j tj|j |j tj_|j tj_ |j tj j _ |j tj_|jrtj j j|jn|j tj_|jtj_|jtj_|jtj_|j rtjt_n tjt_d}|stjjtjjkrG|r8|j |}d}ntjj}nd}|r|j!dkrz|j |}|}q|j!dkrd}d}q|j!dkr|j |}|d}t"t#|tjj$}|tjj$(d}d}qntjj%||}|s+t&j'j(ddS|||d}gt)||D]}|rM|^qM} t*} d} d } |j+rd } nd } |j,rt-} ny:|j.rt} d } d } |j+rd} qd} nWnt/k rnXt0| _1|j2r d}n d}|j3dkr1t&j4}n$|j3rOt5|j3d}nd}tj6j6| | ||}|t*_7|j8a8tj9j:t8|}t8dkrd}|j8dkrdd}nt&j;dkrt<}n|rtj=j>tj=j?|qnt@jAdtBjAd||| | d}td| |jCd|t@jAdtBjAd | S(!NiiiicSs?t|dr7|jdk r7|jj}||kSdSdS(Ntcwdi(RxRR tsrcnode(RRR((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt check_dir!s sGscons: *** No targets specified and no Default() targets found. Stop. cSst|tjjr|}nd}|dkr9d}ntjjtjt|}x6tjj D](}||d|}|dk rgPqgqgW|dkr|j |d|dd}n|r |j | r t|tjj j r|j |r|}q d}n|S(NR tcurdirRXtcreatei(RdRRR RRRbRYR(targ2nodes_lookupsRStis_underRVRR(RtltoptttopRR&Rtlookup((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyRS5s"  !  '  sBuilding targets ...sdone building targets.s5done building targets (errors occurred during build).s&building terminated because of errors.sCleaning targets ...sdone cleaning targets.s5done cleaning targets (errors occurred during clean).s&cleaning terminated because of errors.cSstddl}|}x[tt|dddD]=}t|j|d}||||||<||RCRRBRAR R?R{( RtpartsRRRRRR Rnt total_timetctt scons_time((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pytmainsx                           (WRRRt __revision__t SCons.compatRRR R>RhtSCons.CacheDirt SCons.DebugtSCons.DefaultstSCons.Environmentt SCons.Errorst SCons.Jobt SCons.Nodet SCons.Node.FSt SCons.SConft SCons.ScripttSCons.Taskmastert SCons.UtiltSCons.WarningstSCons.Script.InteractiveRR)RRR2t DisplayEngineRmR R?RARR tNullR+R.R/R0R6R7R1t AlwaysTaskRRRRt version_infoRRRRRjR=R{RBRLRMRRRRRRRRRRRRRRRRRRRRRR"R>RFRRRR(((sa/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/Script/Main.pyt s                    4  M             ' >   %