From 035b47c1a6985e2b884182ab0f3bb1afa714a48f Mon Sep 17 00:00:00 2001 From: Abdullah Sowayan Date: Wed, 24 Feb 2010 20:20:21 +0000 Subject: --- ACE/MPC/ChangeLog | 1120 ++++ ACE/MPC/MPC.ico | Bin 0 -> 7168 bytes ACE/MPC/PROBLEM-REPORT-FORM | 30 + ACE/MPC/clone_build_tree.pl | 542 ++ ACE/MPC/combine_dsw.pl | 145 + ACE/MPC/config/bison.mpb | 14 + ACE/MPC/config/boost_base.mpb | 15 + ACE/MPC/config/boost_date_time.mpb | 8 + ACE/MPC/config/boost_filesystem.mpb | 8 + ACE/MPC/config/boost_iostreams.mpb | 8 + ACE/MPC/config/boost_prg_exec_monitor.mpb | 8 + ACE/MPC/config/boost_program_options.mpb | 8 + ACE/MPC/config/boost_python.mpb | 6 + ACE/MPC/config/boost_regex.mpb | 8 + ACE/MPC/config/boost_serialization.mpb | 8 + ACE/MPC/config/boost_signals.mpb | 8 + ACE/MPC/config/boost_system.mpb | 8 + ACE/MPC/config/boost_test_exec_monitor.mpb | 8 + ACE/MPC/config/boost_thread.mpb | 8 + ACE/MPC/config/boost_unit_test_framework.mpb | 11 + ACE/MPC/config/boost_wave.mpb | 8 + ACE/MPC/config/build_files.mpb | 7 + ACE/MPC/config/bzip2.mpb | 14 + ACE/MPC/config/cppunit.mpb | 8 + ACE/MPC/config/default.rel | 6 + ACE/MPC/config/erlang.mpb | 15 + ACE/MPC/config/erlang_otp.mpb | 12 + ACE/MPC/config/flex.mpb | 13 + ACE/MPC/config/gacutil.mpb | 8 + ACE/MPC/config/global.features | 39 + ACE/MPC/config/global.mpb | 12 + ACE/MPC/config/gsl.mpb | 6 + ACE/MPC/config/iiopnet.mpb | 19 + ACE/MPC/config/iodbc.mpb | 12 + ACE/MPC/config/ixml.mpb | 7 + ACE/MPC/config/lex.mpb | 13 + ACE/MPC/config/libpng.mpb | 10 + ACE/MPC/config/log4cplus.mpb | 8 + ACE/MPC/config/loki.mpb | 8 + ACE/MPC/config/lzo1.mpb | 12 + ACE/MPC/config/lzo2.mpb | 8 + ACE/MPC/config/mfc.mpb | 16 + ACE/MPC/config/mpb.mpb | 12 + ACE/MPC/config/mpich.mpb | 13 + ACE/MPC/config/msgfmt.mpb | 11 + ACE/MPC/config/mysql.mpb | 8 + ACE/MPC/config/mysqlpp.mpb | 8 + ACE/MPC/config/ndds_ts_defaults.mpb | 24 + ACE/MPC/config/nddsexe.mpb | 5 + ACE/MPC/config/nddsexe_with_idl.mpb | 5 + ACE/MPC/config/nddslib.mpb | 15 + ACE/MPC/config/nddslib_with_idl.mpb | 5 + ACE/MPC/config/odbc.mpb | 23 + ACE/MPC/config/openmpi.mpb | 9 + ACE/MPC/config/openssl.mpb | 32 + ACE/MPC/config/pcre.mpb | 17 + ACE/MPC/config/pcreposix.mpb | 5 + ACE/MPC/config/python.mpb | 8 + ACE/MPC/config/qt.mpb | 55 + ACE/MPC/config/qt3.mpb | 5 + ACE/MPC/config/qt4_core.mpb | 16 + ACE/MPC/config/qt4_designer.mpb | 6 + ACE/MPC/config/qt4_designercomponents.mpb | 6 + ACE/MPC/config/qt4_gui.mpb | 36 + ACE/MPC/config/qt4_network.mpb | 6 + ACE/MPC/config/qt4_opengl.mpb | 6 + ACE/MPC/config/qt4_qt3support.mpb | 7 + ACE/MPC/config/qt4_sql.mpb | 6 + ACE/MPC/config/qt4_svg.mpb | 6 + ACE/MPC/config/qt4_test.mpb | 6 + ACE/MPC/config/qt4_xml.mpb | 6 + ACE/MPC/config/qwt.mpb | 11 + ACE/MPC/config/rpc.mpb | 15 + ACE/MPC/config/ruby.mpb | 6 + ACE/MPC/config/splice_ts_defaults.mpb | 24 + ACE/MPC/config/spliceexe.mpb | 5 + ACE/MPC/config/spliceexe_with_idl.mpb | 5 + ACE/MPC/config/splicelib.mpb | 21 + ACE/MPC/config/splicelib_with_idl.mpb | 5 + ACE/MPC/config/sqlite3.mpb | 8 + ACE/MPC/config/swig_java.mpb | 16 + ACE/MPC/config/swig_perl.mpb | 19 + ACE/MPC/config/swig_php.mpb | 19 + ACE/MPC/config/swig_python.mpb | 20 + ACE/MPC/config/swig_ruby.mpb | 19 + ACE/MPC/config/swig_tcl.mpb | 15 + ACE/MPC/config/udm.mpb | 29 + ACE/MPC/config/unicode.mpb | 8 + ACE/MPC/config/unixodbc.mpb | 10 + ACE/MPC/config/upnp.mpb | 5 + ACE/MPC/config/wix.mpb | 29 + ACE/MPC/config/wix_ui.mpb | 8 + ACE/MPC/config/wix_xml.mpb | 8 + ACE/MPC/config/xalanc.mpb | 9 + ACE/MPC/config/xerces.mpb | 57 + ACE/MPC/config/yacc.mpb | 15 + ACE/MPC/config/ziparchive.mpb | 8 + ACE/MPC/config/zlib.mpb | 17 + ACE/MPC/config/zzip.mpb | 17 + ACE/MPC/create_base.pl | 199 + ACE/MPC/depgen.pl | 36 + ACE/MPC/devtools/document_template.pl | 372 ++ ACE/MPC/devtools/highlight_template.pl | 242 + ACE/MPC/docs/LICENSE | 53 + ACE/MPC/docs/MPC.sgml | 560 ++ ACE/MPC/docs/README | 981 +++ ACE/MPC/docs/USAGE | 306 + ACE/MPC/docs/html/MakeProjectCreator.css | 1713 +++++ ACE/MPC/docs/html/MakeProjectCreator.html | 7148 +++++++++++++++++++++ ACE/MPC/docs/html/images/OCILOGO_bw_book.eps | Bin 0 -> 72640 bytes ACE/MPC/docs/html/images/mpc.fig | 74 + ACE/MPC/docs/html/images/mpc.gif | Bin 0 -> 3368 bytes ACE/MPC/docs/html/images/mpc_mtiff.eps | Bin 0 -> 38047 bytes ACE/MPC/docs/html/images/mwc.fig | 46 + ACE/MPC/docs/html/images/mwc.gif | Bin 0 -> 1960 bytes ACE/MPC/docs/html/images/mwc_mtiff.eps | Bin 0 -> 16107 bytes ACE/MPC/docs/templates/automake.txt | 19 + ACE/MPC/docs/templates/bmake.txt | 32 + ACE/MPC/docs/templates/cc.txt | 13 + ACE/MPC/docs/templates/common.txt | 37 + ACE/MPC/docs/templates/ghs.txt | 14 + ACE/MPC/docs/templates/make.net.txt | 40 + ACE/MPC/docs/templates/make.txt | 74 + ACE/MPC/docs/templates/vc7.txt | 55 + ACE/MPC/docs/templates/vc7csharp.txt | 18 + ACE/MPC/docs/templates/vc7java.txt | 18 + ACE/MPC/docs/templates/vc7vb.txt | 16 + ACE/MPC/docs/templates/vc8.txt | 147 + ACE/MPC/docs/templates/vc8csharp.txt | 20 + ACE/MPC/docs/templates/vc8java.txt | 18 + ACE/MPC/docs/templates/vc8vb.txt | 16 + ACE/MPC/docs/templates/wb26.txt | 12 + ACE/MPC/docs/templates/wix.txt | 9 + ACE/MPC/generate_export_header.pl | 126 + ACE/MPC/history/ChangeLog-3_1 | 2088 ++++++ ACE/MPC/history/ChangeLog-3_2 | 2053 ++++++ ACE/MPC/history/ChangeLog-3_3 | 1985 ++++++ ACE/MPC/history/ChangeLog-3_4 | 1718 +++++ ACE/MPC/history/ChangeLog-3_5 | 1397 ++++ ACE/MPC/history/ChangeLog-3_6 | 1248 ++++ ACE/MPC/modules/AutomakeProjectCreator.pm | 62 + ACE/MPC/modules/AutomakeWorkspaceCreator.pm | 778 +++ ACE/MPC/modules/BCB2007ProjectCreator.pm | 50 + ACE/MPC/modules/BCB2007WorkspaceCreator.pm | 123 + ACE/MPC/modules/BCB2009ProjectCreator.pm | 36 + ACE/MPC/modules/BCB2009WorkspaceCreator.pm | 36 + ACE/MPC/modules/BDS4ProjectCreator.pm | 50 + ACE/MPC/modules/BDS4WorkspaceCreator.pm | 89 + ACE/MPC/modules/BMakeProjectCreator.pm | 111 + ACE/MPC/modules/BMakeWorkspaceCreator.pm | 99 + ACE/MPC/modules/BorlandProjectBase.pm | 36 + ACE/MPC/modules/CCProjectCreator.pm | 62 + ACE/MPC/modules/CCWorkspaceCreator.pm | 117 + ACE/MPC/modules/CommandHelper.pm | 96 + ACE/MPC/modules/ConfigParser.pm | 129 + ACE/MPC/modules/Creator.pm | 1310 ++++ ACE/MPC/modules/Depgen/DependencyEditor.pm | 117 + ACE/MPC/modules/Depgen/DependencyGenerator.pm | 67 + ACE/MPC/modules/Depgen/DependencyWriter.pm | 30 + ACE/MPC/modules/Depgen/DependencyWriterFactory.pm | 40 + ACE/MPC/modules/Depgen/Driver.pm | 244 + ACE/MPC/modules/Depgen/MakeDependencyWriter.pm | 43 + ACE/MPC/modules/Depgen/MakeObjectGenerator.pm | 43 + ACE/MPC/modules/Depgen/NMakeDependencyWriter.pm | 53 + ACE/MPC/modules/Depgen/NMakeObjectGenerator.pm | 51 + ACE/MPC/modules/Depgen/ObjectGenerator.pm | 30 + ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm | 40 + ACE/MPC/modules/Depgen/Preprocessor.pm | 145 + ACE/MPC/modules/DirectoryManager.pm | 205 + ACE/MPC/modules/Driver.pm | 636 ++ ACE/MPC/modules/EM3ProjectCreator.pm | 54 + ACE/MPC/modules/EM3WorkspaceCreator.pm | 53 + ACE/MPC/modules/FeatureParser.pm | 89 + ACE/MPC/modules/GHSProjectCreator.pm | 166 + ACE/MPC/modules/GHSWorkspaceCreator.pm | 199 + ACE/MPC/modules/GUID.pm | 48 + ACE/MPC/modules/HTMLProjectCreator.pm | 133 + ACE/MPC/modules/HTMLWorkspaceCreator.pm | 90 + ACE/MPC/modules/MPC.pm | 41 + ACE/MPC/modules/MWC.pm | 41 + ACE/MPC/modules/MakeProjectBase.pm | 51 + ACE/MPC/modules/MakeProjectCreator.pm | 105 + ACE/MPC/modules/MakeWorkspaceBase.pm | 343 + ACE/MPC/modules/MakeWorkspaceCreator.pm | 71 + ACE/MPC/modules/NMakeProjectCreator.pm | 65 + ACE/MPC/modules/NMakeWorkspaceCreator.pm | 108 + ACE/MPC/modules/Options.pm | 602 ++ ACE/MPC/modules/OutputMessage.pm | 106 + ACE/MPC/modules/Parser.pm | 196 + ACE/MPC/modules/ProjectCreator.pm | 5425 ++++++++++++++++ ACE/MPC/modules/SLEProjectCreator.pm | 43 + ACE/MPC/modules/SLEWorkspaceCreator.pm | 65 + ACE/MPC/modules/StringProcessor.pm | 133 + ACE/MPC/modules/TemplateInputReader.pm | 140 + ACE/MPC/modules/TemplateParser.pm | 2050 ++++++ ACE/MPC/modules/VC10ProjectCreator.pm | 20 + ACE/MPC/modules/VC10WorkspaceCreator.pm | 42 + ACE/MPC/modules/VC6ProjectCreator.pm | 81 + ACE/MPC/modules/VC6WorkspaceCreator.pm | 105 + ACE/MPC/modules/VC71ProjectCreator.pm | 37 + ACE/MPC/modules/VC71WorkspaceCreator.pm | 82 + ACE/MPC/modules/VC7ProjectCreator.pm | 150 + ACE/MPC/modules/VC7WorkspaceCreator.pm | 295 + ACE/MPC/modules/VC8ProjectCreator.pm | 113 + ACE/MPC/modules/VC8WorkspaceCreator.pm | 248 + ACE/MPC/modules/VC9ProjectCreator.pm | 35 + ACE/MPC/modules/VC9WorkspaceCreator.pm | 42 + ACE/MPC/modules/VCProjectBase.pm | 61 + ACE/MPC/modules/Version.pm | 58 + ACE/MPC/modules/WB26ProjectCreator.pm | 85 + ACE/MPC/modules/WB26WorkspaceCreator.pm | 204 + ACE/MPC/modules/WinProjectBase.pm | 119 + ACE/MPC/modules/WinVersionTranslator.pm | 69 + ACE/MPC/modules/WinWorkspaceBase.pm | 35 + ACE/MPC/modules/WixProjectCreator.pm | 120 + ACE/MPC/modules/WixWorkspaceCreator.pm | 81 + ACE/MPC/modules/WorkspaceCreator.pm | 2354 +++++++ ACE/MPC/modules/WorkspaceHelper.pm | 88 + ACE/MPC/modules/XMLProjectBase.pm | 49 + ACE/MPC/mpc.pl | 46 + ACE/MPC/mwc.pl | 46 + ACE/MPC/prj_install.pl | 402 ++ ACE/MPC/registry.pl | 205 + ACE/MPC/rpm/MPC.spec | 30 + ACE/MPC/rpm/buildrpm.sh | 96 + ACE/MPC/templates/automake.mpd | 355 + ACE/MPC/templates/automakedll.mpt | 14 + ACE/MPC/templates/automakeexe.mpt | 5 + ACE/MPC/templates/bcb2007.mpd | 177 + ACE/MPC/templates/bcb2007dll.mpt | 9 + ACE/MPC/templates/bcb2007exe.mpt | 9 + ACE/MPC/templates/bcb2009.mpd | 178 + ACE/MPC/templates/bcb2009dll.mpt | 9 + ACE/MPC/templates/bcb2009exe.mpt | 9 + ACE/MPC/templates/bds4.mpd | 268 + ACE/MPC/templates/bds4dll.mpt | 9 + ACE/MPC/templates/bds4exe.mpt | 9 + ACE/MPC/templates/bmake.mpd | 374 ++ ACE/MPC/templates/bmakecommon.mpt | 28 + ACE/MPC/templates/bmakedll.mpt | 45 + ACE/MPC/templates/bmakedllexe.mpt | 48 + ACE/MPC/templates/bmakelib.mpt | 21 + ACE/MPC/templates/bmakelibexe.mpt | 27 + ACE/MPC/templates/cc.mpd | 93 + ACE/MPC/templates/cccommon.mpt | 29 + ACE/MPC/templates/ccexe.mpt | 5 + ACE/MPC/templates/cclib.mpt | 5 + ACE/MPC/templates/common.mpt | 8 + ACE/MPC/templates/em3.mpd | 395 ++ ACE/MPC/templates/em3vcpdll.mpt | 104 + ACE/MPC/templates/em3vcpdllexe.mpt | 105 + ACE/MPC/templates/em3vcplib.mpt | 100 + ACE/MPC/templates/em3vcplibexe.mpt | 108 + ACE/MPC/templates/ghs.mpd | 195 + ACE/MPC/templates/ghscommon.mpt | 9 + ACE/MPC/templates/ghsdll.mpt | 6 + ACE/MPC/templates/ghsdllexe.mpt | 6 + ACE/MPC/templates/ghslib.mpt | 6 + ACE/MPC/templates/ghslibexe.mpt | 6 + ACE/MPC/templates/html.mpd | 176 + ACE/MPC/templates/make.mpd | 362 ++ ACE/MPC/templates/make.net.mpd | 131 + ACE/MPC/templates/make.net.mpt | 40 + ACE/MPC/templates/makedll.mpt | 428 ++ ACE/MPC/templates/makeexe.mpt | 5 + ACE/MPC/templates/nmake.mpd | 346 + ACE/MPC/templates/nmakedll.mpt | 177 + ACE/MPC/templates/nmakeexe.mpt | 153 + ACE/MPC/templates/sle.mpd | 254 + ACE/MPC/templates/sledll.mpt | 7 + ACE/MPC/templates/sleexe.mpt | 7 + ACE/MPC/templates/unixcommon.mpt | 7 + ACE/MPC/templates/vc6.mpd | 380 ++ ACE/MPC/templates/vc6dspdll.mpt | 64 + ACE/MPC/templates/vc6dspdllexe.mpt | 71 + ACE/MPC/templates/vc6dsplib.mpt | 64 + ACE/MPC/templates/vc6dsplibexe.mpt | 74 + ACE/MPC/templates/vc7.mpd | 656 ++ ACE/MPC/templates/vc7csharp.mpd | 141 + ACE/MPC/templates/vc7csharp.mpt | 20 + ACE/MPC/templates/vc7dll.mpt | 101 + ACE/MPC/templates/vc7exe.mpt | 106 + ACE/MPC/templates/vc7java.mpd | 104 + ACE/MPC/templates/vc7java.mpt | 20 + ACE/MPC/templates/vc7lib.mpt | 97 + ACE/MPC/templates/vc7libexe.mpt | 108 + ACE/MPC/templates/vc7vb.mpd | 137 + ACE/MPC/templates/vc7vb.mpt | 20 + ACE/MPC/templates/vc8.mpd | 1025 +++ ACE/MPC/templates/vc8csharp.mpd | 187 + ACE/MPC/templates/vc8csharp.mpt | 21 + ACE/MPC/templates/vc8dll.mpt | 72 + ACE/MPC/templates/vc8exe.mpt | 76 + ACE/MPC/templates/vc8java.mpd | 109 + ACE/MPC/templates/vc8java.mpt | 21 + ACE/MPC/templates/vc8lib.mpt | 70 + ACE/MPC/templates/vc8libexe.mpt | 77 + ACE/MPC/templates/vc8platforms.mpt | 176 + ACE/MPC/templates/vc8vb.mpd | 125 + ACE/MPC/templates/vc8vb.mpt | 21 + ACE/MPC/templates/vccommon.mpt | 9 + ACE/MPC/templates/wb26.mpd | 53 + ACE/MPC/templates/wb26dll.mpt | 151 + ACE/MPC/templates/wb26exe.mpt | 6 + ACE/MPC/templates/wb26wrmakefile.mpd | 375 ++ ACE/MPC/templates/wb26wrproject.mpd | 217 + ACE/MPC/templates/windowscommon.mpt | 7 + ACE/MPC/templates/wix.mpd | 74 + ACE/MPC/templates/wix.mpt | 4 + ACE/MPC/vs_postclean.pl | 136 + 310 files changed, 56715 insertions(+) create mode 100644 ACE/MPC/ChangeLog create mode 100644 ACE/MPC/MPC.ico create mode 100644 ACE/MPC/PROBLEM-REPORT-FORM create mode 100755 ACE/MPC/clone_build_tree.pl create mode 100755 ACE/MPC/combine_dsw.pl create mode 100644 ACE/MPC/config/bison.mpb create mode 100644 ACE/MPC/config/boost_base.mpb create mode 100644 ACE/MPC/config/boost_date_time.mpb create mode 100644 ACE/MPC/config/boost_filesystem.mpb create mode 100644 ACE/MPC/config/boost_iostreams.mpb create mode 100644 ACE/MPC/config/boost_prg_exec_monitor.mpb create mode 100644 ACE/MPC/config/boost_program_options.mpb create mode 100644 ACE/MPC/config/boost_python.mpb create mode 100644 ACE/MPC/config/boost_regex.mpb create mode 100644 ACE/MPC/config/boost_serialization.mpb create mode 100644 ACE/MPC/config/boost_signals.mpb create mode 100644 ACE/MPC/config/boost_system.mpb create mode 100644 ACE/MPC/config/boost_test_exec_monitor.mpb create mode 100644 ACE/MPC/config/boost_thread.mpb create mode 100644 ACE/MPC/config/boost_unit_test_framework.mpb create mode 100644 ACE/MPC/config/boost_wave.mpb create mode 100644 ACE/MPC/config/build_files.mpb create mode 100644 ACE/MPC/config/bzip2.mpb create mode 100644 ACE/MPC/config/cppunit.mpb create mode 100644 ACE/MPC/config/default.rel create mode 100644 ACE/MPC/config/erlang.mpb create mode 100644 ACE/MPC/config/erlang_otp.mpb create mode 100644 ACE/MPC/config/flex.mpb create mode 100644 ACE/MPC/config/gacutil.mpb create mode 100644 ACE/MPC/config/global.features create mode 100644 ACE/MPC/config/global.mpb create mode 100644 ACE/MPC/config/gsl.mpb create mode 100644 ACE/MPC/config/iiopnet.mpb create mode 100644 ACE/MPC/config/iodbc.mpb create mode 100644 ACE/MPC/config/ixml.mpb create mode 100644 ACE/MPC/config/lex.mpb create mode 100644 ACE/MPC/config/libpng.mpb create mode 100644 ACE/MPC/config/log4cplus.mpb create mode 100644 ACE/MPC/config/loki.mpb create mode 100644 ACE/MPC/config/lzo1.mpb create mode 100644 ACE/MPC/config/lzo2.mpb create mode 100644 ACE/MPC/config/mfc.mpb create mode 100644 ACE/MPC/config/mpb.mpb create mode 100644 ACE/MPC/config/mpich.mpb create mode 100644 ACE/MPC/config/msgfmt.mpb create mode 100644 ACE/MPC/config/mysql.mpb create mode 100644 ACE/MPC/config/mysqlpp.mpb create mode 100644 ACE/MPC/config/ndds_ts_defaults.mpb create mode 100644 ACE/MPC/config/nddsexe.mpb create mode 100644 ACE/MPC/config/nddsexe_with_idl.mpb create mode 100644 ACE/MPC/config/nddslib.mpb create mode 100644 ACE/MPC/config/nddslib_with_idl.mpb create mode 100644 ACE/MPC/config/odbc.mpb create mode 100644 ACE/MPC/config/openmpi.mpb create mode 100644 ACE/MPC/config/openssl.mpb create mode 100644 ACE/MPC/config/pcre.mpb create mode 100644 ACE/MPC/config/pcreposix.mpb create mode 100644 ACE/MPC/config/python.mpb create mode 100644 ACE/MPC/config/qt.mpb create mode 100644 ACE/MPC/config/qt3.mpb create mode 100644 ACE/MPC/config/qt4_core.mpb create mode 100644 ACE/MPC/config/qt4_designer.mpb create mode 100644 ACE/MPC/config/qt4_designercomponents.mpb create mode 100644 ACE/MPC/config/qt4_gui.mpb create mode 100644 ACE/MPC/config/qt4_network.mpb create mode 100644 ACE/MPC/config/qt4_opengl.mpb create mode 100644 ACE/MPC/config/qt4_qt3support.mpb create mode 100644 ACE/MPC/config/qt4_sql.mpb create mode 100644 ACE/MPC/config/qt4_svg.mpb create mode 100644 ACE/MPC/config/qt4_test.mpb create mode 100644 ACE/MPC/config/qt4_xml.mpb create mode 100644 ACE/MPC/config/qwt.mpb create mode 100644 ACE/MPC/config/rpc.mpb create mode 100644 ACE/MPC/config/ruby.mpb create mode 100644 ACE/MPC/config/splice_ts_defaults.mpb create mode 100644 ACE/MPC/config/spliceexe.mpb create mode 100644 ACE/MPC/config/spliceexe_with_idl.mpb create mode 100644 ACE/MPC/config/splicelib.mpb create mode 100644 ACE/MPC/config/splicelib_with_idl.mpb create mode 100644 ACE/MPC/config/sqlite3.mpb create mode 100644 ACE/MPC/config/swig_java.mpb create mode 100644 ACE/MPC/config/swig_perl.mpb create mode 100644 ACE/MPC/config/swig_php.mpb create mode 100644 ACE/MPC/config/swig_python.mpb create mode 100644 ACE/MPC/config/swig_ruby.mpb create mode 100644 ACE/MPC/config/swig_tcl.mpb create mode 100644 ACE/MPC/config/udm.mpb create mode 100644 ACE/MPC/config/unicode.mpb create mode 100644 ACE/MPC/config/unixodbc.mpb create mode 100644 ACE/MPC/config/upnp.mpb create mode 100644 ACE/MPC/config/wix.mpb create mode 100644 ACE/MPC/config/wix_ui.mpb create mode 100644 ACE/MPC/config/wix_xml.mpb create mode 100644 ACE/MPC/config/xalanc.mpb create mode 100644 ACE/MPC/config/xerces.mpb create mode 100644 ACE/MPC/config/yacc.mpb create mode 100644 ACE/MPC/config/ziparchive.mpb create mode 100644 ACE/MPC/config/zlib.mpb create mode 100644 ACE/MPC/config/zzip.mpb create mode 100755 ACE/MPC/create_base.pl create mode 100755 ACE/MPC/depgen.pl create mode 100755 ACE/MPC/devtools/document_template.pl create mode 100755 ACE/MPC/devtools/highlight_template.pl create mode 100644 ACE/MPC/docs/LICENSE create mode 100644 ACE/MPC/docs/MPC.sgml create mode 100644 ACE/MPC/docs/README create mode 100644 ACE/MPC/docs/USAGE create mode 100644 ACE/MPC/docs/html/MakeProjectCreator.css create mode 100644 ACE/MPC/docs/html/MakeProjectCreator.html create mode 100644 ACE/MPC/docs/html/images/OCILOGO_bw_book.eps create mode 100644 ACE/MPC/docs/html/images/mpc.fig create mode 100644 ACE/MPC/docs/html/images/mpc.gif create mode 100644 ACE/MPC/docs/html/images/mpc_mtiff.eps create mode 100644 ACE/MPC/docs/html/images/mwc.fig create mode 100644 ACE/MPC/docs/html/images/mwc.gif create mode 100644 ACE/MPC/docs/html/images/mwc_mtiff.eps create mode 100644 ACE/MPC/docs/templates/automake.txt create mode 100644 ACE/MPC/docs/templates/bmake.txt create mode 100644 ACE/MPC/docs/templates/cc.txt create mode 100644 ACE/MPC/docs/templates/common.txt create mode 100644 ACE/MPC/docs/templates/ghs.txt create mode 100644 ACE/MPC/docs/templates/make.net.txt create mode 100644 ACE/MPC/docs/templates/make.txt create mode 100644 ACE/MPC/docs/templates/vc7.txt create mode 100644 ACE/MPC/docs/templates/vc7csharp.txt create mode 100644 ACE/MPC/docs/templates/vc7java.txt create mode 100644 ACE/MPC/docs/templates/vc7vb.txt create mode 100644 ACE/MPC/docs/templates/vc8.txt create mode 100644 ACE/MPC/docs/templates/vc8csharp.txt create mode 100644 ACE/MPC/docs/templates/vc8java.txt create mode 100644 ACE/MPC/docs/templates/vc8vb.txt create mode 100644 ACE/MPC/docs/templates/wb26.txt create mode 100644 ACE/MPC/docs/templates/wix.txt create mode 100755 ACE/MPC/generate_export_header.pl create mode 100644 ACE/MPC/history/ChangeLog-3_1 create mode 100644 ACE/MPC/history/ChangeLog-3_2 create mode 100644 ACE/MPC/history/ChangeLog-3_3 create mode 100644 ACE/MPC/history/ChangeLog-3_4 create mode 100644 ACE/MPC/history/ChangeLog-3_5 create mode 100644 ACE/MPC/history/ChangeLog-3_6 create mode 100644 ACE/MPC/modules/AutomakeProjectCreator.pm create mode 100644 ACE/MPC/modules/AutomakeWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/BCB2007ProjectCreator.pm create mode 100644 ACE/MPC/modules/BCB2007WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/BCB2009ProjectCreator.pm create mode 100644 ACE/MPC/modules/BCB2009WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/BDS4ProjectCreator.pm create mode 100644 ACE/MPC/modules/BDS4WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/BMakeProjectCreator.pm create mode 100644 ACE/MPC/modules/BMakeWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/BorlandProjectBase.pm create mode 100644 ACE/MPC/modules/CCProjectCreator.pm create mode 100644 ACE/MPC/modules/CCWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/CommandHelper.pm create mode 100644 ACE/MPC/modules/ConfigParser.pm create mode 100644 ACE/MPC/modules/Creator.pm create mode 100644 ACE/MPC/modules/Depgen/DependencyEditor.pm create mode 100644 ACE/MPC/modules/Depgen/DependencyGenerator.pm create mode 100644 ACE/MPC/modules/Depgen/DependencyWriter.pm create mode 100644 ACE/MPC/modules/Depgen/DependencyWriterFactory.pm create mode 100644 ACE/MPC/modules/Depgen/Driver.pm create mode 100644 ACE/MPC/modules/Depgen/MakeDependencyWriter.pm create mode 100644 ACE/MPC/modules/Depgen/MakeObjectGenerator.pm create mode 100644 ACE/MPC/modules/Depgen/NMakeDependencyWriter.pm create mode 100644 ACE/MPC/modules/Depgen/NMakeObjectGenerator.pm create mode 100644 ACE/MPC/modules/Depgen/ObjectGenerator.pm create mode 100644 ACE/MPC/modules/Depgen/ObjectGeneratorFactory.pm create mode 100644 ACE/MPC/modules/Depgen/Preprocessor.pm create mode 100644 ACE/MPC/modules/DirectoryManager.pm create mode 100644 ACE/MPC/modules/Driver.pm create mode 100644 ACE/MPC/modules/EM3ProjectCreator.pm create mode 100644 ACE/MPC/modules/EM3WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/FeatureParser.pm create mode 100644 ACE/MPC/modules/GHSProjectCreator.pm create mode 100644 ACE/MPC/modules/GHSWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/GUID.pm create mode 100644 ACE/MPC/modules/HTMLProjectCreator.pm create mode 100644 ACE/MPC/modules/HTMLWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/MPC.pm create mode 100644 ACE/MPC/modules/MWC.pm create mode 100644 ACE/MPC/modules/MakeProjectBase.pm create mode 100644 ACE/MPC/modules/MakeProjectCreator.pm create mode 100644 ACE/MPC/modules/MakeWorkspaceBase.pm create mode 100644 ACE/MPC/modules/MakeWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/NMakeProjectCreator.pm create mode 100644 ACE/MPC/modules/NMakeWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/Options.pm create mode 100644 ACE/MPC/modules/OutputMessage.pm create mode 100644 ACE/MPC/modules/Parser.pm create mode 100644 ACE/MPC/modules/ProjectCreator.pm create mode 100644 ACE/MPC/modules/SLEProjectCreator.pm create mode 100644 ACE/MPC/modules/SLEWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/StringProcessor.pm create mode 100644 ACE/MPC/modules/TemplateInputReader.pm create mode 100644 ACE/MPC/modules/TemplateParser.pm create mode 100644 ACE/MPC/modules/VC10ProjectCreator.pm create mode 100644 ACE/MPC/modules/VC10WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/VC6ProjectCreator.pm create mode 100644 ACE/MPC/modules/VC6WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/VC71ProjectCreator.pm create mode 100644 ACE/MPC/modules/VC71WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/VC7ProjectCreator.pm create mode 100644 ACE/MPC/modules/VC7WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/VC8ProjectCreator.pm create mode 100644 ACE/MPC/modules/VC8WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/VC9ProjectCreator.pm create mode 100644 ACE/MPC/modules/VC9WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/VCProjectBase.pm create mode 100644 ACE/MPC/modules/Version.pm create mode 100644 ACE/MPC/modules/WB26ProjectCreator.pm create mode 100644 ACE/MPC/modules/WB26WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/WinProjectBase.pm create mode 100644 ACE/MPC/modules/WinVersionTranslator.pm create mode 100644 ACE/MPC/modules/WinWorkspaceBase.pm create mode 100644 ACE/MPC/modules/WixProjectCreator.pm create mode 100644 ACE/MPC/modules/WixWorkspaceCreator.pm create mode 100644 ACE/MPC/modules/WorkspaceCreator.pm create mode 100644 ACE/MPC/modules/WorkspaceHelper.pm create mode 100644 ACE/MPC/modules/XMLProjectBase.pm create mode 100755 ACE/MPC/mpc.pl create mode 100755 ACE/MPC/mwc.pl create mode 100755 ACE/MPC/prj_install.pl create mode 100755 ACE/MPC/registry.pl create mode 100644 ACE/MPC/rpm/MPC.spec create mode 100755 ACE/MPC/rpm/buildrpm.sh create mode 100644 ACE/MPC/templates/automake.mpd create mode 100644 ACE/MPC/templates/automakedll.mpt create mode 100644 ACE/MPC/templates/automakeexe.mpt create mode 100644 ACE/MPC/templates/bcb2007.mpd create mode 100644 ACE/MPC/templates/bcb2007dll.mpt create mode 100644 ACE/MPC/templates/bcb2007exe.mpt create mode 100644 ACE/MPC/templates/bcb2009.mpd create mode 100644 ACE/MPC/templates/bcb2009dll.mpt create mode 100644 ACE/MPC/templates/bcb2009exe.mpt create mode 100644 ACE/MPC/templates/bds4.mpd create mode 100644 ACE/MPC/templates/bds4dll.mpt create mode 100644 ACE/MPC/templates/bds4exe.mpt create mode 100644 ACE/MPC/templates/bmake.mpd create mode 100644 ACE/MPC/templates/bmakecommon.mpt create mode 100644 ACE/MPC/templates/bmakedll.mpt create mode 100644 ACE/MPC/templates/bmakedllexe.mpt create mode 100644 ACE/MPC/templates/bmakelib.mpt create mode 100644 ACE/MPC/templates/bmakelibexe.mpt create mode 100644 ACE/MPC/templates/cc.mpd create mode 100644 ACE/MPC/templates/cccommon.mpt create mode 100644 ACE/MPC/templates/ccexe.mpt create mode 100644 ACE/MPC/templates/cclib.mpt create mode 100644 ACE/MPC/templates/common.mpt create mode 100644 ACE/MPC/templates/em3.mpd create mode 100644 ACE/MPC/templates/em3vcpdll.mpt create mode 100644 ACE/MPC/templates/em3vcpdllexe.mpt create mode 100644 ACE/MPC/templates/em3vcplib.mpt create mode 100644 ACE/MPC/templates/em3vcplibexe.mpt create mode 100644 ACE/MPC/templates/ghs.mpd create mode 100644 ACE/MPC/templates/ghscommon.mpt create mode 100644 ACE/MPC/templates/ghsdll.mpt create mode 100644 ACE/MPC/templates/ghsdllexe.mpt create mode 100644 ACE/MPC/templates/ghslib.mpt create mode 100644 ACE/MPC/templates/ghslibexe.mpt create mode 100644 ACE/MPC/templates/html.mpd create mode 100644 ACE/MPC/templates/make.mpd create mode 100644 ACE/MPC/templates/make.net.mpd create mode 100644 ACE/MPC/templates/make.net.mpt create mode 100644 ACE/MPC/templates/makedll.mpt create mode 100644 ACE/MPC/templates/makeexe.mpt create mode 100644 ACE/MPC/templates/nmake.mpd create mode 100644 ACE/MPC/templates/nmakedll.mpt create mode 100644 ACE/MPC/templates/nmakeexe.mpt create mode 100644 ACE/MPC/templates/sle.mpd create mode 100644 ACE/MPC/templates/sledll.mpt create mode 100644 ACE/MPC/templates/sleexe.mpt create mode 100644 ACE/MPC/templates/unixcommon.mpt create mode 100644 ACE/MPC/templates/vc6.mpd create mode 100644 ACE/MPC/templates/vc6dspdll.mpt create mode 100644 ACE/MPC/templates/vc6dspdllexe.mpt create mode 100644 ACE/MPC/templates/vc6dsplib.mpt create mode 100644 ACE/MPC/templates/vc6dsplibexe.mpt create mode 100644 ACE/MPC/templates/vc7.mpd create mode 100644 ACE/MPC/templates/vc7csharp.mpd create mode 100644 ACE/MPC/templates/vc7csharp.mpt create mode 100644 ACE/MPC/templates/vc7dll.mpt create mode 100644 ACE/MPC/templates/vc7exe.mpt create mode 100644 ACE/MPC/templates/vc7java.mpd create mode 100644 ACE/MPC/templates/vc7java.mpt create mode 100644 ACE/MPC/templates/vc7lib.mpt create mode 100644 ACE/MPC/templates/vc7libexe.mpt create mode 100644 ACE/MPC/templates/vc7vb.mpd create mode 100644 ACE/MPC/templates/vc7vb.mpt create mode 100644 ACE/MPC/templates/vc8.mpd create mode 100644 ACE/MPC/templates/vc8csharp.mpd create mode 100644 ACE/MPC/templates/vc8csharp.mpt create mode 100644 ACE/MPC/templates/vc8dll.mpt create mode 100644 ACE/MPC/templates/vc8exe.mpt create mode 100644 ACE/MPC/templates/vc8java.mpd create mode 100644 ACE/MPC/templates/vc8java.mpt create mode 100644 ACE/MPC/templates/vc8lib.mpt create mode 100644 ACE/MPC/templates/vc8libexe.mpt create mode 100644 ACE/MPC/templates/vc8platforms.mpt create mode 100644 ACE/MPC/templates/vc8vb.mpd create mode 100644 ACE/MPC/templates/vc8vb.mpt create mode 100644 ACE/MPC/templates/vccommon.mpt create mode 100644 ACE/MPC/templates/wb26.mpd create mode 100644 ACE/MPC/templates/wb26dll.mpt create mode 100644 ACE/MPC/templates/wb26exe.mpt create mode 100644 ACE/MPC/templates/wb26wrmakefile.mpd create mode 100644 ACE/MPC/templates/wb26wrproject.mpd create mode 100644 ACE/MPC/templates/windowscommon.mpt create mode 100644 ACE/MPC/templates/wix.mpd create mode 100644 ACE/MPC/templates/wix.mpt create mode 100755 ACE/MPC/vs_postclean.pl diff --git a/ACE/MPC/ChangeLog b/ACE/MPC/ChangeLog new file mode 100644 index 00000000000..9fd9d1b0726 --- /dev/null +++ b/ACE/MPC/ChangeLog @@ -0,0 +1,1120 @@ +Wed Jan 27 11:11:14 UTC 2010 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Removed -enableEscapeChar as default argument, it is not supported with the + 4.4 release we have on emulab + +Tue Jan 26 12:00:14 UTC 2010 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Added -enableEscapeChar as default argument + +Mon Jan 25 18:55:14 UTC 2010 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Use the new <%bat%>, on windows this is a batch file, not an + executable + +Mon Jan 25 18:46:30 UTC 2010 Chad Elliott + + * docs/README: + * docs/USAGE: + * docs/html/MakeProjectCreator.html: + * modules/ProjectCreator.pm: + + Added additional psuedo template variables (bat, cmd and exe) and + an optional environment variable to force Windows compatible + commands to be used in psuedo template variables. See the + documentation for more on this. + + * templates/make.mpd: + * templates/makedll.mpt: + + Modified this template and template input file to use a C compiler + on files that have a .c extension instead of always using the C++ + compiler. + +Sat Jan 23 18:32:14 UTC 2010 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Commented out the dependent setting, with the vc and nmake + project types, MPC adds .exe as default extension, but this + script is a .bat file on windows. See bugzilla 3816 for some + more details. + +Thu Jan 21 12:52:48 UTC 2010 Chad Elliott + + * modules/Depgen/MakeDependencyWriter.pm: + + Move checks to the file level status. + + * modules/TemplateParser.pm: + + Fixed bugs with using a scope inside of a foreach. Also, fixed + bugs where 'flag_overrides' would sometimes end up as an array + and would be printed to the project as if it were a string. + Finally, a filename ending in a '.' will be considered to have an + extension of '.'. + + * templates/automake.mpd: + Modified to best handle dependencies with a space or $(...) in + them. Dependencies with spaces in them will be handled at the + template level and $(...) dependencies will be dropped. + + * templates/make.mpd: + + Modified to best handle dependencies with a space or $(...) in + them. If the 'gnumake' template variable is set, a GNU make + substitute function will be used. Otherwise, it will be done at + the template level for spaces and $(...) dependencies will be + dropped. + +Mon Jan 18 09:24:14 UTC 2010 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Add TAO_ROOT and TAO_ROOT/tao to the default include paths to + get the same behaviour as with TAO_IDL + +Sun Jan 17 19:31:14 UTC 2010 Johnny Willemsen + + * config/loki.mpb: + Added base project for loki + +Thu Jan 14 17:23:14 UTC 2010 Chad Elliott + + * docs/templates/common.txt: + + Documented the language template variable. + + * modules/Depgen/MakeDependencyWriter.pm: + + Correctly deal with whitespace in file paths. Also, convert + : to a cygwin path on Windows (even if the user + isn't using cygwin). Otherwise, make will fail. + + * docs/templates/make.txt: + * templates/make.mpd: + + Use DEPLIBS to cause an executable to be relinked when a static + library on which the executable depends is updated. This will + only be used if the 'gnumake' template variable is set. + + * templates/makedll.mpt: + + Set the 'gnumake' template variable for the linux, nucleus and + cygwin platforms. + +Wed Jan 13 13:07:57 UTC 2010 Abdul Sowayan + + * config/ndds_ts_defaults.mpb: + + Use the CORBA Compatability Kit (CCK) by default. + +Thu Jan 7 16:29:06 UTC 2010 Chad Elliott + + * modules/Creator.pm: + + Fixed a bug where template variable modifications made one project + would accidentally be retained for future projects. + + * modules/WorkspaceCreator.pm: + + Added a work-around in the create_command_line_string() method for + dollar signs in the command line arguments. On non-Windows + platforms, the argument with dollar signs will be wrapped in + single quotes. + +Tue Jan 5 14:33:11 UTC 2010 Chad Elliott + + * config/libpng.mpb: + * config/zlib.mpb: + + Put double quotes around settings that contain $(...) so that when + it is filled in with something that contains spaces, the value is + retained correctly. + + There are probably other base projects that could benefit from + this, but I only need these at the moment. + +Mon Jan 4 15:48:32 UTC 2010 James H. Hill + + * config/iodbc.mpb: + * config/odbc.mpb: + * config/unixodbc.mpb: + + Rewrote the odbc.mpb project in terms of feature specifications + for UnixODBC and iODBC. + +Mon Jan 4 15:25:54 UTC 2010 Chad Elliott + + * config/qt.mpb: + + Added an include path for non-Windows project types. + + * modules/Creator.pm: + + Added a method to replace environment variables within a string. + This isn't new code, it's just removal of duplicated code. + + * modules/Depgen/DependencyEditor.pm: + + Don't process directories as if they were files. + + * modules/ProjectCreator.pm: + + Use environment variable replacement method from Creator. + + * modules/WorkspaceCreator.pm: + + Replace environment variables in non-scoped assignments as they + are encountered. This avoids errors in 'cmdline' assignments + within aggregated workspaces. + +Sat Jan 2 16:37:15 UTC 2010 James H. Hill + + * config/odbc.mpb: + + Fixed comment in iODBC section. + +Mon Dec 21 18:55:57 UTC 2009 Chad Elliott + + * modules/AutomakeWorkspaceCreator.pm: + + Fixed a bug where the conditional 'associate' tag (--) would be + used as an AM_CONDITIONAL in the generated configure.ac. + + * templates/makedll.mpt: + + The system directory variable for arm_elf_gcc should have been + $(SYSTEMDIR) not $(SYSTEM). + +Thu Dec 17 20:45:21 UTC 2009 Chad Elliott + + * modules/ProjectCreator.pm: + + Fixed a bug where adding a string containing $(...) would not have + double quotes which, when used with -expand_vars, could cause + invalid values if the variable value had a space in it. + + * templates/makedll.mpt: + + Changed the hard-coded /usr/local to use $(SYSTEM) in the + arm_elf_gcc compiler configuration. + +Tue Dec 1 15:05:46 UTC 2009 Chad Elliott + + * docs/templates/common.txt: + * templates/vc7csharp.mpd: + * templates/vc7java.mpd: + * templates/vc7vb.mpd: + * templates/vc8csharp.mpd: + * templates/vc8java.mpd: + * templates/vc8vb.mpd: + + Allow the setting of the "DelaySign" value through a template + variable. + +Mon Nov 30 17:17:30 UTC 2009 Chad Elliott + + * modules/Depgen/NMakeObjectGenerator.pm: + + Moved a comment. + + * templates/make.mpd: + + If the 'targetoutdir' or 'obj_dir' template variables are set, we + need to set the VDIR environment variable when calling depgen.pl + so that the generated dependencies have the right directory. + +Thu Nov 26 08:57:00 UTC 2009 Simon Massey + + * modules/ProjectCreator.pm: + + Reverted allowing double-quote characters to be treated + in a project specific way for the. If quotes are to be + preserved within "idlflags" inside project mpc files, then + explicit <%quote%> must be used. Swapping natual quotes + broke other parts of MPC parsing. + +Tue Nov 17 15:05:06 UTC 2009 Chad Elliott + + * modules/ProjectCreator.pm: + + Fixed a problem with my last change. In some cases, a perl + variable wasn't set causing strange template variable results. + +Mon Nov 16 02:52:53 UTC 2009 Chad Elliott + + * config/msgfmt.mpb: + + Added a base project to utilize the msgfmt executable. + + * modules/ProjectCreator.pm: + + Fixed a bug where adding to a scoped template variable nullified + the setting of the non-scoped template variable. + +Fri Nov 13 15:30:00 UTC 2009 Simon Massey + + * modules/ProjectCreator.pm: + + update_template_variable() now processes values through + replace_parameters() and treats double-quote characters + in a project specific way. This allows the "tao_idlflags" + template variable to contain quoted roots, to allow for + spaces within the directory names. + Also convert_command_parameters() now also treats + double-quote characters in a project specific way for the + same reason, to allow " to be used within "idlflags" inside + project mpc files. + +Wed Nov 11 07:00:20 UTC 2009 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + + Don't use visibility with ndds + +Mon Nov 9 15:22:20 UTC 2009 Mike Martinez + + * config/qt4_core.mpb: + + Added QT4_INCDIR to allow user to specify include directory + which is not relative to QTDIR (such as distributions that + place qt in /usr/include/qt4). + + * config/qt4_gui.mpb: + + Added QRC resource compiler command handling. + Added 'ui_' prefix to output filename of UI compiler to match + the behavior of 'qmake'. + +Fri Nov 6 03:39:51 UTC 2009 Chad Elliott + + * config/mpich.mpb: + + Added an include path and remove an unnecessary library (for + non-windows project types). + +Thu Nov 5 19:39:35 UTC 2009 Chad Elliott + + * modules/ProjectCreator.pm: + * modules/XMLProjectBase.pm: + + Fixed the 'equote' pseudo template variable. It wasn't actually + escaped before. Now it is. + +Mon Nov 2 13:35:00 UTC 2009 Chad Elliott + + * modules/WorkspaceCreator.pm: + + Fixed a bug where an MPC file used in more than one aggregated + workspace wouldn't be ignored. + +Thu Oct 29 22:55:05 UTC 2009 Chad Elliott + + * docs/README: + * docs/html/MakeProjectCreator.html: + * modules/ProjectCreator.pm: + + Added the current language as a property. So, prop:cplusplus, for + example, can be used within a 'specific' scope. + + * docs/USAGE: + * modules/Options.pm: + + Minor change. Separated languages using commas in usage. + +Wed Oct 28 16:00:03 UTC 2009 Chad Elliott + + * templates/make.mpd: + + If a custom 'dependent' setting contains a double quote, then we + must make a fake rule that corresponds to it. Otherwise, make + doesn't know how to deal with it. + +Fri Oct 23 09:49:30 UTC 2009 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Wrap the command with quotes because NDDSHOME could contain spaces + +Wed Oct 21 19:29:58 UTC 2009 Chad Elliott + + * docs/templates/make.txt: + * templates/make.mpd: + + Modified to allow the user to override the 'touch' command via + -value_template. For example, if you're using GNU make on Windows + you may want to replace 'touch' with 'copy nul' (e.g, mwc.pl + -value_template "touch=copy nul"). + + * templates/vc8.mpd: + + Replaced spaces with tabs so that the generated project is more + like ones created by Visual Studio. + +Tue Oct 20 06:31:30 UTC 2009 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Don't wrap the command with quotes, that breaks on linux + +Mon Oct 19 12:05:30 UTC 2009 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + Wrap the command with quotes + +Fri Oct 16 17:42:30 UTC 2009 Steven Stallion + + * templates/vc7.mpd: + * templates/vc8.mpd: + + Reverted changes (r1646): + Mon Oct 5 11:38:03 UTC 2009 Johnny Willemsen + + Commit broke OpenDDS builds on Windows platforms. Custom commands + should not be wrapped in double quotes; some custom commands use + compound commands (i.e. dcps_ts.pl). + + * config/udm.mpb: + * config/wix.mpb: + + Reverted changes (r1649): + Tue Oct 13 13:38:48 UTC 2009 Sumant Tambe + + No longer neccessary. + +Fri Oct 16 02:25:30 UTC 2009 Chad Elliott + + * modules/ProjectCreator.pm: + + Reverted my change from Tue Sep 1 12:58:30 UTC 2009 and modified + the get_custom_value() method to not add >> files when gendir is + set to something other than '.'. Thanks to Steve Stallion for + tracking this down. + +Tue Oct 13 13:38:48 UTC 2009 Sumant Tambe + + * config/udm.mpb: + * config/wix.mpb: + + . Removed quotes because they are no longer necessary. Quotes are + generated automatically as per Johnny's changes on Oct 5th. + +Tue Oct 6 09:04:03 UTC 2009 Johnny Willemsen + + * config/ndds_ts_defaults.mpb: + This base project requires ndds + +Mon Oct 5 11:38:03 UTC 2009 Johnny Willemsen + + * templates/vc7.mpd: + * templates/vc8.mpd: + Generate quotes around a custom command, the tool we execute could + be in a path with a space in it + +Fri Oct 2 20:31:03 UTC 2009 Steven Stallion + + * config/global.features: + + Updated support for erlang. + +Mon Sep 28 15:18:36 UTC 2009 Chad Elliott + + * config/global.features: + * config/libpng.mpb: + + Added support for libpng. + + * templates/makedll.mpt: + + Added support for gcc on Nucleus OS. + +Thu Sep 24 12:38:20 UTC 2009 Johnny Willemsen + + * templates/vc8platforms.mpt: + Added Beckhoff_HMI_600 (x86) + +Tue Sep 22 21:12:20 UTC 2009 Sumant Tambe + + * config/udm.mpb: + + Added paths for GME 7 and GME 9. + +Thu Sep 17 13:52:10 UTC 2009 Chad Elliott + + * config/pcre.mpb: + + Only add the $(PCRE_VERSION) variable to the library name when not + using Microsoft products. Since the windows version of pcre + doesn't have a version number, the variable is always empty and + Visual Studio complains. + +Wed Sep 9 21:48:19 UTC 2009 Chad Elliott + + * docs/README: + * docs/html/MakeProjectCreator.html: + * modules/ProjectCreator.pm: + + Added a new psuedo variable, 'prj_type', which holds the project + type as specified by the -type command line option. + + * config/wix.mpb: + + Modified to use the new 'prj_type' pseudo variable. + + * modules/WorkspaceCreator.pm: + + Changed the duplicate project through workspace aggregation from a + warning to information. + +Tue Sep 8 04:16:19 UTC 2009 Sumant Tambe + + * config/udm.mpb: + * config/wix.mpb: + + Added support for VC9 and UDM version 3.2.1. + +Tue Sep 8 00:48:45 UTC 2009 Chad Elliott + + * modules/Driver.pm: + + When the -gfeature_file option is used, turn the file path into a + full path if it is relative. This is necessary for when the + -recurse option is used and a full path isn't provided to the + feature file. + + * modules/ProjectCreator.pm: + + When setting up the 'input_ext' and 'output_ext' pseudo template + variables, set them to an empty string if the input and output + files do not contain an extension. + +Thu Sep 3 19:15:49 UTC 2009 Chad Elliott + + * docs/html/MakeProjectCreator.html: + + Corrected the documentation for the 'remove_from' template + function. + + * modules/FeatureParser.pm: + + Sort the feature names as they come out for reproducibility. + + * modules/Options.pm: + + Fixed a bug where an ending /. would not be removed from a + relative path on Windows. + + * modules/TemplateParser.pm: + + Added missing 'lc' related functions to have a symmetry with 'uc'. + +Thu Sep 3 12:57:41 UTC 2009 Chad Elliott + + * config/default.rel: + + Added a comment about comma separating the columns. + + * docs/html/MakeProjectCreator.html: + + Added more info about the 'scope' template function. + + * modules/Options.pm: + + Fixed a bug where the valid languages wouldn't be printed in the + usage. + + * modules/TemplateParser.pm: + + Added a comment about what we're checking and why after + successfully parsing the template. + + * modules/ProjectCreator.pm: + * modules/WorkspaceCreator.pm: + + Changed to pass an array reference to the source listing callback + instead of passing an array. + + * templates/make.mpd: + + Added slightly better support for multiple platforms. It's still + not fully functional though. + +Tue Sep 1 12:58:30 UTC 2009 Chad Elliott + + * modules/ProjectCreator.pm: + + Removed code that added output files (added via the '>>' + construct) when accessing output files from the template. The + code was redundant and when gendir was something other than '.', + it would cause duplicate files to be added when the template was + generating the output file. + +Mon Aug 31 16:41:00 UTC 2009 Chad Elliott + + * PROBLEM-REPORT-FORM: + + Updated URLs. + + * modules/BCB2007ProjectCreator.pm: + * modules/BCB2007WorkspaceCreator.pm: + * modules/ConfigParser.pm: + + Corrected comments. + + * modules/ProjectCreator.pm: + + Alphabetized the keywords (which makes it easier when updating + documentation). Updated comments and added a minor performance + enhancment. + + * modules/TemplateParser.pm: + + Fixed a bug where 'features' used in a template would get confused + with template scopes. + + * modules/WB26ProjectCreator.pm: + + If the user overrides the template, still provide a valid project + file name in the project_file_name() method. + + * modules/WorkspaceCreator.pm: + + Fixed a bug where duplicate mpc files added by aggregated + workspaces would not be correctly ignored. + +Tue Aug 25 12:22:59 UTC 2009 Chad Elliott + + * config/qt4_core.mpb: + * config/qt4_designer.mpb: + * config/qt4_designercomponents.mpb: + * config/qt4_gui.mpb: + * config/qt4_network.mpb: + * config/qt4_opengl.mpb: + * config/qt4_qt3support.mpb: + * config/qt4_sql.mpb: + * config/qt4_svg.mpb: + * config/qt4_test.mpb: + * config/qt4_xml.mpb: + + Committing changes from Ciju John. Removed the hard-coded 4 in + the library names and switch from using $(QTDEBUG) to $(QT_CFG). + +Mon Aug 24 13:10:16 UTC 2009 Chad Elliott + + * docs/USAGE: + * modules/Options.pm: + + Changed VAR to VAL. + + * docs/html/MakeProjectCreator.html: + + Added missing 's. + + * modules/AutomakeWorkspaceCreator.pm: + + Added associated names to the list of AM_CONDITIONAL. + + * modules/Creator.pm: + + Fixed a bug where $(...) used in an exclude block would cause ./ + to be prepended to the value. Also, only remove unmatched $(...) + variables after attempting with the secondary relative values. + + * modules/WorkspaceCreator.pm: + + Fixed a bug where $PWD used in a 'cmdline' setting within an + exclude block would not be evaluated correctly. + +Wed Aug 19 14:28:52 UTC 2009 Chad Elliott + + * docs/README: + * docs/html/MakeProjectCreator.html: + * modules/ProjectCreator.pm: + + Added a 'static' property that can be used within the 'specifc' + and 'conditional' clauses. The 'static' property will only be set + if the -static option was used on the command line. + +Wed Aug 19 13:49:34 UTC 2009 Chad Elliott + + * modules/VC8WorkspaceCreator.pm: + + We should also avoid adding references to 'custom_only' projects. + These also cause warnings in Visual Studio. + +Wed Aug 19 02:11:03 UTC 2009 Chad Elliott + + * create_base.pl: + + Added a description of what the script does to the usage. + + * modules/Driver.pm: + + Use DirectoryManager::onVMS() instead of comparing $^O to 'VMS'. + + * modules/Options.pm: + + Removed a redundant exit() call. + + * modules/ProjectCreator.pm: + + Added comments to the get_special_value method. + + * modules/NMakeWorkspaceCreator.pm: + * modules/TemplateParser.pm: + * modules/VC7WorkspaceCreator.pm: + + Added the 'managed' setting to the saved project info structure. + + * modules/VC8WorkspaceCreator.pm: + + Used the new 'managed' setting in the saved project info structure + to avoid adding a reference to a non-managed c++ library. + + * templates/vc8.mpd: + + Removed the use of <%language%> in the MPC ADD DEPENDENCIES + comment. It was not necessary since we have that information + available from the saved project info structure. + + * modules/WorkspaceCreator.pm: + + Removed the redundant setting of the 'info' data member. + + * registry.pl: + + Added vc10 and wix types. + + * vs_postclean.pl: + + Changed spaces in a regular expression to \s*. + +Fri Aug 14 18:46:11 UTC 2009 Chad Elliott + + * config/pcre.mpb: + * config/pcreposix.mpb: + + Added the ability to specify a version for the pcre libraries. + + * config/udm.mpb: + + Fixed a typo. + + * devtools/document_template.pl: + + Fixed a bug where mixed case template variables used in a foreach + would not be handled correctly. + + * docs/templates/vc7.txt: + + Documented the DisableSpecificWarnings template variable. + + * rpm/MPC.spec: + * rpm/buildrpm.sh: + + Made packager dynamic based on who's actually creating the RPM. + +Fri Aug 14 12:43:22 UTC 2009 Johnny Willemsen + + * config/udm.mpb + Use DisableSpecificWarnings + +Fri Aug 14 12:17:36 UTC 2009 Chad Elliott + + * templates/em3.mpd: + * templates/nmake.mpd: + * templates/vc6.mpd: + * templates/vc7.mpd: + + Support the DisableSpecificWarnings template variable as it is in + vc8 and higher. Since support isn't built directly into the + project format, we use the /wd command line option for each + warning number supplied. + +Fri Aug 14 02:20:11 UTC 2009 Chad Elliott + + * rpm: + * rpm/MPC.spec: + * rpm/buildrpm.sh: + + Added the ability to create an RPM file out of the MPC source. + +Wed Aug 12 22:29:21 UTC 2009 Chad Elliott + + * modules/BMakeWorkspaceCreator.pm: + * modules/WixWorkspaceCreator.pm: + + Cleaned up code. + + * modules/ProjectCreator.pm: + + Reverted one of the performance enhancements from yesterday. It + made a faulty assumption that caused issue with the DDS builds. + + * modules/WB26WorkspaceCreator.pm: + * modules/WorkspaceCreator.pm: + + Added a 'requires_make_coexistence' method to always use + -make_coexistence without having to pass the option on the command + line. + +Wed Aug 12 17:56:20 UTC 2009 Johnny Willemsen + + * config/gacutil.mpb: + Use prop:microsoft + +Wed Aug 12 12:48:20 UTC 2009 Johnny Willemsen + + * docs/html/MakeProjectCreator.html: + Fixed broken link + +Tue Aug 11 16:08:20 UTC 2009 Chad Elliott + + * docs/html/MakeProjectCreator.html: + + Added an Id tag. + + * modules/ProjectCreator.pm: + + Made minor performance enhancements. + + * modules/WB26WorkspaceCreator.pm: + + Added code to only put top-level dependencies in the project + files. This build tool doesn't handle indirectly duplicated + project dependencies very well. + +Mon Aug 10 21:40:58 UTC 2009 Chad Elliott + + * modules/ProjectCreator.pm: + + Return immediately from generate_default_target_names() if the + project has custom_only set to 1. We need not waste time setting + the sharedname, staticname or exename. + + * modules/WinVersionTranslator.pm: + + Cleaned up and commented the code. + +Mon Aug 10 17:55:53 UTC 2009 Chad Elliott + + * config/global.features: + + Added disabled features that were missing. + + * devtools/document_template.pl: + + Updated the usage and added automatic language selection for java. + + * docs/README: + * docs/USAGE: + + Updated to reflect the current state of MPC. + + * docs/html: + * docs/html/MakeProjectCreator.css: + * docs/html/MakeProjectCreator.html: + + Converted the Frame Maker source into HTML and updated to reflect + the current state of MPC. + + * docs/templates/wix.txt: + + Added incomplete documentation for the WIX template variables. + + * modules/GHSProjectCreator.pm: + + Corrected poorly written code. + + * modules/Options.pm: + + Fixed a bug in the -relative_file portion of the usage output. + + * modules/ProjectCreator.pm: + + Added the ability to use the 'temporary' pseudo template variable + outside of a custom_type context. It will contain a different + value than 'temporary' referenced from within the custom_type + context. + + * modules/WixProjectCreator.pm: + + Changed to use 'exeout' instead of the deprecated 'install' + project variable name. + + * docs/MakeProjectCreator.pdf: + * docs/fm: + * docs/fm/MakeProjectCreator.fm: + * docs/fm/images: + * docs/fm/images/OCILOGO_bw_book.eps: + * docs/fm/images/mpc.fig: + * docs/fm/images/mpc.gif: + * docs/fm/images/mpc_mtiff.eps: + * docs/fm/images/mwc.fig: + * docs/fm/images/mwc.gif: + * docs/fm/images/mwc_mtiff.eps: + * docs/html/MakeProjectCreator.fm: + + Removed these files. + +Fri Aug 7 09:23:58 UTC 2009 Johnny Willemsen + + * templates/vc8platforms.mpt: + Removed release_link_options for the SuperSonic SDK, the options + are not ok + +Thu Aug 6 15:11:07 UTC 2009 Chad Elliott + + * devtools/document_template.pl: + * modules/CCProjectCreator.pm: + * modules/Creator.pm: + * modules/MakeProjectCreator.pm: + * modules/MakeWorkspaceCreator.pm: + * modules/Options.pm: + * modules/ProjectCreator.pm: + * modules/VC6ProjectCreator.pm: + * modules/VC7ProjectCreator.pm: + * modules/VC7WorkspaceCreator.pm: + * modules/VC8ProjectCreator.pm: + * modules/VC8WorkspaceCreator.pm: + * modules/WB26ProjectCreator.pm: + + Replaced all language related strings with constants stored in the + Creator base class. + + Also, fixed a bug where a project that contained source files or + resource files for a language not supported by the project type + would be created. Now, the project will be skipped if the project + type does not support the language setting. + +Wed Aug 5 18:41:55 UTC 2009 Chad Elliott + + * MPC.ico: + + Updated to use the new MPC logo. + + * docs/README: + * modules/ProjectCreator.pm: + + Modified 'conditional' to use properties like 'specific'. + + * modules/WixProjectCreator.pm: + + Inherit from XMLProjectBase and WinProjectBase. The output is xml + and this is a Windows specific project creator. + + * docs/templates/make.net.txt + * templates/make.net.mpd: + * templates/make.net.mpt: + + Updated to support icon files and resx files, the trace template + variable and to set the DESIGN and DEBUG constants in debug mode. + +Wed Aug 5 06:21:58 UTC 2009 Johnny Willemsen + + * templates/vc8.mpd: + Added release_link_options. This fixes bugzilla 3527, thank to + Chad Elliot for providing the patch + + * templates/vc8platforms.mpt: + Use release_link_options for the SuperSonic SDK + + * templates/vc8platforms.mpt: + No need to set charset anymore + + * docs/templates/vc8.txt: + Document new release_link_options + +Tue Aug 4 18:11:58 UTC 2009 Chad Elliott + + * modules/ProjectCreator.pm: + * modules/TemplateParser.pm: + + Added a new template function, 'extensions', that can be used to + get a list of valid extensions based on the component name (e.g, + source_files, header_files, inline_files, etc.) + + * templates/em3.mpd: + * templates/vc6.mpd: + * templates/vc7.mpd: + * templates/vc8.mpd: + * templates/wb26wrproject.mpd: + + Use the 'extensions' function instead of hard-coded strings. + +Tue Aug 4 16:29:11 UTC 2009 Chad Elliott + + * modules/Creator.pm: + + Default the language to 'cplusplus' if it isn't provided during + construction. This ensures that language is always set and we + don't have to check it to make sure it's defined elsewhere. + + * modules/ProjectCreator.pm: + + Modified the behavior of dealing with resource files. The + behavior specific to C++ was being applied to all languages. + + * modules/TemplateParser.pm: + + Added implementations of various template functions. Some were + required for the bmake template change below. + + * modules/WixProjectCreator.pm: + + Removed unused code. + + * modules/WixWorkspaceCreator.pm: + + Fixed a the case of the WixProjectCreator name. + + * templates/bmake.mpd: + * templates/bmakedll.mpt: + * templates/bmakedllexe.mpt: + + Added the ability to build static projects without providing the + -static option to MPC. The static-only projects can still be + created with the -static option, but it is no longer necessary. + +Tue Aug 4 10:31:40 UTC 2009 Johnny Willemsen + + * config/unicode.mpb: + Changed this to a feature + +Mon Aug 3 16:43:18 UTC 2009 Chad Elliott + + * modules/Driver.pm: + * mpc.pl: + * mwc.pl: + + Added a pair of constants that will be used in determining which + type of creators to use (either workspace or project). + + * modules/ProjectCreator.pm: + + Removed the use of a hard-coded string and simplified some code. + +Fri Jul 24 09:29:31 UTC 2009 Johnny Willemsen + + * config/nddslib.mpb: + Added requires += ndds. If you want to use RTI DDS you have to + add ndds=1 to your default.features file. This way we can add + dds4ccm support to CIAO without requiring all users to install + RTI DDS + +Fri Jul 3 03:25:31 UTC 2009 James H. Hill + + * templates/wix.mpd: + + Added support for setting the install location of a set of + files for a project using 'install_location'. This takes a + comma separated list of directories that represent the location + for installing the files. The following is a simple example: + + specific (wix) { + install_location = etc models + } + + The example above will install files for the given project + in etc/models directory under the root install directory. + +Thu Jul 2 06:37:36 UTC 2009 James H. Hill + + * templates/wix.mpd: + + Fixed bugs GME section of generated Wix files for vc8. + +Sun Jun 28 08:05:20 UTC 2009 James H. Hill + + * templates/wix.mpd: + + Added support for installing GME components using Wix. In order + to include GME components in the installer, you must define the + following properties in a *wix* scope: + + gme_install = [0 | 1]; default is 0 + gme_register = [HKLM | HKCU]; default is HKLM + gme_progid = + gme_uuid = + gme_paradigms = + gme_has_icon = [0 | 1] + gme_description = + gme_tooltip = + + The values for each of these properties can be found in + ComponentConfig.h + +Thu Jun 25 06:25:12 UTC 2009 James H. Hill + + * modules/WixProjectCreator.pm: + * templates/wix.mpd: + + Added support to creating a directory if there is no output + file specified in the project. + + Disabled skipping projects if there are no useful targets + defined. + + Added markers to the top and bottom of the component. The + name of the markers are: component_top and component_bottom. + +Thu Jun 25 00:39:12 UTC 2009 James H. Hill + + * modules/WixProjectCreator.pm: + * modules/WixWorkspaceCreator.pm: + + Forgot to change the case on the pacakge names. + +Wed Jun 24 21:19:36 UTC 2009 James H. Hill + + * config/wix.mpb: + * config/wix_ui.mpb: + * config/wix_xml.mpb: + + Base projects for building Wix files. + +Wed Jun 24 21:14:20 UTC 2009 James H. Hill + + * modules/WixProjectCreator.pm: + * modules/WixWorkspaceCreator.pm: + * templates/wix.mpd: + * templates/wix.mpt: + + . First version of the Wix module that is used in conjuction + with the Wix toolset that creates .msi files. This project + type will generate the include files (.wxi) that can be included + in a .wxs configuration file. + + Right now, the installer only can generate files for + shared libraries. The next update will include support for + executables. + +Wed Jun 17 18:37:31 UTC 2009 Johnny Willemsen + + * templates/vc8platforms.mpt: + Explicitly set charset to get CharacterSet set when using + multiple platforms + +Tue May 26 19:01:53 UTC 2009 Adam Mitz + + * modules/ProjectCreator.pm: + + Changed hard-coded 'resource_files' to a call to get_resource_tag, + which is a new method on ProjectCreator. get_resource_tag + determines the name of 'resource_files' for the current language + based on the %language hash (for C# and VB this is 'resx_files'). + +Mon May 25 11:03:31 UTC 2009 Johnny Willemsen + + * templates/vc8platforms.mpt: + Added a new target and corrected some wince versions + +Sun May 24 18:46:31 UTC 2009 Chad Elliott + + * MPC version 3.7.0 released. + +Local Variables: +mode: change-log +add-log-time-format: (lambda () (progn (setq tz (getenv TZ)) (set-time-zone-rule UTC) (setq time (format-time-string %a %b %e %H:%M:%S %Z %Y (current-time))) (set-time-zone-rule tz) time)) +indent-tabs-mode: nil +End: diff --git a/ACE/MPC/MPC.ico b/ACE/MPC/MPC.ico new file mode 100644 index 00000000000..2d56840fd1c Binary files /dev/null and b/ACE/MPC/MPC.ico differ diff --git a/ACE/MPC/PROBLEM-REPORT-FORM b/ACE/MPC/PROBLEM-REPORT-FORM new file mode 100644 index 00000000000..34d2c75a9e8 --- /dev/null +++ b/ACE/MPC/PROBLEM-REPORT-FORM @@ -0,0 +1,30 @@ +Documentation for MPC can be found at the following location. + + http://downloads.ociweb.com/MPC/docs/html/MakeProjectCreator.html + +Please consult the documentation to ensure that you are using MPC correctly. + +If you are still having a problem getting MPC to do what you want, please +consult the FAQ before sending a support request. + + http://www.ociweb.com/products/mpc/mpc-faq + +When requesting MPC support please provide the following items: + + MPC version (using mwc.pl -version): + + Perl version (using perl --version): + + Operating System and Shell: + + ACE or TAO version (if using either): + + The contents of default.features (if any): + + MPC command line options: + + Problem description (please be as detailed as possible): + +Finally, send support requests to support@ociweb.com. You may send +questions to the author (elliott_c@ociweb.com), but a response is not +guaranteed. diff --git a/ACE/MPC/clone_build_tree.pl b/ACE/MPC/clone_build_tree.pl new file mode 100755 index 00000000000..a374ed5f10b --- /dev/null +++ b/ACE/MPC/clone_build_tree.pl @@ -0,0 +1,542 @@ +#! /usr/bin/perl +eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' + & eval 'exec perl -w -S $0 $argv:q' + if 0; + +# ****************************************************************** +# Author: Chad Elliott +# Date: 4/8/2004 +# $Id$ +# Description: Clone a build tree into an alternate location. +# This script is a rewrite of create_ace_build.pl and +# does not restrict the user to place the build +# in any particular location or that it be used with +# ACE_wrappers. Some of the functions were barrowed +# from create_ace_build.pl, but were modified quite a +# bit. +# ****************************************************************** + +# ****************************************************************** +# Pragma Section +# ****************************************************************** + +use strict; +use Cwd; +use FileHandle; +use File::Copy; +use File::Find; +use File::Path; +use File::stat; +use File::Basename; + +# ****************************************************************** +# Data Section +# ****************************************************************** + +my $exclude; +my @foundFiles; +my $verbose = 0; +my $lbuildf = 0; +my $version = '1.16'; + +eval 'symlink("", "");'; +my $hasSymlink = ($@ eq ''); + +# ****************************************************************** +# Subroutine Section +# ****************************************************************** + +sub findCallback { + my $matches = !(/^CVS\z/s && ($File::Find::prune = 1) || + /^\.svn\z/s && ($File::Find::prune = 1) || + defined $exclude && + /^$exclude\z/s && ($File::Find::prune = 1) || + /^\.cvsignore\z/s && ($File::Find::prune = 1) || + /^build\z/s && ($File::Find::prune = 1) || + /^\..*obj\z/s && ($File::Find::prune = 1) || + /^Templates\.DB\z/s && ($File::Find::prune = 1) || + /^Debug\z/s && ($File::Find::prune = 1) || + /^Release\z/s && ($File::Find::prune = 1) || + /^Static_Debug\z/s && ($File::Find::prune = 1) || + /^Static_Release\z/s && ($File::Find::prune = 1) + ); + + if ($matches) { + $matches &&= (! -l $_ && + ! /^core\z/s && + ! /^.*\.rej\z/s && + ! /^.*\.state\z/s && + ! /^.*\.so\z/s && + ! /^.*\.[oa]\z/s && + ! /^.*\.dll\z/s && + ! /^.*\.lib\z/s && + ! /^.*\.obj\z/s && + ! /^.*~\z/s && + ! /^\.\z/s && + ! /^\.#.*\z/s && + ! /^.*\.ncb\z/s && + ! /^.*\.opt\z/s && + ! /^.*\.bak\z/s && + ! /^.*\.suo\z/s && + ! /^.*\.ilk\z/s && + ! /^.*\.pdb\z/s && + ! /^.*\.pch\z/s && + ! /^.*\.log\z/s && + ! ( -f $_ && /^.*\.d\z/s ) + ); + + if ($matches) { + if (!$lbuildf) { + $matches = (! /^.*\.dsp\z/s && + ! /^.*\.dsw\z/s && + ! /^.*\.vcproj\z/s && + ! /^.*\.sln\z/s && + ! /^Makefile.*\z/s && + ! /^GNUmakefile.*\z/s && + ! /^.*\.am\z/s && + ! /^\.depend\..*\z/s && + ! /^.*\.vcn\z/s && + ! /^.*\.vcp\z/s && + ! /^.*\.vcw\z/s && + ! /^.*\.vpj\z/s && + ! /^.*\.vpw\z/s && + ! /^.*\.cbx\z/s && + ! /^.*\.bpgr\z/s && + ! /^.*\.bmak\z/s && + ! /^.*\.bmake\z/s && + ! /^.*\.mak\z/s && + ! /^.*\.nmake\z/s && + ! /^.*\.bld\z/s && + ! /^.*\.icc\z/s && + ! /^.*\.icp\z/s && + ! /^.*\.project\z/s && + ! /^.*\.wrproject\z/s && + ! /^.*\.wrmakefile\z/s && + ! /^.*\.vxtest\z/s + ); + } + + if ($matches) { + ## Remove the beginning dot slash as we save the file + push(@foundFiles, $File::Find::name); + $foundFiles[$#foundFiles] =~ s/^\.[\\\/]+//; + } + } + } +} + + +sub getFileList { + File::Find::find({wanted => \&findCallback}, '.'); + return \@foundFiles; +} + + +sub backupAndMoveModified { + my($realpath, $linkpath) = @_; + my $mltime = -M $linkpath; + my $mrtime = -M $realpath; + my $status = 1; + + ## -M returns the number of days since modification. Therefore, + ## a smaller time means that it has been modified more recently. + ## This is different than what stat() returns. + + ## If the hard linked file is newer than the original file, that means + ## the link has been broken by something and needs to be "fixed". We + ## will back up the original file and move the modified file into it's + ## place. + if ($mltime < $mrtime) { + $status = 0; + + ## Move the real file to a backup + unlink("$realpath.bak"); + if (rename($realpath, "$realpath.bak")) { + ## Move the linked file to the real file name + if (move($linkpath, $realpath)) { + $status = 1; + } + else { + ## The move failed, so we will attempt to put + ## the original file back. + unlink($realpath); + rename("$realpath.bak", $realpath); + } + } + } + elsif ($mltime != $mrtime || -s $linkpath != -s $realpath) { + ## The two files are different in some way, we need to make a backup + ## so that we don't cause a loss of data/work. + $status = 0; + } + + if (!$status) { + ## We were not able to properly deal with this file. We will + ## attempt to preserve the modified file. + unlink("$linkpath.bak"); + rename($linkpath, "$linkpath.bak"); + } +} + + +sub hardlink { + my($realpath, $linkpath) = @_; + + if ($^O eq 'MSWin32' && ! -e $realpath) { + ## If the real file "doesn't exist", then we need to + ## look up the short file name. + my $short = Win32::GetShortPathName($realpath); + + ## If we were able to find the short file name, then we need to + ## try again. + if (defined $short) { + $realpath = $short; + } + else { + ## This should never happen, but there appears to be a bug + ## with the underlying Win32 APIs on Windows Server 2003. + ## Long paths will cause an error which perl will ignore. + ## Unicode versions of the APIs seem to work fine. + ## To experiment try Win32 _fullpath() and CreateHardLink with + ## long paths. + print "WARNING: Skipping $realpath.\n"; + return 1; + } + } + + return link($realpath, $linkpath); +} + + +sub symlinkFiles { + my($files, $fullbuild, $dmode, $startdir, $absolute) = @_; + my $sdlength = length($startdir) + 1; + my $partial = ($absolute ? undef : + substr($fullbuild, $sdlength, + length($fullbuild) - $sdlength)); + + foreach my $file (@$files) { + my $fullpath = "$fullbuild/$file"; + if (-e $fullpath) { + ## We need to make sure that we're not attempting to mix hardlinks + ## and softlinks. + if (! -d $fullpath && ! -l $fullpath) { + my $stat = stat($fullpath); + if ($stat->nlink() > 1) { + print STDERR "ERROR: Attempting to mix softlinks ", + "with a hardlink build.\n", + "$fullpath has ", $stat->nlink(), " links.\n"; + return 1; + } + } + } + else { + if (-d $file) { + if ($verbose) { + print "Creating $fullpath\n"; + } + if (!mkpath($fullpath, 0, $dmode)) { + print STDERR "ERROR: Unable to create $fullpath\n"; + return 1; + } + } + else { + if ($absolute) { + if ($verbose) { + print "symlink $startdir/$file $fullpath\n"; + } + if (!symlink("$startdir/$file", $fullpath)) { + print STDERR "ERROR: Unable to symlink $fullpath\n"; + return 1; + } + } + else { + my $buildfile = "$partial/$file"; + my $slashcount = ($buildfile =~ tr/\///); + my $real = ($slashcount == 0 ? './' : ('../' x $slashcount)) . + $file; + + print "symlink $real $fullpath\n" if ($verbose); + if (!symlink($real, $fullpath)) { + print STDERR "ERROR: Unable to symlink $fullpath\n"; + return 1; + } + } + } + } + } + + ## Remove links that point to non-existant files. The subroutine is + ## now anonymous to avoid the "will not stay shared" warning for %dirs. + my %dirs; + File::Find::find({wanted => sub { + if (-l $_ && ! -e $_) { + unlink($_); + $dirs{$File::Find::dir} = 1; + if ($verbose) { + print "Removing $File::Find::dir/$_\n"; + } + } + } + }, $fullbuild); + foreach my $key (keys %dirs) { + rmdir($key); + } + return 0; +} + + +sub hardlinkFiles { + my($files, $fullbuild, $dmode, $startdir) = @_; + my @hardlinks; + + foreach my $file (@$files) { + my $fullpath = "$fullbuild/$file"; + if (-d $file) { + if (! -e $fullpath) { + if ($verbose) { + print "Creating $fullpath\n"; + } + if (!mkpath($fullpath, 0, $dmode)) { + print STDERR "ERROR: Unable to create $fullpath\n"; + return 1; + } + } + } + else { + if (-e $fullpath) { + ## We need to make sure that we're not attempting to mix hardlinks + ## and softlinks. + if (-l $fullpath) { + print STDERR "ERROR: Attempting to mix hardlinks ", + "with a softlink build.\n", + "$fullpath is a softlink.\n"; + return 1; + } + backupAndMoveModified($file, $fullpath); + } + if (! -e $fullpath) { + if ($verbose) { + print "hardlink $file $fullpath\n"; + } + if (!hardlink($file, $fullpath)) { + print STDERR "ERROR: Unable to link $fullpath\n"; + return 1; + } + } + + ## If we successfully linked the file or it already exists, + ## we need to keep track of it. + push(@hardlinks, $file); + } + } + + ## Remove links that point to non-existant files + my $lfh = new FileHandle(); + my $txt = "$fullbuild/clone_build_tree.links"; + if (open($lfh, $txt)) { + my %dirs; + while(<$lfh>) { + my $line = $_; + $line =~ s/\s+$//; + if (! -e $line) { + my $full = "$fullbuild/$line"; + unlink($full); + $dirs{dirname($full)} = 1; + print "Removing $full\n" if ($verbose); + } + } + close($lfh); + foreach my $key (keys %dirs) { + rmdir($key); + } + } + + ## Rewrite the link file. + unlink($txt); + if (open($lfh, ">$txt")) { + foreach my $file (@hardlinks) { + print $lfh "$file\n"; + } + close($lfh); + } + + return 0; +} + + +sub linkFiles { + my($absolute, $dmode, $hardlink, $builddir, $builds) = @_; + my $status = 0; + my $starttime = time(); + my $startdir = getcwd(); + + ## Ensure that the build directory exists and is writable + mkpath($builddir, 0, $dmode); + if (! -d $builddir || ! -w $builddir) { + print STDERR "ERROR: Unable to create or write to $builddir\n"; + return 1; + } + + ## Search for the clonable files + print "Searching $startdir for files...\n"; + my $files = getFileList(); + my $findtime = time() - $starttime; + print 'Found ', scalar(@$files), ' files and directories in ', + $findtime, ' second', ($findtime == 1 ? '' : 's'), ".\n"; + + foreach my $build (@$builds) { + my $fullbuild = "$builddir/$build"; + + ## Create all of the links for this build + if (-d $fullbuild) { + print "Updating $fullbuild\n"; + } + else { + print "Creating $fullbuild\n"; + mkpath($fullbuild, 0, $dmode); + } + + if ($hardlink) { + $status += hardlinkFiles($files, $fullbuild, $dmode, $startdir); + } + else { + $status += symlinkFiles($files, $fullbuild, + $dmode, $startdir, $absolute); + } + print "Finished in $fullbuild\n"; + } + + print 'Total time: ', time() - $starttime, " seconds.\n" if ($status == 0); + + return $status; +} + + +sub usageAndExit { + my $msg = shift; + + print STDERR "$msg\n" if (defined $msg); + + my $base = basename($0); + my $spc = ' ' x (length($base) + 8); + + print STDERR "$base v$version\n\n", + "Create a tree identical in layout to the current directory\n", + "with the use of ", ($hasSymlink ? "symbolic links or " : ''), + "hard links.\n\n", + "Usage: $base [-b ] [-d ] [-f] ", + ($hasSymlink ? "[-a] [-l] " : ''), + "[-v]\n", + $spc, "[build names...]\n\n", + ($hasSymlink ? + "-a Use absolute paths when creating soft links.\n" . + "-l Use hard links instead of soft links.\n" : ''), + "-b Set the build directory. It defaults to the ", + "/build.\n", + "-d Set the directory permissions mode.\n", + "-f Link build files (Makefile, .dsw, .sln, .etc).\n", + "-s Set the start directory. It defaults to the ", + ".\n", + "-v Enable verbose mode.\n"; + + exit(0); +} + + +# ****************************************************************** +# Main Section +# ****************************************************************** + +my $dmode = 0777; +my $absolute = 0; +my $hardlink = !$hasSymlink; +my $builddir; +my @builds; +my $startdir; + +for(my $i = 0; $i <= $#ARGV; ++$i) { + if ($ARGV[$i] eq '-a') { + $absolute = 1; + } + elsif ($ARGV[$i] eq '-b') { + ++$i; + if (defined $ARGV[$i]) { + $builddir = $ARGV[$i]; + + ## Convert backslashes to slashes + $builddir =~ s/\\/\//g; + + ## Remove trailing slashes + $builddir =~ s/\/+$//; + + ## Remove duplicate slashes + while($builddir =~ s/\/\//\//g) { + } + } + else { + usageAndExit('-b requires an argument'); + } + } + elsif ($ARGV[$i] eq '-d') { + ++$i; + if (defined $ARGV[$i]) { + $dmode = $ARGV[$i]; + } + else { + usageAndExit('-d requires an argument'); + } + } + elsif ($ARGV[$i] eq '-f') { + $lbuildf = 1; + } + elsif ($ARGV[$i] eq '-l') { + $hardlink = 1; + } + elsif ($ARGV[$i] eq '-v') { + $verbose = 1; + } + elsif ($ARGV[$i] eq '-s') { + ++$i; + if (defined $ARGV[$i]) { + $startdir = $ARGV[$i]; + } + else { + usageAndExit('-s requires an argument'); + } + } + elsif ($ARGV[$i] =~ /^-/) { + usageAndExit('Unknown option: ' . $ARGV[$i]); + } + else { + push(@builds, $ARGV[$i]); + } +} + +if (defined $startdir && !chdir($startdir)) { + print "ERROR: Unable to change directory to $startdir\n"; + exit(1); +} + +$builddir = getcwd() . '/build' if (!defined $builddir); + +if (index($builddir, getcwd()) == 0) { + $exclude = substr($builddir, length(getcwd()) + 1); + $exclude =~ s/([\+\-\\\$\[\]\(\)\.])/\\$1/g; +} +else { + $absolute = 1; +} + +if (!defined $builds[0]) { + my $cwd = getcwd(); + if (chdir($builddir)) { + @builds = glob('*'); + chdir($cwd); + } + else { + usageAndExit('There are no builds to update.'); + } +} + +exit(linkFiles($absolute, $dmode, $hardlink, $builddir, \@builds)); diff --git a/ACE/MPC/combine_dsw.pl b/ACE/MPC/combine_dsw.pl new file mode 100755 index 00000000000..f1c2f4b1c4c --- /dev/null +++ b/ACE/MPC/combine_dsw.pl @@ -0,0 +1,145 @@ +#! /usr/bin/perl +eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' + & eval 'exec perl -w -S $0 $argv:q' + if 0; + +# ****************************************************************** +# Author: Chad Elliott +# Date: 4/8/2004 +# $Id$ +# Description: Combined multiple dsw's into a single dsw +# ****************************************************************** + +# ****************************************************************** +# Pragma Section +# ****************************************************************** + +use strict; +use FileHandle; +use File::Basename; + +# ****************************************************************** +# Data Section +# ****************************************************************** + +my $version = '1.3'; + +# ****************************************************************** +# Subroutine Section +# ****************************************************************** + +sub usageAndExit { + my $str = shift; + print STDERR "$str\n" if (defined $str); + print STDERR "Combine DSW v$version\n", + "Usage: ", basename($0), + " [-u] \n\n", + "-u Each input file will be removed after successful ", + "combination\n\n", + "NOTE: This script will work for vcw's too.\n\n", + "Combine multiple dsw's into a single dsw. You can use ", + "MPC to generate\n", + "dynamic projects and then generate static projects using ", + "the -static,\n", + "-name_modifier and -apply_project options together. You ", + "can then run this\n", + "script to combine the workspaces into one.\n"; + exit(0); +} + +# ****************************************************************** +# Main Section +# ****************************************************************** + +my $output; +my $unlink; +my @input; + +for(my $i = 0; $i <= $#ARGV; $i++) { + my $arg = $ARGV[$i]; + if ($arg =~ /^-/) { + if ($arg eq '-u') { + $unlink = 1; + } + else { + usageAndExit("Unknown option: $arg"); + } + } + else { + if (!defined $output) { + $output = $arg; + } + else { + push(@input, $arg); + } + } +} + +## Print the usage if there is no output file provided or there isn't at +## least two input files. +usageAndExit() if (!defined $output || + !defined $input[0] || !defined $input[1]); + +my $tmp = "$output.$$.tmp"; +my $oh = new FileHandle(); + +if (open($oh, ">$tmp")) { + my $msident; + for(my $i = 0; $i <= $#input; ++$i) { + ## We only want to take the global settings from the last input file. + my $input = $input[$i]; + my $global = ($i == $#input); + + ## Read in the input file and write out the parts that are common + ## between multiple workspace files (but only on the first input + ## file). After that, write out the project information from each + ## input file. + my $fh = new FileHandle(); + if (open($fh, $input)) { + my $in_global = 0; + while(<$fh>) { + if (/Microsoft\s+(Developer\s+Studio|eMbedded\s+Visual)/) { + ## We only want to print out the identifier from the first + ## input file. + if (!$msident) { + $msident = 1; + print $oh $_; + } + } + else { + if (/^Global:/) { + $in_global = 1; + } + elsif ($in_global && /^[#]{79,}/) { + $in_global = 0; + $_ = ''; + } + + ## Only print out the line if it's not part of the global + ## settings (unless this is the last input file). + print $oh $_ if (!$in_global || ($global && $in_global)); + } + } + close($fh); + } + else { + print STDERR "ERROR: Unable to open '$input' for reading\n"; + exit(2); + } + } + close($oh); + + ## If the user wants us to remove the input files after successfully + ## combining them, then do so here. + unlink(@input) if ($unlink); + + ## We have written the new workspace to a temporary file to allow an + ## input file to be the same as an output file. Once we're done, we + ## need to move it to it's correct output name. + unlink($output); + rename($tmp, $output); +} +else { + print STDERR "ERROR: Unable to open '$tmp' for writing\n"; + exit(1); +} diff --git a/ACE/MPC/config/bison.mpb b/ACE/MPC/config/bison.mpb new file mode 100644 index 00000000000..7fc4c776e8b --- /dev/null +++ b/ACE/MPC/config/bison.mpb @@ -0,0 +1,14 @@ +// $Id$ +project { + requires += bison + Define_Custom(BISON) { + automatic = 1 + command = bison + commandflags = -d + pch_postrule = 1 + inputext = .yy, .y + pre_extension = .tab + source_outputext = .c, .cpp, .cxx, .cc, .C + header_outputext = .h, .hpp, .hxx, .hh + } +} diff --git a/ACE/MPC/config/boost_base.mpb b/ACE/MPC/config/boost_base.mpb new file mode 100644 index 00000000000..58df1ac9dc2 --- /dev/null +++ b/ACE/MPC/config/boost_base.mpb @@ -0,0 +1,15 @@ +// -*- MPC -*- +// $Id$ + +project { + requires += boost + includes += $(BOOST_ROOT)/include/$(BOOST_VERSION) $(BOOST_ROOT)/. + + // If the libraries for boost are not installed in a location relative to + // the include files, set the BOOST_ROOT_LIB environment variable + expand(BOOST_ROOT_LIB) { + $BOOST_ROOT_LIB + $(BOOST_ROOT)/lib + } + libpaths += $(BOOST_ROOT_LIB) +} diff --git a/ACE/MPC/config/boost_date_time.mpb b/ACE/MPC/config/boost_date_time.mpb new file mode 100644 index 00000000000..9e7165f6a86 --- /dev/null +++ b/ACE/MPC/config/boost_date_time.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_date_time$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_filesystem.mpb b/ACE/MPC/config/boost_filesystem.mpb new file mode 100644 index 00000000000..144da5de75c --- /dev/null +++ b/ACE/MPC/config/boost_filesystem.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_filesystem$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_iostreams.mpb b/ACE/MPC/config/boost_iostreams.mpb new file mode 100644 index 00000000000..2e439122fec --- /dev/null +++ b/ACE/MPC/config/boost_iostreams.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_iostreams$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_prg_exec_monitor.mpb b/ACE/MPC/config/boost_prg_exec_monitor.mpb new file mode 100644 index 00000000000..b7c7bc14e87 --- /dev/null +++ b/ACE/MPC/config/boost_prg_exec_monitor.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_prg_exec_monitor$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_program_options.mpb b/ACE/MPC/config/boost_program_options.mpb new file mode 100644 index 00000000000..de449951c15 --- /dev/null +++ b/ACE/MPC/config/boost_program_options.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_program_options$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_python.mpb b/ACE/MPC/config/boost_python.mpb new file mode 100644 index 00000000000..315fe01f297 --- /dev/null +++ b/ACE/MPC/config/boost_python.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_python$(BOOST_CFG) +} diff --git a/ACE/MPC/config/boost_regex.mpb b/ACE/MPC/config/boost_regex.mpb new file mode 100644 index 00000000000..0a5b9babc80 --- /dev/null +++ b/ACE/MPC/config/boost_regex.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_regex$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_serialization.mpb b/ACE/MPC/config/boost_serialization.mpb new file mode 100644 index 00000000000..9196bd92012 --- /dev/null +++ b/ACE/MPC/config/boost_serialization.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_serialization$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_signals.mpb b/ACE/MPC/config/boost_signals.mpb new file mode 100644 index 00000000000..63707ad2695 --- /dev/null +++ b/ACE/MPC/config/boost_signals.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_signals$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_system.mpb b/ACE/MPC/config/boost_system.mpb new file mode 100644 index 00000000000..ba95ed2b14d --- /dev/null +++ b/ACE/MPC/config/boost_system.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_system$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_test_exec_monitor.mpb b/ACE/MPC/config/boost_test_exec_monitor.mpb new file mode 100644 index 00000000000..06de4742b02 --- /dev/null +++ b/ACE/MPC/config/boost_test_exec_monitor.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_test_exec_monitor$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_thread.mpb b/ACE/MPC/config/boost_thread.mpb new file mode 100644 index 00000000000..a3d0c7cc95b --- /dev/null +++ b/ACE/MPC/config/boost_thread.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_thread$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_unit_test_framework.mpb b/ACE/MPC/config/boost_unit_test_framework.mpb new file mode 100644 index 00000000000..bea8d7b1762 --- /dev/null +++ b/ACE/MPC/config/boost_unit_test_framework.mpb @@ -0,0 +1,11 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + // Starting with boost 1.34 auto linking is enabled. + // vc6 and vc7 are added to this list because it is likely that + // any vc6 or vc7 users are using an older pre-auto-linking version. + specific(!prop:windows, vc6, vc7) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_unit_test_framework$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/boost_wave.mpb b/ACE/MPC/config/boost_wave.mpb new file mode 100644 index 00000000000..dcf8664bcc9 --- /dev/null +++ b/ACE/MPC/config/boost_wave.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: boost_base { + specific(!prop:windows) { + lit_libs += $(BOOST_STATIC_LIB_PREFIX)boost_wave$(BOOST_CFG) + } +} diff --git a/ACE/MPC/config/build_files.mpb b/ACE/MPC/config/build_files.mpb new file mode 100644 index 00000000000..8b7a5153c1d --- /dev/null +++ b/ACE/MPC/config/build_files.mpb @@ -0,0 +1,7 @@ +// $Id$ +project { + Define_Custom(Build) { + inputext = .mpc, .mpb, .mwc + } +} + diff --git a/ACE/MPC/config/bzip2.mpb b/ACE/MPC/config/bzip2.mpb new file mode 100644 index 00000000000..e2f514921de --- /dev/null +++ b/ACE/MPC/config/bzip2.mpb @@ -0,0 +1,14 @@ +// -*- MPC -*- +// $Id$ + +feature(bzip2) { + includes += $(BZIP2_ROOT)/include + libpaths += $(BZIP2_ROOT)/lib + macros += USE_BZIP2 + + specific(prop:windows) { + lit_libs += bzip2 + } else { + lit_libs += bz2 + } +} diff --git a/ACE/MPC/config/cppunit.mpb b/ACE/MPC/config/cppunit.mpb new file mode 100644 index 00000000000..71671198f10 --- /dev/null +++ b/ACE/MPC/config/cppunit.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project { + includes += $(CPPUNIT_ROOT)/include + libpaths += $(CPPUNIT_ROOT)/lib + lit_libs += cppunit +} diff --git a/ACE/MPC/config/default.rel b/ACE/MPC/config/default.rel new file mode 100644 index 00000000000..3ac8965618d --- /dev/null +++ b/ACE/MPC/config/default.rel @@ -0,0 +1,6 @@ +// This is the default relative definitions. Wildcards are acceptable. +// +// The first column is the name for which we create a relative definition. +// The second (optional) column, which must be comma separated, is the value +// to build up if it isn't defined as an environmenment variable. +*_ROOT diff --git a/ACE/MPC/config/erlang.mpb b/ACE/MPC/config/erlang.mpb new file mode 100644 index 00000000000..af1c5d5c094 --- /dev/null +++ b/ACE/MPC/config/erlang.mpb @@ -0,0 +1,15 @@ +// +// $Id$ +// + +feature(erlang) { + Define_Custom(Erlang) { + automatic_in = 1 + automatic_out = 1 + command = erlc + commandflags = + inputext = .erl, .yrl, .mib, .bin, .rel, .asn1, .idl + generic_outputext = .beam, .jam, .erl, .hrl, .bin, .rel, .boot, .asn1db + keyword erlcflags = commandflags + } +} diff --git a/ACE/MPC/config/erlang_otp.mpb b/ACE/MPC/config/erlang_otp.mpb new file mode 100644 index 00000000000..3e461cdd502 --- /dev/null +++ b/ACE/MPC/config/erlang_otp.mpb @@ -0,0 +1,12 @@ +// +// $Id$ +// + +project : erlang { + erlcflags += -o ebin + + Modify_Custom(Erlang) { + generic_pre_dirname = ebin/ + output_follows_input = 0 + } +} diff --git a/ACE/MPC/config/flex.mpb b/ACE/MPC/config/flex.mpb new file mode 100644 index 00000000000..1158756839f --- /dev/null +++ b/ACE/MPC/config/flex.mpb @@ -0,0 +1,13 @@ +// $Id$ +project { + requires += flex + Define_Custom(FLEX) { + automatic = 1 + command = flex + commandflags = -t + output_option = > + pch_postrule = 1 + inputext = .ll, .l + source_outputext = .c, .cpp, .cxx, .cc, .C + } +} diff --git a/ACE/MPC/config/gacutil.mpb b/ACE/MPC/config/gacutil.mpb new file mode 100644 index 00000000000..660e6b18ad2 --- /dev/null +++ b/ACE/MPC/config/gacutil.mpb @@ -0,0 +1,8 @@ +// $Id$ + +project { + specific(prop:microsoft) { + postbuild += \ + gacutil -nologo -i <%cwd%>\<%dllout%>\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%> -f + } +} diff --git a/ACE/MPC/config/global.features b/ACE/MPC/config/global.features new file mode 100644 index 00000000000..2303ee4b518 --- /dev/null +++ b/ACE/MPC/config/global.features @@ -0,0 +1,39 @@ +// The global features file contains the default feature settings. +// By default, if a feature isn't listed here then it is enabled. +// If it is listed, then the value assigned to the feature is interpreted +// as a boolean value. You really shouldn't have to edit this file except +// to change the defaults. If you want to override these values you can do +// one of two things. +// +// 1) Create a default.features in this directory with the features you +// want enabled or disabled. +// 2) Create a feature file anywhere you like with the features you want and +// use the -feature_file option to specify where it is located. +// +// Feature definitions from this file are always overridden by the -features +// option. +// +// By default we disable these. +boost = 0 +bzip2 = 0 +erlang = 0 +java = 0 +mfc = 0 +libpng = 0 +python = 0 +qt = 0 +rpc = 0 +swig_java = 0 +swig_perl = 0 +swig_php = 0 +swig_python = 0 +swig_ruby = 0 +swig_tcl = 0 +uses_wchar = 0 // i.e., unicode +xalanc = 0 +xerces = 0 +xerces2 = 0 +xerces3 = 0 +ziparchive = 0 +zlib = 0 +zzip = 0 diff --git a/ACE/MPC/config/global.mpb b/ACE/MPC/config/global.mpb new file mode 100644 index 00000000000..a4254553288 --- /dev/null +++ b/ACE/MPC/config/global.mpb @@ -0,0 +1,12 @@ +// -*- MPC -*- +// $Id$ + +project { + // By default send all libraries to the same directory as the project + libout = . + + // Automake doesn't need the project directory in the libpaths + specific(!automake) { + libpaths = . + } +} diff --git a/ACE/MPC/config/gsl.mpb b/ACE/MPC/config/gsl.mpb new file mode 100644 index 00000000000..694e2f2b45a --- /dev/null +++ b/ACE/MPC/config/gsl.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +feature(gsl) { + lit_libs += gsl +} diff --git a/ACE/MPC/config/iiopnet.mpb b/ACE/MPC/config/iiopnet.mpb new file mode 100644 index 00000000000..22fc17a9474 --- /dev/null +++ b/ACE/MPC/config/iiopnet.mpb @@ -0,0 +1,19 @@ +// $Id$ + +project { + custom_only = 1 + + specific { + IIOPNET_BIN = $(IIOPNET_ROOT)/bin/IDLToCLSCompiler + IIOPNET_DEP = $(IIOPNET_ROOT)/bin/IDLToCLSCompiler + } + + Define_Custom (IDL) { + automatic = 0 + command = <%quote%>$(IIOPNET_BIN)<%quote%> + dependent = <%quote%>$(IIOPNET_DEP)<%quote%> + inputext = .idl + generic_outputext = .dll + keyword iiopnetflags = commandflags + } +} diff --git a/ACE/MPC/config/iodbc.mpb b/ACE/MPC/config/iodbc.mpb new file mode 100644 index 00000000000..8558336df69 --- /dev/null +++ b/ACE/MPC/config/iodbc.mpb @@ -0,0 +1,12 @@ +// $Id$ + +project { + // Support for iODBC (http://www.iodbc.org). This is one + // variant of porting ODBC to non-Windows systems. + avoids += unixodbc + + libpaths += $(IODBC_ROOT)/lib + includes += $(IODBC_ROOT)/include + + lit_libs += iodbc iodbcinst +} diff --git a/ACE/MPC/config/ixml.mpb b/ACE/MPC/config/ixml.mpb new file mode 100644 index 00000000000..5261788dd94 --- /dev/null +++ b/ACE/MPC/config/ixml.mpb @@ -0,0 +1,7 @@ +// $Id$ + +project { + includes += $(UPNP_ROOT)/include + libpaths += $(UPNP_ROOT)/lib + lit_libs += ixml +} diff --git a/ACE/MPC/config/lex.mpb b/ACE/MPC/config/lex.mpb new file mode 100644 index 00000000000..c593bcbfd0d --- /dev/null +++ b/ACE/MPC/config/lex.mpb @@ -0,0 +1,13 @@ +// $Id$ +project { + requires += lex + Define_Custom(LEX) { + automatic = 1 + command = lex + commandflags = -t + output_option = > + pch_postrule = 1 + inputext = .ll, .l + source_outputext = .c, .cpp, .cxx, .cc, .C + } +} diff --git a/ACE/MPC/config/libpng.mpb b/ACE/MPC/config/libpng.mpb new file mode 100644 index 00000000000..bb381331e0a --- /dev/null +++ b/ACE/MPC/config/libpng.mpb @@ -0,0 +1,10 @@ +// -*- MPC -*- +// $Id$ + +feature(libpng): zlib { + requires += zlib + includes += "$(PNG_ROOT)/include/libpng" + libpaths += "$(PNG_ROOT)/lib" + lit_libs += png + macros += PNG +} diff --git a/ACE/MPC/config/log4cplus.mpb b/ACE/MPC/config/log4cplus.mpb new file mode 100644 index 00000000000..cb0991b473a --- /dev/null +++ b/ACE/MPC/config/log4cplus.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project { + includes += $(LOG4CPLUS_ROOT)/include + libpaths += $(LOG4CPLUS_ROOT)/lib + libs += log4cplus +} diff --git a/ACE/MPC/config/loki.mpb b/ACE/MPC/config/loki.mpb new file mode 100644 index 00000000000..7b54d09da37 --- /dev/null +++ b/ACE/MPC/config/loki.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project { + includes += $(LOKI_ROOT)/include + libpaths += $(LOKI_ROOT)/lib + lit_libs += loki +} diff --git a/ACE/MPC/config/lzo1.mpb b/ACE/MPC/config/lzo1.mpb new file mode 100644 index 00000000000..dd145771044 --- /dev/null +++ b/ACE/MPC/config/lzo1.mpb @@ -0,0 +1,12 @@ +// -*- MPC -*- +// $Id$ + +feature(lzo1) { + includes += $(LZO1_ROOT)/include + libpaths += $(LZO1_ROOT)/lib + specific (prop:microsoft) { + lit_libs += liblzo + } else { + lit_libs += lzo + } +} diff --git a/ACE/MPC/config/lzo2.mpb b/ACE/MPC/config/lzo2.mpb new file mode 100644 index 00000000000..1e674b8d065 --- /dev/null +++ b/ACE/MPC/config/lzo2.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +feature(lzo2) { + includes += $(LZO2_ROOT)/include + libpaths += $(LZO2_ROOT)/lib + lit_libs += lzo2 +} diff --git a/ACE/MPC/config/mfc.mpb b/ACE/MPC/config/mfc.mpb new file mode 100644 index 00000000000..7f8a8f2edce --- /dev/null +++ b/ACE/MPC/config/mfc.mpb @@ -0,0 +1,16 @@ +// -*- MPC -*- +// $Id$ + +project { + requires += mfc + macros += _AFXDLL + specific(em3, nmake, vc6) { + subsystem = windows + } else { + subsystem = 2 + } + specific { + use_mfc = 2 + unicode_mfc_entry = wWinMainCRTStartup + } +} diff --git a/ACE/MPC/config/mpb.mpb b/ACE/MPC/config/mpb.mpb new file mode 100644 index 00000000000..7ec891e1dd2 --- /dev/null +++ b/ACE/MPC/config/mpb.mpb @@ -0,0 +1,12 @@ +// -*- MPC -*- +// $Id$ + +project { + // Allow users to specify .mpb files in their project. This gives the + // opportunity to see them in IDE's and to install them using + // prj_install.pl. + Define_Custom(MPB) { + automatic = 0 + inputext = .mpb + } +} diff --git a/ACE/MPC/config/mpich.mpb b/ACE/MPC/config/mpich.mpb new file mode 100644 index 00000000000..c6f3e8216bc --- /dev/null +++ b/ACE/MPC/config/mpich.mpb @@ -0,0 +1,13 @@ +// $Id$ + +project { + includes += $(MPI_ROOT)/include $(MPI_ROOT)/include/mpi + libpaths += $(MPI_ROOT)/lib + requires += mpi + + specific(prop:windows) { + lit_libs += mpi + } else { + lit_libs += mpich + } +} diff --git a/ACE/MPC/config/msgfmt.mpb b/ACE/MPC/config/msgfmt.mpb new file mode 100644 index 00000000000..2c885fec4cb --- /dev/null +++ b/ACE/MPC/config/msgfmt.mpb @@ -0,0 +1,11 @@ +// $Id$ + +project { + Define_Custom(PO) { + command = msgfmt + commandflags = -c + output_option = -o + inputext = .po + generic_outputext = .mo + } +} diff --git a/ACE/MPC/config/mysql.mpb b/ACE/MPC/config/mysql.mpb new file mode 100644 index 00000000000..0c02083a1c4 --- /dev/null +++ b/ACE/MPC/config/mysql.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project { + includes += $(MYSQL_ROOT)/include/mysql + libpaths += $(MYSQL_ROOT)/lib/mysql + lit_libs += mysqlclient +} diff --git a/ACE/MPC/config/mysqlpp.mpb b/ACE/MPC/config/mysqlpp.mpb new file mode 100644 index 00000000000..c6d3513b191 --- /dev/null +++ b/ACE/MPC/config/mysqlpp.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project: mysql { + includes += $(MYSQLPLUS_ROOT)/include/mysql++ + libpaths += $(MYSQLPLUS_ROOT)/lib + lit_libs += mysqlpp +} diff --git a/ACE/MPC/config/ndds_ts_defaults.mpb b/ACE/MPC/config/ndds_ts_defaults.mpb new file mode 100644 index 00000000000..da6b9ae35fd --- /dev/null +++ b/ACE/MPC/config/ndds_ts_defaults.mpb @@ -0,0 +1,24 @@ +// -*- MPC -*- +// $Id$ + +project { + Define_Custom(NDDSTypeSupport) { + automatic = 1 + command = <%quote%>$(NDDSHOME)/scripts/rtiddsgen<%quote%> + commandflags = -language C++ -replace -namespace -corba <%input_noext%>C.h -orb ACE_TAO1.7 -I$(TAO_ROOT) -I$(TAO_ROOT)/tao + + dependent = <%quote%>$(NDDSHOME)/scripts/rtiddsgen<%bat%><%quote%> + + source_pre_extension = , Support, Plugin + source_outputext = .cxx + header_pre_extension = , Support, Plugin + header_outputext = .h + keyword ndds_ts_flags = commandflags + } + + requires += ndds + + verbatim(gnuace, macros) { + override no_hidden_visibility = 1 + } +} diff --git a/ACE/MPC/config/nddsexe.mpb b/ACE/MPC/config/nddsexe.mpb new file mode 100644 index 00000000000..af928ff2f53 --- /dev/null +++ b/ACE/MPC/config/nddsexe.mpb @@ -0,0 +1,5 @@ +// -*- MPC -*- +// $Id$ + +project : nddslib { +} diff --git a/ACE/MPC/config/nddsexe_with_idl.mpb b/ACE/MPC/config/nddsexe_with_idl.mpb new file mode 100644 index 00000000000..744651307b2 --- /dev/null +++ b/ACE/MPC/config/nddsexe_with_idl.mpb @@ -0,0 +1,5 @@ +// -*- MPC -*- +// $Id$ + +project : nddsexe, ndds_ts_defaults { +} diff --git a/ACE/MPC/config/nddslib.mpb b/ACE/MPC/config/nddslib.mpb new file mode 100644 index 00000000000..01d0640a07b --- /dev/null +++ b/ACE/MPC/config/nddslib.mpb @@ -0,0 +1,15 @@ +// -*- MPC -*- +// $Id$ + +project { + requires += ndds + libs += nddscpp nddsc nddscore + libpaths += $(NDDSHOME)/lib/$(NDDSARCHITECTURE) + includes += $(NDDSHOME)/include $(NDDSHOME)/include/ndds + + specific(prop:windows) { + macros += RTI_WIN32 NDDS_DLL_VARIABLE + } else { + macros += RTI_UNIX + } +} diff --git a/ACE/MPC/config/nddslib_with_idl.mpb b/ACE/MPC/config/nddslib_with_idl.mpb new file mode 100644 index 00000000000..73f96ba2d86 --- /dev/null +++ b/ACE/MPC/config/nddslib_with_idl.mpb @@ -0,0 +1,5 @@ +// -*- MPC -*- +// $Id$ + +project : nddslib, ndds_ts_defaults { +} diff --git a/ACE/MPC/config/odbc.mpb b/ACE/MPC/config/odbc.mpb new file mode 100644 index 00000000000..d069d675485 --- /dev/null +++ b/ACE/MPC/config/odbc.mpb @@ -0,0 +1,23 @@ +// $Id$ + +project { + specific(prop:windows) { + // Out of the box, Windows supports ODBC since ODBC originated + // on Windows. We, however, need to ensure that UnixODBC and + // iODBC are not enabled. We may be able to drop the 'avoids' + // statement. + avoids += unixodbc iodbc + lit_libs += odbc32 odbcbcp odbcCP32 + } +} + +//============================================================================= +// Non-Windows support + +feature(unixodbc) : unixodbc { + avoids += iodbc +} + +feature(iodbc) : iodbc { + avoids += unixodbc +} diff --git a/ACE/MPC/config/openmpi.mpb b/ACE/MPC/config/openmpi.mpb new file mode 100644 index 00000000000..291a6c1350c --- /dev/null +++ b/ACE/MPC/config/openmpi.mpb @@ -0,0 +1,9 @@ +// -*- MPC -*- +// $Id$ + +project { + includes += $(MPI_ROOT)/include + libpaths += $(MPI_ROOT)/lib + lit_libs += mpi + requires += mpi +} diff --git a/ACE/MPC/config/openssl.mpb b/ACE/MPC/config/openssl.mpb new file mode 100644 index 00000000000..88a6d9e4297 --- /dev/null +++ b/ACE/MPC/config/openssl.mpb @@ -0,0 +1,32 @@ +// -*- MPC -*- +// $Id$ + +// openssl is a completely different feature than ssl. +// Currently ssl uses openssl, and openssl is enabled by +// default. If we ever add a new ssl library, then you +// would likely enable only one ssl library feature. +feature(openssl) { + includes += $(SSL_ROOT)/include + libpaths += $(SSL_ROOT)/lib + + specific(prop:windows) { + lit_libs += libeay32 ssleay32 + includes += $(SSL_ROOT)/inc32 + libpaths += $(SSL_ROOT)/out32dll $(SSL_ROOT)/out32 + } else { + lit_libs += ssl crypto + + // Some Linux OpenSSL installations compile in Kerberos support. Add + // the Kerberos include path to preprocessor include path. + includes += /usr/kerberos/include + } + + // Some prepackaged installations of OpenSSL have libraries in different + // locations. + specific(prop:borland) { + libpaths += $(SSL_ROOT)/lib/Builder5 + } + specific(prop:microsoft) { + libpaths += $(SSL_ROOT)/lib/VC + } +} diff --git a/ACE/MPC/config/pcre.mpb b/ACE/MPC/config/pcre.mpb new file mode 100644 index 00000000000..665b8b22b52 --- /dev/null +++ b/ACE/MPC/config/pcre.mpb @@ -0,0 +1,17 @@ +// $Id$ + +project { + requires += pcre + includes += $(PCRE_ROOT)/include + libpaths += $(PCRE_ROOT)/lib + + // At this point in time (9/17/2009) the windows version of pcre does not + // have a version number. And since Visual Studio complains about empty + // environment variables, we're not adding the version variable to the + // library. This may have to change in the future. + specific(prop:microsoft) { + lit_libs += pcre + } else { + lit_libs += pcre$(PCRE_VERSION) + } +} diff --git a/ACE/MPC/config/pcreposix.mpb b/ACE/MPC/config/pcreposix.mpb new file mode 100644 index 00000000000..06c75971d7f --- /dev/null +++ b/ACE/MPC/config/pcreposix.mpb @@ -0,0 +1,5 @@ +// $Id$ + +project: pcre { + lit_libs += pcreposix$(PCRE_VERSION) +} diff --git a/ACE/MPC/config/python.mpb b/ACE/MPC/config/python.mpb new file mode 100644 index 00000000000..cb69f3960ff --- /dev/null +++ b/ACE/MPC/config/python.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project { + requires += python + includes += $(PYTHON_INCLUDE)/. + libpaths += $(PYTHON_LIBDIR)/. +} diff --git a/ACE/MPC/config/qt.mpb b/ACE/MPC/config/qt.mpb new file mode 100644 index 00000000000..d0dca9f7e1c --- /dev/null +++ b/ACE/MPC/config/qt.mpb @@ -0,0 +1,55 @@ +// -*- MPC -*- +// $Id$ + +project { + requires += qt + includes += $(QTDIR)/include + libpaths += $(QTDIR)/lib $(QTDIR)/lib64 + macros += QT_THREAD_SUPPORT + lit_libs += qt-mt$(QT_VERSION) + + // Some Linux installations have the includes here. + specific(!prop:windows) { + includes += /usr/include/qt3 + } + + Define_Custom(UIC) { + automatic = 1 + command = $(QTDIR)/bin/uic + output_option = -o + inputext = .ui + header_outputext = .h + } + + Define_Custom(UIC_Impl) { + automatic = 1 + command = $(QTDIR)/bin/uic + commandflags = -impl <%quote%><%output_noext%>.h<%quote%> + dependent = <%output_noext%>.h + output_option = -o + pch_postrule = 1 + inputext = .ui + source_outputext = .cpp + } + + Define_Custom(MOC) { + automatic = 0 + command = $(QTDIR)/bin/moc + output_option = -o + pch_postrule = 1 + inputext = .h + pre_extension = _moc + source_outputext = .cpp + } + + Define_Custom(QRC) { + automatic = 1 + command = $(QTDIR)/bin/rcc + output_option = -o + commandflags = -name <%input_noext%> + pch_postrule = 1 + inputext = .qrc + pre_extension = _qrc + source_outputext = .cpp + } +} diff --git a/ACE/MPC/config/qt3.mpb b/ACE/MPC/config/qt3.mpb new file mode 100644 index 00000000000..2e0ecd5f1e9 --- /dev/null +++ b/ACE/MPC/config/qt3.mpb @@ -0,0 +1,5 @@ +// -*- MPC -*- +// $Id$ + +project: qt { +} diff --git a/ACE/MPC/config/qt4_core.mpb b/ACE/MPC/config/qt4_core.mpb new file mode 100644 index 00000000000..ae68a4f7f3a --- /dev/null +++ b/ACE/MPC/config/qt4_core.mpb @@ -0,0 +1,16 @@ +// -*- MPC -*- +// $Id$ + +project { + // If the include files for QT are not relative to the root (for + // example, /usr/include/qt4), set the QT4_INCDIR environment variable. + expand(QT4_INCDIR) { + $QT4_INCDIR + $(QTDIR)/include + } + + requires += qt4 + includes += $(QT4_INCDIR) + libpaths += $(QTDIR)/lib + lit_libs += QtCore$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_designer.mpb b/ACE/MPC/config/qt4_designer.mpb new file mode 100644 index 00000000000..9367fb3a3cb --- /dev/null +++ b/ACE/MPC/config/qt4_designer.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_xml { + lit_libs += QtDesigner$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_designercomponents.mpb b/ACE/MPC/config/qt4_designercomponents.mpb new file mode 100644 index 00000000000..f7fe183cd22 --- /dev/null +++ b/ACE/MPC/config/qt4_designercomponents.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_designer { + lit_libs += QtDesignerComponents$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_gui.mpb b/ACE/MPC/config/qt4_gui.mpb new file mode 100644 index 00000000000..8f0c8b22f30 --- /dev/null +++ b/ACE/MPC/config/qt4_gui.mpb @@ -0,0 +1,36 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_core { + lit_libs += QtGui$(QT_CFG) + + Define_Custom(UIC) { + automatic = 1 + command = $(QTDIR)/bin/uic + output_option = -o + inputext = .ui + pre_filename = ui_ + header_outputext = .h + } + + Define_Custom(MOC) { + automatic = 0 + command = $(QTDIR)/bin/moc + output_option = -o + pch_postrule = 1 + inputext = .h + pre_extension = _moc + source_outputext = .cpp + } + + Define_Custom(QRC) { + automatic = 1 + command = $(QTDIR)/bin/rcc + output_option = -o + commandflags = -name <%input_noext%> + pch_postrule = 1 + inputext = .qrc + pre_extension = _qrc + source_outputext = .cpp + } +} diff --git a/ACE/MPC/config/qt4_network.mpb b/ACE/MPC/config/qt4_network.mpb new file mode 100644 index 00000000000..c0b4eec557d --- /dev/null +++ b/ACE/MPC/config/qt4_network.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_core { + lit_libs += QtNetwork$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_opengl.mpb b/ACE/MPC/config/qt4_opengl.mpb new file mode 100644 index 00000000000..20d656227e1 --- /dev/null +++ b/ACE/MPC/config/qt4_opengl.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_gui { + lit_libs += QtOpenGL$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_qt3support.mpb b/ACE/MPC/config/qt4_qt3support.mpb new file mode 100644 index 00000000000..f0688523e24 --- /dev/null +++ b/ACE/MPC/config/qt4_qt3support.mpb @@ -0,0 +1,7 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_gui { + lit_libs += Qt3Support$(QT_CFG) + macros += QT3_SUPPORT +} diff --git a/ACE/MPC/config/qt4_sql.mpb b/ACE/MPC/config/qt4_sql.mpb new file mode 100644 index 00000000000..4744baaf954 --- /dev/null +++ b/ACE/MPC/config/qt4_sql.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_core { + lit_libs += QtSql$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_svg.mpb b/ACE/MPC/config/qt4_svg.mpb new file mode 100644 index 00000000000..7088f8185a9 --- /dev/null +++ b/ACE/MPC/config/qt4_svg.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_xml { + lit_libs += QtSvg$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_test.mpb b/ACE/MPC/config/qt4_test.mpb new file mode 100644 index 00000000000..82aa2ad7dd6 --- /dev/null +++ b/ACE/MPC/config/qt4_test.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_core { + lit_libs += QtTest$(QT_CFG) +} diff --git a/ACE/MPC/config/qt4_xml.mpb b/ACE/MPC/config/qt4_xml.mpb new file mode 100644 index 00000000000..12de7668d6a --- /dev/null +++ b/ACE/MPC/config/qt4_xml.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +project: qt4_core { + lit_libs += QtXml$(QT_CFG) +} diff --git a/ACE/MPC/config/qwt.mpb b/ACE/MPC/config/qwt.mpb new file mode 100644 index 00000000000..7a616e78926 --- /dev/null +++ b/ACE/MPC/config/qwt.mpb @@ -0,0 +1,11 @@ +// -*- MPC -*- +// $Id$ + +// This project also requires Qt, however it will work with both +// Qt 3.3.x and Qt 4.x so we will leave it up to the user to pull +// in the right Qt base projects. +project { + includes += $(QWT_ROOT)/include + libpaths += $(QWT_ROOT)/lib + lit_libs += qwt +} diff --git a/ACE/MPC/config/rpc.mpb b/ACE/MPC/config/rpc.mpb new file mode 100644 index 00000000000..722389edeac --- /dev/null +++ b/ACE/MPC/config/rpc.mpb @@ -0,0 +1,15 @@ +// -*- MPC -*- +// $Id$ + +project { + requires += rpc + Define_Custom(rpcgen) { + command = rpcgen + commandflags = -C + pch_postrule = 1 + inputext = .x + source_pre_extension = _svc, _clnt + source_outputext = .c + header_outputext = .h + } +} diff --git a/ACE/MPC/config/ruby.mpb b/ACE/MPC/config/ruby.mpb new file mode 100644 index 00000000000..314fb5d160a --- /dev/null +++ b/ACE/MPC/config/ruby.mpb @@ -0,0 +1,6 @@ +// -*- MPC -*- +// $Id$ + +feature(ruby) { + lit_libs += ruby +} diff --git a/ACE/MPC/config/splice_ts_defaults.mpb b/ACE/MPC/config/splice_ts_defaults.mpb new file mode 100644 index 00000000000..df56862e3fc --- /dev/null +++ b/ACE/MPC/config/splice_ts_defaults.mpb @@ -0,0 +1,24 @@ +// -*- MPC -*- +// $Id$ + +project : taoidldefaults { + Define_Custom(SpliceTypeSupport) { + automatic = 1 + command = <%quote%>$(OSPL_HOME)/bin/idlpp<%quote%> + dependent = <%quote%>$(OSPL_HOME)/bin/idlpp<%quote%> + source_pre_extension = SplDcps, Dcps_impl + source_outputext = .cpp + header_pre_extension = , SplDcps, Dcps_impl + header_pre_filename = ccpp_ + header_outputext = .h + generic_pre_extension = Dcps + generic_outputext = .idl + keyword splice_ts_flags = commandflags + } + + splice_ts_flags += \ + -I <%quote%>$(OSPL_HOME)/include/dcps/C++/CCPP/$(SPLICE_ORB)<%quote%> \ + -C -l cpp -b CCPP/$(SPLICE_ORB) + + idlflags += -I <%quote%>$(OSPL_HOME)/custom_lib/ccpp<%quote%> +} diff --git a/ACE/MPC/config/spliceexe.mpb b/ACE/MPC/config/spliceexe.mpb new file mode 100644 index 00000000000..fce0c8d8a96 --- /dev/null +++ b/ACE/MPC/config/spliceexe.mpb @@ -0,0 +1,5 @@ +// -*- MPC -*- +// $Id$ + +project : splicelib { +} diff --git a/ACE/MPC/config/spliceexe_with_idl.mpb b/ACE/MPC/config/spliceexe_with_idl.mpb new file mode 100644 index 00000000000..c0032eeafa6 --- /dev/null +++ b/ACE/MPC/config/spliceexe_with_idl.mpb @@ -0,0 +1,5 @@ +// -*- MPC -*- +// $Id$ + +project : spliceexe, splice_ts_defaults { +} diff --git a/ACE/MPC/config/splicelib.mpb b/ACE/MPC/config/splicelib.mpb new file mode 100644 index 00000000000..62d1f22f7d9 --- /dev/null +++ b/ACE/MPC/config/splicelib.mpb @@ -0,0 +1,21 @@ +// -*- MPC -*- +// $Id$ + +project { + libs += dcpsccpp + lit_libs += dcpsgapi ddsdatabase ddsos + libpaths += $(OSPL_HOME)/lib + includes += $(OSPL_HOME)/include \ + $(OSPL_HOME)/include/sys \ + $(OSPL_HOME)/include/dcps/C++/CCPP \ + $(OSPL_HOME)/include/dcps/C++/CCPP/$(SPLICE_ORB) \ + $(OSPL_HOME)/custom_lib/ccpp + + specific(prop:microsoft) { + DisableSpecificWarnings += 4101 + } + + verbatim(gnuace, macros) { + override no_hidden_visibility = 1 + } +} diff --git a/ACE/MPC/config/splicelib_with_idl.mpb b/ACE/MPC/config/splicelib_with_idl.mpb new file mode 100644 index 00000000000..e64d71130bc --- /dev/null +++ b/ACE/MPC/config/splicelib_with_idl.mpb @@ -0,0 +1,5 @@ +// -*- MPC -*- +// $Id$ + +project : splicelib, splice_ts_defaults { +} diff --git a/ACE/MPC/config/sqlite3.mpb b/ACE/MPC/config/sqlite3.mpb new file mode 100644 index 00000000000..aeee567e1e9 --- /dev/null +++ b/ACE/MPC/config/sqlite3.mpb @@ -0,0 +1,8 @@ +// $Id$ + +project { + requires += sqlite3 + includes += $(SQLITE_ROOT)/include + libpaths += $(SQLITE_ROOT)/lib + lit_libs += sqlite3 +} diff --git a/ACE/MPC/config/swig_java.mpb b/ACE/MPC/config/swig_java.mpb new file mode 100644 index 00000000000..6573d7c44a1 --- /dev/null +++ b/ACE/MPC/config/swig_java.mpb @@ -0,0 +1,16 @@ +// -*- MPC -*- +// $Id$ + +project { + Define_Custom(SWIG) { + automatic = 1 + command = swig + commandflags = -java -c++ + inputext = .swg, .swig, .i + source_outputext = _wrap.cxx + generic_pre_extension = , JNI + generic_outputext = .java + } + requires += swig_java + includes += $(JAVA_ROOT)/include $(JAVA_ROOT)/include/$(JAVA_PLATFORM) +} diff --git a/ACE/MPC/config/swig_perl.mpb b/ACE/MPC/config/swig_perl.mpb new file mode 100644 index 00000000000..e3d655b6bd2 --- /dev/null +++ b/ACE/MPC/config/swig_perl.mpb @@ -0,0 +1,19 @@ +// -*- MPC -*- +// $Id$ + +project { + Define_Custom(SWIG) { + automatic = 1 + command = swig + commandflags = -perl -c++ + inputext = .swg, .swig, .i + source_outputext = _wrap.cxx + generic_outputext = .pm + } + requires += swig_perl + includes += $(PERL5_INCLUDE)/. + libpaths += $(PERL5_INCLUDE)/. + specific(prop:windows) { + lit_libs += $(PERL5_LIB) + } +} diff --git a/ACE/MPC/config/swig_php.mpb b/ACE/MPC/config/swig_php.mpb new file mode 100644 index 00000000000..f97e700dbdd --- /dev/null +++ b/ACE/MPC/config/swig_php.mpb @@ -0,0 +1,19 @@ +// -*- MPC -*- +// $Id$ + +project { + Define_Custom(SWIG) { + automatic = 1 + command = swig + commandflags = -php -c++ + inputext = .swg, .swig, .i + source_outputext = _wrap.cpp + header_pre_filename = php_ + header_outputext = .h + generic_outputext = .php + } + requires += swig_php + includes += $(PHP_INCLUDE)/. $(PHP_INCLUDE)/main $(PHP_INCLUDE)/Zend \ + $(PHP_INCLUDE)/TSRM + libpaths += $(PHP_LIBPATH)/. +} diff --git a/ACE/MPC/config/swig_python.mpb b/ACE/MPC/config/swig_python.mpb new file mode 100644 index 00000000000..3b7b24933de --- /dev/null +++ b/ACE/MPC/config/swig_python.mpb @@ -0,0 +1,20 @@ +// -*- MPC -*- +// $Id$ + +project { + Define_Custom(SWIG) { + automatic = 1 + command = swig + commandflags = -python -c++ + inputext = .swg, .swig, .i + source_outputext = _wrap.cxx + generic_outputext = .py + } + requires += swig_python + includes += $(PYTHON_INCLUDE)/. + libpaths += $(PYTHON_LIBPATH)/. + + specific { + lib_prefix = + } +} diff --git a/ACE/MPC/config/swig_ruby.mpb b/ACE/MPC/config/swig_ruby.mpb new file mode 100644 index 00000000000..868eeac2c40 --- /dev/null +++ b/ACE/MPC/config/swig_ruby.mpb @@ -0,0 +1,19 @@ +// -*- MPC -*- +// $Id$ + +project { + Define_Custom(SWIG) { + automatic = 1 + command = swig + commandflags = -ruby -c++ + inputext = .swg, .swig, .i + source_outputext = _wrap.cxx + } + requires += swig_ruby + includes += $(RUBY_INCLUDE)/. + libpaths += $(RUBY_LIBPATH)/. + + specific { + lib_prefix = + } +} diff --git a/ACE/MPC/config/swig_tcl.mpb b/ACE/MPC/config/swig_tcl.mpb new file mode 100644 index 00000000000..020564e5add --- /dev/null +++ b/ACE/MPC/config/swig_tcl.mpb @@ -0,0 +1,15 @@ +// -*- MPC -*- +// $Id$ + +project { + Define_Custom(SWIG) { + automatic = 1 + command = swig + commandflags = -tcl -c++ + inputext = .swg, .swig, .i + source_outputext = _wrap.cxx + } + requires += swig_tcl + includes += $(TCL_INCLUDE)/. + libpaths += $(TCL_LIBPATH)/. +} diff --git a/ACE/MPC/config/udm.mpb b/ACE/MPC/config/udm.mpb new file mode 100644 index 00000000000..9e6d8364aa4 --- /dev/null +++ b/ACE/MPC/config/udm.mpb @@ -0,0 +1,29 @@ +// -*- MPC -*- +// $Id$ + +project : xerces { + libs += UdmDll zlib + includes += $(GME_ROOT)/SDK/BON/Common $(GME_ROOT)/SDK/BON $(UDM_PATH)/include . + libpaths += $(UDM_PATH)/lib $(UDM_3RDPARTY_PATH)/zlib + + specific { + midl_flags += /server none /client none + midl_includes += $(GME_ROOT) $(GME_ROOT)/Interfaces . + } + + specific(prop:microsoft) { + DisableSpecificWarnings += 4251 + } + + Define_Custom(UDM) { + automatic = 1 + dependent = $(UDM_PATH)/bin/Udm + command = <%quote%>$(UDM_PATH)<%quote%>/bin/Udm + inputext = .xml + header_outputext = .h + source_outputext = .cpp + generic_outputext = .xsd + + keyword udmflags = commandflags + } +} diff --git a/ACE/MPC/config/unicode.mpb b/ACE/MPC/config/unicode.mpb new file mode 100644 index 00000000000..7745b1f8ee5 --- /dev/null +++ b/ACE/MPC/config/unicode.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +feature (uses_wchar) { + specific { + unicode = 1 + } +} diff --git a/ACE/MPC/config/unixodbc.mpb b/ACE/MPC/config/unixodbc.mpb new file mode 100644 index 00000000000..14cf47d35fd --- /dev/null +++ b/ACE/MPC/config/unixodbc.mpb @@ -0,0 +1,10 @@ +// $Id$ + +project { + // Support for UnixODBC (http://www.unixodbc.org). This is one + // variant of porting ODBC to non-Windows systems. + libpaths += $(UNIXODBC_ROOT)/lib + includes += $(UNIXODBC_ROOT)/include + + lit_libs += odbc odbcinst +} diff --git a/ACE/MPC/config/upnp.mpb b/ACE/MPC/config/upnp.mpb new file mode 100644 index 00000000000..df166fe9ca5 --- /dev/null +++ b/ACE/MPC/config/upnp.mpb @@ -0,0 +1,5 @@ +// $Id$ + +project: ixml { + lit_libs += threadutil upnp +} diff --git a/ACE/MPC/config/wix.mpb b/ACE/MPC/config/wix.mpb new file mode 100644 index 00000000000..fb6b1c250e2 --- /dev/null +++ b/ACE/MPC/config/wix.mpb @@ -0,0 +1,29 @@ +// $Id$ + +project { + custom_only = 1 + + Define_Custom (WXS) { + automatic = 1 + command = <%quote%>$(WIX_ROOT)/bin/candle.exe<%quote%> + + inputext = .wxs + output_option = -out + commandflags = -nologo + generic_outputext = .wixobj + keyword wix_flags = commandflags + } + + Define_Custom (WXI) { + automatic = 1 + inputext = .wxi + } + + postbuild = \ + <%quote%>$(WIX_ROOT)/bin/light.exe<%quote%> -out <%project_name%>.msi \ + <%light_flags%> <%foreach(wxs_files)%><%noextension(wxs_file)%>.wixobj <%endfor%> + + specific(vc7, vc71, vc8, vc9, vc10) { + wix_flags += -dtype=<%prj_type%> + } +} diff --git a/ACE/MPC/config/wix_ui.mpb b/ACE/MPC/config/wix_ui.mpb new file mode 100644 index 00000000000..d48bc40045a --- /dev/null +++ b/ACE/MPC/config/wix_ui.mpb @@ -0,0 +1,8 @@ +// $Id$ + +project : wix { + specific { + wix_flags += -ext WixUIExtension + light_flags += '-ext WixUIExtension' + } +} diff --git a/ACE/MPC/config/wix_xml.mpb b/ACE/MPC/config/wix_xml.mpb new file mode 100644 index 00000000000..487995795f2 --- /dev/null +++ b/ACE/MPC/config/wix_xml.mpb @@ -0,0 +1,8 @@ +// $Id$ + +project : wix { + specific { + wix_flags += -ext WixUtilExtension + light_flags += '-ext WixUtilExtension' + } +} diff --git a/ACE/MPC/config/xalanc.mpb b/ACE/MPC/config/xalanc.mpb new file mode 100644 index 00000000000..f07fa201675 --- /dev/null +++ b/ACE/MPC/config/xalanc.mpb @@ -0,0 +1,9 @@ +// -*- MPC -*- +// $Id$ + +project: xerces { + requires += xalanc + includes += $(XALANCROOT)/include + libpaths += $(XALANCROOT)/lib + lit_libs += xalan-c xalanMsg +} diff --git a/ACE/MPC/config/xerces.mpb b/ACE/MPC/config/xerces.mpb new file mode 100644 index 00000000000..338bdb541c2 --- /dev/null +++ b/ACE/MPC/config/xerces.mpb @@ -0,0 +1,57 @@ +// -*- MPC -*- +// $Id$ +feature(!xerces2, !xerces3) { + requires += xerces +} + +feature(xerces2) { + includes += $(XERCESCROOT)/include + libpaths += $(XERCESCROOT)/lib + + specific(prop:microsoft) { + xerceslib = xerces-c_2 + + // Linking the optimized version of xerces-c_2 into a debug application + // has been known to cause run-time issues (as of 4/25/2005), so we + // will link in the debug version for the "Debug" configuration. + Debug::xerceslib = xerces-c_2D + } + specific(prop:borland) { + xerceslib = XercesLib + } + specific(!prop:windows) { + macros += XML_USE_PTHREADS + xerceslib = xerces-c + } + + // We have to use lit_libs here as the library decorator + // does not necessarily match what MPC uses (particularly for + // static builds). + lit_libs += $(XERCESLIB) +} +feature(xerces3) { + includes += $(XERCESCROOT)/include + libpaths += $(XERCESCROOT)/lib + + specific(prop:microsoft) { + xerceslib = xerces-c_3 + + // Linking the optimized version of xerces-c_2 into a debug application + // has been known to cause run-time issues (as of 4/25/2005), so we + // will link in the debug version for the "Debug" configuration. + Debug::xerceslib = xerces-c_3D + } + specific(prop:borland) { + xerceslib = XercesLib + } + specific(!prop:windows) { + macros += XML_USE_PTHREADS + xerceslib = xerces-c + } + + // We have to use lit_libs here as the library decorator + // does not necessarily match what MPC uses (particularly for + // static builds). + lit_libs += $(XERCESLIB) +} + diff --git a/ACE/MPC/config/yacc.mpb b/ACE/MPC/config/yacc.mpb new file mode 100644 index 00000000000..3f96b213383 --- /dev/null +++ b/ACE/MPC/config/yacc.mpb @@ -0,0 +1,15 @@ +// $Id$ +project { + requires += yacc + Define_Custom(YACC) { + automatic = 1 + command = yacc + commandflags = -d + postcommand = <%mv%> y.tab.c <%source_file%> <%and%> <%mv%> y.tab.h <%header_file%> + pch_postrule = 1 + inputext = .yy, .y + pre_extension = .tab + source_outputext = .c, .cpp, .cxx, .cc, .C + header_outputext = .h, .hpp, .hxx, .hh + } +} diff --git a/ACE/MPC/config/ziparchive.mpb b/ACE/MPC/config/ziparchive.mpb new file mode 100644 index 00000000000..6e80d7d3ea7 --- /dev/null +++ b/ACE/MPC/config/ziparchive.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +feature(ziparchive) { + includes += $(ZIPARCHIVEROOT)/. + libpaths += $(ZIPARCHIVEROOT)/lib + lit_libs += ziparch +} \ No newline at end of file diff --git a/ACE/MPC/config/zlib.mpb b/ACE/MPC/config/zlib.mpb new file mode 100644 index 00000000000..0f24c99358e --- /dev/null +++ b/ACE/MPC/config/zlib.mpb @@ -0,0 +1,17 @@ +// -*- MPC -*- +// $Id$ + +feature(zlib) { + includes += "$(ZLIB_ROOT)/include" + libpaths += "$(ZLIB_ROOT)/lib" + macros += ZLIB + + // @@ Notice: If you are building with Cygwin, you may need to manually + // change the following library to zlib. + specific(prop:windows) { + zlibname = zlib + lit_libs += $(ZLIBNAME) + } else { + lit_libs += z + } +} diff --git a/ACE/MPC/config/zzip.mpb b/ACE/MPC/config/zzip.mpb new file mode 100644 index 00000000000..39125e503a9 --- /dev/null +++ b/ACE/MPC/config/zzip.mpb @@ -0,0 +1,17 @@ +// -*- MPC -*- +// $Id$ + +feature(zzip): zlib { + requires += zlib + includes += $(ZZIP_ROOT)/include + macros += USE_ZZIP + libpaths += $(ZZIP_ROOT)/lib + + // @@ Notice: If you are building with Cygwin, you may need to manually + // change the following library to zziplib. + specific(prop:windows) { + libs += zziplib + } else { + lit_libs += zzip + } +} diff --git a/ACE/MPC/create_base.pl b/ACE/MPC/create_base.pl new file mode 100755 index 00000000000..1788fa629b8 --- /dev/null +++ b/ACE/MPC/create_base.pl @@ -0,0 +1,199 @@ +#! /usr/bin/perl +eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' + & eval 'exec perl -w -S $0 $argv:q' + if 0; + +# ****************************************************************** +# Author: Chad Elliott +# Date: 9/13/2007 +# $Id$ +# Description: Generate a base project based on a library project +# ****************************************************************** + +# ****************************************************************** +# Pragma Section +# ****************************************************************** + +use strict; +use FindBin; +use FileHandle; +use File::Spec; +use File::Basename; + +my $basePath = $FindBin::Bin; +if ($^O eq 'VMS') { + $basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq ''); + $basePath = VMS::Filespec::unixify($basePath); +} +unshift(@INC, $basePath . '/modules'); + +require Creator; + +# ****************************************************************** +# Data Section +# ****************************************************************** + +my $version = '0.1'; + +# ****************************************************************** +# Subroutine Section +# ****************************************************************** + +sub gather_info { + my $name = shift; + my $fh = new FileHandle(); + + if (open($fh, $name)) { + my @lines = (); + my $pname = undef; + while(<$fh>) { + ## Get the line a remove leading and trailing white space + my $line = $_; + $line =~ s/^\s+//; + $line =~ s/\s+$//; + + ## Look for the project declaration and pull out the name and any + ## parents. + if ($line =~ /^project\s*(\(([^\)]+)\))?\s*(:.+)?\s*{$/) { + $pname = $2; + my $parents = $3 || ''; + + ## Create the default project name by removing the extension and + ## converting back-slashes, spaces and dashes to underscores. + ## This needs to be done regardless of whether the project name + ## was provided or not since it's used below in the + ## fill_type_name call. + my $def = basename($name); + $def =~ s/\.[^\.]+$//; + $def =~ s/\\/_/g; + $def =~ s/[\s\-]/_/g; + + if (!defined $pname || $pname eq '') { + ## Take the default project name since one wasn't provided. + $pname = $def; + } + else { + ## Convert back-slashes, spaces and dashes to underscores. + $pname =~ s/\\/_/g; + $pname =~ s/[\s\-]/_/g; + } + + ## If the project has a '*' we need to have MPC fix that up for + ## us. + $pname = Creator::fill_type_name(undef, $pname, $def); + push(@lines, "project$parents {"); + } + elsif ($line =~ /^(shared|static)name\s*=\s*(.+)$/) { + ## Add in the libs and after settings. + my $lib = $2; + if (defined $pname && $lib ne '') { + push(@lines, " libs += $2", + " after += $pname", + "}"); + } + last; + } + } + close($fh); + + ## Only return the lines if there is more than one line. It is + ## possible (and likely) that we've read in the project declaration, + ## but the project did not contain a sharedname or staticname + ## setting. + return @lines if ($#lines > 0); + } + + return (); +} + +sub write_base { + my($in, $out) = @_; + my @lines = gather_info($in); + + if ($#lines >= 0) { + if (-r $out) { + print STDERR "ERROR: $out already exists\n"; + } + else { + my $fh = new FileHandle(); + if (open($fh, ">$out")) { + foreach my $line (@lines) { + print $fh "$line\n"; + } + close($fh); + + ## Everything was ok, return zero. + return 0; + } + else { + print STDERR "ERROR: Unable to write to $out\n"; + } + } + } + else { + if (-r $in) { + print STDERR "ERROR: $in is not a valid MPC file\n"; + } + else { + print STDERR "ERROR: Unable to read from $in\n"; + } + } + + ## Non-zero indicates an error (as in the shell $? value). + return 1; +} + +sub usageAndExit { + my $str = shift; + print STDERR "$str\n" if (defined $str); + print STDERR "Create Base Project v$version\n", + "Usage: ", basename($0), " \n\nThis script will create a base project ", + "based on the contents of the\nsupplied MPC file. ", + "This is only useful if the project ", + "explictly sets\nsharedname or staticname.\n"; + exit(0); +} + +# ****************************************************************** +# Main Section +# ****************************************************************** + +if ($#ARGV > 1) { + ## Get the last argument and make sure it's a directory. + my $dir = pop(@ARGV); + if (!-d $dir) { + usageAndExit("Creating multiple base projects, but the " . + "last argument, $dir, is not a directory"); + } + + ## Process each input file and create the base project with an implicit + ## base project file name. + my $status = 0; + foreach my $input (@ARGV) { + my $output = $dir . '/' . lc(basename($input)); + $output =~ s/mpc$/mpb/; + $status += write_base($input, $output); + } + exit($status); +} +else { + my $input = shift; + my $output = shift; + + ## Print the usage and exit if there is no input, output or the input + ## file looks like an option. + usageAndExit() if (!defined $output || + !defined $input || index($input, '-') == 0); + + ## If the output file is a directory, we will create the output file + ## name based on the input file. + if (-d $output) { + $output .= '/' . lc(basename($input)); + $output =~ s/mpc$/mpb/; + } + + ## Create the base project and return the status to the caller of the + ## script. + exit(write_base($input, $output)); +} diff --git a/ACE/MPC/depgen.pl b/ACE/MPC/depgen.pl new file mode 100755 index 00000000000..9a3af91a5a3 --- /dev/null +++ b/ACE/MPC/depgen.pl @@ -0,0 +1,36 @@ +#! /usr/bin/perl +eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' + & eval 'exec perl -w -S $0 $argv:q' + if 0; + +# ************************************************************ +# Description : Generate dependencies for Make and NMake. +# Author : Chad Elliott +# Create Date : 5/06/2002 +# $Id$ +# ************************************************************ + +# ************************************************************ +# Pragma Section +# ************************************************************ + +use strict; +use FindBin; +use File::Spec; +use File::Basename; + +my $basePath = $FindBin::Bin; +if ($^O eq 'VMS') { + $basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq ''); + $basePath = VMS::Filespec::unixify($basePath); +} +unshift(@INC, $basePath . '/modules/Depgen', $basePath . '/modules'); + +require Driver; + +# ************************************************************ +# Main Section +# ************************************************************ + +my $driver = new Driver(); +exit($driver->run(\@ARGV)); diff --git a/ACE/MPC/devtools/document_template.pl b/ACE/MPC/devtools/document_template.pl new file mode 100755 index 00000000000..f1c51f65cd4 --- /dev/null +++ b/ACE/MPC/devtools/document_template.pl @@ -0,0 +1,372 @@ +#! /usr/bin/perl +eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' + & eval 'exec perl -w -S $0 $argv:q' + if 0; + +# ****************************************************************** +# Author: Chad Elliott +# Date: 7/12/2006 +# $Id$ +# ****************************************************************** + +# ****************************************************************** +# Pragma Section +# ****************************************************************** + +use strict; +use FileHandle; +use FindBin; +use File::Spec; +use File::Basename; + +my $basePath = $FindBin::Bin; +if ($^O eq 'VMS') { + $basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq ''); + $basePath = VMS::Filespec::unixify($basePath); +} +$basePath = dirname($basePath); +unshift(@INC, $basePath . '/modules'); + +require ProjectCreator; +require TemplateParser; +require ConfigParser; +require StringProcessor; + +# ****************************************************************** +# Data Section +# ****************************************************************** + +my %keywords; +my %arrow_op; +my $doc_ext = '.txt'; +my $version = '1.3'; + +# ****************************************************************** +# Subroutine Section +# ****************************************************************** + +sub setup_keywords { + my $language = shift; + + ## Get the main MPC keywords + my $keywords = ProjectCreator::getKeywords(); + foreach my $key (keys %$keywords) { + $keywords{$key} = 1; + } + + ## Get the MPC valid components + $keywords = ProjectCreator::getValidComponents($language); + foreach my $key (keys %$keywords) { + $keywords{lc($key)} = 1; + } + + ## Get the pseudo template variables + my $pjc = new ProjectCreator(); + $keywords = $pjc->get_command_subs(); + foreach my $key (keys %$keywords) { + $keywords{$key} = 1; + } + + ## Get the template function names + $keywords = TemplateParser::getKeywords(); + foreach my $key (keys %$keywords) { + $keywords{$key} = 1; + } + + ## Get the template parser arrow operator keys + $keywords = TemplateParser::getArrowOp(); + foreach my $key (keys %$keywords) { + $arrow_op{$key} = 1; + } +} + + +sub display_template { + my($fh, $cp, $input, $tkeys) = @_; + + print $fh '', "\n", + "\n", + " $input\n", + " \n", + "\n", + "\n", + "

$input

\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n"; + foreach my $key (sort keys %$tkeys) { + my $desc = $cp->get_value($key) || ' '; + my $def; + if (defined $$tkeys{$key}) { + foreach my $ikey (sort keys %{$$tkeys{$key}}) { + if (defined $def) { + $def .= ' or '; + } + else { + $def = ''; + } + $def .= StringProcessor::process_special(undef, $ikey); + } + } + + ## Convert < and > to html friendly codes + $desc =~ s//>/g; + + print $fh " \n", + " \n", + " \n", + " \n", + " \n"; + } + print $fh "
Template VariableDefault ValueDescription
$key", (defined $def ? $def : ' '), "$desc
\n", + "\n"; +} + + +sub usageAndExit { + print "document_template.pl v$version\n", + "Usage: ", basename($0), "