diff --git a/development/scons/SConscript b/development/scons/SConscript index 607826484c..89718110c6 100644 --- a/development/scons/SConscript +++ b/development/scons/SConscript @@ -12,10 +12,29 @@ import os, sys Import('env') +targets = env['BUILD_TARGETS'] + +if targets == [] or 'lyx' in targets: + targets += ['supports', 'mathed', 'insets', 'frontends', \ + 'graphics', 'controllers', env['frontend'], 'lyx'] + if env['INCLUDED_BOOST']: + targets.append('boost') +elif 'client' in targets: + targets.append('supports') + if env['INCLUDED_BOOST']: + targets.append('boost') +elif 'tex2lyx' in targets: + targets.append('supports') + if env['INCLUDED_BOOST']: + targets.append('boost') + +# unique target in the set (then I will need python 2.4) +#targets = set(targets) + # # boost libraries # -if env['INCLUDED_BOOST']: +if env['INCLUDED_BOOST'] or 'boost' in targets: env.BuildDir('$BUILDDIR/boost', '$TOP_SRC_DIR/boost/libs', duplicate = 0) boostenv = env.Copy() @@ -75,7 +94,10 @@ if env['INCLUDED_BOOST']: zlib.cpp ''') ] ) - + Alias('boost', filesystem) + Alias('boost', regex) + Alias('boost', signals) + Alias('boost', iostreams) # # Now, src code under src/ @@ -87,305 +109,324 @@ env.BuildDir('$BUILDDIR/common', '$TOP_SRC_DIR/src', duplicate = 0) # src/support # -print "Processing files in src/support" - -env.Append(CPPPATH = ['.']) - -env['SUBST_KEYS'] = ['LYX_DIR', 'LOCALEDIR', 'TOP_SRCDIR', 'PROGRAM_SUFFIX'] -env.substFile('$BUILDDIR/common/support/package.C', '$TOP_SRC_DIR/src/support/package.C.in') - -supports = env.StaticLibrary( - target = '$LOCALLIBPATH/supports', - source = ['$BUILDDIR/common/support/%s' % x for x in Split(''' - FileMonitor.C - abort.C - chdir.C - convert.C - copy.C - environment.C - filefilterlist.C - filename.C - filetools.C - forkedcall.C - forkedcallqueue.C - forkedcontr.C - fs_extras.C - getcwd.C - kill.C - lstrings.C - lyxtime.C - lyxsum.C - mkdir.C - os.C - path.C - package.C - rename.C - socktools.C - systemcall.C - tempname.C - userinfo.C - unlink.C - ''')] -) +if 'supports' in targets: + print "Processing files in src/support" + + env.Append(CPPPATH = ['.']) + + env['SUBST_KEYS'] = ['LYX_DIR', 'LOCALEDIR', 'TOP_SRCDIR', 'PROGRAM_SUFFIX'] + env.substFile('$BUILDDIR/common/support/package.C', '$TOP_SRC_DIR/src/support/package.C.in') + + supports = env.StaticLibrary( + target = '$LOCALLIBPATH/supports', + source = ['$BUILDDIR/common/support/%s' % x for x in Split(''' + FileMonitor.C + abort.C + chdir.C + convert.C + copy.C + environment.C + filefilterlist.C + filename.C + filetools.C + forkedcall.C + forkedcallqueue.C + forkedcontr.C + fs_extras.C + getcwd.C + kill.C + lstrings.C + lyxtime.C + lyxsum.C + mkdir.C + os.C + path.C + package.C + rename.C + socktools.C + systemcall.C + tempname.C + userinfo.C + unlink.C + ''')] + ) + Alias('supports', supports) # # src/mathed # - -print "Processing files in src/mathed" - -mathed = env.StaticLibrary( - target = '$LOCALLIBPATH/mathed', - source = ["$BUILDDIR/common/mathed/%s" % x for x in Split(''' - textpainter.C - math_amsarrayinset.C - math_arrayinset.C - math_atom.C - math_autocorrect.C - math_biginset.C - math_binominset.C - math_boldsymbolinset.C - math_boxinset.C - math_boxedinset.C - math_braceinset.C - math_casesinset.C - math_charinset.C - math_colorinset.C - math_commentinset.C - math_data.C - math_decorationinset.C - math_deliminset.C - math_dfracinset.C - math_diffinset.C - math_diminset.C - math_dotsinset.C - math_envinset.C - math_extern.C - math_exfuncinset.C - math_exintinset.C - math_factory.C - math_fboxinset.C - math_frameboxinset.C - math_fontinset.C - math_fontoldinset.C - math_fracinset.C - math_fracbase.C - math_gridinset.C - math_hullinset.C - math_inset.C - math_kerninset.C - math_lefteqninset.C - math_liminset.C - math_macro.C - math_macroarg.C - math_macrotemplate.C - math_macrotable.C - math_makeboxinset.C - math_mathmlstream.C - math_matrixinset.C - math_nestinset.C - math_numberinset.C - math_oversetinset.C - math_parinset.C - math_parser.C - math_phantominset.C - math_rootinset.C - math_scriptinset.C - math_sizeinset.C - math_spaceinset.C - math_splitinset.C - math_sqrtinset.C - math_stackrelinset.C - math_streamstr.C - math_stringinset.C - math_substackinset.C - math_support.C - math_symbolinset.C - math_tabularinset.C - math_tfracinset.C - math_unknowninset.C - math_undersetinset.C - math_xarrowinset.C - math_xymatrixinset.C - command_inset.C - ref_inset.C - ''')] -) - -# -# src/insets -# - -print "Processing files in src/insets" - -insets = env.StaticLibrary( - target = '$LOCALLIBPATH/insets', - source = ["$BUILDDIR/common/insets/%s" % x for x in Split(''' - mailinset.C - ExternalSupport.C - ExternalTemplate.C - ExternalTransforms.C - render_button.C - render_graphic.C - render_preview.C - inset.C - insetbase.C - insetbibitem.C - insetbibtex.C - insetbox.C - insetbranch.C - insetcaption.C - insetcharstyle.C - insetcite.C - insetcollapsable.C - insetcommand.C - insetcommandparams.C - insetenv.C - insetert.C - insetexternal.C - insetfloat.C - insetfloatlist.C - insetfoot.C - insetfootlike.C - insetgraphicsParams.C - insetgraphics.C - insethfill.C - insetinclude.C - insetindex.C - insetlabel.C - insetlatexaccent.C - insetline.C - insetmarginal.C - insetnewline.C - insetnote.C - insetoptarg.C - insetpagebreak.C - insetquotes.C - insetref.C - insetspace.C - insetspecialchar.C - insettabular.C - insettext.C - insettoc.C - inseturl.C - insetvspace.C - insetwrap.C - ''')] -) - - -# -# src/frontends -# - -print "Processing files in src/frontends" - -frontends = env.StaticLibrary( - target = '$LOCALLIBPATH/frontends', - source = ["$BUILDDIR/common/frontends/%s" % x for x in Split(''' - Alert.C - Dialogs.C - LyXView.C - Painter.C - Timeout.C - Toolbars.C - guiapi.C - nullpainter.C - screen.C - ''')] -) - - -# -# src/graphics -# - -print "Processing files in src/graphics" - -graphics = env.StaticLibrary( - target = '$LOCALLIBPATH/graphics', - source = ["$BUILDDIR/common/graphics/%s" % x for x in Split(''' - GraphicsCache.C - GraphicsCacheItem.C - GraphicsConverter.C - GraphicsImage.C - GraphicsLoader.C - GraphicsParams.C - LoaderQueue.C - GraphicsTypes.C - PreviewImage.C - PreviewLoader.C - Previews.C - ''')] -) - -# -# src/frontends/controllers -# - -print "Processing files in src/frontends/controllers" - -controllers = env.StaticLibrary( - target = '$LOCALLIBPATH/controllers', - source = ["$BUILDDIR/common/frontends/controllers/%s" % x for x in Split(''' - Dialog.C - Kernel.C - biblio.C - character.C - frnt_lang.C - tex_helpers.C - BCView.C - ButtonController.C - ButtonPolicies.C - ControlAboutlyx.C - ControlBibtex.C - ControlBox.C - ControlBranch.C - ControlCharacter.C - ControlChanges.C - ControlCitation.C - ControlCommand.C - ControlCommandBuffer.C - ControlDocument.C - ControlErrorList.C - ControlERT.C - ControlExternal.C - ControlFloat.C - ControlGraphics.C - ControlInclude.C - ControlLog.C - ControlViewSource.C - ControlMath.C - ControlNote.C - ControlParagraph.C - ControlPreamble.C - ControlPrefs.C - ControlPrint.C - ControlRef.C - ControlSearch.C - ControlSendto.C - ControlShowFile.C - ControlSpellchecker.C - ControlTabular.C - ControlTabularCreate.C - ControlTexinfo.C - ControlThesaurus.C - ControlToc.C - ControlVSpace.C - ControlWrap.C - helper_funcs.C - helper_funcs.h - ''')] + +if 'mathed' in targets: + print "Processing files in src/mathed" + + mathed = env.StaticLibrary( + target = '$LOCALLIBPATH/mathed', + source = ["$BUILDDIR/common/mathed/%s" % x for x in Split(''' + textpainter.C + math_amsarrayinset.C + math_arrayinset.C + math_atom.C + math_autocorrect.C + math_biginset.C + math_binominset.C + math_boldsymbolinset.C + math_boxinset.C + math_boxedinset.C + math_braceinset.C + math_casesinset.C + math_charinset.C + math_colorinset.C + math_commentinset.C + math_data.C + math_decorationinset.C + math_deliminset.C + math_dfracinset.C + math_diffinset.C + math_diminset.C + math_dotsinset.C + math_envinset.C + math_extern.C + math_exfuncinset.C + math_exintinset.C + math_factory.C + math_fboxinset.C + math_frameboxinset.C + math_fontinset.C + math_fontoldinset.C + math_fracinset.C + math_fracbase.C + math_gridinset.C + math_hullinset.C + math_inset.C + math_kerninset.C + math_lefteqninset.C + math_liminset.C + math_macro.C + math_macroarg.C + math_macrotemplate.C + math_macrotable.C + math_makeboxinset.C + math_mathmlstream.C + math_matrixinset.C + math_nestinset.C + math_numberinset.C + math_oversetinset.C + math_parinset.C + math_parser.C + math_phantominset.C + math_rootinset.C + math_scriptinset.C + math_sizeinset.C + math_spaceinset.C + math_splitinset.C + math_sqrtinset.C + math_stackrelinset.C + math_streamstr.C + math_stringinset.C + math_substackinset.C + math_support.C + math_symbolinset.C + math_tabularinset.C + math_tfracinset.C + math_unknowninset.C + math_undersetinset.C + math_xarrowinset.C + math_xymatrixinset.C + command_inset.C + ref_inset.C + ''')] ) + Alias('mathed', mathed) +if 'insets' in targets: + # + # src/insets + # + + print "Processing files in src/insets" + + insets = env.StaticLibrary( + target = '$LOCALLIBPATH/insets', + source = ["$BUILDDIR/common/insets/%s" % x for x in Split(''' + mailinset.C + ExternalSupport.C + ExternalTemplate.C + ExternalTransforms.C + render_button.C + render_graphic.C + render_preview.C + inset.C + insetbase.C + insetbibitem.C + insetbibtex.C + insetbox.C + insetbranch.C + insetcaption.C + insetcharstyle.C + insetcite.C + insetcollapsable.C + insetcommand.C + insetcommandparams.C + insetenv.C + insetert.C + insetexternal.C + insetfloat.C + insetfloatlist.C + insetfoot.C + insetfootlike.C + insetgraphicsParams.C + insetgraphics.C + insethfill.C + insetinclude.C + insetindex.C + insetlabel.C + insetlatexaccent.C + insetline.C + insetmarginal.C + insetnewline.C + insetnote.C + insetoptarg.C + insetpagebreak.C + insetquotes.C + insetref.C + insetspace.C + insetspecialchar.C + insettabular.C + insettext.C + insettoc.C + inseturl.C + insetvspace.C + insetwrap.C + ''')] + ) + +if 'frontends' in targets: + # + # src/frontends + # + + print "Processing files in src/frontends" + + frontends = env.StaticLibrary( + target = '$LOCALLIBPATH/frontends', + source = ["$BUILDDIR/common/frontends/%s" % x for x in Split(''' + Alert.C + Dialogs.C + LyXView.C + Painter.C + Timeout.C + Toolbars.C + guiapi.C + nullpainter.C + screen.C + ''')] + ) + Alias('frontends', frontends) + + +if 'graphics' in targets: + # + # src/graphics + # + + print "Processing files in src/graphics" + + graphics = env.StaticLibrary( + target = '$LOCALLIBPATH/graphics', + source = ["$BUILDDIR/common/graphics/%s" % x for x in Split(''' + GraphicsCache.C + GraphicsCacheItem.C + GraphicsConverter.C + GraphicsImage.C + GraphicsLoader.C + GraphicsParams.C + LoaderQueue.C + GraphicsTypes.C + PreviewImage.C + PreviewLoader.C + Previews.C + ''')] + ) + Alias('graphics', graphics) + + +if 'controllers' in targets: + # + # src/frontends/controllers + # + + print "Processing files in src/frontends/controllers" + + controllers = env.StaticLibrary( + target = '$LOCALLIBPATH/controllers', + source = ["$BUILDDIR/common/frontends/controllers/%s" % x for x in Split(''' + Dialog.C + Kernel.C + biblio.C + character.C + frnt_lang.C + tex_helpers.C + BCView.C + ButtonController.C + ButtonPolicies.C + ControlAboutlyx.C + ControlBibtex.C + ControlBox.C + ControlBranch.C + ControlCharacter.C + ControlChanges.C + ControlCitation.C + ControlCommand.C + ControlCommandBuffer.C + ControlDocument.C + ControlErrorList.C + ControlERT.C + ControlExternal.C + ControlFloat.C + ControlGraphics.C + ControlInclude.C + ControlLog.C + ControlViewSource.C + ControlMath.C + ControlNote.C + ControlParagraph.C + ControlPreamble.C + ControlPrefs.C + ControlPrint.C + ControlRef.C + ControlSearch.C + ControlSendto.C + ControlShowFile.C + ControlSpellchecker.C + ControlTabular.C + ControlTabularCreate.C + ControlTexinfo.C + ControlThesaurus.C + ControlToc.C + ControlVSpace.C + ControlWrap.C + helper_funcs.C + helper_funcs.h + ''')] + ) + Alias('controllers', controllers) + # # src/frontend/qt3/4 # - -frontend = env['frontend'] -env.BuildDir('$BUILDDIR/$frontend', '$TOP_SRC_DIR/src/frontend/$frontend', duplicate = 0) - +if env['frontend'] in targets: + frontend = env['frontend'] + env.BuildDir('$BUILDDIR/$frontend', '$TOP_SRC_DIR/src/frontend/$frontend', duplicate = 0) +else: + # frontend is qt3, but specify target qt4, OK + if 'qt3' in targets: + frontned = 'qt3' + elif 'qt4' in targets: + frontend = 'qt4' + else: + frontend = None + if frontend == 'qt3': print "Processing files in src/frontends/qt3" @@ -397,11 +438,11 @@ if frontend == 'qt3': qt3env.Append(CPPPATH = [ '$BUILDDIR/common', '$BUILDDIR/common/frontends', + '$BUILDDIR/common/frontends/qt3', '$BUILDDIR/common/images', '$BUILDDIR/common/frontends/controllers', '$BUILDDIR/common/frontends/qt3', - '$QT_INC_DIR', - '.'] + '$QT_INC_DIR'] ) qt3_ui_files = Split(''' @@ -543,7 +584,7 @@ if frontend == 'qt3': # file extension from .C to .cpp qt3_moced_files = [] if os.name == 'nt' or sys.platform == 'cygwin': - qt3_moced_files = [qt3env.Moc('$BUILDDIR/common/frontends/qt3/'+x.replace('.C', '.h')) for x in qt3_moc_files] + qt3_moced_files = [qt3env.Moc(x.replace('.C', '.h')) for x in qt3_moc_files] qt3 = qt3env.StaticLibrary( target = '$LOCALLIBPATH/qt3', @@ -612,6 +653,9 @@ if frontend == 'qt3': qt3_moc_files + qt3_moced_files + ['$BUILDDIR/common/frontends/qt3/ui/' + x for x in qt3_ui_files] ) + Alias('qt3', qt3) + + elif frontend == 'qt4': print "Processing files in src/frontends/qt4" @@ -623,9 +667,8 @@ elif frontend == 'qt4': # NOTE: I have to patch qt4.py since it does not automatically # process .C file!!! (add to cxx_suffixes ) # - if frontend == 'qt4': - qt4env.Tool('qt4', [env['SCONS_DIR']]) - qt4env.EnableQt4Modules(env['QT_LIB'], debug = False) + qt4env.Tool('qt4', [env['SCONS_DIR']]) + qt4env.EnableQt4Modules(env['QT_LIB'], debug = False) qt4env.Append(CPPPATH = [ '$BUILDDIR/common', @@ -860,234 +903,239 @@ elif frontend == 'qt4': source = ["$BUILDDIR/common/frontends/qt4/%s" % x for x in qt4_source_files] + \ ["$BUILDDIR/common/frontends/qt4/%s" % x for x in qt4_moc_files] ) + Alias('qt4', qt4) -# -# src/client -# +if 'client' in targets: + # + # src/client + # + env.BuildDir('$BUILDDIR/common', '$TOP_SRC_DIR/src', duplicate = 0) + + print "Processing files in src/client" + + client = env.Program( + target = '$BUILDDIR/common/client/lyxclient', + LIBS = env['BOOST_LIBRARIES'] + env['socket_libs'] + ['supports'], + source = ["$BUILDDIR/common/client/%s" % x for x in Split(''' + boost.C + client.C + debug.C + gettext.C + messages.C + ''')] + ) + env.fileCopy('$BUILDDIR/lyxclient', '$BUILDDIR/common/client/lyxclient') + Alias('client', client) -env.BuildDir('$BUILDDIR/common', '$TOP_SRC_DIR/src', duplicate = 0) -print "Processing files in src/client" - -lyxclient = env.Program( - target = '$BUILDDIR/common/client/lyxclient', - LIBS = env['BOOST_LIBRARIES'] + env['socket_libs'] + ['supports'], - source = ["$BUILDDIR/common/client/%s" % x for x in Split(''' - boost.C - client.C - debug.C - gettext.C - messages.C - ''')] -) -env.fileCopy('$BUILDDIR/lyxclient', '$BUILDDIR/common/client/lyxclient') -Alias('lyxclient', lyxclient) - -# -# tex2lyx -# -print "Processing files in src/tex2lyx" - -tex2lyx_env = env.Copy() -# the order is important here. -tex2lyx_env.Prepend(CPPPATH = ['$BUILDDIR/common/tex2lyx']) -tex2lyx_env.Append(LIBPATH = ['#$LOCALLIBPATH']) - -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/FloatList.C', '$TOP_SRC_DIR/src/FloatList.C') -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/Floating.C', '$TOP_SRC_DIR/src/Floating.C') -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/counters.C', '$TOP_SRC_DIR/src/counters.C') -# for some reason I do not know, I have to copy the header files as well. -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlayout.h', '$TOP_SRC_DIR/src/lyxlayout.h') -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlayout.C', '$TOP_SRC_DIR/src/lyxlayout.C') -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxtextclass.h', '$TOP_SRC_DIR/src/lyxtextclass.h') -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxtextclass.C', '$TOP_SRC_DIR/src/lyxtextclass.C') -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlex.C', '$TOP_SRC_DIR/src/lyxlex.C') -tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlex_pimpl.C', '$TOP_SRC_DIR/src/lyxlex_pimpl.C') - -tex2lyx = tex2lyx_env.Program( - target = '$BUILDDIR/common/tex2lyx/tex2lyx', - LIBS = ['supports'] + env['BOOST_LIBRARIES'] + env['SYSTEM_LIBS'], - source = ["$BUILDDIR/common/tex2lyx/%s" % x for x in Split(''' +if 'tex2lyx' in targets: + # + # tex2lyx + # + print "Processing files in src/tex2lyx" + + tex2lyx_env = env.Copy() + # the order is important here. + tex2lyx_env.Prepend(CPPPATH = ['$BUILDDIR/common/tex2lyx']) + tex2lyx_env.Append(LIBPATH = ['#$LOCALLIBPATH']) + + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/FloatList.C', '$TOP_SRC_DIR/src/FloatList.C') + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/Floating.C', '$TOP_SRC_DIR/src/Floating.C') + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/counters.C', '$TOP_SRC_DIR/src/counters.C') + # for some reason I do not know, I have to copy the header files as well. + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlayout.h', '$TOP_SRC_DIR/src/lyxlayout.h') + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlayout.C', '$TOP_SRC_DIR/src/lyxlayout.C') + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxtextclass.h', '$TOP_SRC_DIR/src/lyxtextclass.h') + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxtextclass.C', '$TOP_SRC_DIR/src/lyxtextclass.C') + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlex.C', '$TOP_SRC_DIR/src/lyxlex.C') + tex2lyx_env.fileCopy('$BUILDDIR/common/tex2lyx/lyxlex_pimpl.C', '$TOP_SRC_DIR/src/lyxlex_pimpl.C') + + tex2lyx = tex2lyx_env.Program( + target = '$BUILDDIR/common/tex2lyx/tex2lyx', + LIBS = ['supports'] + env['BOOST_LIBRARIES'] + env['SYSTEM_LIBS'], + source = ["$BUILDDIR/common/tex2lyx/%s" % x for x in Split(''' + FloatList.C + Floating.C + counters.C + lyxlayout.C + lyxtextclass.C + lyxlex.C + lyxlex_pimpl.C + boost.C + context.C + gettext.C + lengthcommon.C + lyxfont.C + texparser.C + tex2lyx.C + preamble.C + math.C + table.C + text.C + ''')] + ) + env.fileCopy('$BUILDDIR/tex2lyx', '$BUILDDIR/common/tex2lyx/tex2lyx') + Alias('tex2lyx', tex2lyx) + # + # src/ + # + +if 'lyx' in targets: + print "Processing files in src" + + env['SUBST_KEYS'] = ['PACKAGE_VERSION', 'VERSION_INFO'] + env.substFile('$BUILDDIR/common/version.C', '$TOP_SRC_DIR/src/version.C.in') + + lyx_source = Split(''' + Bidi.C + BufferView.C + BufferView_pimpl.C + Bullet.C + BranchList.C + Chktex.C + Color.C + CutAndPaste.C + DepTable.C FloatList.C Floating.C + FontIterator.C + FuncStatus.C + InsetList.C + LColor.C + LaTeX.C + LaTeXFeatures.C + LyXAction.C + MenuBackend.C + ParagraphParameters.C + PrinterParams.C + Spacing.C + Thesaurus.C + ToolbarBackend.C + author.C + boost.C + box.C + buffer.C + buffer_funcs.C + bufferlist.C + bufferparams.C + bufferview_funcs.C + changes.C + chset.C + converter.C counters.C + coordcache.C + cursor.C + cursor_slice.C + debug.C + dimension.C + dociterator.C + encoding.C + errorlist.C + exporter.C + gettext.C + factory.C + format.C + funcrequest.C + graph.C + importer.C + intl.C + insetiterator.C + kbmap.C + kbsequence.C + language.C + session.C + lengthcommon.C + lyx_cb.C + lyx_main.C + lyx_sty.C + lyxfont.C + lyxfind.C + lyxfunc.C + lyxgluelength.C lyxlayout.C - lyxtextclass.C + lyxlength.C lyxlex.C lyxlex_pimpl.C - boost.C - context.C - gettext.C - lengthcommon.C - lyxfont.C - texparser.C - tex2lyx.C - preamble.C - math.C - table.C + lyxrc.C + lyxrow.C + lyxrow_funcs.C + lyxserver.C + lyxsocket.C + lyxtextclass.C + lyxtextclasslist.C + lyxvc.C + messages.C + metricsinfo.C + mover.C + output.C + outputparams.C + output_docbook.C + output_latex.C + output_linuxdoc.C + output_plaintext.C + paragraph.C + paragraph_funcs.C + paragraph_pimpl.C + pariterator.C + SpellBase.C + rowpainter.C + sgml.C + tabular.C + tex-accent.C + tex-strings.C + texrow.C text.C - ''')] -) -env.fileCopy('$BUILDDIR/tex2lyx', '$BUILDDIR/common/tex2lyx/tex2lyx') -Alias('tex2lyx', tex2lyx) -# -# src/ -# - -print "Processing files in src" - -env['SUBST_KEYS'] = ['PACKAGE_VERSION', 'VERSION_INFO'] -env.substFile('$BUILDDIR/common/version.C', '$TOP_SRC_DIR/src/version.C.in') - -lyx_source = Split(''' - Bidi.C - BufferView.C - BufferView_pimpl.C - Bullet.C - BranchList.C - Chktex.C - Color.C - CutAndPaste.C - DepTable.C - FloatList.C - Floating.C - FontIterator.C - FuncStatus.C - InsetList.C - LColor.C - LaTeX.C - LaTeXFeatures.C - LyXAction.C - MenuBackend.C - ParagraphParameters.C - PrinterParams.C - Spacing.C - Thesaurus.C - ToolbarBackend.C - author.C - boost.C - box.C - buffer.C - buffer_funcs.C - bufferlist.C - bufferparams.C - bufferview_funcs.C - changes.C - chset.C - converter.C - counters.C - coordcache.C - cursor.C - cursor_slice.C - debug.C - dimension.C - dociterator.C - encoding.C - errorlist.C - exporter.C - gettext.C - factory.C - format.C - funcrequest.C - graph.C - importer.C - intl.C - insetiterator.C - kbmap.C - kbsequence.C - language.C - session.C - lengthcommon.C - lyx_cb.C - lyx_main.C - lyx_sty.C - lyxfont.C - lyxfind.C - lyxfunc.C - lyxgluelength.C - lyxlayout.C - lyxlength.C - lyxlex.C - lyxlex_pimpl.C - lyxrc.C - lyxrow.C - lyxrow_funcs.C - lyxserver.C - lyxsocket.C - lyxtextclass.C - lyxtextclasslist.C - lyxvc.C - messages.C - metricsinfo.C - mover.C - output.C - outputparams.C - output_docbook.C - output_latex.C - output_linuxdoc.C - output_plaintext.C - paragraph.C - paragraph_funcs.C - paragraph_pimpl.C - pariterator.C - SpellBase.C - rowpainter.C - sgml.C - tabular.C - tex-accent.C - tex-strings.C - texrow.C - text.C - text2.C - text3.C - TocBackend.C - toc.C - trans.C - trans_mgr.C - undo.C - vc-backend.C - version.C - vspace.C - main.C -''') - -if env.has_key('USE_ASPELL') and env['USE_ASPELL']: - lyx_source.append('aspell.C') -elif env.has_key('USE_PSPELL') and env['USE_PSPELL']: - lyx_source.append('pspell.C') -elif env.has_key('USE_ISPELL') and env['USE_ISPELL']: - lyx_source.append('ispell.C') - -# -# Build lyx with given frontend -# -lyx = env.Program( - target = '$BUILDDIR/$frontend/lyx', - source = ["$BUILDDIR/common/%s" % x for x in lyx_source], - LIBS = [ - 'mathed', - 'insets', - 'frontends', - env['frontend'], - 'controllers', - 'graphics', - 'supports'] + - env['BOOST_LIBRARIES'] + - env['EXTRA_LIBS'] + - env['SYSTEM_LIBS'] -) -Alias('lyx', lyx) - -env.fileCopy('$BUILDDIR/lyx$frontend', '$BUILDDIR/$frontend/lyx') - -# other targets include client, tex2lyx -Default('lyx') - -Alias('install', env.installProg(Dir(env['BIN_DIR']), - [lyx, tex2lyx, lyxclient])) -## Alias('install', env.installProg(Dir(os.path.join(env['PREFIX'], 'share/lyx/')), -## [Dir(env.subst('$TOP_SRC_DIR/lib/') + dir) for dir in ['images', 'layouts', 'scripts', 'templates', \ -## 'examples', 'kbd', 'lyx2lyx', 'tex', 'clipart', 'doc', 'ui'] ] + \ -## [File(env.subst('$TOP_SRC_DIR/lib/') + file) for file in ['configure.py', 'encodings', 'chkconfig.ltx', 'CREDITS', \ -## 'external_templates', 'symbols', 'languages', 'lyxrc.example', 'syntax.default']])) + text2.C + text3.C + TocBackend.C + toc.C + trans.C + trans_mgr.C + undo.C + vc-backend.C + version.C + vspace.C + main.C + ''') + + if env.has_key('USE_ASPELL') and env['USE_ASPELL']: + lyx_source.append('aspell.C') + elif env.has_key('USE_PSPELL') and env['USE_PSPELL']: + lyx_source.append('pspell.C') + elif env.has_key('USE_ISPELL') and env['USE_ISPELL']: + lyx_source.append('ispell.C') + + # + # Build lyx with given frontend + # + lyx = env.Program( + target = '$BUILDDIR/$frontend/lyx', + source = ["$BUILDDIR/common/%s" % x for x in lyx_source], + LIBS = [ + 'mathed', + 'insets', + 'frontends', + env['frontend'], + 'controllers', + 'graphics', + 'supports'] + + env['BOOST_LIBRARIES'] + + env['EXTRA_LIBS'] + + env['SYSTEM_LIBS'] + ) + Alias('lyx', lyx) + +if 'install' in targets: + env.fileCopy('$BUILDDIR/lyx$frontend', '$BUILDDIR/$frontend/lyx') + + # other targets include client, tex2lyx + Default('lyx') + + Alias('install', env.installProg(Dir(env['BIN_DIR']), + [lyx, tex2lyx, lyxclient])) + ## Alias('install', env.installProg(Dir(os.path.join(env['PREFIX'], 'share/lyx/')), + ## [Dir(env.subst('$TOP_SRC_DIR/lib/') + dir) for dir in ['images', 'layouts', 'scripts', 'templates', \ + ## 'examples', 'kbd', 'lyx2lyx', 'tex', 'clipart', 'doc', 'ui'] ] + \ + ## [File(env.subst('$TOP_SRC_DIR/lib/') + file) for file in ['configure.py', 'encodings', 'chkconfig.ltx', 'CREDITS', \ + ## 'external_templates', 'symbols', 'languages', 'lyxrc.example', 'syntax.default']])) diff --git a/development/scons/SConstruct b/development/scons/SConstruct index 2c0a16c509..3e546d7c9c 100644 --- a/development/scons/SConstruct +++ b/development/scons/SConstruct @@ -885,7 +885,6 @@ opts.Save('options.cache', env) Help(opts.GenerateHelpText(env)) - #---------------------------------------------------------- # Start building #---------------------------------------------------------- @@ -893,6 +892,8 @@ Export('env') SConsignFile(os.path.abspath('%s/sconsign' % env['BUILDDIR'])) +env['BUILD_TARGETS'] = BUILD_TARGETS + print "Building all targets recursively" env.SConscript('$SCONS_DIR/SConscript', duplicate = 0)