X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.py;h=210aad99b74ded4c40c79db60b90885ef4578bfe;hb=246baa610eecba28100fdc4f9363e38bc3735cbf;hp=a97fa6ad596bf335b0336aece4f3b777af5d88cc;hpb=8d9893ad502254b52b3d4fdb5a333ad7d355700b;p=lyx.git diff --git a/lib/configure.py b/lib/configure.py index a97fa6ad59..210aad99b7 100644 --- a/lib/configure.py +++ b/lib/configure.py @@ -158,17 +158,19 @@ def checkProg(description, progs, rc_entry = [], path = [], not_found = ''): ac_word = ac_prog.split(' ')[0] print '+checking for "' + ac_word + '"... ', path = os.environ["PATH"].split(os.pathsep) + path + extlist = [''] + if os.environ.has_key("PATHEXT"): + extlist = extlist + os.environ["PATHEXT"].split(os.pathsep) for ac_dir in path: - # check both ac_word and ac_word.exe (for windows system) - if os.path.isfile( os.path.join(ac_dir, ac_word) ) or \ - os.path.isfile( os.path.join(ac_dir, ac_word + ".exe") ): - print ' yes' - # write rc entries for this command - if len(rc_entry) == 1: - addToRC(rc_entry[0].replace('%%', ac_prog)) - elif len(rc_entry) > 1: - addToRC(rc_entry[idx].replace('%%', ac_prog)) - return [ac_dir, ac_word] + for ext in extlist: + if os.path.isfile( os.path.join(ac_dir, ac_word + ext) ): + print ' yes' + # write rc entries for this command + if len(rc_entry) == 1: + addToRC(rc_entry[0].replace('%%', ac_prog)) + elif len(rc_entry) > 1: + addToRC(rc_entry[idx].replace('%%', ac_prog)) + return [ac_dir, ac_word] # if not successful print ' no' # write rc entries for 'not found' @@ -202,7 +204,7 @@ def checkLatex(dtl_tools): \converter dvi2 dvi "python -tt $$s/scripts/clean_dvi.py $$i $$o" ""''' else: converter_entry = r'\converter latex dvi "%%" "latex"' - path, LATEX = checkProg('a Latex2e program', ['pplatex $$i', 'latex $$i', 'latex2e $$i'], + path, LATEX = checkProg('a Latex2e program', ['pplatex $$i', 'platex $$i', 'latex $$i', 'latex2e $$i'], rc_entry = [converter_entry]) # no latex if LATEX != '': @@ -288,7 +290,7 @@ def checkFormatEntries(dtl_tools): rc_entry = [r'\Format dvi dvi DVI D "%%" "" "document,vector"']) if dtl_tools: # Windows only: DraftDVI - addToRC(r'\Format dvi2 dvi DraftDVI "" "" "document,vector"') + addToRC(r'\Format dvi2 dvi DraftDVI "" "" "" "vector"') # checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'], rc_entry = [r'\Format html html HTML H "%%" "" "document"']) @@ -591,7 +593,9 @@ def processLayoutFile(file, bool_docbook, bool_linuxdoc): def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc): - ''' Explore the LaTeX configuration ''' + ''' Explore the LaTeX configuration + Return None (will be passed to sys.exit()) for success. + ''' print 'checking LaTeX configuration... ', # if --without-latex-config is forced, or if there is no previous # version of textclass.lst, re-generate a default file. @@ -630,8 +634,10 @@ def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc): tx.write(processLayoutFile(file, bool_docbook, bool_linuxdoc)) tx.close() print '\tdone' + if not check_config: + return None # the following will generate textclass.lst.tmp, and packages.lst.tmp - if check_config: + else: print '\tauto' removeFiles(['wrap_chkconfig.ltx', 'chkconfig.vars', \ 'chkconfig.classes', 'chklayouts.tex']) @@ -673,7 +679,8 @@ def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc): break; if re.match('^\+', line): print line, - fout.close() + # if the command succeeds, None will be returned + ret = fout.close() # # currently, values in chhkconfig are only used to set # \font_encoding @@ -695,6 +702,7 @@ def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc): and os.path.isfile('packages.lst.tmp') and len(open('packages.lst.tmp').read()) > 0: shutil.move('textclass.lst.tmp', 'textclass.lst') shutil.move('packages.lst.tmp', 'packages.lst') + return ret def checkModulesConfig(): @@ -839,6 +847,8 @@ Options: addToRC(r'\tex_expects_windows_paths %s' % windows_style_tex_paths) checkOtherEntries() # --without-latex-config can disable lyx_check_config - checkLatexConfig( lyx_check_config and LATEX != '', bool_docbook, bool_linuxdoc) + ret = checkLatexConfig(lyx_check_config and LATEX != '', + bool_docbook, bool_linuxdoc) checkModulesConfig() #lyx_check_config and LATEX != '') removeTempFiles() + sys.exit(ret)