Salome HOME
PR: merge from branch BR_auto_V310 tag mergefrom_OCC_development_for_3_2_0a2_10mar06
authorprascle <prascle>
Mon, 13 Mar 2006 12:18:26 +0000 (12:18 +0000)
committerprascle <prascle>
Mon, 13 Mar 2006 12:18:26 +0000 (12:18 +0000)
346 files changed:
AUTHORS [new file with mode: 0644]
COPYING [new file with mode: 0644]
ChangeLog [new file with mode: 0644]
DEPRECATED/Makefile.in [new file with mode: 0644]
DEPRECATED/configure.in.base [new file with mode: 0644]
DEPRECATED/make_config.in [new file with mode: 0755]
Makefile.am [new file with mode: 0644]
Makefile.in [deleted file]
NEWS [new file with mode: 0644]
bin/Makefile.am [new file with mode: 0644]
bin/appliskel/killCurrentPort
bin/appliskel/runRemote.sh
bin/appliskel/runSession
bin/appliskel/runTests
bin/appliskel/searchFreePort.sh
bin/createAppli.sh
bin/killSalomeWithPort.py
bin/launchConfigureParser.py
bin/runIDLparser.in [new file with mode: 0644]
bin/runNS.sh
bin/runSalome.ksh [new file with mode: 0644]
bin/runSalome.py
bin/salome/runIDLparser.in [deleted file]
build_configure
clean_configure [new file with mode: 0755]
configure.ac [new file with mode: 0644]
configure.in.base [deleted file]
doc/Makefile.am [new file with mode: 0644]
doc/Makefile.in [deleted file]
doc/SALOME_Application.txt
doc/index.txt [new file with mode: 0644]
doc/kernel_resources.txt [new file with mode: 0644]
doc/rst.css [new file with mode: 0644]
doc/salome/DevelopersGuide/Makefile.am [new file with mode: 0644]
doc/salome/DevelopersGuide/Makefile.in [deleted file]
doc/salome/KernelResources/kernel_resources-1.html [deleted file]
doc/salome/KernelResources/kernel_resources-2.html [deleted file]
doc/salome/KernelResources/kernel_resources-3.html [deleted file]
doc/salome/KernelResources/kernel_resources.html [deleted file]
doc/salome/KernelResources/kernel_resources.lyx [deleted file]
doc/salome/Makefile.am [new file with mode: 0644]
doc/salome/Makefile.in [deleted file]
doc/salome/gui/Makefile.am [new file with mode: 0644]
doc/salome/gui/Makefile.in [deleted file]
doc/salome/kernel_resources.pdf [deleted file]
doc/salome/kernel_resources.ps [deleted file]
doc/salome/tui/Makefile.am [new file with mode: 0644]
doc/salome/tui/Makefile.in [deleted file]
doc/txt2html.sh [new file with mode: 0755]
doc/userguide.txt [new file with mode: 0644]
idl/Makefile.am [new file with mode: 0644]
idl/Makefile.in [deleted file]
idl/SALOMEDS.idl
idl/SALOMEDS_Attributes.idl
make_config.in [deleted file]
resources/DEPRECATED/Plugin.in [new file with mode: 0755]
resources/Makefile.am [new file with mode: 0644]
resources/Plugin.in [deleted file]
salome_adm/Makefile.am [new file with mode: 0644]
salome_adm/Makefile.in [deleted file]
salome_adm/unix/DEPRECATED/Doxyfile [new file with mode: 0644]
salome_adm/unix/DEPRECATED/F77config.h.in [new file with mode: 0644]
salome_adm/unix/DEPRECATED/config.h.in [new file with mode: 0755]
salome_adm/unix/DEPRECATED/depend.in [new file with mode: 0644]
salome_adm/unix/DEPRECATED/envScript.in [new file with mode: 0644]
salome_adm/unix/DEPRECATED/make_commence.in [new file with mode: 0644]
salome_adm/unix/DEPRECATED/make_conclude.in [new file with mode: 0644]
salome_adm/unix/DEPRECATED/make_module.in [new file with mode: 0644]
salome_adm/unix/DEPRECATED/make_omniorb.in [new file with mode: 0644]
salome_adm/unix/DEPRECATED/sstream.in [new file with mode: 0644]
salome_adm/unix/Doxyfile [deleted file]
salome_adm/unix/F77config.h.in [deleted file]
salome_adm/unix/Makefile.am [new file with mode: 0644]
salome_adm/unix/SALOMEconfig.h.in
salome_adm/unix/config.h.in [deleted file]
salome_adm/unix/config_files/DEPRECATED/ac_cc_warnings.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/ac_cxx_bool.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/ac_cxx_mutable.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/ac_cxx_partial_specialization.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/ac_cxx_typename.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/check_Salome.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/check_java.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/check_mico.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/check_pthreads.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/config.guess [new file with mode: 0755]
salome_adm/unix/config_files/DEPRECATED/config.sub [new file with mode: 0755]
salome_adm/unix/config_files/DEPRECATED/install-sh [new file with mode: 0755]
salome_adm/unix/config_files/DEPRECATED/libtool.m4 [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/ltconfig [new file with mode: 0755]
salome_adm/unix/config_files/DEPRECATED/ltmain.sh [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/missing [new file with mode: 0644]
salome_adm/unix/config_files/DEPRECATED/mkinstalldirs [new file with mode: 0755]
salome_adm/unix/config_files/Makefile.am [new file with mode: 0644]
salome_adm/unix/config_files/ac_cc_warnings.m4 [deleted file]
salome_adm/unix/config_files/ac_cxx_bool.m4 [deleted file]
salome_adm/unix/config_files/ac_cxx_mutable.m4 [deleted file]
salome_adm/unix/config_files/ac_cxx_option.m4
salome_adm/unix/config_files/ac_cxx_partial_specialization.m4 [deleted file]
salome_adm/unix/config_files/ac_cxx_typename.m4 [deleted file]
salome_adm/unix/config_files/acx_pthread.m4 [new file with mode: 0644]
salome_adm/unix/config_files/check_Salome.m4 [deleted file]
salome_adm/unix/config_files/check_boost.m4
salome_adm/unix/config_files/check_cas.m4
salome_adm/unix/config_files/check_cppunit.m4
salome_adm/unix/config_files/check_hdf5.m4
salome_adm/unix/config_files/check_htmlgen.m4
salome_adm/unix/config_files/check_java.m4 [deleted file]
salome_adm/unix/config_files/check_lam.m4
salome_adm/unix/config_files/check_local.m4 [new file with mode: 0755]
salome_adm/unix/config_files/check_lsf.m4
salome_adm/unix/config_files/check_mico.m4 [deleted file]
salome_adm/unix/config_files/check_mpi.m4
salome_adm/unix/config_files/check_mpich.m4
salome_adm/unix/config_files/check_msg2qm.m4 [deleted file]
salome_adm/unix/config_files/check_omniorb.m4
salome_adm/unix/config_files/check_opengl.m4
salome_adm/unix/config_files/check_openpbs.m4
salome_adm/unix/config_files/check_pthreads.m4 [deleted file]
salome_adm/unix/config_files/check_pyqt.m4 [deleted file]
salome_adm/unix/config_files/check_qt.m4
salome_adm/unix/config_files/check_qwt.m4 [deleted file]
salome_adm/unix/config_files/check_sip.m4 [deleted file]
salome_adm/unix/config_files/check_swig.m4
salome_adm/unix/config_files/check_vtk.m4 [deleted file]
salome_adm/unix/config_files/config.guess [deleted file]
salome_adm/unix/config_files/config.sub [deleted file]
salome_adm/unix/config_files/enable_pthreads.m4
salome_adm/unix/config_files/install-sh [deleted file]
salome_adm/unix/config_files/libtool.m4 [deleted file]
salome_adm/unix/config_files/ltconfig [deleted file]
salome_adm/unix/config_files/ltmain.sh [deleted file]
salome_adm/unix/config_files/missing [deleted file]
salome_adm/unix/config_files/mkinstalldirs [deleted file]
salome_adm/unix/config_files/python.m4
salome_adm/unix/depend.in [deleted file]
salome_adm/unix/envScript.in [deleted file]
salome_adm/unix/make_commence.in [deleted file]
salome_adm/unix/make_common_starter.am [new file with mode: 0644]
salome_adm/unix/make_conclude.in [deleted file]
salome_adm/unix/make_module.in [deleted file]
salome_adm/unix/make_omniorb.in [deleted file]
salome_adm/unix/sstream.in [deleted file]
src/Basics/BasicsGenericDestructor.cxx
src/Basics/Makefile.am [new file with mode: 0644]
src/Basics/Makefile.in [deleted file]
src/Basics/Test/Makefile.am [new file with mode: 0644]
src/Basics/Test/Makefile.in [deleted file]
src/Batch/Batch_BatchManager_Local.cxx [new file with mode: 0644]
src/Batch/Batch_BatchManager_Local.hxx [new file with mode: 0644]
src/Batch/Batch_BatchManager_Local_RSH.cxx [new file with mode: 0644]
src/Batch/Batch_BatchManager_Local_RSH.hxx [new file with mode: 0644]
src/Batch/Batch_BatchManager_Local_SH.cxx [new file with mode: 0644]
src/Batch/Batch_BatchManager_Local_SH.hxx [new file with mode: 0644]
src/Batch/Batch_BatchManager_Local_SSH.cxx [new file with mode: 0644]
src/Batch/Batch_BatchManager_Local_SSH.hxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local.cxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local.hxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local_RSH.cxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local_RSH.hxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local_SH.cxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local_SH.hxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local_SSH.cxx [new file with mode: 0644]
src/Batch/Batch_FactBatchManager_Local_SSH.hxx [new file with mode: 0644]
src/Batch/Batch_IOMutex.cxx [new file with mode: 0644]
src/Batch/Batch_IOMutex.hxx [new file with mode: 0644]
src/Batch/Batch_Job.cxx
src/Batch/Batch_JobInfo.cxx
src/Batch/Batch_JobInfo.hxx
src/Batch/Batch_JobInfo_Local.cxx [new file with mode: 0644]
src/Batch/Batch_JobInfo_Local.hxx [new file with mode: 0644]
src/Batch/Batch_Job_Local.cxx [new file with mode: 0644]
src/Batch/Batch_Job_Local.hxx [new file with mode: 0644]
src/Batch/Batch_Parametre.cxx
src/Batch/Batch_Parametre.hxx
src/Batch/Makefile.am [new file with mode: 0644]
src/Batch/Makefile.in [deleted file]
src/Batch_SWIG/Makefile.am [new file with mode: 0644]
src/Batch_SWIG/Makefile.in [deleted file]
src/CASCatch/CASCatch.hxx [new file with mode: 0644]
src/CASCatch/Makefile.am [new file with mode: 0644]
src/CASCatch/Makefile.in [deleted file]
src/Communication/Makefile.am [new file with mode: 0644]
src/Communication/Makefile.in [deleted file]
src/Communication_SWIG/Makefile.am [new file with mode: 0644]
src/Communication_SWIG/Makefile.in [deleted file]
src/Container/Container_i.cxx
src/Container/Container_init_python.cxx
src/Container/Makefile.am [new file with mode: 0644]
src/Container/Makefile.in [deleted file]
src/Container/SALOME_Container.cxx
src/Container/SALOME_ContainerManagerServer.cxx
src/Container/SALOME_Container_i.hxx
src/DataTypeCatalog/Makefile.am [new file with mode: 0644]
src/DataTypeCatalog/Makefile.in [deleted file]
src/DataTypeCatalog/SALOME_DataTypeCatalog_Server.cxx
src/GenericObj/Makefile.am [new file with mode: 0644]
src/GenericObj/Makefile.in [deleted file]
src/HDFPersist/HDFdataset.cc
src/HDFPersist/Makefile.am [new file with mode: 0644]
src/HDFPersist/Makefile.in [deleted file]
src/KERNEL_PY/Makefile.am [new file with mode: 0755]
src/KERNEL_PY/Makefile.in [deleted file]
src/KERNEL_PY/iparameters.py [new file with mode: 0755]
src/LifeCycleCORBA/Launchers.cxx
src/LifeCycleCORBA/Makefile.am [new file with mode: 0644]
src/LifeCycleCORBA/Makefile.in [deleted file]
src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx
src/LifeCycleCORBA/Test/Makefile.am [new file with mode: 0644]
src/LifeCycleCORBA/Test/Makefile.in [deleted file]
src/LifeCycleCORBA/Test_LifeCycleCORBA.cxx
src/LifeCycleCORBA_SWIG/Makefile.am [new file with mode: 0644]
src/LifeCycleCORBA_SWIG/Makefile.in [deleted file]
src/LifeCycleCORBA_SWIG/TestLifeCycleCORBA.py
src/Logger/Makefile.am [new file with mode: 0644]
src/Logger/Makefile.in [deleted file]
src/Logger/SALOME_Logger_Server.cxx
src/Logger/SALOME_Logger_Server_main.cxx [new file with mode: 0644]
src/Logger/Test/Makefile.am [new file with mode: 0644]
src/Logger/Test/Makefile.in [deleted file]
src/MPIContainer/MPIContainer_i.cxx
src/MPIContainer/Makefile.am [new file with mode: 0644]
src/MPIContainer/Makefile.in [deleted file]
src/MPIContainer/SALOME_MPIContainer.cxx
src/Makefile.am [new file with mode: 0644]
src/Makefile.in [deleted file]
src/ModuleCatalog/Makefile.am [new file with mode: 0644]
src/ModuleCatalog/Makefile.in [deleted file]
src/ModuleCatalog/SALOME_ModuleCatalog_Server.cxx
src/ModuleGenerator/Makefile.am [new file with mode: 0644]
src/ModuleGenerator/Makefile.in [deleted file]
src/ModuleGenerator/testIDLparser.in
src/ModuleGenerator/tests/test1.sh
src/ModuleGenerator/tests/test1b.sh
src/ModuleGenerator/tests/test2.sh
src/ModuleGenerator/tests/test3.sh
src/ModuleGenerator/tests/test4.sh
src/ModuleGenerator/tests/test5.sh
src/NOTIFICATION_SWIG/Makefile.am [new file with mode: 0644]
src/NOTIFICATION_SWIG/Makefile.in [deleted file]
src/NamingService/Makefile.am [new file with mode: 0644]
src/NamingService/Makefile.in [deleted file]
src/NamingService/SALOME_NamingService.cxx
src/NamingService/Test/Makefile.am [new file with mode: 0644]
src/NamingService/Test/Makefile.in [deleted file]
src/Notification/Makefile.am [new file with mode: 0644]
src/Notification/Makefile.in [deleted file]
src/Registry/Makefile.am [new file with mode: 0644]
src/Registry/Makefile.in [deleted file]
src/Registry/SALOME_Registry_Server.cxx
src/ResourcesManager/Makefile.am [new file with mode: 0755]
src/ResourcesManager/Makefile.in [deleted file]
src/RessourcesCatalog/Makefile.am [new file with mode: 0644]
src/RessourcesCatalog/Makefile.in [deleted file]
src/RessourcesCatalog/SALOME_RessourcesCatalog_Server.cxx
src/SALOMEDS/Makefile.am [new file with mode: 0644]
src/SALOMEDS/Makefile.in [deleted file]
src/SALOMEDS/SALOMEDS.cxx
src/SALOMEDS/SALOMEDS_AttributeParameter.cxx [new file with mode: 0644]
src/SALOMEDS/SALOMEDS_AttributeParameter.hxx [new file with mode: 0644]
src/SALOMEDS/SALOMEDS_AttributeParameter_i.cxx [new file with mode: 0644]
src/SALOMEDS/SALOMEDS_AttributeParameter_i.hxx [new file with mode: 0644]
src/SALOMEDS/SALOMEDS_Attributes.hxx
src/SALOMEDS/SALOMEDS_ClientAttributes.hxx
src/SALOMEDS/SALOMEDS_Driver_i.cxx
src/SALOMEDS/SALOMEDS_Driver_i.hxx
src/SALOMEDS/SALOMEDS_GenericAttribute_i.cxx
src/SALOMEDS/SALOMEDS_GenericAttribute_i.hxx
src/SALOMEDS/SALOMEDS_IParameters.cxx [new file with mode: 0644]
src/SALOMEDS/SALOMEDS_IParameters.hxx [new file with mode: 0644]
src/SALOMEDS/SALOMEDS_SObject_i.cxx
src/SALOMEDS/SALOMEDS_SObject_i.hxx
src/SALOMEDS/SALOMEDS_Study.cxx
src/SALOMEDS/SALOMEDS_Study.hxx
src/SALOMEDS/SALOMEDS_StudyManager_i.cxx
src/SALOMEDS/SALOMEDS_StudyManager_i.hxx
src/SALOMEDS/SALOMEDS_Study_i.cxx
src/SALOMEDS/SALOMEDS_Study_i.hxx
src/SALOMEDS/SALOMEDS_TMPFile_i.cxx [new file with mode: 0644]
src/SALOMEDS/SALOMEDS_TMPFile_i.hxx [new file with mode: 0644]
src/SALOMEDS/Test/Makefile.am [new file with mode: 0644]
src/SALOMEDS/Test/SALOMEDSTest.cxx [new file with mode: 0644]
src/SALOMEDS/Test/SALOMEDSTest.hxx [new file with mode: 0644]
src/SALOMEDS/Test/TestSALOMEDS.cxx [new file with mode: 0644]
src/SALOMEDS/Test/TestSALOMEDS.py [new file with mode: 0644]
src/SALOMEDSClient/Makefile.am [new file with mode: 0644]
src/SALOMEDSClient/Makefile.in [deleted file]
src/SALOMEDSClient/SALOMEDSClient.hxx
src/SALOMEDSClient/SALOMEDSClient_AttributeParameter.hxx [new file with mode: 0644]
src/SALOMEDSClient/SALOMEDSClient_ClientFactory.cxx [new file with mode: 0644]
src/SALOMEDSClient/SALOMEDSClient_ClientFactory.hxx [new file with mode: 0644]
src/SALOMEDSClient/SALOMEDSClient_Study.hxx
src/SALOMEDSImpl/Makefile.am [new file with mode: 0644]
src/SALOMEDSImpl/Makefile.in [deleted file]
src/SALOMEDSImpl/SALOMEDSImpl_AttributeComment.cxx
src/SALOMEDSImpl/SALOMEDSImpl_AttributeDrawable.cxx
src/SALOMEDSImpl/SALOMEDSImpl_AttributeExpandable.cxx
src/SALOMEDSImpl/SALOMEDSImpl_AttributeIOR.cxx
src/SALOMEDSImpl/SALOMEDSImpl_AttributeInteger.cxx
src/SALOMEDSImpl/SALOMEDSImpl_AttributeParameter.cxx [new file with mode: 0644]
src/SALOMEDSImpl/SALOMEDSImpl_AttributeParameter.hxx [new file with mode: 0644]
src/SALOMEDSImpl/SALOMEDSImpl_Attributes.hxx
src/SALOMEDSImpl/SALOMEDSImpl_Driver.hxx
src/SALOMEDSImpl/SALOMEDSImpl_IParameters.cxx [new file with mode: 0644]
src/SALOMEDSImpl/SALOMEDSImpl_IParameters.hxx [new file with mode: 0644]
src/SALOMEDSImpl/SALOMEDSImpl_Study.cxx
src/SALOMEDSImpl/SALOMEDSImpl_Study.hxx
src/SALOMEDSImpl/SALOMEDSImpl_StudyManager.cxx
src/SALOMEDSImpl/SALOMEDSImpl_TMPFile.cxx [new file with mode: 0644]
src/SALOMEDSImpl/SALOMEDSImpl_TMPFile.hxx [new file with mode: 0644]
src/SALOMEDSImpl/Test/Makefile.am [new file with mode: 0644]
src/SALOMEDSImpl/Test/SALOMEDSImplTest.cxx [new file with mode: 0644]
src/SALOMEDSImpl/Test/SALOMEDSImplTest.hxx [new file with mode: 0644]
src/SALOMEDSImpl/Test/TestSALOMEDSImpl.cxx [new file with mode: 0644]
src/SALOMEDSImpl/Test/TestSALOMEDSImpl.py [new file with mode: 0644]
src/SALOMEDSImpl/testDS.cxx
src/SALOMELocalTrace/BaseTraceCollector.cxx
src/SALOMELocalTrace/LocalTraceBufferPool.cxx
src/SALOMELocalTrace/Makefile.am [new file with mode: 0644]
src/SALOMELocalTrace/Makefile.in [deleted file]
src/SALOMELocalTrace/Test/Makefile.am [new file with mode: 0644]
src/SALOMELocalTrace/Test/Makefile.in [deleted file]
src/SALOMETraceCollector/Makefile.am [new file with mode: 0644]
src/SALOMETraceCollector/Makefile.in [deleted file]
src/SALOMETraceCollector/Test/Makefile.am [new file with mode: 0644]
src/SALOMETraceCollector/Test/Makefile.in [deleted file]
src/TOOLSDS/Makefile.am [new file with mode: 0644]
src/TOOLSDS/Makefile.in [deleted file]
src/TOOLSDS/SALOMEDS_Tool.cxx
src/TOOLSDS/SALOMEDS_Tool.hxx
src/TestContainer/Makefile.am [new file with mode: 0644]
src/TestContainer/Makefile.in [deleted file]
src/TestContainer/TestComponentPy.py
src/TestContainer/TestContainer.cxx
src/TestContainer/TestLogger.py [new file with mode: 0644]
src/TestMPIContainer/Makefile.am [new file with mode: 0644]
src/TestMPIContainer/Makefile.in [deleted file]
src/TestMPIContainer/TestMPIContainer.cxx
src/UnitTests/Makefile.am [new file with mode: 0644]
src/UnitTests/Makefile.in [deleted file]
src/UnitTests/UnitTests.cxx
src/Utils/Makefile.am [new file with mode: 0644]
src/Utils/Makefile.in [deleted file]
src/Utils/Test/Makefile.am [new file with mode: 0644]
src/Utils/Test/Makefile.in [deleted file]
src/Utils/Utils_SignalsHandler.cxx [deleted file]
src/Utils/Utils_SignalsHandler.h [deleted file]

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..d60c31a
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/DEPRECATED/Makefile.in b/DEPRECATED/Makefile.in
new file mode 100644 (file)
index 0000000..39f1d16
--- /dev/null
@@ -0,0 +1,134 @@
+# -* Makefile *- 
+#
+# Author : Patrick GOLDBRONN (CEA)
+# Date : 28/06/2001
+# $Header$
+#
+
+# source path
+top_srcdir=@top_srcdir@
+top_builddir=.
+srcdir=@srcdir@
+VPATH=.:@srcdir@:@top_srcdir@/bin:./bin/salome:@top_srcdir@/resources:./bin:@top_srcdir@/idl
+
+
+@COMMENCE@
+
+SUBDIRS = idl src doc salome_adm
+
+RESOURCES_FILES = \
+CatalogDataType.xml \
+KERNELCatalog.xml \
+CatalogResources.xml \
+close.png \
+config \
+channel.cfg \
+SALOMEDS_Resources
+
+BIN_SCRIPT= \
+runIDLparser \
+VERSION \
+orbmodule.py \
+runSalome.py \
+killSalome.py \
+killSalomeWithPort.py \
+runSalome \
+runSalome.csh \
+runNS.sh \
+createAppli.sh \
+launchConfigureParser.py \
+salome.launch \
+envSalome.py \
+salomeConsole.py \
+showNS.py \
+addToKillList.py
+
+# copy header files in common directory
+include_list=\
+       include/salome/SALOMEconfig.h
+
+inc: idl $(include_list)
+
+include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref
+       -$(RM) $@
+       $(LN_S) ../../$< $@
+
+# test if SALOMEconfig.h has changed (contents)
+salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h
+       @if ! [ -a $@ ]; then \
+         cp -p $< $@;        \
+       fi;                   \
+       if ! cmp $< $@; then  \
+         cp -p $< $@;        \
+       fi;                   \
+
+depend: depend_idl
+
+depend_idl:
+       (cd idl ; $(MAKE) $@) || exit 1
+
+# doc is already build : if you want to had documents, go manually to doc and run 'make doc'
+
+
+DOCFILES=\
+       README.FIRST.html
+
+rstdoc: $(DOCFILES)
+       (cd doc && $(MAKE) $@) || exit 1
+
+
+# Install make_commence make_conclude ... for other modules
+install-make:
+       ($(INSTALL) -d  $(incmakedir) || exit 1);
+       (sed 's/^prefix=/#prefix=/' $(top_builddir)/salome_adm/unix/make_commence > $(incmakedir)/make_commence || exit 1);
+       (sed 's/^prefix=/#prefix=/' $(top_builddir)/salome_adm/unix/make_conclude > $(incmakedir)/make_conclude || exit 1);
+
+
+install-end:
+# finish libtool install
+#      @$(LT) --mode=finish $(libdir)
+
+install-include: $(include_list)
+       $(INSTALL) -d  $(includedir)
+       @for f in X $(include_list); do                         \
+          if test $$f != X; then                               \
+            (cp -p $$f $(includedir) || exit 1);               \
+          fi;                                                  \
+       done
+
+# install script in $(bindir) :
+install-appliskel:
+       $(INSTALL) -d  $(bindir)
+       if test -d $(top_builddir)/bin/salome/appliskel; then           \
+           cp -rp $(top_builddir)/bin/salome/appliskel $(bindir);      \
+       fi;
+
+install-bin: $(BIN_SCRIPT)
+       $(INSTALL) -d  $(bindir)
+       $(INSTALL_PROGRAM) $^ $(bindir)
+
+# install Plugin file
+install-plugin: $(top_builddir)/share/salome/resources/Plugin
+       ($(INSTALL_DATA) $^ $(datadir)/resources/. || exit 1); \
+
+uninstall: uninstall-idl
+
+uninstall-idl:
+       $(RM) $(idldir)/*.idl
+
+distclean: distclean-other
+
+distclean-other:
+       -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old
+       -$(RM) salome_adm/unix/make_* 
+       -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h 
+       -$(RM) config.cache config.log config.status 
+
+@MODULE@
+
+$(top_builddir)/share/salome/resources/Plugin: resources/Plugin
+       cp -f $< $@ ; \
+
+resources: $(top_builddir)/share/salome/resources/Plugin
+
+install: install-bin install-appliskel install-include install-make install-plugin install-end
diff --git a/DEPRECATED/configure.in.base b/DEPRECATED/configure.in.base
new file mode 100644 (file)
index 0000000..81cde05
--- /dev/null
@@ -0,0 +1,485 @@
+#
+#  PLEASE DO NOT MODIFY configure.in FILE
+#
+#  ALL CHANGES WILL BE DISCARDED BY THE NEXT
+#  build_configure COMMAND
+#
+#  CHANGES MUST BE MADE IN configure.in.base FILE
+#
+#
+# Author : Marc Tajchman (CEA)
+# Date : 28/06/2001
+# Modified by : Patrick GOLDBRONN (CEA)
+# Modified by : Marc Tajchman (CEA)
+#
+# Created from configure.in.base
+#
+AS_SHELL_SANITIZES
+AC_INIT(src)
+AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
+AC_CANONICAL_HOST
+
+PACKAGE=salome
+AC_SUBST(PACKAGE)
+
+VERSION=0.0.1
+AC_SUBST(VERSION)
+
+dnl
+dnl Initialize source and build root directories
+dnl
+
+ROOT_BUILDDIR=`pwd`
+ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
+cd $ROOT_SRCDIR
+ROOT_SRCDIR=`pwd`
+cd $ROOT_BUILDDIR
+
+AC_SUBST(ROOT_SRCDIR)
+AC_SUBST(ROOT_BUILDDIR)
+dnl ##########################################################
+AC_SUBST(KERNEL_ROOT_DIR)
+dnl ##########################################################
+
+
+echo
+echo Source root directory : $ROOT_SRCDIR
+echo Build  root directory : $ROOT_BUILDDIR
+echo
+echo
+
+dnl Modification B. Secher portage sur osf
+AC_CHECK_PROG(SHELL,sh)
+AC_SUBST(SHELL)
+
+if test -z "$AR"; then
+   AC_CHECK_PROGS(AR,ar xar,:,$PATH)
+fi
+AC_SUBST(AR)
+
+dnl Export the AR macro so that it will be placed in the libtool file
+dnl correctly.
+export AR
+
+echo
+echo ---------------------------------------------
+echo testing make
+echo ---------------------------------------------
+echo
+
+AC_PROG_MAKE_SET
+AC_PROG_INSTALL
+dnl 
+dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
+
+AC_ENABLE_DEBUG(yes)
+AC_DISABLE_PRODUCTION
+
+echo ---------------------------------------------
+echo testing libtool
+echo ---------------------------------------------
+
+dnl first, we set static to no!
+dnl if we want it, use --enable-static
+AC_ENABLE_STATIC(no)
+
+AC_LIBTOOL_DLOPEN
+AC_PROG_LIBTOOL
+
+dnl Fix up the INSTALL macro if it s a relative path. We want the
+dnl full-path to the binary instead.
+case "$INSTALL" in
+   *install-sh*)
+      INSTALL="${ROOT_SRCDIR}/salome_adm/unix/config_files/install-sh -c"
+      ;;
+esac
+
+echo
+echo ---------------------------------------------
+echo testing C/C++
+echo ---------------------------------------------
+echo
+
+cc_ok=no
+dnl inutil car libtool
+dnl AC_PROG_CC
+AC_PROG_CXX
+AC_CXX_WARNINGS
+AC_CXX_TEMPLATE_OPTIONS
+AC_DEPEND_FLAG
+# AC_CC_WARNINGS([ansi])
+cc_ok=yes
+
+dnl Library libdl :
+AC_CHECK_LIB(dl,dlopen)
+
+dnl Library librt : for alpha/osf
+AC_CHECK_LIB(rt,nanosleep)
+
+dnl add library libm :
+AC_CHECK_LIB(m,ceil)
+
+AC_CXX_USE_STD_IOSTREAM
+AC_CXX_HAVE_SSTREAM
+
+dnl
+dnl ---------------------------------------------
+dnl testing linker
+dnl ---------------------------------------------
+dnl
+
+AC_LINKER_OPTIONS
+
+echo
+echo ---------------------------------------------
+echo testing threads
+echo ---------------------------------------------
+echo
+
+ENABLE_PTHREADS
+
+dnl
+dnl ---------------------------------------------
+dnl testing WITHIHM
+dnl ---------------------------------------------
+dnl
+
+CHECK_WITHIHM
+
+echo
+echo ---------------------------------------------
+echo BOOST Library
+echo ---------------------------------------------
+echo
+
+CHECK_BOOST
+
+dnl
+dnl ---------------------------------------------
+dnl testing MPI
+dnl ---------------------------------------------
+dnl
+
+CHECK_MPI
+
+dnl
+dnl ---------------------------------------------
+dnl testing sockets
+dnl ---------------------------------------------
+dnl
+
+CHECK_SOCKETS
+
+dnl
+dnl ---------------------------------------------
+dnl testing OpenPBS
+dnl ---------------------------------------------
+dnl
+
+echo
+echo ---------------------------------------------
+echo testing OpenPBS
+echo ---------------------------------------------
+echo
+
+openpbs_ok=no
+CHECK_OPENPBS
+dnl openpbs_ok is set to yes by CHECK_OPENPBS
+
+dnl
+dnl ---------------------------------------------
+dnl testing LSF
+dnl ---------------------------------------------
+dnl
+
+echo
+echo ---------------------------------------------
+echo testing LSF
+echo ---------------------------------------------
+echo
+
+lsf_ok=no
+CHECK_LSF
+dnl lsf_ok is set to yes by CHECK_LSF
+
+dnl
+dnl ---------------------------------------------
+dnl testing Batch
+dnl ---------------------------------------------
+dnl
+
+WITH_BATCH=no
+test x$openpbs_ok = xyes || test x$lsf_ok = xyes && WITH_BATCH=yes
+AC_SUBST(WITH_BATCH)
+
+echo
+echo ---------------------------------------------
+echo testing LEX \& YACC
+echo ---------------------------------------------
+echo
+
+lex_yacc_ok=no
+AC_PROG_YACC
+AC_PROG_LEX
+lex_yacc_ok=yes
+
+echo
+echo ---------------------------------------------
+echo testing python
+echo ---------------------------------------------
+echo
+
+CHECK_PYTHON
+
+dnl echo
+dnl echo ---------------------------------------------
+dnl echo testing java
+dnl echo ---------------------------------------------
+dnl echo
+
+dnl CHECK_JAVA
+
+echo
+echo ---------------------------------------------
+echo testing swig
+echo ---------------------------------------------
+echo
+
+CHECK_SWIG
+
+echo
+echo ---------------------------------------------
+echo testing omniORB
+echo ---------------------------------------------
+echo
+
+CHECK_OMNIORB
+
+dnl echo
+dnl echo ---------------------------------------------
+dnl echo testing mico
+dnl echo ---------------------------------------------
+dnl echo
+
+dnl CHECK_MICO
+
+echo
+echo ---------------------------------------------
+echo default ORB : omniORB
+echo ---------------------------------------------
+echo
+
+DEFAULT_ORB=omniORB
+CHECK_CORBA
+
+AC_SUBST_FILE(CORBA)
+corba=make_$ORB
+CORBA=salome_adm/unix/$corba
+
+
+echo
+echo ---------------------------------------------
+echo testing QT
+echo ---------------------------------------------
+echo
+
+CHECK_QT
+
+echo
+echo ----------------------------------------------
+echo testing CPPUNIT only required for unit testing
+echo ----------------------------------------------
+echo
+
+CHECK_CPPUNIT
+
+if test "X$WITHIHM" = "Xyes"; then
+       echo
+       echo ---------------------------------------------
+       echo Testing sip
+       echo ---------------------------------------------
+       echo
+
+       CHECK_SIP
+
+       echo
+       echo ---------------------------------------------
+       echo testing openGL
+       echo ---------------------------------------------
+       echo
+
+       CHECK_OPENGL
+
+       echo
+       echo ---------------------------------------------
+       echo testing VTK
+       echo ---------------------------------------------
+       echo
+
+       CHECK_VTK
+
+       echo
+       echo ---------------------------------------------
+       echo Testing pyqt
+       echo ---------------------------------------------
+       echo
+
+       CHECK_PYQT
+
+       echo
+       echo ---------------------------------------------
+       echo Testing qwt
+       echo ---------------------------------------------
+       echo
+
+       CHECK_QWT
+fi
+
+echo
+echo ---------------------------------------------
+echo testing HDF5
+echo ---------------------------------------------
+echo
+
+CHECK_HDF5
+
+echo
+echo ---------------------------------------------
+echo Testing OpenCascade
+echo ---------------------------------------------
+echo
+
+CHECK_CAS
+
+echo
+echo ---------------------------------------------
+echo Testing html generators
+echo ---------------------------------------------
+echo
+
+CHECK_HTML_GENERATORS
+
+echo
+echo ---------------------------------------------
+echo Summary
+echo ---------------------------------------------
+echo
+
+echo Configure
+variables="cc_ok boost_ok lex_yacc_ok mpi_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok occ_ok sip_ok pyqt_ok qwt_ok doxygen_ok graphviz_ok"
+for var in $variables
+do
+   eval toto=\$$var
+   if test x$toto != "x"; then
+     printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
+     eval echo \$$var
+   fi
+done
+echo "---Optional:"
+variables="cppunit_ok openpbs_ok lsf_ok"
+for var in $variables
+do
+   eval toto=\$$var
+   if test x$toto != "x"; then
+     printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
+     eval echo \$$var
+   fi
+done
+
+echo
+echo "Default ORB   : $DEFAULT_ORB"
+echo
+
+dnl generals files which could be included in every makefile
+
+AC_SUBST_FILE(COMMENCE) COMMENCE=salome_adm/unix/make_commence
+AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude
+AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module
+
+dnl les dependences
+AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend
+
+dnl We don t need to say when we re entering directories if we re using
+dnl GNU make becuase make does it for us.
+if test "X$GMAKE" = "Xyes"; then
+   AC_SUBST(SETX) SETX=":"
+else
+   AC_SUBST(SETX) SETX="set -x"
+fi
+
+# make other build directories
+for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources idl
+do
+#   if test ! -d $rep ; then
+#      eval mkdir $rep
+#   fi
+    $INSTALL -d $rep
+done
+
+echo 
+echo ---------------------------------------------
+echo copying resource files, shell scripts, and 
+echo xml files
+echo ---------------------------------------------
+echo
+
+
+dnl copy resources directories
+
+#for i in `find $ROOT_SRCDIR -name 'resources' -print`
+#do
+#  local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
+#  local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
+#  mkdir -p $local_res_dir
+#  cd $local_res_dir
+#  ln -fs $i
+#  echo $local_res
+#  cd $ROOT_BUILDDIR
+#done
+
+dnl copy shells and utilities contained in the bin directory
+dnl excluding .in files (treated in AC-OUTPUT below) and CVS 
+dnl directory
+
+mkdir -p bin/salome
+cd bin/salome
+for i in  `find $ROOT_SRCDIR/bin`
+do
+  local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR/bin,.,"`
+  case "$local_bin" in
+        *.in | *~) ;;
+        . | */CVS | */CVS/* | ./salome) ;;
+        ./appliskel |./appliskel/env.d) $INSTALL -d $local_bin ; echo $local_bin ;;
+        *) $INSTALL $i $local_bin; echo $local_bin ;;
+  esac
+done
+cd $ROOT_BUILDDIR
+
+AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript
+
+dnl copy xml files to the build tree (lib directory)
+dnl pourquoi ????
+
+#cd lib
+#for i in `find $ROOT_SRCDIR -name "*.xml" -print`
+#do
+#  ln -fs $i
+#  echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
+#done
+#cd $ROOT_BUILDDIR
+
+echo
+echo ---------------------------------------------
+echo generating Makefiles and configure files
+echo ---------------------------------------------
+echo
+
+AC_OUTPUT_COMMANDS([ \
+       chmod +x ./bin/*; \
+       chmod +x ./bin/salome/* \
+])
+
+## do not delete this line
+
diff --git a/DEPRECATED/make_config.in b/DEPRECATED/make_config.in
new file mode 100755 (executable)
index 0000000..64b47c3
--- /dev/null
@@ -0,0 +1,75 @@
+# make_config.in: template for make_config script
+# make_config is used by check_cas.m4 to generate 
+# config.h file in case it cannot be found in OCC
+# and SALOME include paths
+#=================================================
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(salome_adm/unix)
+AC_CONFIG_SRCDIR(salome_adm/unix/config.h.in)
+AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
+AC_CANONICAL_HOST
+
+AC_CONFIG_HEADERS(./salome_adm/unix/config.h)
+
+AC_ISC_POSIX
+AC_C_BIGENDIAN
+
+dnl Checks for programs.
+AC_PROG_CXX
+AC_PROG_CC_C_O
+
+AC_PROG_AWK
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_YACC
+AC_PROG_MAKE_SET
+
+dnl Replace `main' with a function in -le:
+AC_CHECK_LIB(e, main)
+
+dnl Replace `main' with a function in -links:
+AC_CHECK_LIB(inks, main)
+
+dnl Checks for X window system directories.
+AC_PATH_X
+if test "x$ac_x_includes" = "x"; then
+  X_INCLUDE=""
+else
+  X_INCLUDE="-I$ac_x_includes"
+fi
+if test "x$ac_x_libraries" = "x"; then
+  X_LIBS="-lXt -lX11"
+else
+  X_LIBS="-L$ac_x_libraries -lXt -lX11"
+fi
+
+dnl Checks for header files.
+
+AC_HEADER_STDC
+AC_LANG([C])
+AC_MSG_CHECKING([ for C header files ])
+AC_CHECK_HEADERS(dlfcn.h dl.h ieeefp.h time.h sys/time.h pwd.h)
+AC_CHECK_HEADERS(sys/statvfs.h sys/vfs.h sys/param.h osfcn.h netdb.h)
+AC_CHECK_HEADERS(sys/ioctl.h net/if.h sys/systeminfo.h sys/utsname.h)
+AC_CHECK_HEADERS(sysent.h unistd.h sys/unistd.h sys/socket.h)
+AC_CHECK_HEADERS(ndir.h sys/ndir.h sys/dir.h signal.h sys/signal.h)
+AC_CHECK_HEADERS(sigfpe.h floatingpoint.h sys/machsig.h sys/siginfo.h)
+AC_CHECK_HEADERS(malloc.h strings.h sys/stat.h sys/sem.h sys/ipc.h)
+AC_CHECK_HEADERS(sys/times.h dirent.h getopt.h sys/vnode.h)
+
+
+AC_LANG([C++])
+AC_MSG_CHECKING([ for C++ header files ])
+AC_CHECK_HEADERS(istream ostream istream fstream ios iomanip iostream )
+AC_CHECK_HEADERS(stream.h strstream.h istream.h ostream.h fstream.h stdlib.h ios.h iostream.h)
+AC_CHECK_HEADERS(iomanip.h limits.h values.h float.h)
+AC_CHECK_HEADERS(siginfo.h bits/sigset.h bstring.h sys/types.h sys/select.h)
+AC_CHECK_HEADERS(X11/extensions/transovl.h X11/extensions/readdisplay.h)
+AC_CHECK_HEADERS(X11/extensions/multibuf.h)
+AC_CHECK_HEADERS(sys/filio.h sys/mman.h libc.h)
+
+dnl Checks for library functions.
+AC_TYPE_SIGNAL
+
+AC_OUTPUT()
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..e8f17aa
--- /dev/null
@@ -0,0 +1,29 @@
+# -* Makefile *- 
+#
+# Author : Guillaume BOULANT (CSSI)
+# Date : 09/11/2005
+# $Header$
+#
+
+if CORBA_GEN
+  IDLDIR = idl
+endif
+
+SUBDIRS = $(IDLDIR) src doc salome_adm bin resources
+
+DIST_SUBDIRS=   idl src doc salome_adm bin resources
+
+DISTCLEANFILES = a.out
+
+EXTRA_DIST = \
+       build_configure \
+       clean_configure \
+       LICENCE \
+       README.FIRST.txt \
+       DEPRECATED
+
+dist-hook:
+       rm -rf `find $(distdir) -name CVS`
+
+userdoc:
+       (cd doc && $(MAKE) $(AM_MAKEFLAGS) userdoc)
\ No newline at end of file
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644 (file)
index 42dedf9..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-# -* Makefile *- 
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 28/06/2001
-# $Header$
-#
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=.
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/bin:./bin/salome:@top_srcdir@/resources:./bin:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-SUBDIRS = idl src doc salome_adm
-
-RESOURCES_FILES = \
-CatalogDataType.xml \
-KERNELCatalog.xml \
-CatalogResources.xml \
-close.png \
-config \
-channel.cfg \
-SALOMEDS_Resources
-
-BIN_SCRIPT= \
-runIDLparser \
-VERSION \
-orbmodule.py \
-runSalome.py \
-killSalome.py \
-killSalomeWithPort.py \
-runSalome \
-runSalome.csh \
-runNS.sh \
-createAppli.sh \
-launchConfigureParser.py \
-salome.launch \
-envSalome.py \
-salomeConsole.py \
-showNS.py \
-addToKillList.py \
-NSparam.py
-
-# copy header files in common directory
-OWN_CONFIG_H=@OWN_CONFIG_H@
-
-ifeq ($(OWN_CONFIG_H),yes)
-    ifeq ($(HAVE_SSTREAM),yes)
-       include_list=include/salome/SALOMEconfig.h include/salome/config.h
-    else
-       include_list=include/salome/SALOMEconfig.h include/salome/config.h include/salome/sstream
-    endif
-else
-    ifeq ($(HAVE_SSTREAM),yes)
-       include_list=include/salome/SALOMEconfig.h
-    else
-       include_list=include/salome/SALOMEconfig.h include/salome/sstream
-    endif
-endif
-
-inc: idl $(include_list)
-
-include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref
-       -$(RM) $@
-       $(LN_S) ../../$< $@
-
-# test if SALOMEconfig.h has changed (contents)
-salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h
-       @if ! [ -a $@ ]; then \
-         cp -p $< $@;        \
-       fi;                   \
-       if ! cmp $< $@; then  \
-         cp -p $< $@;        \
-       fi;                   \
-
-include/salome/config.h: salome_adm/unix/config.h
-       -$(RM) $@
-       $(LN_S) ../../$< $@
-
-include/salome/sstream: salome_adm/unix/sstream
-       -$(RM) $@
-       $(LN_S) ../../$< $@
-
-depend: depend_idl
-
-depend_idl:
-       (cd idl ; $(MAKE) $@) || exit 1
-
-# doc is already build : if you want to had documents, go manually to doc and run 'make doc'
-#doc:
-#      (cd doc && $(MAKE) $@) || exit 1
-
-# Install make_commence make_conclude ... for other modules
-install-make:
-       ($(INSTALL) -d  $(incmakedir) || exit 1);
-       (sed 's/^prefix=/#prefix=/' $(top_builddir)/salome_adm/unix/make_commence > $(incmakedir)/make_commence || exit 1);
-       (sed 's/^prefix=/#prefix=/' $(top_builddir)/salome_adm/unix/make_conclude > $(incmakedir)/make_conclude || exit 1);
-
-
-install-end:
-# finish libtool install
-#      @$(LT) --mode=finish $(libdir)
-
-install-include: $(include_list)
-       $(INSTALL) -d  $(includedir)
-       @for f in X $(include_list); do                         \
-          if test $$f != X; then                               \
-            (cp -p $$f $(includedir) || exit 1);               \
-          fi;                                                  \
-       done
-
-# install script in $(bindir) :
-install-appliskel:
-       $(INSTALL) -d  $(bindir)
-       if test -d $(top_builddir)/bin/salome/appliskel; then           \
-           cp -rp $(top_builddir)/bin/salome/appliskel $(bindir);      \
-       fi;
-
-install-bin: $(BIN_SCRIPT)
-       $(INSTALL) -d  $(bindir)
-       $(INSTALL_PROGRAM) $^ $(bindir)
-
-# install Plugin file
-install-plugin: $(top_builddir)/share/salome/resources/Plugin
-       ($(INSTALL_DATA) $^ $(datadir)/resources/. || exit 1); \
-
-uninstall: uninstall-idl
-
-uninstall-idl:
-       $(RM) $(idldir)/*.idl
-
-distclean: distclean-other
-
-distclean-other:
-       -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old
-       -$(RM) salome_adm/unix/make_* 
-       -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h salome_adm/unix/config.h 
-       -$(RM) config.cache config.log config.status 
-
-@MODULE@
-
-$(top_builddir)/share/salome/resources/Plugin: resources/Plugin
-       cp -f $< $@ ; \
-
-resources: $(top_builddir)/share/salome/resources/Plugin
-
-install: install-bin install-appliskel install-include install-make install-plugin install-end
diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/bin/Makefile.am b/bin/Makefile.am
new file mode 100644 (file)
index 0000000..eecb208
--- /dev/null
@@ -0,0 +1,60 @@
+# -* Makefile *- 
+#
+# Author : Guillaume Boulant (CSSI)
+# Module : KERNEL
+# $Header$
+#
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+# These files are data, module or lib files
+dist_salomescript_DATA= \
+       VERSION \
+       orbmodule.py \
+       salome.launch \
+       salomeConsole.py
+
+# These files are executable scripts
+dist_salomescript_SCRIPTS=\
+       envSalome.py \
+       runIDLparser \
+       runSalome.py \
+       killSalome.py \
+       killSalomeWithPort.py \
+       runSalome \
+       runSalome.csh \
+       runNS.sh \
+       createAppli.sh \
+       launchConfigureParser.py \
+       showNS.py \
+       addToKillList.py \
+       NSparam.py
+
+EXTRA_DIST = appliskel
+
+dist-hook:
+       rm -rf `find $(distdir)/appliskel -name CVS`
+
+DISTCLEANFILES = $(top_builddir)/bin/@PACKAGE@/Makefile.am
+
+clean-local:
+       rm -rf $(top_builddir)/bin/@PACKAGE@/appliskel
+       cd $(top_builddir)/bin/@PACKAGE@; \
+       rm -f $(dist_salomescript_DATA) $(dist_salomescript_SCRIPTS)
+
+# This is an ugly target to avoid exploring the appliskel subdirectory.
+install-exec-local:
+       $(INSTALL) -d $(salomescriptdir)
+       cp -r $(srcdir)/appliskel $(salomescriptdir)
+       find $(salomescriptdir) -name CVS | xargs rm -rf
+
+uninstall-local:
+       find $(salomescriptdir)/appliskel -exec chmod +w {} \;
+       rm -rf $(salomescriptdir)/appliskel
index bca506068665d28b5d2063c0d9475c9579d85816..5d0a547cc62449edb39d18ddbc6f66612e9418d1 100755 (executable)
@@ -14,7 +14,8 @@ myhost=`hostname`
 fileOmniConfig=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
 
 if [ -f $fileOmniConfig ]; then
-  export OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
+  OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
+  export OMNIORB_CONFIG
 fi
 
 currentPort=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py port`
index 594616a0709701485a25059c812642b114070f51..293ecff6d425e89d2d3cf26b16c43c9f5ce6b13c 100755 (executable)
 
 # --- set the OMNIORB_CONFIG file and environment relative to this run of SALOME
 
-export OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_$1_$2.cfg
-export NSHOST=$1
-export NSPORT=$2
+OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_$1_$2.cfg
+export OMNIORB_CONFIG
+NSHOST=$1
+export NSHOST
+NSPORT=$2
+export NSPORT
 initref="NameService=corbaname::"$1":$2"
 echo "ORBInitRef $initref" > $OMNIORB_CONFIG
 
@@ -41,4 +44,4 @@ echo "ORBInitRef $initref" > $OMNIORB_CONFIG
 
 shift 2
 
-${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile $HOME/$APPLI/.bashrc -c "$*"
+${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/sh --rcfile $HOME/$APPLI/.bashrc -c "$*"
index 22d3fdd0fb3307419a4e8f9ff1e3ef810454d9f0..c0a26ba13399420f1f5ce5b9b1246293d7f8d779 100755 (executable)
@@ -19,19 +19,22 @@ myhost=`hostname`
 fileOmniConfig=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
 
 if [ -f $fileOmniConfig ]; then
-  export OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
+  OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
+  export OMNIORB_CONFIG
 
   # --- set environment variables for port and hostname of NamingService
 
-  export NSHOST=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py host`
-  export NSPORT=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py port`
+  NSHOST=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py host`
+  export NSHOST
+  NSPORT=`${KERNEL_ROOT_DIR}/bin/salome/NSparam.py port`
+  export NSPORT
 fi
 
 # --- invoque shell with or without args
 
 if [ $# -ne 0 ] ; then
-    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc -c "$*"
+    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/sh --rcfile ${HOME}/${APPLI}/.bashrc -c "$*"
 else
 
-    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc
+    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/sh --rcfile ${HOME}/${APPLI}/.bashrc
 fi
index 755825d797a7588da6480fdbdbaa56faaec88d91..8e360b05dbc0b7daa00aebc2ecc78dffd882f133 100755 (executable)
@@ -21,13 +21,16 @@ searchFreePort() {
         if [ -z "$aRes" ]; then
             echo ${NSPORT} - Ok
            local myhost=`hostname`
-            export OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_${NSPORT}.cfg
+            OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_${NSPORT}.cfg
+            export OMNIORB_CONFIG
            export NSPORT
-            export NSHOST=${myhost}
+            NSHOST=${myhost}
+            export NSHOST
             local initref="NameService=corbaname::"`hostname`":$NSPORT"
             #echo "ORBInitRef $initref" > $OMNIORB_CONFIG
             echo "InitRef = $initref" > $OMNIORB_CONFIG
-            export LAST_RUNNING_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_test.cfg
+            LAST_RUNNING_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_test.cfg
+            export LAST_RUNNING_CONFIG
            rm ${LAST_RUNNING_CONFIG}
             ln -s ${OMNIORB_CONFIG} ${LAST_RUNNING_CONFIG}
             break
@@ -55,10 +58,10 @@ fi
 searchFreePort
 
 if [ $# -ne 0 ] ; then
-    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc -c "$*"
+    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/sh --rcfile ${HOME}/${APPLI}/.bashrc -c "$*"
 else
 
-    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/bash --rcfile ${HOME}/${APPLI}/.bashrc
+    ${KERNEL_ROOT_DIR}/bin/salome/envSalome.py /bin/sh --rcfile ${HOME}/${APPLI}/.bashrc
 fi
 
 rm ${OMNIORB_CONFIG}
index 8108a93dcb542cfbfda619145807e065d289d56e..3fd3c0dd8587ec3ab712085245440e4e898fe124 100755 (executable)
@@ -4,7 +4,8 @@
 
 searchFreePort() {
     echo -n "Searching for a free port for naming service: "
-    export NSPORT=2810
+    NSPORT=2810
+    export NSPORT
     local limit=$NSPORT
     let limit=limit+100
     while [ 1 ]
@@ -13,13 +14,16 @@ searchFreePort() {
         if [ -z "$aRes" ]; then
             echo ${NSPORT} - Ok
            local myhost=`hostname`
-            export OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_${NSPORT}.cfg
+            OMNIORB_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_${NSPORT}.cfg
+            export OMNIORB_CONFIG
            export NSPORT
-            export NSHOST=${myhost}
+            NSHOST=${myhost}
+            export NSHOST
             local initref="NameService=corbaname::"`hostname`":$NSPORT"
             #echo "ORBInitRef $initref" > $OMNIORB_CONFIG
             echo "InitRef = $initref" > $OMNIORB_CONFIG
-            export LAST_RUNNING_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
+            LAST_RUNNING_CONFIG=${HOME}/${APPLI}/.omniORB_${myhost}_last.cfg
+            export LAST_RUNNING_CONFIG
            rm ${LAST_RUNNING_CONFIG}
             ln -s ${OMNIORB_CONFIG} ${LAST_RUNNING_CONFIG}
             break
index 1ff6ed6def573fd3c20538caec9fa47e80559aa4..36c6146b4b9a9bacff5ebe675ca28cbf4aacabf2 100755 (executable)
@@ -3,11 +3,11 @@
 comName=`which $0`
 rep=`dirname $comName`
 
-if [ $# -ne 1 ]
+if [ $# -ne 1 ]; then
   echo "--- usage:"
   echo $0 AppliName
   echo "--- In which AppliName is a directory to create with SALOME application scripts"
-elif [ -d $1]
+elif [ -d $1 ]; then
   echo $1 "directory already exists, nothing done"
 else
   mkdir -p $1
index e52a25f883fec97a6273a12c1389926f73042fc2..9f0cd0dd9c9a317c94214935d2b23d9ef5bc7e88 100755 (executable)
@@ -34,7 +34,21 @@ def killMyPort(port):
         pass
         
     if found:
-        a = os.system("pid=`ps -eo pid,command | egrep \"[0-9] omniNames -start "+str(port)+"\" | sed -e \"s%[^0-9]*\([0-9]*\) .*%\\1%g\"`; kill -9 $pid >& /dev/null")
+        cmd = 'pid=`ps -eo pid,command | egrep "[0-9] omniNames -start '+str(port)+'"` ; echo $pid > /tmp/logs/'+os.getenv('USER')+"/_"+port+'_Pid_omniNames.log'
+        a = os.system(cmd)
+        try:
+            fpidomniNames=open('/tmp/logs/'+os.getenv('USER')+"/_"+port+'_Pid_omniNames.log')
+            prc = fpidomniNames.read()
+            fpidomniNames.close()
+            if prc != None :
+                for field in prc.split(" ") :
+                    if field == "omniNames" :
+                        if pidfield != "egrep" :
+                            print 'stop process '+pidfield+' : omniNames'
+                            os.system('kill -9 '+pidfield)
+                    pidfield = field
+        except:
+            pass
         try:
             process_ids=pickle.load(fpid)
             fpid.close()
index a9d0c273ca2fdb6f1e67db623b5a7b0e8775b302..99540b3f3232a17a4c01db63d5ab0b1c6a0df06e 100755 (executable)
@@ -161,6 +161,17 @@ class xml_parser:
 # -     command line
 
 config_var = appname+'Config'
+# set resources variables if not yet set
+if os.getenv("GUI_ROOT_DIR"):
+    if not os.getenv("SUITRoot"): os.environ["SUITRoot"] =  os.getenv("GUI_ROOT_DIR") + "/share/salome"
+    if not os.getenv("SalomeAppConfig"): os.environ["SalomeAppConfig"] =  os.getenv("GUI_ROOT_DIR") + "/share/salome/resources"
+    pass
+else :
+    if not os.getenv("SUITRoot"):
+        os.environ["SUITRoot"] = ""
+    if not os.getenv("SalomeAppConfig"):
+        os.environ["SalomeAppConfig"] = ""
+
 dirs = os.environ[config_var]
 dirs = re.split('[;|:]', dirs )
 dirs.reverse() # reverse order, like in "path" variable - FILO-style processing
diff --git a/bin/runIDLparser.in b/bin/runIDLparser.in
new file mode 100644 (file)
index 0000000..cb41a74
--- /dev/null
@@ -0,0 +1,37 @@
+#! /bin/sh
+
+# print the help message ====================================
+
+# test $@="-h" -o -z $@
+
+hh=0
+
+if test "$#" = "0";then
+    hh=1
+else
+    for a in $@; do
+       if test "$a" = "-h"; then
+           hh=1
+       fi
+    done
+fi
+
+if test "$hh" = "1" ; then
+    echo ""
+    echo "Usage : "
+    echo ""
+    echo "   to run IDLparser:"
+    echo ""
+    echo "        $0 -Wbcatalog=<my_catalog.xml>[,icon=<pngfile>][,version=<num>][,author=<name>][,name=<component_name>][,multistudy=<component_multistudy>][,remove=component_name] <file.idl>   "
+    echo ""
+    echo "   to have omniidl help:"
+    echo ""
+    echo "        $0 -u "
+    echo ""
+    exit 1
+fi
+#============================================================
+
+# omiidl ====================================================
+omniidl -bIDLparser -I ${KERNEL_ROOT_DIR}/idl/salome $@
+#============================================================
index b5c155a6c46fda66161d8dbd41b64cd6c461fe17..589d2db5046093c7fbfe531e2a14393af234cb28 100755 (executable)
@@ -18,7 +18,7 @@ touch ${BaseDir}/logs/${Username}/dummy
 
 echo "Name Service... "
 aSedCommand="s/.*NameService=corbaname::`hostname`:\([[:digit:]]*\)/\1/"
-aPort=`sed -e"$aSedCommand" $OMNIORB_CONFIG`
+aPort=`cat $OMNIORB_CONFIG | grep NameService | sed -e"$aSedCommand"`
 omniNames -start $aPort -logdir ${BaseDir}/logs/${Username} &
 
 # In LifeCycleCORBA, FactoryServer is started with rsh on the requested
diff --git a/bin/runSalome.ksh b/bin/runSalome.ksh
new file mode 100644 (file)
index 0000000..9702886
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/ksh
+
+searchFreePort() {
+    echo -n "Searching for a free port for naming service: "
+    NSPORT=2810
+    export NSPORT
+    local limit=$NSPORT
+    let limit=limit+100
+    while [ 1 ]
+    do
+        aRes=`netstat -ltn | grep -E :${NSPORT}`
+        if [ -z "$aRes" ]; then
+            echo ${NSPORT} - Ok
+           local myhost=`hostname`
+            OMNIORB_CONFIG=${HOME}/.omniORB_${myhost}_${NSPORT}.cfg
+            export OMNIORB_CONFIG
+           local initref="NameService=corbaname::"`hostname`":$NSPORT"
+           export NSPORT
+           if [[ `python -c "import CORBA; print CORBA.ORB_ID"` = "omniORB4" ]]; then
+                echo "InitRef = $initref" > $OMNIORB_CONFIG
+           else
+               echo "ORBInitRef $initref" > $OMNIORB_CONFIG
+           fi
+            break
+        fi
+        echo -n "${NSPORT} "
+        if [[ $NSPORT -eq $limit ]] ; then
+            echo
+            echo "Can't find a free port to launch omniNames"
+            echo "Try to kill the running servers and then launch SALOME again."
+            exit
+        fi
+        let NSPORT=NSPORT+1
+    done
+}
+
+searchFreePort
+
+if [[ "$*" = "-nothing" ]]; then
+    echo "port:$NSPORT"
+elif [ $# -ne 0 ] ; then
+    python -i ${KERNEL_ROOT_DIR}/bin/salome/runSalome.py $* 
+else
+    python ${KERNEL_ROOT_DIR}/bin/salome/runSalome.py
+fi
+
+# -----------------------------------------------------------------------------
+# examples:
+# ---------
+#  $: ${KERNEL_ROOT_DIR}/bin/salome/runSalome
+#
+#     - parameters for launching are taken from $HOME/.salome/salome.launch;
+#     - if the config file does not exist, it is created with default values.
+#
+#  
+#  $: ${KERNEL_ROOT_DIR}/bin/salome/runSalome --modules=GEOM,SMESH,VISU,SUPERV,MED --embedded=registry,study,moduleCatalog,cppContainer --standalone=pyContainer,supervContainer --xterm --killall
+#
+#     parameters from command line supersede those from $HOME/.salome/salome.launch
+#
+# Some CORBA servers can be launched in the SALOME_Session_Server's process
+# (embedded = same process) or in a separate process (standalone):
+# --> registry,study,moduleCatalog,cppContainer
+# Other CORBA servers could only be launched in separate process (standalone):
+# --> pyContainer,supervContainer
+#
+# $: ${KERNEL_ROOT_DIR}/bin/salome/runSalome -h
+#    help
+# -----------------------------------------------------------------------------
+#
+# l'option -i permet de garder l'interpreteur python ouvert :
+# par defaut, les differents serveurs ouvrent des fenêtres xterm
+# (cf. runSalome.py)
+# le serveur Logger n'est pas obligatoire (commenté dans runSalome.py)
+# 
+# -----------------------------------------------------------------------------
+# Example on CCRT (without ihm) :
+# ${KERNEL_ROOT_DIR}/bin/salome/runSalome.py --terminal --modules=MED,CALCULATOR,COMPONENT --standalone=registry,study,moduleCatalog,cppContainer,pyContainer,supervContainer --killall
index 98ff0a19fe5369b9677d5d09d3f29ede95ef21a4..8b19f288ecb08f1942fcad2d7924d4c7470423b7 100755 (executable)
@@ -56,8 +56,9 @@ def get_config():
     modules_list = []
     if args.has_key("modules"):
         modules_list += args["modules"]
-    # KERNEL must be last in the list to locate it at the first place in PATH 
-    modules_list[:0] = ["GUI"]
+    # KERNEL must be last in the list to locate it at the first place in PATH
+    if args["gui"] :
+        modules_list[:0] = ["GUI"]
     modules_list[:0] = ["KERNEL"]
     modules_list.reverse()
 
@@ -103,7 +104,8 @@ def set_env(args, modules_list, modules_root_dir):
     
     python_version="python%d.%d" % sys.version_info[0:2]
     modules_root_dir_list = []
-    modules_list = modules_list[:] + ["GUI"] 
+    if args["gui"] :
+        modules_list = modules_list[:] + ["GUI"] 
     modules_list = modules_list[:] + ["KERNEL"] 
     for module in modules_list :
         if modules_root_dir.has_key(module):
@@ -187,10 +189,10 @@ def set_env(args, modules_list, modules_root_dir):
     # set environment for SUPERV module
     os.environ["ENABLE_MACRO_NODE"]="1"
     # set resources variables if not yet set
-    if os.getenv("GUI_ROOT_DIR"):
-        if not os.getenv("SUITRoot"): os.environ["SUITRoot"] =  os.getenv("GUI_ROOT_DIR") + "/share/salome"
-        if not os.getenv("SalomeAppConfig"): os.environ["SalomeAppConfig"] =  os.getenv("GUI_ROOT_DIR") + "/share/salome/resources"
-        pass   
+    # Done now by launchConfigureParser.py
+    #if os.getenv("GUI_ROOT_DIR"):
+        #if not os.getenv("SUITRoot"): os.environ["SUITRoot"] =  os.getenv("GUI_ROOT_DIR") + "/share/salome"
+        #if not os.getenv("SalomeAppConfig"): os.environ["SalomeAppConfig"] =  os.getenv("GUI_ROOT_DIR") + "/share/salome/resources"
 
     # set CSF_PluginDefaults variable only if it is not customized
     # by the user
@@ -324,7 +326,11 @@ class CatalogServer(Server):
         cata_path=[]
         list_modules = modules_list[:]
         list_modules.reverse()
-        for module in ["KERNEL", "GUI"] + list_modules:
+        if self.args["gui"] :
+            list_modules = ["KERNEL", "GUI"] + list_modules
+        else :
+            list_modules = ["KERNEL"] + list_modules
+        for module in list_modules:
             if modules_root_dir.has_key(module):
                 module_root_dir=modules_root_dir[module]
                 module_cata=module+"Catalog.xml"
@@ -389,7 +395,10 @@ class LoggerServer(Server):
 
 class SessionServer(Server):
     def __init__(self,args):
-        self.args=args
+        self.args = args.copy()
+        # Bug 11512 (Problems with runSalome --xterm on Mandrake and Debian Sarge)
+        self.args['xterm']=0
+        #
         self.initArgs()
         self.SCMD1=['SALOME_Session_Server']
         self.SCMD2=[]
@@ -417,7 +426,7 @@ class SessionServer(Server):
             self.SCMD2+=['SUPERV']
         if self.args['gui']:
             self.SCMD2+=['GUI']
-        if self.args['splash']:
+        if self.args['splash'] and self.args['gui']:
             self.SCMD2+=['SPLASH']
         if self.args['noexcepthandler']:
             self.SCMD2+=['noexcepthandler']
@@ -431,7 +440,11 @@ class SessionServer(Server):
         cata_path=[]
         list_modules = modules_list[:]
         list_modules.reverse()
-        for module in ["KERNEL", "GUI"] + list_modules:
+        if self.args["gui"] :
+            list_modules = ["KERNEL", "GUI"] + list_modules
+        else :
+            list_modules = ["KERNEL"] + list_modules
+        for module in list_modules:
             module_root_dir=modules_root_dir[module]
             module_cata=module+"Catalog.xml"
             #print "   ", module_cata
@@ -439,7 +452,7 @@ class SessionServer(Server):
                 glob.glob(os.path.join(module_root_dir,"share",
                                        salome_subdir,"resources",
                                        module_cata)))
-        if 'moduleCatalog' in self.args['embedded']:
+        if (self.args["gui"]) & ('moduleCatalog' in self.args['embedded']):
             self.CMD=self.SCMD1 + [string.join(cata_path,':')] + self.SCMD2
         else:
             self.CMD=self.SCMD1 + self.SCMD2
@@ -452,23 +465,26 @@ class ContainerManagerServer(Server):
         self.initArgs()
         self.SCMD1=['SALOME_ContainerManagerServer']
         self.SCMD2=[]
-        if 'registry' in self.args['embedded']:
-            self.SCMD1+=['--with','Registry',
-                         '(','--salome_session','theSession',')']
-        if 'moduleCatalog' in self.args['embedded']:
-            self.SCMD1+=['--with','ModuleCatalog','(','-common']
-            self.SCMD2+=['-personal',
-                         '${HOME}/Salome/resources/CatalogModulePersonnel.xml',')']
-        if 'study' in self.args['embedded']:
-            self.SCMD2+=['--with','SALOMEDS','(',')']
-        if 'cppContainer' in self.args['embedded']:
-            self.SCMD2+=['--with','Container','(','FactoryServer',')']
+        if args["gui"] :
+            if 'registry' in self.args['embedded']:
+                self.SCMD1+=['--with','Registry',
+                             '(','--salome_session','theSession',')']
+            if 'moduleCatalog' in self.args['embedded']:
+                self.SCMD1+=['--with','ModuleCatalog','(','-common']
+                self.SCMD2+=['-personal',
+                             '${HOME}/Salome/resources/CatalogModulePersonnel.xml',')']
+            if 'study' in self.args['embedded']:
+                self.SCMD2+=['--with','SALOMEDS','(',')']
+            if 'cppContainer' in self.args['embedded']:
+                self.SCMD2+=['--with','Container','(','FactoryServer',')']
         
     def setpath(self,modules_list,modules_root_dir):
         cata_path=[]
         list_modules = modules_list[:]
         list_modules.reverse()
-        for module in ["KERNEL", "GUI"] + list_modules:
+        if self.args["gui"] :
+            list_modules = ["GUI"] + list_modules
+        for module in ["KERNEL"] + list_modules:
             if modules_root_dir.has_key(module):
                 module_root_dir=modules_root_dir[module]
                 module_cata=module+"Catalog.xml"
@@ -479,7 +495,7 @@ class ContainerManagerServer(Server):
                                            module_cata)))
                 pass
             pass
-        if 'moduleCatalog' in self.args['embedded']:
+        if (self.args["gui"]) & ('moduleCatalog' in self.args['embedded']):
             self.CMD=self.SCMD1 + [string.join(cata_path,':')] + self.SCMD2
         else:
             self.CMD=self.SCMD1 + self.SCMD2
@@ -503,7 +519,13 @@ class NotifyServer(Server):
 
 def startGUI():
     """Salome Session Graphic User Interface activation"""
+    import Engines
     import SALOME
+    import SALOMEDS
+    import SALOME_ModuleCatalog
+    reload(Engines)
+    reload(SALOME)
+    reload(SALOMEDS)
     import SALOME_Session_idl
     session=clt.waitNS("/Kernel/Session",SALOME.Session)
     session.GetInterface()
@@ -544,7 +566,7 @@ def startSalome(args, modules_list, modules_root_dir):
     # attente de la disponibilite du Registry dans le Naming Service
     #
 
-    if 'registry' not in args['embedded']:
+    if ('registry' not in args['embedded']) | (args["gui"] == 0) :
         myServer=RegistryServer(args)
         myServer.run()
         clt.waitNSPID("/Registry",myServer.PID)
@@ -555,7 +577,7 @@ def startSalome(args, modules_list, modules_root_dir):
     #
     
 
-    if 'moduleCatalog' not in args['embedded']:
+    if ('moduleCatalog' not in args['embedded']) | (args["gui"] == 0):
         cataServer=CatalogServer(args)
         cataServer.setpath(modules_list,modules_root_dir)
         cataServer.run()
@@ -568,7 +590,7 @@ def startSalome(args, modules_list, modules_root_dir):
     #
 
     #print "ARGS = ",args
-    if 'study' not in args['embedded']:
+    if ('study' not in args['embedded']) | (args["gui"] == 0):
         print "RunStudy"
         myServer=SalomeDSServer(args)
         myServer.run()
@@ -629,17 +651,24 @@ def startSalome(args, modules_list, modules_root_dir):
     # Lancement Session Server
     #
 
-    mySessionServ = SessionServer(args)
-    mySessionServ.setpath(modules_list,modules_root_dir)
-    mySessionServ.run()
+    if args["gui"]:
+        mySessionServ = SessionServer(args)
+        mySessionServ.setpath(modules_list,modules_root_dir)
+        mySessionServ.run()
 ##----------------        
 
-    # Attente de la disponibilite du Session Server dans le Naming Service
-    #
+        # Attente de la disponibilite du Session Server dans le Naming Service
+        #
 
-    import SALOME
-    import SALOME_Session_idl
-    session=clt.waitNSPID("/Kernel/Session",mySessionServ.PID,SALOME.Session)
+        import Engines
+        import SALOME
+        import SALOMEDS
+        import SALOME_ModuleCatalog
+        reload(Engines)
+        reload(SALOME)
+        reload(SALOMEDS)
+        import SALOME_Session_idl
+        session=clt.waitNSPID("/Kernel/Session",mySessionServ.PID,SALOME.Session)
 
     end_time = os.times()
     print
diff --git a/bin/salome/runIDLparser.in b/bin/salome/runIDLparser.in
deleted file mode 100644 (file)
index 9f3afa8..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /bin/bash
-
-# print the help message ====================================
-
-# test $@="-h" -o -z $@
-
-hh=0
-
-if test "$#" = "0";then
-    hh=1
-else
-    for a in $@; do
-       if test "$a" = "-h"; then
-           hh=1
-       fi
-    done
-fi
-
-if test "$hh" = "1" ; then
-    echo ""
-    echo "Usage : "
-    echo ""
-    echo "   to run IDLparser:"
-    echo ""
-    echo "        $0 -Wbcatalog=<my_catalog.xml>[,icon=<pngfile>][,version=<num>][,author=<name>][,name=<component_name>][,multistudy=<component_multistudy>][,remove=component_name] <file.idl>   "
-    echo ""
-    echo "   to have omniidl help:"
-    echo ""
-    echo "        $0 -u "
-    echo ""
-    exit 1
-fi
-#============================================================
-
-# environment ==============================================
-@ENVSCRIPT@
-
-cd $DIR
-#============================================================
-
-# omiidl ====================================================
-omniidl -bIDLparser -I ${KERNEL_ROOT_DIR}/idl/salome $@
-#============================================================
index d3294fb598984b68abfa9d9457bb0f874b8c2ece..c682f1fad503ed755e83dc5560d6aa9396f9337f 100755 (executable)
-#!/bin/bash
-
-#
-# Tool for updating list of .in file for the SALOME project 
-# and regenerating configure script
-#
-# Author : Marc Tajchman - CEA
-# Date : 10/10/2002
-# $Header$
-#
-
-ORIG_DIR=`pwd`
-CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
-
-########################################################################
-# find_in - utility function
-#
-# usage :  
-#    find_in directory filename 
+#!/bin/sh
+# ====================================================================
+# This script is just here to illustrate the procedure for preparing
+# the configure process. It creates configuration files (ex:
+# ltmain.sh) using libtoolize, the aclocal macro, the configure script
+# using autoconf and some scripts used in building process (ex:
+# install-sh) using automake. Automake is used here to creates the
+# files Makefile.in from the files Makefile.am.
+# ====================================================================
 #
-# Finds files following the *.in pattern, recursively in the
-# directory (first argument).
-# Results are appended into the file (second argument)
-#
-# Difference from the standard unix find is that files are tested
-# before directories
-# 
-
-find_in()
-{
-#CCRT
-  #local i
-  i=0
-  #local f=$2
-  f=$2
-
-# if the first argument is not a directory, returns
-
-  if [ ! -d "$1" ] ; then 
-     return 
-  fi
-
-# dont look in the CVS directories
-
-  case $1 in
-    */CVS) return ;;
-    *) ;;
-  esac
-
-# for each regular file contained in the directory
-# test if it's a .in file
 
-  for i in "$1"/*
-  do
-     if [ -f "$i" ] ; then
-       case $i in 
-         *.in) echo "  "$i" \\" >> $f;;
-         *) ;;
-        esac
-     fi
-  done
 
-# for each subdirectory of the first argument, proceeds recursively
+# ____________________________________________________________________
+# aclocal creates the aclocal.m4 file from the standard macro and the
+# custom macro embedded in the directory salome_adm/unix/config_files.
+# output:
+#   aclocal.m4
+#   autom4te.cache (directory)
+echo "====================================================== aclocal"
 
-  for i in "$1"/*
-  do
-     if [ -d "$i" ] ; then
-        find_in "$i" "$f"
-     fi
-  done
-}
+aclocal -I salome_adm/unix/config_files || exit 1
 
 
-#######################################################################
-# Generate list of .in files (Makefile.in, config.h.in, etc)
-# appending it in file configure.in
+# ____________________________________________________________________
+# libtoolize creates some configuration files (ltmain.sh,
+# config.guess and config.sub). It only depends on the libtool
+# version. The files are created in the directory specified with the
+# AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac).
+# output:
+#   salome_adm/unix/config_files/config.guess
+#   salome_adm/unix/config_files/config.sub
+#   salome_adm/unix/config_files/ltmain.sh
+echo "====================================================== libtoolize"
 
-cd ${CONF_DIR}
-ABS_CONF_DIR=`pwd`
+libtoolize --force --copy --automake || exit 1
 
-#
-# Common part of the configure.in file
-#
-chmod u+w configure.in.base
-#CCRT
-#if ! \cp -f configure.in.base configure.in_tmp1
-if \cp -f configure.in.base configure.in_tmp1
-then
-       echo
-else
-       echo
-       echo "error : can't create files in" ${CONF_DIR}
-       echo "aborting ..."
-        chmod u-w configure.in.base 
-       exit
-fi
-chmod u-w configure.in.base 
 
-#############################################
-echo '' >> configure.in_tmp1
-echo 'export TEMPO=${KERNEL_ROOT_DIR}' >> configure.in_tmp1
-echo 'export KERNEL_ROOT_DIR=${ROOT_SRCDIR}' >> configure.in_tmp1
-#############################################
+# ____________________________________________________________________
+# autoconf creates the configure script from the file configure.ac (or
+# configure.in if configure.ac doesn't exist)
+# output:
+#   configure
+echo "====================================================== autoconf"
 
-echo  "" >> configure.in_tmp1
-echo "AC_OUTPUT([ \\" >> configure.in_tmp1
+autoconf
 
-#
-# List of .in files in the adm/unix directory
-# These files MUST be on top of AC_OUTPUT list so we
-# put them "manually"
-#
+# ____________________________________________________________________
+# autoheader creates config.h.in
+# output:
+#   configure
+#echo "====================================================== autoheader"
 
-echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_omniorb \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_commence \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1
-echo "  ./salome_adm/Makefile \\" >> configure.in_tmp1
+#autoheader
 
-\rm -f configure.in_tmp2 configure.in_tmp3
-touch configure.in_tmp2
-find_in . configure.in_tmp2
-sed '/^...salome_adm/d' configure.in_tmp2 >  configure.in_tmp3
-sed '/configure.in/d;/make_config.in/d' configure.in_tmp3 >  configure.in_tmp2
-sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1
+# ____________________________________________________________________
+# automake creates some scripts used in building process
+# (install-sh, missing, ...). It only depends on the automake
+# version. The files are created in the directory specified with the
+# AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac). This step also
+# creates the Makefile.in files from the Makefile.am files.
+# output:
+#   salome_adm/unix/config_files/compile
+#   salome_adm/unix/config_files/depcomp
+#   salome_adm/unix/config_files/install-sh
+#   salome_adm/unix/config_files/missing
+#   salome_adm/unix/config_files/py-compile
+#   Makefile.in (from Makefile.am)
+echo "====================================================== automake"
 
-echo  "])" >> configure.in_tmp1
+automake --add-missing --copy --gnu
 
-#############################################
-echo 'export KERNEL_ROOT_DIR=${TEMPO}' >> configure.in_tmp1
-#############################################
 
-\mv configure.in_tmp1 configure.in_new
-\rm  -f configure.in_tmp2 configure.in_tmp3
-
-
-########################################################################
-# Create new (or replace old) configure.in file
-# Print a message if the file is write protected
+# ____________________________________________________________________
 #
-
-echo
-if test ! -f configure.in
-then
-       echo -n "Creating new file 'configure.in' ... "
-       if \mv configure.in_new configure.in >& /dev/null
-       then
-               echo "done"
-       else
-               echo "error, check your file permissions"
-       fi
-else
-       echo -n "Updating 'configure.in' file ... "
-#CCRT
-#      if ! \cp configure.in configure.in_old >& /dev/null
-       if \cp configure.in configure.in_old >& /dev/null
-       then
-               echo
-        else
-               echo
-               echo
-               echo "Can't backup previous configure.in"
-               echo -n "Continue (you will not be able to revert) - (Y/N) ? "
-               read R
-                case "x$R" in
-                   xn*) exit;;
-                   xN*) exit;;
-               esac
-               echo
-               echo -n "                                 "
-       fi
-       if \cp configure.in_new configure.in >& /dev/null
-       then
-               echo "done"
-       else
-               echo
-               echo "error, can't update previous configure.in"
-       fi
-fi
-
-########################################################################
-# Use autoconf to rebuild the configure script
+# Note that automake could be executed at last after autoconf. The
+# order doesn't matter.
 #
-
-if test -f configure
-then
-       echo -n "Updating 'configure' script ...  "
-else
-       echo -n "Creating 'configure' script ...  "
-fi
-
-aclocal --acdir=adm_local/unix/config_files -I salome_adm/unix/config_files
-if autoconf
-then
-       echo "done"
-else
-       echo "failed (check file permissions and/or user quotas ...)"
-fi
-
-###############################################################
-# Creating make_config
+# When modifying a Makefile.am file, after a first step of
+# configure+make, you just have to :
+# - go to the top source directory and run automake, to rebuild the Makefile.in,
+# - go to the top build directory and run config.status to rebuild the
+#   Makefile from the Makefile.in,
+# - go to the source directory being modified, and then run make.
 #
-if test -f make_config
-then
-       echo -n "Updating 'make_config' script ...  "
-else
-       echo -n "Creating 'make_config' script ...  "
-fi
-
-if autoconf -o make_config make_config.in
-then
-       echo "done"
-else
-       echo "failed (check file permissions and/or user quotas ...)"
-fi
-
-cd ${ORIG_DIR}
-
-echo
diff --git a/clean_configure b/clean_configure
new file mode 100755 (executable)
index 0000000..a0073fb
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+rm -rf autom4te.cache aclocal.m4 configure make_config
+find . -name "*~" -print -exec rm {} \;
+find . -name "*.pyc" -print -exec rm {} \;
+#exit
+# ==================== ON SORT AVANT
+
+here=`pwd`
+libdir=salome_adm/unix/config_files
+cd $libdir
+# Files created by libtoolize
+rm -f config.guess config.sub ltmain.sh
+# Files created by automake
+rm -rf install-sh missing compile depcomp py-compile
+cd $here
+find bin -name Makefile.in | xargs rm -f
+find doc -name Makefile.in | xargs rm -f
+find idl -name Makefile.in | xargs rm -f
+find resources -name Makefile.in | xargs rm -f
+find salome_adm -name Makefile.in | xargs rm -f
+find src -name Makefile.in | xargs rm -f
+rm -f Makefile.in
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..7fe6344
--- /dev/null
@@ -0,0 +1,524 @@
+#
+# ================================================================
+# Process this file with autoconf to produce a configure script
+# ================================================================
+#
+#AC_PREREQ(2.59)
+#AC_INIT(src)
+AC_INIT([Salome2 Project], [3.1.0], [gboulant@CS], [salome])
+
+# AC_CONFIG_AUX_DIR defines an alternative directory where to find the auxiliary
+# scripts such as config.guess, install-sh, ...
+AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
+AC_CANONICAL_HOST
+AC_CANONICAL_TARGET
+AM_INIT_AUTOMAKE
+#AC_CONFIG_HEADER([config.h])
+
+PACKAGE=salome
+AC_SUBST(PACKAGE)
+
+VERSION=3.1.0
+AC_SUBST(VERSION)
+
+
+echo
+echo ---------------------------------------------
+echo Initialize source and build root directories
+echo ---------------------------------------------
+echo
+
+#
+# This function return on stdout the absolute path of the filename in
+# argument. Exemple:
+# $ filename="../KERNEL_SRC/configure
+# $ absfilename=`absolute_path $filename`
+function absolute_path {
+    filename=$1
+    here=`pwd`
+    apath=`dirname $filename`
+    cd $apath
+    apath=`pwd`
+    cd $here
+    echo $apath
+}
+
+# Build directory, where the configure script is executed.
+ROOT_BUILDDIR=`pwd`
+# Source directory, where the configure script is located.
+ROOT_SRCDIR=`absolute_path $0`
+
+AC_SUBST(ROOT_SRCDIR)
+AC_SUBST(ROOT_BUILDDIR)
+
+echo
+echo Source root directory : $ROOT_SRCDIR
+echo Build  root directory : $ROOT_BUILDDIR
+
+# ----------------------------------------------------------------------------
+# --- test options
+
+AC_ARG_ENABLE(corba_gen,
+  [AC_HELP_STRING([--enable-corba-gen],[Generate CORBA stuff [default=yes]])],
+  [case "${enableval}" in
+     yes) corba_gen=true ;;
+     no)  corba_gen=false ;;
+     *) AC_MSG_ERROR(bad value ${enableval} for --enable-corba-gen) ;;
+  esac],[corba_gen=true])
+AM_CONDITIONAL(CORBA_GEN, test x$corba_gen = xtrue)
+
+# ----------------------------------------------------------------------------
+
+echo
+echo
+echo ============================================================
+echo testing general mandatory products - for all configurations
+echo ============================================================
+echo
+
+dnl Modification B. Secher portage sur osf
+AC_CHECK_PROG(SHELL,sh)
+AC_SUBST(SHELL)
+
+if test -z "$AR"; then
+   AC_CHECK_PROGS(AR,ar xar,:,$PATH)
+fi
+AC_SUBST(AR)
+
+echo
+echo ---------------------------------------------
+echo testing make
+echo ---------------------------------------------
+echo
+AC_PROG_MAKE_SET
+AC_PROG_INSTALL
+
+echo
+echo ---------------------------------------------
+echo Configuring production
+echo ---------------------------------------------
+echo
+# production.m4
+AC_ENABLE_DEBUG(yes)
+AC_DISABLE_PRODUCTION
+
+echo
+echo ---------------------------------------------
+echo testing libtool
+echo ---------------------------------------------
+echo
+
+dnl first, we set static to no!
+dnl if we want it, use --enable-static
+AC_ENABLE_STATIC(no)
+AC_LIBTOOL_DLOPEN
+AC_PROG_LIBTOOL
+
+echo
+echo ---------------------------------------------
+echo testing C/C++
+echo ---------------------------------------------
+echo
+
+cc_ok=no
+AC_PROG_CC
+AC_PROG_CXX
+AC_CXX_WARNINGS
+AC_CXX_TEMPLATE_OPTIONS
+AC_DEPEND_FLAG
+# AC_CC_WARNINGS([ansi])
+cc_ok=yes
+
+dnl Library libdl :
+AC_CHECK_LIB(dl,dlopen)
+
+dnl Library librt : for alpha/osf
+AC_CHECK_LIB(rt,nanosleep)
+
+dnl add library libm :
+AC_CHECK_LIB(m,ceil)
+
+# _CS_gbo We should add all dependent libraries
+
+AC_CXX_USE_STD_IOSTREAM
+
+AC_CXX_HAVE_SSTREAM
+
+# Testing linker
+AC_LINKER_OPTIONS
+
+echo
+echo ---------------------------------------------
+echo testing threads
+echo ---------------------------------------------
+echo
+
+ENABLE_PTHREADS
+
+echo
+echo ---------------------------------------------
+echo testing python
+echo ---------------------------------------------
+echo
+
+CHECK_PYTHON
+
+echo
+echo ---------------------------------------------
+echo testing swig
+echo ---------------------------------------------
+echo
+
+dnl _CS_gbo We should use here a variable given from the CHECK_PYTHON
+AM_PATH_PYTHON(2.3)
+CHECK_SWIG
+
+echo
+echo ---------------------------------------------
+echo testing HDF5
+echo ---------------------------------------------
+echo
+
+CHECK_HDF5
+
+echo
+echo ---------------------------------------------
+echo Testing OpenCascade
+echo ---------------------------------------------
+echo
+
+CHECK_CAS
+
+# ----------------------------------------------------------------------------
+# --- test corba
+
+if test x$corba_gen = xtrue; then
+
+echo
+echo ============================================================
+echo testing mandatory products for CORBA configurations
+echo ============================================================
+echo
+
+dnl
+dnl ---------------------------------------------
+dnl testing sockets
+dnl ---------------------------------------------
+dnl
+
+CHECK_SOCKETS
+
+echo
+echo ---------------------------------------------
+echo Configuration of the ORB
+echo ---------------------------------------------
+echo
+
+echo Testing OMNIORB ...
+CHECK_OMNIORB
+
+echo Selecting the default ORB
+DEFAULT_ORB=omniORB
+echo DEFAULT_ORB : $DEFAULT_ORB
+CHECK_CORBA
+
+CORBA=salome_adm/unix/make_$ORB
+AC_SUBST_FILE(CORBA)
+
+# _CS_gbo:
+# The CORBA variable defines the file name that
+# implements the building rules to be included by Makefile to process
+# idl files and CORBA specific dependencies (ex: the file
+# salome_adm/unix/make_omniorb is the default for SALOME). The value
+# of ORB is defined by CHECK_CORBA.
+
+# Note that this checking process is no longer relevant for SALOME
+# because the possibility of changing the ORB as a plugin is probably
+# deprecated. The software configuration is clearly omniorb for CORBA
+# communication. This could be simplify in a near futur.
+
+echo
+echo ---------------------------------------------
+echo Testing QT
+echo ---------------------------------------------
+echo
+# Qt must be kept because kernel makes use of qxml and some other
+# non-graphical stuff.
+CHECK_QT
+
+echo
+echo ---------------------------------------------
+echo BOOST Library
+echo ---------------------------------------------
+echo
+
+CHECK_BOOST
+
+fi 
+# --- end test corba
+# ----------------------------------------------------------------------------
+
+echo
+echo ============================================================
+echo testing optionnal products
+echo ============================================================
+echo
+
+echo
+echo ---------------------------------------------
+echo checking if MPI is requested by user
+echo ---------------------------------------------
+echo
+
+CHECK_MPI
+
+echo
+echo ---------------------------------------------
+echo Testing Batch
+echo ---------------------------------------------
+echo
+
+dnl Several batch systems (OpenPBS, LSF, ...) can be operated using
+dnl the Batch classes library integrated in the KERNEL module. The
+dnl checking process tests here the presence of underlying batch
+dnl softwares. If none is detected, the KERNEL is declared to be
+dnl "without batch". 
+
+echo testing OpenPBS
+echo ---------------
+openpbs_ok=no
+CHECK_OPENPBS
+dnl openpbs_ok is set to yes by CHECK_OPENPBS
+
+echo testing LSF
+echo -----------
+lsf_ok=no
+CHECK_LSF
+dnl lsf_ok is set to yes by CHECK_LSF
+echo lsf = $lsf_ok
+
+echo testing Local batch system
+echo --------------------------
+localbatch_ok=no
+CHECK_LOCAL
+dnl localbatch_ok is set to yes by CHECK_LOCAL
+
+WITH_BATCH=no
+test x$openpbs_ok = xyes || test x$lsf_ok = xyes || test x$localbatch_ok = xyes && WITH_BATCH=yes
+AC_SUBST(WITH_BATCH)
+AM_CONDITIONAL(WITH_BATCH, [test x"$WITH_BATCH" = xyes])
+
+echo
+echo ----------------------------------------------
+echo testing CPPUNIT only required for unit testing
+echo ----------------------------------------------
+echo
+CHECK_CPPUNIT
+
+echo
+echo ============================================================
+echo testing products required only for documentation generation
+echo ============================================================
+echo
+
+echo
+echo ---------------------------------------------
+echo Testing html generators
+echo ---------------------------------------------
+echo
+
+CHECK_HTML_GENERATORS
+
+echo
+echo ============================================================
+echo Summary
+echo ============================================================
+echo
+
+# This function displays the values of each variable given in arguments 
+function summary {
+  variables=$*
+  for var in $variables
+  do
+    eval toto=\$$var
+    if test x$toto != "x"; then
+      printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
+      eval echo \$$var
+    fi
+  done
+}
+
+# --------------------------------------
+
+function check_fatal_error {
+  variables=$*
+  for var in $variables
+  do
+    eval toto=\$$var
+    if test x$toto != "xyes"; then
+        echo "FATAL ERROR: some mandatory products are missing."
+       echo "Installing the missing products is required before running the configure script".
+       exit 1
+    fi
+  done  
+}
+
+# --------------------------------------
+
+basic_mandatory_products="cc_ok threads_ok python_ok swig_ok hdf5_ok occ_ok"
+echo --- General mandatory products - Light configuration:
+summary $basic_mandatory_products
+check_fatal_error $basic_mandatory_products
+echo
+
+corba_mandatory_products="omniORB_ok qt_ok boost_ok"
+if test x$corba_gen = xtrue; then
+  echo --- CORBA mandatory products - default configuration:
+  summary $corba_mandatory_products
+  check_fatal_error $corba_mandatory_products
+else
+  echo --- CORBA products not required - option --disable-corba-gen
+fi
+echo
+
+if test x$MPIREQUESTED = xyes; then
+  requested_products="mpi_ok"
+  echo --- products requested by user
+  summary $requested_products
+  check_fatal_error $requested_products
+  echo
+fi
+
+optional_products="cppunit_ok openpbs_ok lsf_ok"
+echo --- Optional products:
+echo ["    These products are optional because the KERNEL functions"]
+echo ["    using them are built only if the products are detected."]
+summary $optional_products
+echo
+
+htmldoc_products="doxygen_ok graphviz_ok rst2html_ok"
+
+echo --- Html documentation products: only required for doc production
+summary $htmldoc_products
+echo
+
+echo
+echo "Default ORB   : $DEFAULT_ORB"
+echo
+
+dnl generals files which could be included in every makefile
+
+AC_SUBST_FILE(COMMENCE) COMMENCE=salome_adm/unix/make_commence
+AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude
+AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module
+
+dnl les dependences
+AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend
+
+dnl We don t need to say when we re entering directories if we re using
+dnl GNU make becuase make does it for us.
+if test "X$GMAKE" = "Xyes"; then
+   AC_SUBST(SETX) SETX=":"
+else
+   AC_SUBST(SETX) SETX="set -x"
+fi
+
+echo 
+echo ---------------------------------------------
+echo copying resource files, shell scripts, and 
+echo xml files
+echo ---------------------------------------------
+echo
+
+
+mkdir -p bin/salome
+cd bin/salome
+for i in  `find $ROOT_SRCDIR/bin`
+do
+  local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR/bin,.,"`
+  case "$local_bin" in
+        *.in | *~) ;;
+        . | */CVS | */CVS/* | ./salome) ;;
+        ./appliskel |./appliskel/env.d) $INSTALL -d $local_bin ; echo $local_bin ;;
+        *) $INSTALL $i $local_bin; echo $local_bin ;;
+  esac
+done
+cd $ROOT_BUILDDIR
+
+echo
+echo ---------------------------------------------
+echo generating Makefiles and configure files
+echo ---------------------------------------------
+echo
+
+AC_OUTPUT_COMMANDS([ \
+       chmod +x ./bin/*; \
+       chmod +x ./bin/salome/* \
+])
+
+# This list is initiated using autoscan and must be updated manually
+# when adding a new file <filename>.in to manage. When you execute
+# autoscan, the Makefile list is generated in the output file configure.scan.
+# This could be helpfull to update de configuration.
+AC_OUTPUT([ \
+       ./salome_adm/unix/SALOMEconfig.h \
+       ./salome_adm/Makefile \
+       ./salome_adm/unix/Makefile \
+       ./salome_adm/unix/config_files/Makefile \
+       ./Makefile \
+       ./bin/Makefile \
+       ./bin/runIDLparser \
+       ./doc/Makefile \
+       ./doc/salome/Makefile \
+       ./doc/salome/DevelopersGuide/DevelopersGuide.tex \
+       ./doc/salome/DevelopersGuide/Makefile \
+       ./doc/salome/gui/Makefile \
+       ./doc/salome/tui/Makefile \
+       ./idl/Makefile \
+       ./resources/Makefile \
+       ./src/Makefile \
+       ./src/Basics/Makefile \
+       ./src/Basics/Test/Makefile \
+       ./src/Batch/Makefile \
+       ./src/Batch_SWIG/Makefile \
+       ./src/CASCatch/Makefile \
+       ./src/Communication/Makefile \
+       ./src/Communication_SWIG/Makefile \
+       ./src/Container/Makefile \
+       ./src/DataTypeCatalog/Makefile \
+       ./src/GenericObj/Makefile \
+       ./src/HDFPersist/Makefile \
+       ./src/KERNEL_PY/Makefile \
+       ./src/LifeCycleCORBA/Makefile \
+       ./src/LifeCycleCORBA/Test/Makefile \
+       ./src/LifeCycleCORBA_SWIG/Makefile \
+       ./src/Logger/Makefile \
+       ./src/Logger/Test/Makefile \
+       ./src/ModuleCatalog/Makefile \
+       ./src/ModuleGenerator/Makefile \
+       ./src/ModuleGenerator/testIDLparser \
+       ./src/MPIContainer/Makefile \
+       ./src/NamingService/Makefile \
+       ./src/NamingService/Test/Makefile \
+       ./src/Notification/Makefile \
+       ./src/NOTIFICATION_SWIG/Makefile \
+       ./src/Registry/Makefile \
+       ./src/ResourcesManager/Makefile \
+       ./src/RessourcesCatalog/Makefile \
+       ./src/SALOMEDS/Makefile \
+       ./src/SALOMEDS/Test/Makefile \
+       ./src/SALOMEDSClient/Makefile \
+       ./src/SALOMEDSImpl/Makefile \
+       ./src/SALOMEDSImpl/Test/Makefile \
+       ./src/SALOMELocalTrace/Makefile \
+       ./src/SALOMELocalTrace/Test/Makefile \
+       ./src/SALOMETraceCollector/Makefile \
+       ./src/SALOMETraceCollector/Test/Makefile \
+       ./src/TestContainer/Makefile \
+       ./src/TestMPIContainer/Makefile \
+       ./src/TOOLSDS/Makefile \
+       ./src/UnitTests/Makefile \
+       ./src/Utils/Makefile \
+       ./src/Utils/Test/Makefile \
+])
+
diff --git a/configure.in.base b/configure.in.base
deleted file mode 100644 (file)
index 81cde05..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-#
-#  PLEASE DO NOT MODIFY configure.in FILE
-#
-#  ALL CHANGES WILL BE DISCARDED BY THE NEXT
-#  build_configure COMMAND
-#
-#  CHANGES MUST BE MADE IN configure.in.base FILE
-#
-#
-# Author : Marc Tajchman (CEA)
-# Date : 28/06/2001
-# Modified by : Patrick GOLDBRONN (CEA)
-# Modified by : Marc Tajchman (CEA)
-#
-# Created from configure.in.base
-#
-AS_SHELL_SANITIZES
-AC_INIT(src)
-AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
-AC_CANONICAL_HOST
-
-PACKAGE=salome
-AC_SUBST(PACKAGE)
-
-VERSION=0.0.1
-AC_SUBST(VERSION)
-
-dnl
-dnl Initialize source and build root directories
-dnl
-
-ROOT_BUILDDIR=`pwd`
-ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-cd $ROOT_SRCDIR
-ROOT_SRCDIR=`pwd`
-cd $ROOT_BUILDDIR
-
-AC_SUBST(ROOT_SRCDIR)
-AC_SUBST(ROOT_BUILDDIR)
-dnl ##########################################################
-AC_SUBST(KERNEL_ROOT_DIR)
-dnl ##########################################################
-
-
-echo
-echo Source root directory : $ROOT_SRCDIR
-echo Build  root directory : $ROOT_BUILDDIR
-echo
-echo
-
-dnl Modification B. Secher portage sur osf
-AC_CHECK_PROG(SHELL,sh)
-AC_SUBST(SHELL)
-
-if test -z "$AR"; then
-   AC_CHECK_PROGS(AR,ar xar,:,$PATH)
-fi
-AC_SUBST(AR)
-
-dnl Export the AR macro so that it will be placed in the libtool file
-dnl correctly.
-export AR
-
-echo
-echo ---------------------------------------------
-echo testing make
-echo ---------------------------------------------
-echo
-
-AC_PROG_MAKE_SET
-AC_PROG_INSTALL
-dnl 
-dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
-
-AC_ENABLE_DEBUG(yes)
-AC_DISABLE_PRODUCTION
-
-echo ---------------------------------------------
-echo testing libtool
-echo ---------------------------------------------
-
-dnl first, we set static to no!
-dnl if we want it, use --enable-static
-AC_ENABLE_STATIC(no)
-
-AC_LIBTOOL_DLOPEN
-AC_PROG_LIBTOOL
-
-dnl Fix up the INSTALL macro if it s a relative path. We want the
-dnl full-path to the binary instead.
-case "$INSTALL" in
-   *install-sh*)
-      INSTALL="${ROOT_SRCDIR}/salome_adm/unix/config_files/install-sh -c"
-      ;;
-esac
-
-echo
-echo ---------------------------------------------
-echo testing C/C++
-echo ---------------------------------------------
-echo
-
-cc_ok=no
-dnl inutil car libtool
-dnl AC_PROG_CC
-AC_PROG_CXX
-AC_CXX_WARNINGS
-AC_CXX_TEMPLATE_OPTIONS
-AC_DEPEND_FLAG
-# AC_CC_WARNINGS([ansi])
-cc_ok=yes
-
-dnl Library libdl :
-AC_CHECK_LIB(dl,dlopen)
-
-dnl Library librt : for alpha/osf
-AC_CHECK_LIB(rt,nanosleep)
-
-dnl add library libm :
-AC_CHECK_LIB(m,ceil)
-
-AC_CXX_USE_STD_IOSTREAM
-AC_CXX_HAVE_SSTREAM
-
-dnl
-dnl ---------------------------------------------
-dnl testing linker
-dnl ---------------------------------------------
-dnl
-
-AC_LINKER_OPTIONS
-
-echo
-echo ---------------------------------------------
-echo testing threads
-echo ---------------------------------------------
-echo
-
-ENABLE_PTHREADS
-
-dnl
-dnl ---------------------------------------------
-dnl testing WITHIHM
-dnl ---------------------------------------------
-dnl
-
-CHECK_WITHIHM
-
-echo
-echo ---------------------------------------------
-echo BOOST Library
-echo ---------------------------------------------
-echo
-
-CHECK_BOOST
-
-dnl
-dnl ---------------------------------------------
-dnl testing MPI
-dnl ---------------------------------------------
-dnl
-
-CHECK_MPI
-
-dnl
-dnl ---------------------------------------------
-dnl testing sockets
-dnl ---------------------------------------------
-dnl
-
-CHECK_SOCKETS
-
-dnl
-dnl ---------------------------------------------
-dnl testing OpenPBS
-dnl ---------------------------------------------
-dnl
-
-echo
-echo ---------------------------------------------
-echo testing OpenPBS
-echo ---------------------------------------------
-echo
-
-openpbs_ok=no
-CHECK_OPENPBS
-dnl openpbs_ok is set to yes by CHECK_OPENPBS
-
-dnl
-dnl ---------------------------------------------
-dnl testing LSF
-dnl ---------------------------------------------
-dnl
-
-echo
-echo ---------------------------------------------
-echo testing LSF
-echo ---------------------------------------------
-echo
-
-lsf_ok=no
-CHECK_LSF
-dnl lsf_ok is set to yes by CHECK_LSF
-
-dnl
-dnl ---------------------------------------------
-dnl testing Batch
-dnl ---------------------------------------------
-dnl
-
-WITH_BATCH=no
-test x$openpbs_ok = xyes || test x$lsf_ok = xyes && WITH_BATCH=yes
-AC_SUBST(WITH_BATCH)
-
-echo
-echo ---------------------------------------------
-echo testing LEX \& YACC
-echo ---------------------------------------------
-echo
-
-lex_yacc_ok=no
-AC_PROG_YACC
-AC_PROG_LEX
-lex_yacc_ok=yes
-
-echo
-echo ---------------------------------------------
-echo testing python
-echo ---------------------------------------------
-echo
-
-CHECK_PYTHON
-
-dnl echo
-dnl echo ---------------------------------------------
-dnl echo testing java
-dnl echo ---------------------------------------------
-dnl echo
-
-dnl CHECK_JAVA
-
-echo
-echo ---------------------------------------------
-echo testing swig
-echo ---------------------------------------------
-echo
-
-CHECK_SWIG
-
-echo
-echo ---------------------------------------------
-echo testing omniORB
-echo ---------------------------------------------
-echo
-
-CHECK_OMNIORB
-
-dnl echo
-dnl echo ---------------------------------------------
-dnl echo testing mico
-dnl echo ---------------------------------------------
-dnl echo
-
-dnl CHECK_MICO
-
-echo
-echo ---------------------------------------------
-echo default ORB : omniORB
-echo ---------------------------------------------
-echo
-
-DEFAULT_ORB=omniORB
-CHECK_CORBA
-
-AC_SUBST_FILE(CORBA)
-corba=make_$ORB
-CORBA=salome_adm/unix/$corba
-
-
-echo
-echo ---------------------------------------------
-echo testing QT
-echo ---------------------------------------------
-echo
-
-CHECK_QT
-
-echo
-echo ----------------------------------------------
-echo testing CPPUNIT only required for unit testing
-echo ----------------------------------------------
-echo
-
-CHECK_CPPUNIT
-
-if test "X$WITHIHM" = "Xyes"; then
-       echo
-       echo ---------------------------------------------
-       echo Testing sip
-       echo ---------------------------------------------
-       echo
-
-       CHECK_SIP
-
-       echo
-       echo ---------------------------------------------
-       echo testing openGL
-       echo ---------------------------------------------
-       echo
-
-       CHECK_OPENGL
-
-       echo
-       echo ---------------------------------------------
-       echo testing VTK
-       echo ---------------------------------------------
-       echo
-
-       CHECK_VTK
-
-       echo
-       echo ---------------------------------------------
-       echo Testing pyqt
-       echo ---------------------------------------------
-       echo
-
-       CHECK_PYQT
-
-       echo
-       echo ---------------------------------------------
-       echo Testing qwt
-       echo ---------------------------------------------
-       echo
-
-       CHECK_QWT
-fi
-
-echo
-echo ---------------------------------------------
-echo testing HDF5
-echo ---------------------------------------------
-echo
-
-CHECK_HDF5
-
-echo
-echo ---------------------------------------------
-echo Testing OpenCascade
-echo ---------------------------------------------
-echo
-
-CHECK_CAS
-
-echo
-echo ---------------------------------------------
-echo Testing html generators
-echo ---------------------------------------------
-echo
-
-CHECK_HTML_GENERATORS
-
-echo
-echo ---------------------------------------------
-echo Summary
-echo ---------------------------------------------
-echo
-
-echo Configure
-variables="cc_ok boost_ok lex_yacc_ok mpi_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok occ_ok sip_ok pyqt_ok qwt_ok doxygen_ok graphviz_ok"
-for var in $variables
-do
-   eval toto=\$$var
-   if test x$toto != "x"; then
-     printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
-     eval echo \$$var
-   fi
-done
-echo "---Optional:"
-variables="cppunit_ok openpbs_ok lsf_ok"
-for var in $variables
-do
-   eval toto=\$$var
-   if test x$toto != "x"; then
-     printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
-     eval echo \$$var
-   fi
-done
-
-echo
-echo "Default ORB   : $DEFAULT_ORB"
-echo
-
-dnl generals files which could be included in every makefile
-
-AC_SUBST_FILE(COMMENCE) COMMENCE=salome_adm/unix/make_commence
-AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude
-AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module
-
-dnl les dependences
-AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend
-
-dnl We don t need to say when we re entering directories if we re using
-dnl GNU make becuase make does it for us.
-if test "X$GMAKE" = "Xyes"; then
-   AC_SUBST(SETX) SETX=":"
-else
-   AC_SUBST(SETX) SETX="set -x"
-fi
-
-# make other build directories
-for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources idl
-do
-#   if test ! -d $rep ; then
-#      eval mkdir $rep
-#   fi
-    $INSTALL -d $rep
-done
-
-echo 
-echo ---------------------------------------------
-echo copying resource files, shell scripts, and 
-echo xml files
-echo ---------------------------------------------
-echo
-
-
-dnl copy resources directories
-
-#for i in `find $ROOT_SRCDIR -name 'resources' -print`
-#do
-#  local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
-#  local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-#  mkdir -p $local_res_dir
-#  cd $local_res_dir
-#  ln -fs $i
-#  echo $local_res
-#  cd $ROOT_BUILDDIR
-#done
-
-dnl copy shells and utilities contained in the bin directory
-dnl excluding .in files (treated in AC-OUTPUT below) and CVS 
-dnl directory
-
-mkdir -p bin/salome
-cd bin/salome
-for i in  `find $ROOT_SRCDIR/bin`
-do
-  local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR/bin,.,"`
-  case "$local_bin" in
-        *.in | *~) ;;
-        . | */CVS | */CVS/* | ./salome) ;;
-        ./appliskel |./appliskel/env.d) $INSTALL -d $local_bin ; echo $local_bin ;;
-        *) $INSTALL $i $local_bin; echo $local_bin ;;
-  esac
-done
-cd $ROOT_BUILDDIR
-
-AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript
-
-dnl copy xml files to the build tree (lib directory)
-dnl pourquoi ????
-
-#cd lib
-#for i in `find $ROOT_SRCDIR -name "*.xml" -print`
-#do
-#  ln -fs $i
-#  echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
-#done
-#cd $ROOT_BUILDDIR
-
-echo
-echo ---------------------------------------------
-echo generating Makefiles and configure files
-echo ---------------------------------------------
-echo
-
-AC_OUTPUT_COMMANDS([ \
-       chmod +x ./bin/*; \
-       chmod +x ./bin/salome/* \
-])
-
-## do not delete this line
-
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644 (file)
index 0000000..30c621e
--- /dev/null
@@ -0,0 +1,32 @@
+# -* Makefile *- 
+#
+# Author : Paul RASCLE (EDF)
+# Date : 06/02/2006
+# $Header$
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+SUBDIRS = salome
+
+doc_DATA = \
+       index.html \
+       UnitTests.html \
+       SALOME_Application.html \
+       INSTALL.html \
+       kernel_resources.html
+
+EXTRA_DIST=$(doc_DATA)
+
+
+# Building html from restructured text files
+STYLESHEET=rst.css
+RST2HTML=@RST2HTML@
+RSTOPTS=--output-encoding=latin1 --stylesheet=$(STYLESHEET)
+#RSTOPTS=--output-encoding=latin1
+
+%.html: $(srcdir)/%.txt
+       $(RST2HTML) $(RSTOPTS) $< $@
+
+userdoc:
+       (cd salome && $(MAKE) $(AM_MAKEFLAGS) userdoc)
\ No newline at end of file
diff --git a/doc/Makefile.in b/doc/Makefile.in
deleted file mode 100644 (file)
index 7295ede..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-
-# -* Makefile *- 
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 30/11/2001
-# $Header$
-#
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-SUBDIRS= salome
-
-@COMMENCE@
-
-docs:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-clean:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-distclean: clean
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-install:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-uninstall:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
index 590bf2c8fe8faedba1bf665fb8a6f914d673f2ab..83e016276f426f9044b4659a7c53663cc382e9bd 100644 (file)
@@ -5,7 +5,7 @@ SALOME Application Concept. Configuration for one or more computers
 
 *html version of this document is produced with docutils*::
 
-  rest2html < doc.txt > doc.html
+  rst2html doc.txt > doc.html
 
 This document corresponds to SALOME2 3.1. (alpha version)
 
@@ -16,23 +16,12 @@ This document corresponds to SALOME2 3.1. (alpha version)
 The following explains how to configure your own application with your list of
 modules, how to define and run this application on one or more computers.
 
-Summary
--------
+.. contents::
+.. sectnum::
 
-`1. General principles`_
 
-`2. Application Directory`_
-
-`2.1 Proposal for env.d scripts`_
-
-`2.2 User run scripts`_
-
-`2.3 SALOME internal run script`_
-
-`2.4 Other configuration files`_
-
-1. General principles
----------------------
+General principles
+------------------
 
 A SALOME application is defined by a set of modules (GEOM, SMESH, ASTER...).
 
@@ -63,8 +52,8 @@ account@computer is via rsh or ssh and must be configured for use without
 password (key exchange for ssh). Account may be different on each
 computer.
 
-2. Application Directory
-------------------------
+Application Directory
+---------------------
 
 The script createAppli.sh in ${KERNEL_ROOT_DIR}/bin/salome creates an
 application directory with the given path in parameter. ${APPLI} is a path 
@@ -94,8 +83,8 @@ alphanumeric order (after edition, think to remove backup files). the envd
 script is used by run scripts.
 
 
-2.1 Proposal for env.d scripts
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Proposal for env.d scripts
+~~~~~~~~~~~~~~~~~~~~~~~~~~
 Each user **must define** his own configuration for these scripts, following
 the above rules. **The following is only an example not working as it is**.
 
@@ -117,8 +106,8 @@ envSALOME.sh
     Note that ${APPLI} is already defined by the calling scripts when 
     env.d/envSalome.sh is sourced.
 
-2.2 User run scripts
-~~~~~~~~~~~~~~~~~~~~
+User run scripts
+~~~~~~~~~~~~~~~~
 
 The SALOME user can use 4 scripts:
 
@@ -143,8 +132,8 @@ runTests
    and port number), runTests defines a new configuration for naming service
    (new port number).
 
-2.3 SALOME internal run scripts
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+SALOME internal run scripts
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 envd
    Sets SALOME application environment, envd is sourced by other scripts.
@@ -156,8 +145,8 @@ runRemote.sh
    define the hostname and port userd for naming service, the remaining
    arguments define the command to execute.
 
-2.4 Other configuration files
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Other configuration files
+~~~~~~~~~~~~~~~~~~~~~~~~~
 
 SalomeApp.xml
    This file is similar to the default given
diff --git a/doc/index.txt b/doc/index.txt
new file mode 100644 (file)
index 0000000..aebc24f
--- /dev/null
@@ -0,0 +1,86 @@
+
+=================================================================
+General information, for developpers and users
+=================================================================
+
+.. contents::
+.. sectnum::
+
+
+*html version of this document is produced with docutils*::
+
+  rst2html < doc.txt > doc.html
+
+This document corresponds to SALOME2 3.1. (alpha version)
+
++-------------------------------------------+
+| **WORK in PROGRESS, INCOMPLETE DOCUMENT** |
++-------------------------------------------+
+
+Developpers and users, which documentation ?
+============================================
+
+Following your kind of usage of SALOME, you will find some specific 
+introductory documentation, listed below.
+
+Module maintainer
+-----------------
+Module maintainers are in charge of the development and debug of the SALOME
+modules. Each SALOME module is stored in a CVS base. CVS bases are organised
+in separate branches for developments and debug. All official or development
+releases are identified by a CVS tag.
+
+
+Application Integrator
+----------------------
+
+Applications integrators are in charge of configuration and installation of
+specific SALOME applications over a local network. Application Integrators 
+built SALOME modules binaries from sources tarballs.
+
+End user
+--------
+
+The end user may have to configure his own SALOME applicatin by selection of a
+subset of availables SALOME modules. He also may want to install his
+application on several computers. 
+
+
+Documentation for developpers and module maintainers
+====================================================
+
+Source code structuration and Unit Tests
+----------------------------------------
+
+See UnitTests_ for general information on code directories structure,
+unit tests associated to the different kind of classes, and how to run
+the unit tests.
+
+.. _UnitTests: ./UnitTests.html
+
+Documentation for application integrators and adminstrators
+===========================================================
+
+How to install SALOME
+---------------------
+
+See INSTALL_ for general information on required configuration and 
+prerequisites, compilation procedure, setting environment principles.
+
+.. _INSTALL: ./INSTALL.html
+
+How to run SALOME on one or more computers, SALOME Application concept
+----------------------------------------------------------------------
+
+See SALOME_Application_ to define your own configuration of SALOME and run it  
+on one or several computers. This is the recommended way of configuration.
+
+.. _SALOME_Application: ./SALOME_Application.html
+
+
+End User documentation
+======================
+
+link to end user documentation.
+
+
diff --git a/doc/kernel_resources.txt b/doc/kernel_resources.txt
new file mode 100644 (file)
index 0000000..2c65d22
--- /dev/null
@@ -0,0 +1,491 @@
+======================================================================
+SALOME Kernel resources for developer
+======================================================================
+
+*html version of this document is produced with docutils*::
+
+  rst2html doc.txt > doc.html
+
+:Authors:
+   Antoine Yessayan,
+   Paul Rascle
+
+:Version:  0.3 - february 17, 2006
+
++-------------------------------------------+
+| **WORK in PROGRESS, INCOMPLETE DOCUMENT** |
++-------------------------------------------+
+
+**Abstract**
+
+This document describes the development environment for 
+C++ and Python. Makefiles generation and usage are 
+introduced in another document: "using the SALOME 
+configuration and building system environment". 
+Development environment is intended here as: trace and 
+debug macros usage; SALOME exceptions usage, in C++ and 
+Python; user CORBA exceptions usage, in C++ and Python, 
+with and without Graphical User Interface; some general 
+purpose services such as singleton, used for CORBA 
+connection and disconnection.
+
+.. contents::
+.. sectnum::
+
+Trace and debug Utilities
+=========================
+
+During the development process, an execution log is 
+useful to identify problems. This log contains 
+messages, variables values, source files names and line 
+numbers. It is recommended to verify assertions on 
+variables values and if necessary, to stop the 
+execution at debug time, in order to validate all parts 
+of code.
+
+Two modes: debug and release
+----------------------------
+
+The goal of debug mode is to check as many features as 
+possible during the early stages of the development 
+process. The purpose of the utilities provided in 
+SALOME is to help the developer to add detailed traces 
+and check variables values, without writing a lot of code.
+
+When the code is assumed to be valid, the release mode 
+optimizes execution, in terms of speed, memory, and 
+display only user level messages.
+
+But, some informations must always be displayed in both 
+modes: especially messages concerning environment or 
+internal errors, with version identification. When an 
+end user is confronted to such a message, he may refer 
+to a configuration documentation or send the message to 
+the people in charge of SALOME installation, or to the 
+development team, following the kind of error.
+
+C++ Macros for trace and debug
+------------------------------
+
+SALOME provides C++ macros for trace and debug. These 
+macros are in::
+
+  KERNEL_SRC/src/SALOMELocalTrace/utilities.h
+
+This file must be included in C++ source. Some 
+macros are activated only in debug mode, others are 
+always activated. To activate the debug mode, ``_DEBUG_``
+must be defined, which is the case when SALOME 
+Makefiles are generated from configure, without 
+options. When ``_DEBUG_`` is undefined (release mode: 
+``configure --disable-debug --enable-production``), the 
+debug mode macros are defined empty (they do nothing). 
+So, when switching from debug to release, it is 
+possible (and recommended) to let the macro calls 
+unchanged in the source.
+
+All the macros generate trace messages, stored in a 
+circular buffer pool. A separate thread reads the 
+messages in the buffer pool, and, depending on options 
+given at SALOME start, writes the messages on the 
+standard output, a file, or send them via CORBA, in 
+case of a multi machine configuration.
+
+Three informations are systematically added in front of 
+the information displayed:
+
+* the thread number from which the message come from;
+
+* the name of the source file in which the macros is set;
+
+* the line number of the source file at which the macro 
+  is set.
+
+Macros defined in debug and release modes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**INFOS_COMPILATION**
+   The C++ macro INFOS_COMPILATION writes on the trace 
+   buffer pool informations about the compiling process: 
+
+   * the name of the compiler : g++, KCC, CC, pgCC;
+
+   * the date and the time of the compiling processing process.
+
+   This macro INFOS_COMPILATION does not have any 
+   argument. Moreover, it is defined in both compiling 
+   mode : _DEBUG_ and _RELEASE_.
+
+   Example::
+
+     #include "utilities.h"
+     int main(int argc , char **argv) 
+     { 
+       INFOS_COMPILATION;
+       ...
+     }
+     INFOS(str)
+
+**INFOS**
+   In both compiling mode _DEBUG_ and _RELEASE_, The C++ 
+   macro INFOS writes on the trace buffer pool the string 
+   which has been passed in argument by the user.
+
+   Example:: 
+
+     #include "utilities.h"
+     int main(int argc , char **argv)
+     { 
+       ... 
+       INFOS("NORMAL END OF THE PROCESS"); 
+       return 0; 
+     }
+
+   displays::
+
+      main.cxx [5] : NORMAL END OF THE PROCESS
+
+
+**INTERRUPTION(str)**
+   In both compiling mode _DEBUG_ and _RELEASE_, The C++ 
+   macro INTERRUPTION writes on the trace buffer pool the 
+   string, with a special ABORT type. When the thread in 
+   charge of collecting messages finds this message, it 
+   terminates the application, after message treatment.
+
+**IMMEDIATE_ABORT(str)**
+   In both compiling mode _DEBUG_ and _RELEASE_, The C++ 
+   macro IMMEDIATE_ABORT writes the message str immediately on 
+   standard error and exits the application. Remaining 
+   messages not treated by the message collector thread 
+   are lost.
+
+Macros defined only in debug mode
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**MESSAGE(str)**
+   In _DEBUG_ compiling mode only, the C++ macro MESSAGE 
+   writes on the trace buffer pool the string which has 
+   been passed in argument by the user. In _RELEASE_ 
+   compiling mode, this macro is blank.
+
+   Example:: 
+
+     #include "utilities.h" 
+     #include <string> 
+
+     using namespace std; 
+
+     int main(int argc , char **argv) 
+     { 
+       ... 
+       const char *str = "Salome";
+       MESSAGE(str);
+       ... const string st; 
+       st = "Aster"; 
+       MESSAGE(c_str(st+" and CASTEM")); 
+       return 0;
+     }
+
+   displays::
+
+     - Trace main.cxx [8] : Salome
+     - Trace main.cxx [12] : Aster and CASTEM
+
+**BEGIN_OF(func_name)**
+   In _DEBUG_ compiling mode, The C++ macro BEGIN_OF 
+   appends the string "Begin of " to the one passed in 
+   argument by the user and displays the result on the 
+   trace buffer pool. In _RELEASE_ compiling mode, this 
+   macro is blank.
+
+   Example:: 
+
+      #include "utilities.h" 
+      int main(int argc , char **argv) 
+      { 
+        BEGIN_OF(argv[0]);
+        return 0;
+      }
+
+   displays:: 
+
+     - Trace main.cxx [3] : Begin of a.out
+
+
+**END_OF(func_name)**
+   In _DEBUG_ compiling mode, The C++ macro END_OF appends 
+   the string "Normal end of " to the one passed in 
+   argument by the user and displays the result on the 
+   trace buffer pool. In _RELEASE_ compiling mode, this 
+   macro is blank.
+
+   Example:: 
+
+      #include "utilities.h" 
+      int main(int argc , char **argv) 
+      { 
+        END_OF(argv[0]);
+        return 0; 
+      }
+
+   displays::
+
+      - Trace main.cxx [4] : Normal end of a.out
+
+**SCRUTE(var)**
+   In _DEBUG_ compiling mode, The C++ macro SCRUTE 
+   displays its argument which is an application variable 
+   followed by the value of the variable. In _RELEASE_ 
+   compiling mode, this macro is blank.
+
+   Example::
+
+      #include "utilities.h"
+      int main(int argc , char **argv) 
+      { 
+        const int i=999;
+        if( i > 0 ) SCRUTE(i) ; i=i+1;
+        return 0;
+      }
+
+   displays::
+
+      - Trace main.cxx [5] : i=999
+
+**ASSERT(condition)**
+   In _DEBUG_ compiling mode only, The C++ macro ASSERT 
+   checks the expression passed in argument to be not 
+   NULL. If it is NULL the condition is written with the 
+   macro INTERRUPTION (see above). The process exits after 
+   trace of this last message. In _RELEASE_ compiling 
+   mode, this macro is blank. N.B. : if ASSERT is already 
+   defined, this macro is ignored.
+
+   Example::
+
+      #include "utilities.h" 
+      ... 
+      const char *ptrS = fonc();
+      ASSERT(ptrS!=NULL); 
+      cout << strlen(ptrS); 
+      float table[10];
+      int k;
+      ... 
+      ASSERT(k<10);
+      cout << table[k];
+
+Exceptions
+==========
+
+C++ exceptions: class SALOME_Exception
+--------------------------------------
+
+definition
+~~~~~~~~~~
+
+The class SALOME_Exception provides a generic method to 
+send a message, with optional source file name and line 
+number. This class is intended to serve as a base class 
+for all kinds of exceptions SALOME code. All the 
+exceptions derived from SALOME_Exception could be 
+handled in a single catch, in which the message 
+associated to the exception is displayed, or sent to a 
+log file.
+
+The class SALOME_Exception inherits its behavior from 
+the STL class exception.
+
+usage
+~~~~~
+
+The header SALOME/src/utils/utils_SALOME_Exception.hxx 
+must be included in the C++ source, when raised or trapped::
+
+   #include "utils_SALOME_Exception.hxx"
+
+The SALOME_Exception constructor is::
+
+   SALOME_Exception( const char *text,
+                     const char *fileName=0, 
+                     const unsigned int lineNumber=0 );
+
+The exception is raised like this::
+
+   throw SALOME_Exception("my pertinent message");
+
+or like this::
+
+   throw SALOME_Exception(LOCALIZED("my pertinent message"));
+
+where LOCALIZED is a macro provided with 
+``utils_SALOME_Exception.hxx`` which gives file name and 
+line number.
+
+The exception is handled like this::
+
+   try
+     {
+       ...
+     }
+   catch (const SALOME_Exception &ex)
+     {
+       cerr << ex.what() <<endl;
+     }
+
+The what() method overrides the one defined in the STL 
+exception class.
+
+CORBA exceptions
+----------------
+
+definition
+~~~~~~~~~~
+
+The idl SALOME_Exception provides a generic CORBA 
+exception for SALOME, with an attribute that gives an 
+exception type,a message, plus optional source file 
+name and line number. 
+
+This idl is intended to serve for all user CORBA 
+exceptions raised in SALOME code, as IDL specification 
+does not support exception inheritance. So, all the 
+user CORBA exceptions from SALOME could be handled in a 
+single catch.
+
+The exception types defined in idl are:
+
+  - COMM CORBA communication problem,
+
+  - BAD_PARAM Bad User parameters,
+
+  - INTERNAL_ERROR application level problem (often irrecoverable).
+
+CORBA system and user exceptions already defined in the 
+packages used within SALOME, such as OmniORB 
+exceptions, must be handled separately.
+
+usage
+~~~~~
+
+CORBA servant, C++
+^^^^^^^^^^^^^^^^^^
+
+   The CORBA Server header for SALOME_Exception and a 
+   macro to throw the exception are provided with the 
+   header ``KERNEL_SRC/src/Utils/Utils_CorbaException.hxx``::
+
+      #include "Utils_CorbaException.hxx"
+
+   The exception is raised with a macro which appends file 
+   name and line number::
+
+      if (myStudyName.size() == 0)
+        THROW_SALOME_CORBA_EXCEPTION("No Study Name given", 
+                                     SALOME::BAD_PARAM);
+
+CORBA Client, GUI Qt C++
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+   **NO MORE AVAILABLE in SALOME 3.x**
+
+   The CORBA Client header for SALOME_Exception and a Qt 
+   function header that displays a message box are 
+   provided in:
+
+     ``KERNEL_SRC/src/SALOMEGUI/SALOMEGUI_QtCatchCorbaException.hxx``
+
+   ::
+
+     #include "SALOMEGUI_QtCatchCorbaException.hxx"
+
+   A typical exchange with a CORBA Servant will be::
+
+      try
+      {
+        ... // one ore more CORBA calls
+      }
+
+      catch (const SALOME::SALOME_Exception & S_ex)
+      {
+        QtCatchCorbaException(S_ex);
+      }
+
+
+
+CORBA Client, C++, without GUI
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+  Nothing specific has been provided to the developer 
+  yet. See the idl or the Qt function 
+  SALOMEGUI_QtCatchCorbaException.hxx to see how to get 
+  the information given by the exception object.
+
+Miscellaneous tools
+===================
+
+Singleton
+---------
+
+Definition
+~~~~~~~~~~
+
+A singleton is an application data which is created and 
+deleted only once at the end of the application 
+process. The C++ compiler allows the user to create a 
+static singleton data before the first executable 
+statement. They are deleted after the last statement execution.
+
+The ``SINGLETON_`` template class deals with dynamic 
+singleton. It is useful for functor objects. For 
+example, an object that connects the application to a 
+system at creation and disconnects the application at deletion.
+
+Usage
+~~~~~
+
+To create a single instance of a POINT object::
+
+  # include "Utils_SINGLETON.hxx"
+  ... 
+  POINT *ptrPoint=SINGLETON_<POINT>::Instance() ; 
+  assert(ptrPoint!=NULL) ;
+
+No need to delete ptrPoint. Deletion is achieved 
+automatically at exit. If the user tries to create more 
+than one singleton by using the class method 
+SINGLETON_<TYPE>::Instance(), the pointer is returned 
+with the same value even if this is done in different 
+functions (threads ?)::
+
+  POINT *p1=SINGLETON_<POINT>::Instance() ;
+  ... 
+  POINT *p2=SINGLETON_<POINT>::Instance() ; 
+
+  assert(p1==p2)
+
+Design description
+~~~~~~~~~~~~~~~~~~
+
+Here are the principles features of the singleton 
+design:
+
+* the user creates an object of class TYPE by using the 
+  class method ``SINGLETON_<TYPE>::Instance()`` which 
+  returns a pointer to the single object ;
+
+* to create an object, ``SINGLETON_<TYPE>::Instance()`` 
+  uses the default constructor of class TYPE ;
+
+* at the same time, this class method creates a 
+  destructor object which is added to the generic list 
+  of destructor objects to be executed at the end of 
+  the application (atexit) ;
+
+* at the end of the application process all the 
+  deletions are performed by the ``Nettoyage()`` C function 
+  which executes the destruction objects end then 
+  deletes the destructions objects themselves ;
+
+* the ``Nettoyage()`` C  function using ``atexit()`` C  function 
+  is embedded in a static single object ``ATEXIT_()``.
diff --git a/doc/rst.css b/doc/rst.css
new file mode 100644 (file)
index 0000000..eb02941
--- /dev/null
@@ -0,0 +1,288 @@
+/*
+:Authors: David Goodger, David Abrahams
+:Contact: goodger@users.sourceforge.net, dave@boost-consulting.com
+:date: $Date$
+:version: $Revision$
+:copyright: This stylesheet has been placed in the public domain.
+
+This stylesheet is for the use of ReStructuredText in a Boost context.
+It is basically an agglomeration of boost.css and the default.css that
+comes from docutils.
+
+ */
+
+.first {
+  margin-top: 0 }
+
+.last {
+  margin-bottom: 0 }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: #00008B }
+
+dd {
+  margin-bottom: 0.5em }
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.attention, div.caution, div.danger, div.error, div.hint,
+div.important, div.note, div.tip, div.warning, div.admonition {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.hint p.admonition-title, div.important p.admonition-title,
+div.note p.admonition-title, div.tip p.admonition-title,
+div.admonition p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em }
+
+div.footer, div.header {
+  font-size: smaller }
+
+div.sidebar {
+  margin-left: 1em ;
+  border: medium outset ;
+  padding: 0em 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+H1.title
+{
+    FONT-SIZE: 200%;
+    COLOR: #00008B;
+    text-align: center
+}
+H1
+{
+    FONT-SIZE: 150%;
+}
+H2
+{
+    FONT-SIZE: 125%;
+}
+h2.subtitle {
+  text-align: center }
+H3
+{
+    FONT-SIZE: 108%;
+}
+BODY
+{
+    FONT-SIZE: 100%;
+    BACKGROUND-COLOR: #ffffff;
+}
+PRE
+{
+    MARGIN-LEFT: 2em;
+    FONT-FAMILY: Courier;
+}
+CODE
+{
+    FONT-FAMILY: Courier;
+    white-space: pre;
+}
+.pre
+{
+    FONT-FAMILY: Courier;
+    white-space: pre;
+}
+.index
+{
+    TEXT-ALIGN: left;
+}
+.page-index
+{
+    TEXT-ALIGN: left;
+}
+.definition
+{
+    TEXT-ALIGN: left;
+}
+.footnote
+{
+    FONT-SIZE: 66%;
+    VERTICAL-ALIGN: super;
+    TEXT-DECORATION: none;
+}
+.function-semantics
+{
+    CLEAR: left;
+}
+
+hr {
+  width: 75% }
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font-family: serif ;
+  font-size: 100% }
+
+pre.line-block {
+  font-family: serif ;
+  font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+  margin-left: 2em ;
+  margin-right: 2em ;
+  font-size: 80%;
+  border: solid thin gray ;
+  background-color: #eeeeee }
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.option-argument {
+  font-style: italic }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+table {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.citation {
+  border-left: solid thin gray ;
+  padding-left: 0.5ex }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.footnote {
+  border-left: solid thin black ;
+  padding-left: 0.5ex }
+
+td, th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+th.docinfo-name, th.field-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap }
+
+/* 
+  dwa 2003/7/29 -- commented out so that it wouldn't override earlier
+  styles from boost.css
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+  font-size: 100% }
+*/
+
+ul.auto-toc {
+  list-style-type: none }
diff --git a/doc/salome/DevelopersGuide/Makefile.am b/doc/salome/DevelopersGuide/Makefile.am
new file mode 100644 (file)
index 0000000..05493e6
--- /dev/null
@@ -0,0 +1,33 @@
+# -* Makefile *- 
+#
+# Author : Paul RASCLE (EDF)
+# Date : 16/02/2006
+# $Header$
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+TEX=DevelopersGuide.tex
+TEX_PS=$(TEX:%.tex=%.ps)
+TEX_PDF=$(TEX:%.tex=%.pdf)
+
+#userdoc: $(TEX_PS) $(TEX_PDF)
+userdoc:
+       @echo document tex a revoir
+
+clean:
+       \rm -f *~ *.bak *.aux *.log *.dvi *.toc $(TEX:%.tex=%.out)
+       \rm -f dummy thumb*
+
+
+SUFFIXES = .tex .dvi .ps .pdf
+
+#implicits rules
+.tex.dvi: clean
+       $(LATEX) $< 
+
+.dvi.ps:
+       $(DVIPS) $< -o $@
+
+.tex.pdf: clean
+       $(PDFLATEX) $< 
diff --git a/doc/salome/DevelopersGuide/Makefile.in b/doc/salome/DevelopersGuide/Makefile.in
deleted file mode 100644 (file)
index be472d9..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Patrick GOLDBRONN (CEA)
-#  Module : doc
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-
-TEX=DevelopersGuide.tex
-TEX_PS=$(TEX:%.tex=%.ps)
-TEX_PDF=$(TEX:%.tex=%.pdf)
-
-.SUFFIXES: .tex .dvi .ps .pdf
-
-docs: $(TEX_PS) clean $(TEX_PDF) clean
-
-clean:
-       \rm -f *~ *.bak *.aux *.log *.dvi *.toc $(TEX:%.tex=%.out)
-       \rm -f dummy thumb*
-
-distclean: clean
-       \rm -f $(TEX_PS) $(TEX_PDF)
-
-install:
-
-#implicits rules
-.tex.dvi: clean
-       @[ "x@LATEX@" != "x" ] && [ latex $< ] || \
-       echo "Can'not execute .tex.dvi rule"
-
-.dvi.ps:
-       @[ "x@DVIPS@" != "x" ] && [ dvips $< -o $@ ] || \
-       echo "Can'not execute .dvi.ps rule"
-
-.tex.pdf: clean
-       @[ "x@PDFLATEX@" != "x" ] && [ pdflatex $< ] || \
-       echo "Can'not execute .tex.pdf rule"
-
diff --git a/doc/salome/KernelResources/kernel_resources-1.html b/doc/salome/KernelResources/kernel_resources-1.html
deleted file mode 100644 (file)
index 562ffa0..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
- <TITLE>SALOME Kernel resources for developer: Trace and debug Utilities</TITLE>
- <LINK HREF="kernel_resources-2.html" REL=next>
-
- <LINK HREF="kernel_resources.html#toc1" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="kernel_resources-2.html">Next</A>
-Previous
-<A HREF="kernel_resources.html#toc1">Contents</A>
-<HR>
-<H2><A NAME="s1">1.</A> <A HREF="kernel_resources.html#toc1">Trace and debug Utilities</A></H2>
-
-<P>During the development process, an execution log is useful to
-identify problems. This log contains messages, variables values,
-source files names and line numbers. It is recommended to verify
-assertions on variables values and if necessary, to stop the execution
-at debug time, in order to validate all parts of code.</P>
-
-<H2><A NAME="ss1.1">1.1</A> <A HREF="kernel_resources.html#toc1.1">Two modes: debug and release</A>
-</H2>
-
-<P>The goal of debug mode is to check as many features as possible
-during the early stages of the development process. The purpose of
-the utilities provided in SALOME is to help the developer to add
-detailed traces and check variables values, without writing a lot
-of code.</P>
-
-<P>When the code is assumed to be valid, the release mode optimizes
-execution, in terms of speed, memory, and display only user level
-messages.</P>
-
-<P>But, some informations must always be displayed in both modes:
-especially messages concerning environment or internal errors, with
-version identification. When an end user is confronted to such a
-message, he may refer to a configuration documentation or send the
-message to the people in charge of SALOME installation, or to the
-development team, following the kind of error.</P>
-
-<H2><A NAME="ss1.2">1.2</A> <A HREF="kernel_resources.html#toc1.2">C++ Macros for trace and debug</A>
-</H2>
-
-<P>SALOME provides C++ macros for trace and debug. These macros
-are in <CODE>SALOME/src/SALOMELocalTrace/utilities.h</CODE> and this file must
-be included in C++ source. Some macros are activated only in debug
-mode, others are always activated. To activate the debug mode, <CODE>_DEBUG_</CODE>
-must be defined, which is the case when SALOME Makefiles are generated
-from configure, without options. When <CODE>_DEBUG_</CODE> is undefined (release
-mode: <CODE>configure --disable-debug --enable-production</CODE>), the debug mode
-macros are defined empty (they do nothing). So, when switching from
-debug to release, it is possible (and recommended) to let the macro
-calls unchanged in the source.</P>
-
-<P>All the macros generate trace messages, stored in a circular
-buffer pool. A separate thread reads the messages in the buffer pool,
-and, depending on options given at SALOME start, writes the messages
-on the standard output, a file, or send them via CORBA, in case of
-a multi machine configuration.</P>
-
-<P>Three informations are systematically added in front of the information
-displayed:</P>
-
-<P>
-<UL>
-<LI>the thread number from which the message come from;</LI>
-<LI>the name of the source file in which the macros is set;</LI>
-<LI>the line number of the source file at which the macro is set.
-</LI>
-</UL>
-</P>
-<H3>Macros defined in debug and release modes</H3>
-
-<H3>INFOS_COMPILATION</H3>
-
-<P>The C++ macro <CODE>INFOS_COMPILATION</CODE> writes on the trace buffer pool
-informations about the compiling process: </P>
-
-<P>
-<UL>
-<LI>the name of the compiler : <CODE>g++, KCC, CC, pgCC</CODE>;</LI>
-<LI>the date and the time of the compiling processing process.
-</LI>
-</UL>
-</P>
-<P>This macro <CODE>INFOS_COMPILATION</CODE> does not have any argument. Moreover,
-it is defined in both compiling mode : <CODE>_DEBUG_</CODE> and <CODE>_RELEASE_</CODE>.</P>
-
-<P>Example :</P>
-
-<P>
-<PRE>
-#include &quot;utilities.h&quot;
-int main(int argc , char **argv) 
-{ 
-  INFOS_COMPILATION;
-  ...
-}
-</PRE>
-</P>
-<H3>INFOS(str)</H3>
-
-<P>In both compiling mode <CODE>_DEBUG_</CODE> and <CODE>_RELEASE_</CODE>, The C++ macro <CODE>INFOS</CODE>
-writes on the trace buffer pool the string which has been passed
-in argument by the user.</P>
-
-<P>Example : </P>
-
-<P>
-<PRE>
-#include &quot;utilities.h&quot;
-int main(int argc , char **argv)
-{ 
-  ... 
-  INFOS(&quot;NORMAL END OF THE PROCESS&quot;); 
-  return 0; 
-}
-</PRE>
-</P>
-<P>displays :</P>
-
-<P>
-<PRE>
-main.cxx [5] : NORMAL END OF THE PROCESS
-
-</PRE>
-</P>
-<H3>INTERRUPTION(str)</H3>
-
-<P>In both compiling mode <CODE>_DEBUG_</CODE> and <CODE>_RELEASE_</CODE>, The C++ macro <CODE>INTERRUPTION</CODE>
-writes on the trace buffer pool the string, with a special <CODE>ABORT</CODE>
-type. When the thread in charge of collecting messages finds this
-message, it terminates the application, after message treatment.</P>
-
-<H3>IMMEDIATE_ABORT(str)</H3>
-
-<P>In both compiling mode <CODE>_DEBUG_</CODE> and <CODE>_RELEASE_</CODE>, The C++ macro <CODE>IMMEDIATE_ABORT</CODE>
-writes the message immediately on standard error and exits the application.
-Remaining messages not treated by the message collector thread are
-lost.</P>
-
-<H3>Macros defined only in debug mode</H3>
-
-<H3>MESSAGE(str)</H3>
-
-<P>In <CODE>_DEBUG_</CODE> compiling mode only, the C++ macro <CODE>MESSAGE</CODE> writes
-on the trace buffer pool the string which has been passed in argument
-by the user. In <CODE>_RELEASE_</CODE> compiling mode, this macro is blank.</P>
-
-<P>Example : </P>
-
-<P>
-<PRE>
-#include &quot;utilities.h&quot; 
-#include &lt;string&gt; 
-using namespace std; 
-int main(int argc , char **argv) 
-{ 
-  ... 
-  const char *str = &quot;Salome&quot;;
-  MESSAGE(str);
-  ... const string st; 
-  st = &quot;Aster&quot;; 
-  MESSAGE(c_str(st+&quot; and CASTEM&quot;)); 
-  return 0;
-}
-</PRE>
-</P>
-<P>displays :</P>
-
-<P>
-<PRE>
-- Trace main.cxx [8] : Salome
-- Trace main.cxx [12] : Aster and CASTEM
-</PRE>
-</P>
-<H3>BEGIN_OF(func_name)</H3>
-
-<P>In <CODE>_DEBUG_</CODE> compiling mode, The C++ macro <CODE>BEGIN_OF</CODE> appends the
-string <CODE>&quot;Begin of &quot;</CODE> to the one passed in argument by the
-user and displays the result on the trace buffer pool. In <CODE>_RELEASE_</CODE>
-compiling mode, this macro is blank.</P>
-
-<P>Example : </P>
-
-<P>
-<PRE>
-#include &quot;utilities.h&quot; 
-int main(int argc , char **argv) 
-{ 
-  BEGIN_OF(argv[0]);
-  return 0;
-}
-</PRE>
-</P>
-<P>displays : </P>
-
-<P>
-<PRE>
-- Trace main.cxx [3] : Begin of a.out
-</PRE>
-</P>
-<H3>END_OF(func_name)</H3>
-
-<P>In <CODE>_DEBUG_</CODE> compiling mode, The C++ macro <CODE>END_OF</CODE> appends the string
-<CODE>&quot;Normal end of &quot;</CODE> to the one passed in argument by the user
-and displays the result on the trace buffer pool. In <CODE>_RELEASE_</CODE> compiling
-mode, this macro is blank.</P>
-
-<P>Example : </P>
-
-<P>
-<PRE>
-#include &quot;utilities.h&quot; 
-int main(int argc , char **argv) 
-{ 
-  END_OF(argv[0]);
-  return 0; 
-}
-</PRE>
-</P>
-<P>displays : </P>
-
-<P>
-<PRE>
-- Trace main.cxx [4] : Normal end of a.out
-</PRE>
-</P>
-<H3>SCRUTE(var)</H3>
-
-<P>In <CODE>_DEBUG_</CODE> compiling mode, The C++ macro <CODE>SCRUTE</CODE> displays its
-argument which is an application variable followed by the value of
-the variable. In <CODE>_RELEASE_</CODE> compiling mode, this macro is blank.</P>
-
-<P>Example : </P>
-
-<P>
-<PRE>
-#include &quot;utilities.h&quot;
-int main(int argc , char **argv) 
-{ 
-  const int i=999;
-  if( i &gt; 0 ) SCRUTE(i) ; i=i+1;
-  return 0;
-}
-</PRE>
-</P>
-<P>displays :</P>
-
-<P>
-<PRE>
-- Trace main.cxx [5] : i=999
-</PRE>
-</P>
-<H3>ASSERT(condition)</H3>
-
-<P>In <CODE>_DEBUG_</CODE> compiling mode only, The C++ macro <CODE>ASSERT</CODE> checks the
-expression passed in argument to be not NULL. If it is NULL the condition
-is written with the macro <CODE>INTERRUPTION</CODE> (see above). The process exits
-after trace of this last message. In <CODE>_RELEASE_</CODE> compiling mode, this
-macro is blank. N.B. : if <CODE>ASSERT</CODE> is already defined, this macro is
-ignored.</P>
-
-<P>Example :</P>
-
-<P>
-<PRE>
-#include &quot;utilities.h&quot; 
-... 
-const char *ptrS = fonc();
-ASSERT(ptrS!=NULL); 
-cout &lt;&lt; strlen(ptrS); 
-float table[10];
-int k;
-... 
-ASSERT(k&lt;10);
-cout &lt;&lt; table[k];
-</PRE>
-</P>
-<HR>
-<A HREF="kernel_resources-2.html">Next</A>
-Previous
-<A HREF="kernel_resources.html#toc1">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/salome/KernelResources/kernel_resources-2.html b/doc/salome/KernelResources/kernel_resources-2.html
deleted file mode 100644 (file)
index 62acf8c..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
- <TITLE>SALOME Kernel resources for developer: Exceptions</TITLE>
- <LINK HREF="kernel_resources-3.html" REL=next>
- <LINK HREF="kernel_resources-1.html" REL=previous>
- <LINK HREF="kernel_resources.html#toc2" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="kernel_resources-3.html">Next</A>
-<A HREF="kernel_resources-1.html">Previous</A>
-<A HREF="kernel_resources.html#toc2">Contents</A>
-<HR>
-<H2><A NAME="s2">2.</A> <A HREF="kernel_resources.html#toc2">Exceptions</A></H2>
-
-<H2><A NAME="ss2.1">2.1</A> <A HREF="kernel_resources.html#toc2.1">C++ exceptions: class SALOME_Exception</A>
-</H2>
-
-<H3>definition</H3>
-
-<P>The class <CODE>SALOME_Exception</CODE> provides a generic method to send
-a message, with optional source file name and line number. This class
-is intended to serve as a base class for all kinds of exceptions
-SALOME code. All the exceptions derived from <CODE>SALOME_Exception</CODE> could
-be handled in a single catch, in which the message associated to
-the exception is displayed, or sent to a log file.</P>
-
-<P>The class <CODE>SALOME_Exception</CODE> inherits its behavior from the STL
-class exception.</P>
-
-<H3>usage</H3>
-
-<P>The header <CODE>SALOME/src/utils/utils_SALOME_Exception.hxx</CODE> must be
-included in the C++ source, when raised or trapped:</P>
-
-<P><CODE>#include </CODE>&quot;<CODE>utils_SALOME_Exception.hxx</CODE>&quot;</P>
-
-<P>The <CODE>SALOME_Exception</CODE> constructor is:</P>
-
-<P>
-<PRE>
-SALOME_Exception( const char *text,
-                  const char *fileName=0, 
-                  const unsigned int lineNumber=0 );
-</PRE>
-</P>
-<P>The exception is raised like this:</P>
-
-<P>
-<PRE>
-throw SALOME_Exception(&quot;my pertinent message&quot;);
-</PRE>
-</P>
-<P>or like this:</P>
-
-<P>
-<PRE>
-throw SALOME_Exception(LOCALIZED(&quot;my pertinent message&quot;));
-</PRE>
-</P>
-<P>where LOCALIZED is a macro provided with <CODE>utils_SALOME_Exception.hxx</CODE>
-which gives file name and line number.</P>
-
-<P>The exception is handled like this:</P>
-
-<P>
-<PRE>
-try
-  {
-    ...
-  }
-catch (const SALOME_Exception &amp;ex)
-  {
-    cerr &lt;&lt; ex.what() &lt;&lt;endl;
-  }
-</PRE>
-</P>
-<P>The <CODE>what()</CODE> method overrides the one defined in the STL exception
-class.</P>
-
-<H2><A NAME="ss2.2">2.2</A> <A HREF="kernel_resources.html#toc2.2">CORBA exceptions</A>
-</H2>
-
-<H3>definition</H3>
-
-<P>The idl <CODE>SALOME_Exception</CODE> provides a generic CORBA exception for
-SALOME, with an attribute that gives an exception type,a message,
-plus optional source file name and line number. </P>
-
-<P>This idl is intended to serve for all user CORBA exceptions raised
-in SALOME code, as IDL specification does not support exception inheritance.
-So, all the user CORBA exceptions from SALOME could be handled in
-a single catch.</P>
-
-<P>The exception types defined in idl are:</P>
-
-<P>
-<DL>
-<DT><B>COMM</B><DD><P>CORBA communication problem,</P>
-<DT><B>BAD_PARAM</B><DD><P>Bad User parameters,</P>
-<DT><B>INTERNAL_ERROR</B><DD><P>application level problem (often irrecoverable).</P>
-
-</DL>
-</P>
-<P>CORBA system and user exceptions already defined in the packages
-used within SALOME, such as OmniORB exceptions, must be handled separately.</P>
-
-<H3>usage</H3>
-
-<H3>CORBA servant, C++</H3>
-
-<P>The CORBA Server header for <CODE>SALOME_Exception</CODE> and a macro to throw
-the exception are provided with the header <CODE>SALOME/src/Utils/Utils_CorbaException.hxx</CODE>:</P>
-
-<P>
-<PRE>
-#include &quot;Utils_CorbaException.hxx&quot;
-</PRE>
-</P>
-<P>The exception is raised with a macro which appends file name
-and line number.</P>
-
-<P>
-<PRE>
-if (myStudyName.size() == 0)
-   THROW_SALOME_CORBA_EXCEPTION(&quot;No Study Name given&quot;, \
-                                SALOME::BAD_PARAM);
-</PRE>
-</P>
-<H3>CORBA Client, GUI Qt C++</H3>
-
-<P>The CORBA Client header for <CODE>SALOME_Exception</CODE> and a Qt function
-header that displays a message box are provided in <CODE>SALOME/src/SALOMEGUI/SALOMEGUI_QtCatchCorbaException.hxx</CODE>:</P>
-
-<P>
-<PRE>
-#include &quot;SALOMEGUI_QtCatchCorbaException.hxx&quot;
-</PRE>
-</P>
-<P>A typical exchange with a CORBA Servant will be:</P>
-
-<P>
-<PRE>
-try
-  {
-    ... // one ore more CORBA calls
-  }
-catch (const SALOME::SALOME_Exception &amp; S_ex)
-  {
-    QtCatchCorbaException(S_ex);
-  }
-
-</PRE>
-</P>
-<H3>CORBA Client, C++, without GUI</H3>
-
-<P>Nothing specific has been provided to the developer yet. See
-the idl or the Qt function <CODE>SALOMEGUI_QtCatchCorbaException.hxx</CODE> to
-see how to get the information given by the exception object.</P>
-
-<HR>
-<A HREF="kernel_resources-3.html">Next</A>
-<A HREF="kernel_resources-1.html">Previous</A>
-<A HREF="kernel_resources.html#toc2">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/salome/KernelResources/kernel_resources-3.html b/doc/salome/KernelResources/kernel_resources-3.html
deleted file mode 100644 (file)
index 27f61e7..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
- <TITLE>SALOME Kernel resources for developer: Miscellaneous tools</TITLE>
- <LINK HREF="kernel_resources-2.html" REL=previous>
- <LINK HREF="kernel_resources.html#toc3" REL=contents>
-</HEAD>
-<BODY>
-Next
-<A HREF="kernel_resources-2.html">Previous</A>
-<A HREF="kernel_resources.html#toc3">Contents</A>
-<HR>
-<H2><A NAME="s3">3.</A> <A HREF="kernel_resources.html#toc3">Miscellaneous tools</A></H2>
-
-<H2><A NAME="ss3.1">3.1</A> <A HREF="kernel_resources.html#toc3.1">Singleton</A>
-</H2>
-
-<H3>Definition</H3>
-
-<P>A singleton is an application data which is created and deleted
-only once at the end of the application process. The C++ compiler
-allows the user to create a static singleton data before the first
-executable statement. They are deleted after the last statement execution.</P>
-
-<P>The <CODE>SINGLETON_</CODE> template class deals with dynamic singleton. It
-is useful for functor objects. For example, an object that connects
-the application to a system at creation and disconnects the application
-at deletion.</P>
-
-<H3>Usage</H3>
-
-<P>To create a single instance a POINT object :</P>
-
-<P>
-<PRE>
-# include &quot;Utils_SINGLETON.hxx&quot;
-... 
-POINT *ptrPoint=SINGLETON_&lt;POINT&gt;::Instance() ; 
-assert(ptrPoint!=NULL) ;
-</PRE>
-</P>
-<P>No need to delete ptrPoint. Deletion is achieved automatically
-at exit. If the user tries to create more than one singleton by using
-the class method <CODE>SINGLETON_&lt;TYPE&gt;::Instance()</CODE>, the pointer
-is returned with the same value even if this is done in different
-functions (threads ?).</P>
-
-<P>
-<PRE>
-POINT *p1=SINGLETON_&lt;POINT&gt;::Instance() ;
-... 
-POINT *p2=SINGLETON_&lt;POINT&gt;::Instance() ; 
-assert(p1==p2)
-</PRE>
-</P>
-<H3>Design description</H3>
-
-<P>Here are the principles features of the singleton design :</P>
-
-<P>
-<UL>
-<LI>the user creates an object of class <CODE>TYPE</CODE> by using the class method
-<CODE>SINGLETON_&lt;TYPE&gt;::Instance()</CODE> which returns a pointer to the
-single object ;</LI>
-<LI>to create an object, <CODE>SINGLETON_&lt;TYPE&gt;::Instance()</CODE> uses
-the default constructor of class <CODE>TYPE</CODE> ;</LI>
-<LI>at the same time, this class method creates a destructor object
-which is added to the generic list of destructor objects to be executed
-at the end of the application (<CODE>atexit</CODE>) ;</LI>
-<LI>at the end of the application process all the deletions are performed
-by the <CODE>Nettoyage()</CODE> C&nbsp;function which executes the destruction objects
-end then deletes the destructions objects themselves ;</LI>
-<LI>the <CODE>Nettoyage()</CODE> C &nbsp;function using atexit() C &nbsp;function is embedded
-in a static single object <CODE>ATEXIT_()</CODE>.
-</LI>
-</UL>
-</P>
-
-
-
-<HR>
-Next
-<A HREF="kernel_resources-2.html">Previous</A>
-<A HREF="kernel_resources.html#toc3">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/salome/KernelResources/kernel_resources.html b/doc/salome/KernelResources/kernel_resources.html
deleted file mode 100644 (file)
index e3819dc..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
- <TITLE>SALOME Kernel resources for developer</TITLE>
- <LINK HREF="kernel_resources-1.html" REL=next>
-
-
-</HEAD>
-<BODY>
-<A HREF="kernel_resources-1.html">Next</A>
-Previous
-Contents
-<HR>
-<H1>SALOME Kernel resources for developer</H1>
-
-<H2>Antoine Yessayan, Paul Rascle </H2>Version 0.2 January 28, 2005
-<HR>
-<EM>ABSTRACT </EM>
-<HR>
-<HR>
-<EM>This document describes the development environment for C++ and
- Python. Makefiles generation and usage are introduced in another
- document: "using the SALOME configuration and building system environment".
- Development environment is intended here as: trace and debug macros
- usage; SALOME exceptions usage, in C++ and Python; user CORBA exceptions
- usage, in C++ and Python, with and without Graphical User Interface;
- some general purpose services such as singleton, used for CORBA connection
- and disconnection.</EM>
-<HR>
-<P>
-<H2><A NAME="toc1">1.</A> <A HREF="kernel_resources-1.html">Trace and debug Utilities</A></H2>
-
-<UL>
-<LI><A NAME="toc1.1">1.1</A> <A HREF="kernel_resources-1.html#ss1.1">Two modes: debug and release</A>
-<LI><A NAME="toc1.2">1.2</A> <A HREF="kernel_resources-1.html#ss1.2">C++ Macros for trace and debug</A>
-</UL>
-<P>
-<H2><A NAME="toc2">2.</A> <A HREF="kernel_resources-2.html">Exceptions</A></H2>
-
-<UL>
-<LI><A NAME="toc2.1">2.1</A> <A HREF="kernel_resources-2.html#ss2.1">C++ exceptions: class SALOME_Exception</A>
-<LI><A NAME="toc2.2">2.2</A> <A HREF="kernel_resources-2.html#ss2.2">CORBA exceptions</A>
-</UL>
-<P>
-<H2><A NAME="toc3">3.</A> <A HREF="kernel_resources-3.html">Miscellaneous tools</A></H2>
-
-<UL>
-<LI><A NAME="toc3.1">3.1</A> <A HREF="kernel_resources-3.html#ss3.1">Singleton</A>
-</UL>
-<HR>
-<A HREF="kernel_resources-1.html">Next</A>
-Previous
-Contents
-</BODY>
-</HTML>
diff --git a/doc/salome/KernelResources/kernel_resources.lyx b/doc/salome/KernelResources/kernel_resources.lyx
deleted file mode 100644 (file)
index 2c5935e..0000000
+++ /dev/null
@@ -1,976 +0,0 @@
-#LyX 1.3 created this file. For more info see http://www.lyx.org/
-\lyxformat 221
-\textclass linuxdoc
-\language english
-\inputencoding default
-\fontscheme default
-\graphics default
-\paperfontsize 10
-\spacing single 
-\papersize Default
-\paperpackage a4
-\use_geometry 0
-\use_amsmath 0
-\use_natbib 0
-\use_numerical_citations 0
-\paperorientation portrait
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation indent
-\defskip medskip
-\quotes_language english
-\quotes_times 2
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-
-\layout Title
-\added_space_top vfill \added_space_bottom vfill 
-SALOME Kernel resources for developer
-\layout Author
-
-Antoine Yessayan, Paul Rascle 
-\layout Date
-
-Version 0.2 January 28, 2005
-\layout Abstract
-
-ABSTRACT 
-\layout Abstract
-
-This document describes the development environment for C++ and Python.
- Makefiles generation and usage are introduced in another document: 
-\begin_inset Quotes eld
-\end_inset 
-
-using the SALOME configuration and building system environment
-\begin_inset Quotes erd
-\end_inset 
-
-.
- Development environment is intended here as: trace and debug macros usage;
- SALOME exceptions usage, in C++ and Python; user CORBA exceptions usage,
- in C++ and Python, with and without Graphical User Interface; some general
- purpose services such as singleton, used for CORBA connection and disconnection.
-\layout Standard
-
-
-\begin_inset LatexCommand \tableofcontents{}
-
-\end_inset 
-
-
-\layout Section
-
-Trace and debug Utilities
-\layout Standard
-
-During the development process, an execution log is useful to identify problems.
- This log contains messages, variables values, source files names and line
- numbers.
- It is recommended to verify assertions on variables values and if necessary,
- to stop the execution at debug time, in order to validate all parts of
- code.
-\layout Subsection
-
-Two modes: debug and release
-\layout Standard
-
-The goal of debug mode is to check as many features as possible during the
- early stages of the development process.
- The purpose of the utilities provided in SALOME is to help the developer
- to add detailed traces and check variables values, without writing a lot
- of code.
-\layout Standard
-
-When the code is assumed to be valid, the release mode optimizes execution,
- in terms of speed, memory, and display only user level messages.
-\layout Standard
-
-But, some informations must always be displayed in both modes: especially
- messages concerning environment or internal errors, with version identification.
- When an end user is confronted to such a message, he may refer to a configurati
-on documentation or send the message to the people in charge of SALOME installat
-ion, or to the development team, following the kind of error.
-\layout Subsection
-
-C++ Macros for trace and debug
-\layout Standard
-
-SALOME provides C++ macros for trace and debug.
- These macros are in 
-\family typewriter 
-SALOME/src/SALOMELocalTrace/utilities.h
-\family default 
- and this file must be included in C++ source.
- Some macros are activated only in debug mode, others are always activated.
- To activate the debug mode, 
-\family typewriter 
-_DEBUG_
-\family default 
- must be defined, which is the case when SALOME Makefiles are generated
- from configure, without options.
- When 
-\family typewriter 
-_DEBUG_
-\family default 
- is undefined (release mode: 
-\family typewriter 
-configure --disable-debug --enable-production
-\family default 
-), the debug mode macros are defined empty (they do nothing).
- So, when switching from debug to release, it is possible (and recommended)
- to let the macro calls unchanged in the source.
-\layout Standard
-
-All the macros generate trace messages, stored in a circular buffer pool.
- A separate thread reads the messages in the buffer pool, and, depending
- on options given at SALOME start, writes the messages on the standard output,
- a file, or send them via CORBA, in case of a multi machine configuration.
-\layout Standard
-
-Three informations are systematically added in front of the information
- displayed:
-\layout Itemize
-
-the thread number from which the message come from;
-\layout Itemize
-
-the name of the source file in which the macros is set;
-\layout Itemize
-
-the line number of the source file at which the macro is set.
-\layout Subsubsection
-
-Macros defined in debug and release modes
-\layout Paragraph
-
-INFOS_COMPILATION
-\layout Standard
-
-The C++ macro 
-\family typewriter 
-INFOS_COMPILATION
-\family default 
- writes on the trace buffer pool informations about the compiling process:
-\layout Itemize
-
-the name of the compiler : 
-\family typewriter 
-g++, KCC, CC, pgCC
-\family default 
-;
-\layout Itemize
-
-the date and the time of the compiling processing process.
-\layout Standard
-
-This macro 
-\family typewriter 
-INFOS_COMPILATION
-\family default 
- does not have any argument.
- Moreover, it is defined in both compiling mode : 
-\family typewriter 
-_DEBUG_
-\family default 
- and 
-\family typewriter 
-_RELEASE_
-\family default 
-.
-\layout Standard
-
-Example :
-\layout Verbatim
-
-#include "utilities.h"
-\layout Verbatim
-
-int main(int argc , char **argv) 
-\layout Verbatim
-
-{ 
-\layout Verbatim
-
-  INFOS_COMPILATION;
-\layout Verbatim
-
-  ...
-\layout Verbatim
-
-}
-\layout Paragraph
-
-INFOS(str)
-\layout Standard
-
-In both compiling mode 
-\family typewriter 
-_DEBUG_
-\family default 
- and 
-\family typewriter 
-_RELEASE_
-\family default 
-, The C++ macro 
-\family typewriter 
-INFOS
-\family default 
- writes on the trace buffer pool the string which has been passed in argument
- by the user.
-\layout Standard
-
-Example : 
-\layout Verbatim
-
-#include "utilities.h"
-\layout Verbatim
-
-int main(int argc , char **argv)
-\layout Verbatim
-
-{ 
-\layout Verbatim
-
-  ...
-\layout Verbatim
-
-  INFOS("NORMAL END OF THE PROCESS"); 
-\layout Verbatim
-
-  return 0; 
-\layout Verbatim
-
-}
-\layout Standard
-
-displays :
-\layout Verbatim
-
-main.cxx [5] : NORMAL END OF THE PROCESS
-\layout Verbatim
-
-\layout Paragraph
-
-
-\family roman 
-INTERRUPTION(str)
-\layout Standard
-
-In both compiling mode 
-\family typewriter 
-_DEBUG_
-\family default 
- and 
-\family typewriter 
-_RELEASE_
-\family default 
-, The C++ macro 
-\family typewriter 
-INTERRUPTION
-\family default 
- writes on the trace buffer pool the string, with a special 
-\family typewriter 
-ABORT
-\family default 
- type.
- When the thread in charge of collecting messages finds this message, it
- terminates the application, after message treatment.
-\layout Paragraph
-
-IMMEDIATE_ABORT(str)
-\layout Standard
-
-In both compiling mode 
-\family typewriter 
-_DEBUG_
-\family default 
- and 
-\family typewriter 
-_RELEASE_
-\family default 
-, The C++ macro 
-\family typewriter 
-IMMEDIATE_ABORT
-\family default 
- writes the message immediately on standard error and exits the application.
- Remaining messages not treated by the message collector thread are lost.
-\layout Subsubsection
-
-Macros defined only in debug mode
-\layout Paragraph
-
-MESSAGE(str)
-\layout Standard
-
-In 
-\family typewriter 
-_DEBUG_
-\family default 
- compiling mode only, the C++ macro 
-\family typewriter 
-MESSAGE
-\family default 
- writes on the trace buffer pool the string which has been passed in argument
- by the user.
- In 
-\family typewriter 
-_RELEASE_
-\family default 
- compiling mode, this macro is blank.
-\layout Standard
-
-Example : 
-\layout Verbatim
-
-#include "utilities.h" 
-\layout Verbatim
-
-#include <string> 
-\layout Verbatim
-
-using namespace std; 
-\layout Verbatim
-
-int main(int argc , char **argv) 
-\layout Verbatim
-
-{ 
-\layout Verbatim
-
-  ...
-\layout Verbatim
-
-  const char *str = "Salome";
-\layout Verbatim
-
-  MESSAGE(str);
-\layout Verbatim
-
-  ...
- const string st; 
-\layout Verbatim
-
-  st = "Aster"; 
-\layout Verbatim
-
-  MESSAGE(c_str(st+" and CASTEM")); 
-\layout Verbatim
-
-  return 0;
-\layout Verbatim
-
-}
-\layout Standard
-
-displays :
-\layout Verbatim
-
-- Trace main.cxx [8] : Salome
-\layout Verbatim
-
-- Trace main.cxx [12] : Aster and CASTEM
-\layout Paragraph
-
-BEGIN_OF(func_name)
-\layout Standard
-
-In 
-\family typewriter 
-_DEBUG_
-\family default 
- compiling mode, The C++ macro 
-\family typewriter 
-BEGIN_OF
-\family default 
- appends the string 
-\family typewriter 
-"Begin of "
-\family default 
- to the one passed in argument by the user and displays the result on the
- trace buffer pool.
- In 
-\family typewriter 
-_RELEASE_
-\family default 
- compiling mode, this macro is blank.
-\layout Standard
-
-Example : 
-\layout Verbatim
-
-#include "utilities.h" 
-\layout Verbatim
-
-int main(int argc , char **argv) 
-\layout Verbatim
-
-{ 
-\layout Verbatim
-
-  BEGIN_OF(argv[0]);
-\layout Verbatim
-
-  return 0;
-\layout Verbatim
-
-}
-\layout Standard
-
-displays : 
-\layout Verbatim
-
-- Trace main.cxx [3] : Begin of a.out
-\layout Paragraph
-
-END_OF(func_name)
-\layout Standard
-
-In 
-\family typewriter 
-_DEBUG_
-\family default 
- compiling mode, The C++ macro 
-\family typewriter 
-END_OF
-\family default 
- appends the string 
-\family typewriter 
-"Normal end of "
-\family default 
- to the one passed in argument by the user and displays the result on the
- trace buffer pool.
- In 
-\family typewriter 
-_RELEASE_
-\family default 
- compiling mode, this macro is blank.
-\layout Standard
-
-Example : 
-\layout Verbatim
-
-#include "utilities.h" 
-\layout Verbatim
-
-int main(int argc , char **argv) 
-\layout Verbatim
-
-{ 
-\layout Verbatim
-
-  END_OF(argv[0]);
-\layout Verbatim
-
-  return 0; 
-\layout Verbatim
-
-}
-\layout Standard
-
-displays : 
-\layout Verbatim
-
-- Trace main.cxx [4] : Normal end of a.out
-\layout Paragraph
-
-SCRUTE(var)
-\layout Standard
-
-In 
-\family typewriter 
-_DEBUG_
-\family default 
- compiling mode, The C++ macro 
-\family typewriter 
-SCRUTE
-\family default 
- displays its argument which is an application variable followed by the
- value of the variable.
- In 
-\family typewriter 
-_RELEASE_
-\family default 
- compiling mode, this macro is blank.
-\layout Standard
-
-Example : 
-\layout Verbatim
-
-#include "utilities.h"
-\layout Verbatim
-
-int main(int argc , char **argv) 
-\layout Verbatim
-
-{ 
-\layout Verbatim
-
-  const int i=999;
-\layout Verbatim
-
-  if( i > 0 ) SCRUTE(i) ; i=i+1;
-\layout Verbatim
-
-  return 0;
-\layout Verbatim
-
-}
-\layout Standard
-
-displays :
-\layout Verbatim
-
-- Trace main.cxx [5] : i=999
-\layout Paragraph
-
-ASSERT(condition)
-\layout Standard
-
-In 
-\family typewriter 
-_DEBUG_
-\family default 
- compiling mode only, The C++ macro 
-\family typewriter 
-ASSERT
-\family default 
- checks the expression passed in argument to be not NULL.
- If it is NULL the condition is written with the macro 
-\family typewriter 
-INTERRUPTION
-\family default 
- (see above).
- The process exits after trace of this last message.
- In 
-\family typewriter 
-_RELEASE_
-\family default 
- compiling mode, this macro is blank.
- N.B.
- : if 
-\family typewriter 
-ASSERT
-\family default 
- is already defined, this macro is ignored.
-\layout Standard
-
-Example :
-\layout Verbatim
-
-#include "utilities.h" 
-\layout Verbatim
-
-...
-\layout Verbatim
-
-const char *ptrS = fonc();
-\layout Verbatim
-
-ASSERT(ptrS!=NULL); 
-\layout Verbatim
-
-cout << strlen(ptrS); 
-\layout Verbatim
-
-float table[10];
-\layout Verbatim
-
-int k;
-\layout Verbatim
-
-...
-\layout Verbatim
-
-ASSERT(k<10);
-\layout Verbatim
-
-cout << table[k];
-\layout Section
-
-Exceptions
-\layout Subsection
-
-C++ exceptions: class SALOME_Exception
-\layout Subsubsection
-
-definition
-\layout Standard
-
-The class 
-\family typewriter 
-SALOME_Exception
-\family default 
- provides a generic method to send a message, with optional source file
- name and line number.
- This class is intended to serve as a base class for all kinds of exceptions
- SALOME code.
- All the exceptions derived from 
-\family typewriter 
-SALOME_Exception
-\family default 
- could be handled in a single catch, in which the message associated to
- the exception is displayed, or sent to a log file.
-\layout Standard
-
-The class 
-\family typewriter 
-SALOME_Exception
-\family default 
- inherits its behavior from the STL class exception.
-\layout Subsubsection
-
-usage
-\layout Standard
-
-The header 
-\family typewriter 
-SALOME/src/utils/utils_SALOME_Exception.hxx
-\family default 
- must be included in the C++ source, when raised or trapped:
-\layout Standard
-
-
-\family typewriter 
-#include 
-\family default 
-"
-\family typewriter 
-utils_SALOME_Exception.hxx
-\family default 
-"
-\layout Standard
-
-The 
-\family typewriter 
-SALOME_Exception
-\family default 
- constructor is:
-\layout Verbatim
-
-SALOME_Exception( const char *text,
-\layout Verbatim
-
-                  const char *fileName=0, 
-\layout Verbatim
-
-                  const unsigned int lineNumber=0 );
-\layout Standard
-
-The exception is raised like this:
-\layout Verbatim
-
-throw SALOME_Exception("my pertinent message");
-\layout Standard
-
-or like this:
-\layout Verbatim
-
-throw SALOME_Exception(LOCALIZED("my pertinent message"));
-\layout Standard
-
-where LOCALIZED is a macro provided with 
-\family typewriter 
-utils_SALOME_Exception.hxx
-\family default 
- which gives file name and line number.
-\layout Standard
-
-The exception is handled like this:
-\layout Verbatim
-
-try
-\layout Verbatim
-
-  {
-\layout Verbatim
-
-    ...
-\layout Verbatim
-
-  }
-\layout Verbatim
-
-catch (const SALOME_Exception &ex)
-\layout Verbatim
-
-  {
-\layout Verbatim
-
-    cerr << ex.what() <<endl;
-\layout Verbatim
-
-  }
-\layout Standard
-
-The 
-\family typewriter 
-what()
-\family default 
- method overrides the one defined in the STL exception class.
-\layout Subsection
-
-CORBA exceptions
-\layout Subsubsection
-
-definition
-\layout Standard
-
-The idl 
-\family typewriter 
-SALOME_Exception
-\family default 
- provides a generic CORBA exception for SALOME, with an attribute that gives
- an exception type,a message, plus optional source file name and line number.
-\layout Standard
-
-This idl is intended to serve for all user CORBA exceptions raised in SALOME
- code, as IDL specification does not support exception inheritance.
- So, all the user CORBA exceptions from SALOME could be handled in a single
- catch.
-\layout Standard
-
-The exception types defined in idl are:
-\layout Description
-
-COMM CORBA communication problem,
-\layout Description
-
-BAD_PARAM Bad User parameters,
-\layout Description
-
-INTERNAL_ERROR application level problem (often irrecoverable).
-\layout Standard
-
-CORBA system and user exceptions already defined in the packages used within
- SALOME, such as OmniORB exceptions, must be handled separately.
-\layout Subsubsection
-
-usage
-\layout Paragraph
-
-CORBA servant, C++
-\layout Standard
-
-The CORBA Server header for 
-\family typewriter 
-SALOME_Exception
-\family default 
- and a macro to throw the exception are provided with the header 
-\family typewriter 
-SALOME/src/Utils/Utils_CorbaException.hxx
-\family default 
-:
-\layout Verbatim
-
-#include "Utils_CorbaException.hxx"
-\layout Standard
-
-The exception is raised with a macro which appends file name and line number.
-\layout Verbatim
-
-if (myStudyName.size() == 0)
-\layout Verbatim
-
-   THROW_SALOME_CORBA_EXCEPTION("No Study Name given", 
-\backslash 
-
-\layout Verbatim
-
-                                SALOME::BAD_PARAM);
-\layout Paragraph
-
-CORBA Client, GUI Qt C++
-\layout Standard
-
-The CORBA Client header for 
-\family typewriter 
-SALOME_Exception
-\family default 
- and a Qt function header that displays a message box are provided in 
-\family typewriter 
-SALOME/src/SALOMEGUI/SALOMEGUI_QtCatchCorbaException.hxx
-\family default 
-:
-\layout Verbatim
-
-#include "SALOMEGUI_QtCatchCorbaException.hxx"
-\layout Standard
-
-A typical exchange with a CORBA Servant will be:
-\layout Verbatim
-
-try
-\layout Verbatim
-
-  {
-\layout Verbatim
-
-    ...
- // one ore more CORBA calls
-\layout Verbatim
-
-  }
-\layout Verbatim
-
-catch (const SALOME::SALOME_Exception & S_ex)
-\layout Verbatim
-
-  {
-\layout Verbatim
-
-    QtCatchCorbaException(S_ex);
-\layout Verbatim
-
-  }
-\layout Verbatim
-
-\layout Paragraph
-
-CORBA Client, C++, without GUI
-\layout Standard
-
-Nothing specific has been provided to the developer yet.
- See the idl or the Qt function 
-\family typewriter 
-SALOMEGUI_QtCatchCorbaException.hxx
-\family default 
- to see how to get the information given by the exception object.
-\layout Section
-
-Miscellaneous tools
-\layout Subsection
-
-Singleton
-\layout Subsubsection
-
-Definition
-\layout Standard
-
-A singleton is an application data which is created and deleted only once
- at the end of the application process.
- The C++ compiler allows the user to create a static singleton data before
- the first executable statement.
- They are deleted after the last statement execution.
-\layout Standard
-
-The 
-\family typewriter 
-SINGLETON_
-\family default 
- template class deals with dynamic singleton.
- It is useful for functor objects.
- For example, an object that connects the application to a system at creation
- and disconnects the application at deletion.
-\layout Subsubsection
-
-Usage
-\layout Standard
-
-To create a single instance a POINT object :
-\layout Verbatim
-
-# include "Utils_SINGLETON.hxx"
-\layout Verbatim
-
-...
-\layout Verbatim
-
-POINT *ptrPoint=SINGLETON_<POINT>::Instance() ; 
-\layout Verbatim
-
-assert(ptrPoint!=NULL) ;
-\layout Standard
-
-No need to delete ptrPoint.
- Deletion is achieved automatically at exit.
- If the user tries to create more than one singleton by using the class
- method 
-\family typewriter 
-SINGLETON_<TYPE>::Instance()
-\family default 
-, the pointer is returned with the same value even if this is done in different
- functions (threads ?).
-\layout Verbatim
-
-POINT *p1=SINGLETON_<POINT>::Instance() ;
-\layout Verbatim
-
-...
-\layout Verbatim
-
-POINT *p2=SINGLETON_<POINT>::Instance() ; 
-\layout Verbatim
-
-assert(p1==p2)
-\layout Subsubsection
-
-Design description
-\layout Standard
-
-Here are the principles features of the singleton design :
-\layout Itemize
-
-the user creates an object of class 
-\family typewriter 
-TYPE
-\family default 
- by using the class method 
-\family typewriter 
-SINGLETON_<TYPE>::Instance()
-\family default 
- which returns a pointer to the single object ;
-\layout Itemize
-
-to create an object, 
-\family typewriter 
-SINGLETON_<TYPE>::Instance()
-\family default 
- uses the default constructor of class 
-\family typewriter 
-TYPE
-\family default 
- ;
-\layout Itemize
-
-at the same time, this class method creates a destructor object which is
- added to the generic list of destructor objects to be executed at the end
- of the application (
-\family typewriter 
-atexit
-\family default 
-) ;
-\layout Itemize
-
-at the end of the application process all the deletions are performed by
- the 
-\family typewriter 
-Nettoyage()
-\family default 
- C\SpecialChar ~
-function which executes the destruction objects end then deletes the destructi
-ons objects themselves ;
-\layout Itemize
-
-the 
-\family typewriter 
-Nettoyage()
-\family default 
- C \SpecialChar ~
-function using atexit() C \SpecialChar ~
-function is embedded in a static single object
-\family typewriter 
-ATEXIT_()
-\family default 
-.
-\the_end
diff --git a/doc/salome/Makefile.am b/doc/salome/Makefile.am
new file mode 100644 (file)
index 0000000..f718bbc
--- /dev/null
@@ -0,0 +1,20 @@
+# -* Makefile *- 
+#
+# Author : Paul RASCLE (EDF)
+# Date : 16/02/2006
+# $Header$
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+SUBDIRS= tui DevelopersGuide gui
+
+index_html:
+       $(INSTALL) -d $(docdir); 
+       cp -f $(srcdir)/KERNEL_index.html $(docdir)
+
+userdoc: index_html
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         echo "Making userdoc in $$subdir"; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) userdoc) \
+       done;
diff --git a/doc/salome/Makefile.in b/doc/salome/Makefile.in
deleted file mode 100644 (file)
index a57414a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-
-# -* Makefile *- 
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 30/11/2001
-# $Header$
-#
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-SUBDIRS= tui DevelopersGuide gui
-
-@COMMENCE@
-
-docs:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done; \
-       cp -f $(srcdir)/KERNEL_index.html KERNEL_index.html
-
-clean:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-distclean: clean
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-install:
-       $(MAKE) docs
-       (cd tui && $(MAKE) install);
-       (cd gui && $(MAKE) install);
-       cp -f KERNEL_index.html $(docdir)
-
-uninstall:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done; \
-       rm -fr $(docdir)/KERNEL_index.html
diff --git a/doc/salome/gui/Makefile.am b/doc/salome/gui/Makefile.am
new file mode 100644 (file)
index 0000000..635272a
--- /dev/null
@@ -0,0 +1,18 @@
+# -* Makefile *- 
+#
+# Author : Paul RASCLE (EDF)
+# Date : 16/02/2006
+# $Header$
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+EXTRA_DIST = $(srcdir)/KERNEL
+
+dist-hook:
+       rm -rf `find $(distdir) -name CVS`
+
+userdoc:
+       $(INSTALL) -d $(docdir)/gui; 
+       cp -fr $(srcdir)/KERNEL $(docdir)/gui; 
+       rm -rf `find $(docdir)/gui -name CVS`
diff --git a/doc/salome/gui/Makefile.in b/doc/salome/gui/Makefile.in
deleted file mode 100644 (file)
index ec67d80..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#  Copyright (C) 2003  CEA/DEN, EDF R&D
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Vasily Rusyaev (Open Cascade NN)
-#  Module : doc
-#  $Header: 
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-@COMMENCE@
-
-docs:
-       cp -fr $(srcdir)/KERNEL ./
-       -find $(PWD) -name CVS -exec rm -rf {} \;
-
-clean:
-       rm -fr `ls | grep -v "Makefile"`
-
-distclean: clean
-       rm -fr KERNEL
-
-install:
-       mkdir -p $(docdir)/gui
-       cp -rf KERNEL $(docdir)/gui
-       -find $(PWD) -name CVS -exec rm -rf {} \;
-
-uninstall:
-       rm -rf $(docdir)/gui/KERNEL
diff --git a/doc/salome/kernel_resources.pdf b/doc/salome/kernel_resources.pdf
deleted file mode 100644 (file)
index b29cb2c..0000000
Binary files a/doc/salome/kernel_resources.pdf and /dev/null differ
diff --git a/doc/salome/kernel_resources.ps b/doc/salome/kernel_resources.ps
deleted file mode 100644 (file)
index cb78b16..0000000
+++ /dev/null
@@ -1,1468 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
-%%Title: kernel_resources.dvi
-%%Pages: 8
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 612 792
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -t letter -o kernel_resources.ps
-%+ kernel_resources.dvi
-%DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2005.01.28:1211
-%%BeginProcSet: texc.pro
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
-1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
-0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
-sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
-rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
-gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
-/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
-/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
-A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
-get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
-ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
-fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
-{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
-chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
-1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
-forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-TeXDict begin 40258431 52099146 1000 600 600 (kernel_resources.dvi)
-@start
-%DVIPSBitmapFont: Fa cmmi10 10 2
-/Fa 2 63 df<EF0380EF0FC0173FEFFF80933803FE00EE0FF8EE3FE0EEFF80DB03FEC7FC
-ED0FF8ED3FE0EDFF80DA03FEC8FCEC0FF8EC3FE0ECFF80D903FEC9FCEB0FF8EB3FE0EBFF
-80D803FECAFCEA0FF8EA3FE0EA7F8000FECBFCA2EA7F80EA3FE0EA0FF8EA03FEC66C7EEB
-3FE0EB0FF8EB03FE903800FF80EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0FF8ED03FE
-923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3FC0170FEF0380323279AD41>60
-D<126012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007F
-C0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007FC0EE1FF0EE07FCEE
-01FF9338007F80EF1FC0A2EF7F80933801FF00EE07FCEE1FF0EE7FC04B48C7FCED07FCED
-1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA
-07FCEA3FF0EA7FC048CBFC12FC1270323279AD41>62 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fb cmsy10 10 1
-/Fb 1 16 df<EB1FF0EBFFFE487F000714C04814E04814F04814F8A24814FCA3B612FEA9
-6C14FCA36C14F8A26C14F06C14E06C14C0000114006C5BEB1FF01F1F7BA42A>15
-D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fc ectt1000 10 80
-/Fc 80 126 df<007FB512F0B612F8A36C14F01D0579942C>21 D<121FEA3F80EA7FC0EA
-FFE0B0EA7FC0AEEA1F00C7FCA7121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B34
-70B32C>33 D<003C131E007F137F481480A66C1400A6007E7FA6003E133EA3003C131E00
-1C131C191977B32C>I<0107131C90380F803EA8011F137EEC007CA4003FB612E0B712F8
-A43A003E00F800A2EB7E01017C5BA8EBFC0301F85BA2B712F8A4003F15E03A01F007C000
-A30003130F01E05BA86C486CC7FC25337DB22C>I<EB0FC0EB3FE0497E497E80EA01F8EB
-F07C147E0003133E13E0A5147E147C9138FC3FF89039F0F87FFCEA01F1EBF3F001F7EB3F
-F89138E01F009038FFC03F6CEB803EA2EC007E49137C485A486C13FC00075CEBFF01D80F
-DF5B381F9F81383F8F8390380FC3E0387E07E75D38FC03F7EB01FF5D6D1410ED007C80A2
-6CEBFF80D87E0113C0D87F03EBE0FC3A3F87F7F1F89038FFE3FF6C01C113F06C13806C90
-38007FC0D801FCEB1F8026357EB32C>38 D<143814FC13011303EB07F8EB0FF0EB1FC0EB
-3F80EB7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E
-127EA3127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB
-07F8EB03FC130113001438164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E
-6C7E6C7E137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC1301
-14F8A3130314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA
-3FC0485A48C7FC5A5A1270164279B92C>I<EB0380497EA60020140800F8143E00FE14FE
-00FF13C1EBC7C7EBE7CF003FB512F8000F14E0000314806C140038007FFCA248B5FC4814
-80000F14E0003F14F839FFE7CFFEEBC7C7EB07C100FE13C000F8143E0020140800001400
-A66D5A1F247AAA2C>I<147014F8AF003FB612E0B712F8A4C700F8C7FCB0147025267DAB
-2C>I<EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201EA03F012
-07EA1FE0EA7FC0EAFF80130012FC12700E17718A2C>I<007FB512F0B612F8A36C14F01D
-0579942C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED
-0F80A2151F16005D153E157E157CA215FC5D14015D14035D14075D140F5D141F92C7FC5C
-143EA2147E147C14FC5C13015C13035C13075C130F5C131F91C8FC5B133EA2137E137C13
-FC5B12015B12035B12075B120F5B121F90C9FCA25A123E127E127C12FC5AA2127021417B
-B92C>I<EB03F8EB0FFE90383FFF80497F90B57E3901FE0FF03903F803F848486C7EEBE0
-004848137EA248487FA248C7EA1F80A2003E140F007E15C0A3007C140700FC15E0AC6C14
-0F007E15C0A46CEC1F80A36C6CEB3F00A26C6C137E6D13FE00075CEBF0016C6C485A3901
-FE0FF06CB55A6D5B6D5BD90FFEC7FCEB03F823357CB32C>I<1307497EA2131FA2133F13
-7F13FF5A1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477
-B32C>I<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF90388000
-7F48C7EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F16
-80153F16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0
-EB7F8049C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB3
-2C>I<EB0FFC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F16
-80151FA26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D
-7F90380007FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248
-141F007FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC
-23357CB32C>I<EC07F04A7E141F143FA2147EA214FCEB01F8A2EB03F0EB07E0A2EB0FC0
-EB1F80A2EB3F00137EA25B485AA2485A5B1207485AA2485A48C7FCA2127E5AB712FC16FE
-A36C15FCC8EAF800AA91387FFFF091B512F8A36E13F027347EB32C>I<000FB512FE4880
-A35D0180C8FCADEB83FE90389FFF8090B512E015F8819038FE03FE9038F000FF01C07F49
-EB3F8090C7121F6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A248141F007EEC3F
-80007FEC7F006C6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FCEB0FF82334
-7CB22C>I<EB07FC90383FFF8090B512E0000314F84880390FFC07FE391FF001FF9038C0
-007F4848EB3F8090C7121F4815C0007E140FA56CEC1F80A26C6CEB3F006D5B390FF001FE
-3903FC07F86CB55A6C6C13C0D907FCC7FC90387FFFC048B512F03903FC07F8390FF001FE
-391FC0007F497F48C7EA1F80007EEC0FC0A248EC07E0A7007EEC0FC0A2007F141F6C6CEB
-3F806C6CEB7F009038F001FF390FFC07FE6CB55A6C5CC614E0013F1380D907FCC7FC2335
-7CB32C>56 D<EB07FCEB3FFF90B512C0488048803907FC07F8390FF001FC48486C7ED83F
-80137E157F48C77E007EEC1F8012FE5AED0FC0A416E0A37E127E007F141F7E6D133F6C6C
-137F390FF001FF3807FC0F6CB6FC6C14F76C14C7013F130FD90FF813C090C7FCA2151F16
-80153F1600000F5C486C137E486C13FE4A5A4A5A14079038801FF0391FE07FE090B55A6C
-91C7FC6C5B000113F838007FC023357CB32C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA
-3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>I<
-EA0F80EA1FC0EA3FE0EA7FF0A5EA3FE0EA1FC0EA0F80C7FCAEEA0F80EA1FE0EA3FF0EA7F
-F8A213FCA3123F121F120F120013F8A21201EA03F01207EA1FE0EA7FC0EAFF80130012FC
-12700E3071A32C>I<1502ED0F80151F157F15FF913803FE00EC0FFCEC1FF0EC7FE0ECFF
-80D903FEC7FC495AEB1FF0495AEBFF80000390C8FCEA07FCEA1FF8EA3FE0EAFF8090C9FC
-A27FEA3FE0EA1FF8EA07FC6CB4FCC67FEB3FE06D7EEB07FC6D7E903800FF80EC7FE0EC1F
-F0EC0FFCEC03FE913800FF80157F151F150FED0200212A7BAD2C>I<007FB612F0B712F8
-A36C15F0CAFCA8007FB612F0B712F8A36C15F025127DA12C>I<122012F87EB4FC7FEA3F
-E0EA1FF8EA07FC6CB4FCC67FEB3FE06D7EEB07FC6D7E903800FF80EC7FE0EC1FF0EC0FFC
-EC03FE913800FF80157FA215FF913803FE00EC0FFCEC1FF0EC7FE0ECFF80D903FEC7FC49
-5AEB1FF0495AEBFF80000390C8FCEA07FCEA1FF8EA3FE0EAFF8090C9FC12FC5A1220212A
-7BAD2C>I<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A590
-383F01F8A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A40007
-15C049130FD87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>65
-D<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0
-A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501
-ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016C0B712806CECFE
-0015F027337FB22C>I<02FF13700107EBE0F84913F9013F13FD4913FFEBFF813901FE00
-7F4848131FD807F0130F1507485A491303485A150148C7FCA25A007EEC00F01600A212FE
-5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F
-6C6CEB3FC03A00FF81FF806DB512006D5B010F5B6D13F00100138025357DB32C>I<007F
-B5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0A2150716F01503
-16F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153FED7F80EDFF00EC
-03FE007FB55AB65A5D15C06C91C7FC26337EB22C>I<007FB612F0B712F8A37E3903F000
-01A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB6
-12FEB7FCA36C15FC27337EB22C>I<007FB612F8B712FCA37ED803F0C7FCA716781600A5
-15F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>I<90
-3901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC01497E4848137F4848
-133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA8913803FFF84A13
-FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F6C7E6C6C13FF6D
-5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<D87FFEEB
-FFFCB54813FEA36C486C13FCD807E0EB0FC0B190B6FCA59038E0000FB3D87FFEEBFFFCB5
-4813FEA36C486C13FC27337EB22C>I<007FB512F8B612FCA36C14F839000FC000B3B3A5
-007FB512F8B612FCA36C14F81E3379B22C>I<D87FFCEB7FF8486CEBFFFCA36C48EB7FF8
-D807C0EB1F80153FED7F00157E5D4A5A14034A5A5D4A5A4A5A143F4AC7FC147E5CEBC1F8
-13C3EBC7FCA2EBCFFEEBDFBEEBFFBF141F01FE7F496C7E13F86E7EEBF00301E07FEBC001
-816E7EA2157E153E153F811680ED0FC0A2ED07E0D87FFCEB1FFC486CEB3FFEA36C48EB1F
-FC27337EB22C>75 D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7
-FCA36C15F025337DB22C>I<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F15E001
-BC137BA4019E13F3A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A214EFA2
-01811303A214FFEB80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB1FFC27
-337EB22C>I<D87FF0EB7FFC486CEBFFFEA27F007FEC7FFCD807FEEB07C013DEA213DF13
-CFA2148013C714C0A213C314E0A213C114F0A213C014F8A2147CA3143EA2141E141FA214
-0F1587A2140715C7A2140315E71401A215F71400A215FFD87FFC137F487E153FA26C48EB
-1F8027337EB22C>I<EB7FFF0003B512E0000F14F848804880EBE003EB800048C7127FA2
-007E80A300FE158048141FB3A86C143FA2007E1500A3007F5CA26C6C13FEEBF00790B5FC
-6C5C6C5C000314E0C66C90C7FC21357BB32C>I<007FB512C0B612F88115FF6C15802603
-F00013C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90
-B61280160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>I<EB7FFF0003
-B512E0000F14F848804880EBF007EB800048C7127FA2007E80A300FE158048141FB3A7EB
-01F0EB03F800FE143F267E01FC1300A2EB00FE007F5C147FD83F8013FEEBF03F90B5FC6C
-5C6C5C000314E0C67E90380007F0A26E7EA26E7EA26E7EA2157FA2153E21407BB32C>I<
-387FFFFCB67E15E015F86C803907E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F4B
-C7FCEC01FE140790B55A5D15E081819038E007FCEC01FE1400157F81A8160FEE1F80A5D8
-7FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029347EB22C>I<90381FF80790B5EA0F80
-4814CF000714FF5A381FF01F383FC003497E48C7FC007E147F00FE143F5A151FA46CEC0F
-00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC0003EBFFC06C14F06C6C7F01077F90
-38007FFEEC07FF02001380153FED1FC0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC1F
-806D133F01E0EB7F009038FE01FF90B55A5D00F914F0D8F83F13C0D8700790C7FC23357C
-B32C>I<007FB612FCB712FEA43AFC007E007EA70078153CC71400B3AF90383FFFFCA249
-7F6D5BA227337EB22C>I<3B7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001F800
-B3AF6D130300015DA26D130700005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B01
-0313F86D5B9038003F802B3480B22C>I<D87FF0EB07FF486C491380A36C486D1300001F
-C8127CA46C6C5CA76C6C495AA4143E147FA33A03E0FF83E0A214F7A201E113C3A3000101
-E35BA201F113C701F313E7A314C1A200005DA201F713F71480A301FF13FF017F91C7FC4A
-7EA4013E133E29347FB22C>87 D<3A3FFF03FFE0484913F0148714076C6D13E03A01F800
-FE007F0000495A13FE017E5BEB7F03013F5B1487011F5B14CF010F5B14FF6D5BA26D90C7
-FCA26D5AA26D5AA2497EA2497EA2497F81EB0FCF81EB1FC7EC87F0EB3F83EC03F8EB7F01
-017E7FEBFE00497F0001147E49137F000380491480151FD87FFEEBFFFC6D5AB514FE6C15
-FC497E27337EB22C>I<D87FFCEB7FFC486CEBFFFEA36C48EB7FFCD807F0EB0FC0151F00
-0315806D133F12016DEB7F0012006D137E017E13FE017F5BEB3F01EC81F8131FEC83F0EB
-0FC314C7903807E7E0A201035B14EF6DB45AA292C7FC7F5C147EB0903807FFE0497FA36D
-5B27337EB22C>I<003FB612C04815E0A4007EC7EA1FC0ED3F80A2ED7F00157E15FE4A5A
-003C5CC712034A5AA24A5A4A5AA24A5A4AC7FCA214FE495AA2495A495AA2495A495AA249
-5A49C8FCA213FE485AA24848EB03C049EB07E01207485A5B121F485AA248C7FCB7FCA46C
-15C023337CB22C>I<387FFFFCB512FEA314FC00FCC7FCB3B3B3B512FC14FEA36C13FC17
-416FB92C>I<127012F8A27E127C127E123E123F7EA27F120F7F12077F12037F12017F12
-007F137C137E133EA2133F7F80130F80130780130380130180130080147C147E143EA214
-3F8081140F81140781140381140181140081157CA2157E153E153F811680150FA2ED0700
-21417BB92C>I<387FFFFCB512FEA37EC7127EB3B3B3387FFFFEB5FCA36C13FC17417DB9
-2C>I<007FB6FCB71280A46C150021067B7D2C>95 D<3801FFF0000713FE001F6D7E15E0
-48809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F
-48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15
-FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC1F
-E0ECFFF801FB13FE90B6FC16809138F07FC09138801FE091380007F049EB03F85BED01FC
-491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07F
-C091B51280160001FB5B01F813F83900F03FC027337FB22C>I<903803FFE0011F13F801
-7F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2
-127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0
-010390C7FC21247AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF
-5A3807FC0F380FF00348487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C
-6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC2733
-7DB22C>I<EB03FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB
-3F805B4848EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6C
-EC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC
-010F13F00101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090
-390FE03F0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880
-A36C5C21337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F
-9038FC0FF82607F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEB
-E0016C6C485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B5
-12F06C14FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC
-157E48153EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E00003
-15806C1500D8003F13F8010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC
-7FFC9038F9FFFE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0
-B5FCB500F11480A36C01E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC
-90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>
-I<EA7FE0487EA3127F1201AA91381FFFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A
-5A4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C
-7E496C7E811400157E811680151F3A7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C
->107 D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<
-3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF8
-3F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8
-D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6C
-B6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C
-01E0140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001
-FE48486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2
-007F141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C001
-1F90C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C15800001
-9038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14
-FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813
-F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<D87FFEEB3FC0B53801FFF002
-0713F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FC
-AF007FB512E0B67EA36C5C26247EA32C>114 D<90387FF8700003B512F8120F5A5A387F
-C00F387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0
-C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE90
-38F007FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FC
-B71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB5128016
-0001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB
-000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE0713002924
-7FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A2
-6D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA2
-14C701075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>I<D87FFFEB7FFF
-6EB5FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87
-A214F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2
-013F5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C010313F03A00FC00
-7E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D
-5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E0001
-7C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01
-FFFCB5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D6D133E13
-7C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C013
-0114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87
-E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I<003FB612E04815F0
-A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495AC7485A4A5A4A5A4A5A4A5A4AC7FC
-EB01FC495AEB0FF0495A495A495A49C8FC4848EB01E04848EB03F0485A485A485A485A48
-5AB7FCA46C15E024247DA32C>I<15FF02071380141F147F91B512004913C04AC7FCEB03
-F85CB31307EB1FE013FF007F5BB55A49C8FC6D7E6C7FC67F131FEB07F01303B380EB01FE
-ECFFC06D13FF6E1380141F14070200130021417BB92C>I<EA7FC0EAFFF813FE6D7E6C7F
-C67F131FEB07F01303B380EB01FEECFFC06D13FF6E1380141F147F91B512004913C04AC7
-FCEB03F85CB31307EB1FE013FF007F5BB55A49C8FC13F8EA7FC021417BB92C>125
-D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fd ecbx1200 12 36
-/Fd 36 121 df<160C161EB3B0007FBB1280BC12C0A26C1A80C9001ECAFCB3B0160C4A4A
-7ABD57>43 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F0F
-788E1F>46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA526
-4177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE000
-7FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A6C
-5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC4A
-5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC01
-7C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713FF
-011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16C0
-7FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC15
-F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0EA
-3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80FFE
-EBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<EA07C0EA1FF0
-EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C0C7FCAEEA07C0EA1FF0EA3FF8EA7F
-FCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F2C78AB1F>58 D<EE1F80A24C7EA24C7EA34C
-7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80157C8203FC80
-4B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C77EA24A82023E
-80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A153FA2494882
-84011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65
-D<B9FC18F018FE727E19E026003FFCC700077F05017F716C7E727E727EA2721380A37213
-C0A74E1380A24E1300A24E5A4E5A4E5A4D5B05075B94B5128091B700FCC7FC18F018FF19
-E002FCC7000113F8716C7EF01FFE727E7213801AC07213E0A27213F0A31AF8A71AF0A260
-1AE0604E13C0604E138095B5120005075BBA12F86119C04EC7FC18E045447CC350>I<DC
-FFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA
-3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F4849161F5A
-4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2123F
-A27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C167E
-6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7FC02
-0715FC020115F0DA001F1480030001F8C8FC44467AC451>I<BA12F8A485D8001F90C712
-01EF003F180F180318011800A2197E193EA3191EA21778A285A405F890C7FCA316011603
-161F92B5FCA5ED001F160316011600A2F101E01778A2F103C0A494C7FC1907A21A80A219
-0FA2191FA2193FF17F0061601807181F4DB5FCBBFC61A443447DC34A>69
-D<B712F0A526003FFECAFCB3B1F00780A4180F1900A460A360A2187EA218FE1701170317
-07171F177FEE03FFB95AA539447CC343>76 D<B500FE067FB512806E95B6FCA26F5EA2D8
-003F50C7FC013D6DEE03DFA2013C6DEE079FA26E6CEE0F1FA26E6C161EA26E6C163CA36E
-6C1678A26E6C16F0A26E6DEC01E0A26E6DEC03C0A36E6DEC0780A26F6CEC0F00A26F6C14
-1EA26F6C5CA36F6C5CA26F6C5CA26F6D485AA26F6D485AA26F6D485AA3706C48C7FCA293
-383FF81EA2706C5AA2706C5AA3706C5AA2705BA2705BA2705BA2B6057FB6128071C7FCA2
-173E171C61447CC36A>I<923807FFC092B512FE0207ECFFC0021F15F091267FFE0013FC
-902601FFF0EB1FFF01070180010313C04990C76C7FD91FFC6E6C7E49486F7E49486F7E01
-FF8348496F7E48496F1380A248496F13C0A24890C96C13E0A24819F04982003F19F8A300
-7F19FC49177FA400FF19FEAD007F19FC6D17FFA3003F19F8A26D5E6C19F0A26E5D6C19E0
-A26C6D4B13C06C19806E5D6C6D4B13006C6D4B5A6D6C4B5A6D6C4B5A6D6C4A5B6D01C001
-075B6D01F0011F5B010101FE90B5C7FC6D90B65A023F15F8020715C002004AC8FC030713
-C047467AC454>79 D<B812F8EFFFC018F818FE727ED8001F90C7003F13E005037F05007F
-727E727E727EA28684A286A762A24E90C7FCA24E5A61187F943801FFF005075B053F1380
-92B7C8FC18F818E018F892C77FEF3FFF050F7F717F717FA2717FA2717FA785A61B0F85A2
-187F73131F72141EB700E06DEB803E72EBE0FC72EBFFF8060114F0726C13E0CC00071380
-50457DC354>82 D<DAFFE0131C010701FE133C013F9038FF807C90B6EAE0FC4815F94890
-38801FFF3907FC00014848EB007F4848143F4848140F491407007F15035B1601160012FF
-177CA27FA26D153C7F7F6D92C7FC6C7EEBFFE014FE6CEBFFF015FF6C15E016FC6C816C6F
-7E6C826C826C6C81011F810107811300020F80140003077FED007F82040F1380828212F0
-82A282A27EA218007EA26C5D6C5E6D14036D5D6D140701F84A5A01FFEC3FF002F8EBFFE0
-486CB65AD8FC1F92C7FCD8F80714FC48C614F0480107138031467AC43E>I<003FBA12E0
-A59026FE000FEB8003D87FE09338003FF049171F90C71607A2007E1803007C1801A30078
-1800A400F819F8481978A5C81700B3B3A20107B8FCA545437CC24E>I<007FBA12E0BB12
-F0A46C19E04406776757>95 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF8
-4848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC
-1307013F13F19038FFFC01000313E0481380381FFE00485A5B127F5B12FF5BA35DA26D5B
-6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90F
-FCC9FC322F7DAD36>97 D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF14F891
-39DFC03FFC9139FF000FFE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218F8173F
-A318FCAC18F8A2177F18F0A3EFFFE06E15C06E5B6E491380027C491300496C495A903AFC
-1FC07FFC496CB512F0D9F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC49B512
-C0010F14F0013F14FC90397FF003FE9039FFC001FF0003495A48494813805B120F485AA2
-485A6F1300007F6E5AED00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C1407000F
-16806D140F6C6DEB1F006C6D133E6C01F05B3A007FFC03F86DB55A010F14C0010391C7FC
-9038003FF82A2F7CAD32>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEB
-FF8F013F14CF9039FFF807FF48EBC00148903880007F4890C7123F4848141F49140F121F
-485AA3127F5BA212FFAC127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6C
-D9C00314FC6C9038F01FEF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC4
-3E>I<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C
-7E48486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0
-C9FCA5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01
-F0EB3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<
-EDFF80020F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7F
-F0A2ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A52746
-7DC522>I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038
-001FF84848EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93
-C7FCA26D5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC0180
-13E0000F90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D8
-1FF0C77ED83FC014074848020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C
-6C4A5AD80FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8
-FC32427DAC38>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA00
-7C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>105
-D<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>108 D<90277F8007FEEC0FFC
-B590263FFFC090387FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D
-8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7E
-A24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB59038
-3FFF8092B512E0028114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02
-F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F001
-1F14FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F00
-1F82A2003F82491407007F82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F
-5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C090
-26001FFCC8FC312F7DAD38>I<90397FC00FF8B590B57E02C314E002CF14F89139DFC03F
-FC9139FF001FFE000301FCEB07FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF
-3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913806E4913006E495A9139DFC07F
-FC02CFB512F002C314C002C091C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F80
-7FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0F
-FC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>114
-D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48C7121F127E00FE
-140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15
-806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA2
-6DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C
->I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B51280B7FCA4C6
-01E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090391FFC1F006DB5FC6D
-13FC01015B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5FCA50003EC000F6C81
-B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512C7010F1407010313FE
-9026007FF0EBFC00372E7CAC3E>I<B5D8FE1FB539801FFFF0A500019027C0003FE0C7EA
-7C007114786E17F86C6F6C5C6E1601017F6E6C5CA26E011F1403013F6F5C6E013F140701
-1F6F5CA26E0179140F010F048090C7FC6E01F95C6D02F0EBC01E15806D902681E07F5B18
-E003C3157C6D9139C03FF07815E76DDA801F5B18F803FF14F96E9039000FFDE018FF6E48
-6D5BA36E486D5BA26E486D90C8FCA24B7F02075DA26E48147C4B143C4C2C7EAB51>119
-D<B500FE90383FFFF0A5C601F0903803E0006D6C495A6D6C495A011F4AC7FC6E5B6D6C13
-7E6DEB807C6D6D5A6DEBC1F0EDE3E06DEBF7C06EB45A806E90C8FC5D6E7E6E7F6E7FA24A
-7F4A7F8291381F3FFCEC3E1F027C7F4A6C7E49486C7F01036D7F49487E02C08049486C7F
-49C76C7E013E6E7E017E141FB500E090B512FCA5362C7EAB3B>I
-E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fe ecbx1000 10 52
-/Fe 52 122 df<913803FFC0027F13F00103B512FC010FEB00FED93FF8133FD97FE0EBFF
-8049485A5A1480484A13C04A6C1380A36F1300167E93C7FCA592383FFFC0B8FCA4000390
-C7FCB3ABB5D8FC3F13FFA4303A7EB935>28 D<141C143C14F8EB01F0EB03E01307EB0FC0
-EB1F8014005B137E13FE5B12015B1203A2485AA2120F5B121FA25B123FA4485AA512FFB1
-127FA56C7EA4121F7FA2120F7F1207A26C7EA212017F12007F137E7F7F1480EB0FC0EB07
-E01303EB01F0EB00F8143C141C165377BD25>40 D<12E07E127C7E7E7F6C7E6C7E12037F
-6C7E7F12007F137E137FA2EB3F80A214C0131F14E0A2130F14F0A4EB07F8A514FCB114F8
-A5EB0FF0A414E0131FA214C0133F1480A2EB7F00A2137E13FE5B12015B485A5B1207485A
-485A90C7FC123E5A12F05A16537BBD25>I<ED0380B3ADBA12FEA3C8D80380C8FCB3AD3F
-417BB44A>43 D<EA0F80EA3FE0EA7FF0A2EAFFF8A213FCA3127FA2123FEA0F9CEA001C13
-3C1338A31378137013F0EA01E0A2EA03C0EA0780EA0F005A121C12180E1D798C1B>I<EA
-0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F800D0D798C1B>46
-D<141E143E14FE1307137FB5FCA3138FEA000FB3B3A5007FB61280A4213679B530>49
-D<EB0FFE90387FFFC048B512F0000714FC390FE03FFF261F800F1380263F000313C0D87F
-8014E0EBE00100FF6D13F07FA2ED7FF8A46C5A6C5A0006C7FCC8FCEDFFF0A216E05C16C0
-4A138016004A5A4A5AEC1FF05D4A5A4AC7FC14FE495AD903F01378495A495A495A49C712
-F8017C14F05B49130148B6FC5A5A5A5A5A4815E0B7FCA425367BB530>I<EB03FF011F13
-F0017F13FC3901FC07FF2603F003138048486C13C0496C13E0EA0FF86D14F0487EA66C48
-14E06C5A6C485AC714C04A138016004A5A4A5AEC3FF090380FFFC05D15F090380007FE91
-3801FF806E13C016E0ED7FF016F8ED3FFCA216FEEA1FC0487E487E487EA416FCA249137F
-007F15F801C0EBFFF06C5A6C6C4813E0260FFC0713806CB61200000114FC6C6C13F00107
-90C7FC27377CB530>I<001C15C0D81F80130701F8137F90B61280A216005D5D15F05D15
-804AC7FC14F090C9FCA7EB03FE90381FFFE0017F13F89038FE07FC9038F003FFD9C00113
-80496C13C090C7FC000E15E0C8127F16F0A216F8A3121FEA3FC0487E12FF7FA316F05B15
-FFD87F8014E0007EC713C0003E5B003F4913806C6C481300390FF01FFE6CB512F8000114
-E06C6C1380D90FF8C7FC25377BB530>53 D<49B47E010F13F0013F13FC9038FE01FF3A01
-F8007F804848EB3FC04848EB1FE0150F484814F01507121FA27F7F7F6D130F01FF14E014
-C09138E01FC06CEBF83F9138FE7F806C9038FFFE005D6C14F06C14FC6C14FF6D14806D14
-C090B612E0D803FD14F02607F07F13F848487E261FC00F13FC383F8003007F010013FE90
-C7127F151F00FE140715031501A21500A216FC7E6C14016D14F86C6C13036DEB07F06C6C
-EB0FE0D80FFEEB7FC00003B61200C614FC013F13F00103138027377CB530>56
-D<ED03E04B7EA24B7EA34B7EA24B7EA34B7EA292B57EA34A8015F302038015E1A2020780
-15C0020F80ED807FA2021F80ED003F4A80023E131FA2027E80027C7F02FC814A7FA20101
-824A7F49B77EA3498202C0C7FC010F824A147FA2011F8291C8123F4982013E151FA2017E
-82017C8101FE83B500F80107B61280A4413A7DB948>65 D<B812C017FC17FF18C028007F
-F000037F04007F717E717E171F84A2717EA74D5AA260173F4D5A4D5A4C13C0040F5B91B6
-00FCC7FCA2EFFF8002F0C713F0EF3FF8717E717E717E19807113C0A319E0A719C0A25F4D
-138019005FEF7FFE4C485AB912F018C095C7FC17F03B397DB844>I<DB3FFCEB01C00203
-B5EAC003021FECF00791B6EAFC0F01039039FC00FF3F4901C0EB1FFFD91FFEC77E494814
-03D97FF080494880485B48177F4849153F4890C9FC181F485A180F123F5B1807127FA249
-93C7FC12FFAD127F7FF003C0123FA27F001F1707A26C6C1780180F6C6D16006C6D5D6C17
-3E6C6D157ED97FF85D6D6C4A5A6DB44A5A010701C0EB0FE06D01FCEBFF80010090B548C7
-FC021F14F8020314E09126003FFEC8FC3A3B7BB945>I<B87E17F817FF18C028007FF800
-0713F09338007FF8EF1FFE717E050313807113C0A27113E0F07FF0A2F03FF8A219FC181F
-A219FEA419FFAC19FEA419FC183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF1F
-FEEF7FFC933807FFF0B912C095C7FC17FC178040397DB849>I<B912F0A426007FF8C7FC
-EF1FF8170717031701A21700A21878A3043C137C183CA41800167CA216FC150391B5FCA4
-ECF8031500167CA2163C180FA3181EA293C7FCA2183EA2183C187CA218FCA2EF01F81703
-170F173FEE01FFB9FC18F0A338397DB83F>I<B912C0A43A007FF800039338007FE0171F
-170F1707A21703A21701A318F0EE7800A41800A216F8A21501150791B5FCA4ECF8071501
-1500A21678A693C8FCADB7FCA434397DB83C>I<DB3FFCEB01C00203B5EAC003021FECF0
-0791B6EAFC0F01039039FC00FF3F4901C0EB1FFFD91FFEC77E49481403D97FF080494880
-485B48177F4849153F4890C9FC181F485A180F123F5B1807127FA24993C8FC12FFAB043F
-B61280A2127F7FDC0003EBC000123FA27F121FA26C7EA26C7F6C7F6C7F7ED97FF85C6D7E
-6DB45C010701C05B6D01FCEBFF3F010090B5EAFE0F021FECF8030203ECE0009126003FFE
-C9FC413B7BB94B>I<B612FCA439007FF800B3B3ADB612FCA41E397DB824>73
-D<B7FCA426007FF8C9FCB3ACEF0780A5170F1800A35FA25FA25F5F5E5EEE0FFE167FB8FC
-A431397DB839>76 D<B500F80403B512F06E5EA26E5ED8007FF1E000A2D97BFF161EA201
-796D5DA201786D5DA26E6C5DA36E6C4A5AA26E6C4A5AA26E6C4A5AA26E6C4A5AA26E6C14
-1EA36E6D5BA26E6D5BA26F6C5BA26F6C485AA36F6C485AA26F6C485AA26F6C48C7FCA292
-3803FF1EA36F13BCA26F13F8A2705AA2705AA213FCB500FC6D4848B612F0A2EE0F80EE07
-0054397DB85B>I<B500FC0203B512F0A28080C66C6D90390003F0006F6E5A81017B7F13
-798101787F6E7E6E7E6E7F6E7FA26E7F6E7F6E7F6E7F6F7E153F826F13806F13C06F13E0
-6F13F06F13F88117FCEE7FFEEE3FFF7013817013C17013E18218F17013F97013FDEF7FFF
-8383A28383838383187FA2183F181F01FC160FB500FC150718031801A244397DB84B>I<
-EDFFF8020FEBFF80027F14F0903A01FFC01FFC010790380007FFD91FFC010113C0D93FF0
-6D6C7E49486E7E49486E7E48496E7E48834890C86C7EA248486F1380A248486F13C0A200
-3F18E0A348486F13F0A400FF18F8AC007F18F06D5DA3003F18E0A26D5D001F18C0A26C6C
-4B13806C18006E5C6C6D4A5A6C5F6C6D4A5A6D6C4A5AD93FFC49485A6DB401075B0107D9
-C01F90C7FC010190B512FC6D6C14F0020F1480020001F8C8FC3D3B7BB948>I<B8FC17F0
-17FEEFFF8028007FF8000F13C0040113E07013F0EF7FF8EF3FFCA2EF1FFEA218FFA818FE
-A2EF3FFCA2EF7FF8EFFFF04C13E0040F13C091B7120017FC17E002F8C9FCB3A4B612FCA4
-38397DB841>I<EDFFF8020FEBFF80027F14F0903A01FFE03FFC010790380007FFD91FFC
-010113C049486D7FD97FE0EC3FF049486E7E488348496E7E4890C86C7EA248486F1380A2
-001F18C04981003F18E0A3007F18F04981A300FF18F8AC007F18F0A36D5D003F18E0A36C
-6C4B13C0A2000FDA1FC014806C6C90267FF0071300EDFFF86C903A81F07C0FFE6C903AC3
-C01E1FFC6CDA800F5BD97FE3ECBFF0D93FF36DB45AD91FFF5D010701C091C7FC01019038
-F01FFC6D6CB500F01308020F6E131C0200EBF9FC92260001FE133C9438FF80FC18FF8219
-F8A28319F0A27113E0A27113C0711380711300EF01FC3E4A7BB948>I<B712FCEEFFE017
-FC17FF28007FF8000F13C004017F707F717E717EA2717EA284A760A24D5A604D5A4D5A04
-035B041F90C8FC91B612FC17E0839139F8003FFCEE0FFF707F707F8284A2707FA584A51A
-601AF084177F1901DD3FFE13E0B600FC011F130394390FFF87C071EBFF8005011400CBEA
-1FFC443A7DB848>I<D907FF130E013FEBE01E90B5EAF83E0003ECFE7E3A07FC01FFFE39
-0FF0001F4848130F48481303491301007F140090C8FC167E5A163EA27F161E7F7F6D91C7
-FC13FC387FFFE014FEECFFF06C14FE6F7E6C816C15F06C816C81C681133F010F801301D9
-000F1480EC007F030F13C01503818100F0157FA3163FA27E17807E167F6C16007E6D14FE
-01E0495A01F813039039FF801FF800FC90B512E0D8F83F5CD8F00749C7FC39E0007FF02A
-3B7BB935>I<003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA200
-7C1707A200781703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>I<B6
-00FC011FB512C0A426007FF8C8381FC000725AB3B3181F013F94C7FC8060011F163E6D6C
-157E187C6D6C15FC6D6D495A6D6DEB07F06D01F0EB1FE0DA7FFEEBFFC0021FB6C8FC0207
-5C020014F0030F1380423A7DB849>I<007FB9FCBA1280A36C18003905786A4A>95
-D<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5A
-EA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A12FF
-5BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE003
-2A257DA42E>97 D<13FFB5FCA412077EAF4AB47E020F13F0023F13FC9138FE03FFDAF000
-13804AEB7FC00280EB3FE091C713F0EE1FF8A217FC160FA217FEAA17FCA3EE1FF8A217F0
-6E133F6EEB7FE06E14C0903AFDF001FF80903AF8FC07FE009039F03FFFF8D9E00F13E0D9
-C00390C7FC2F3A7EB935>I<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C0
-48485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01
-E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13F00101138023
-257DA42A>I<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC07F00
-03EB001FD807FC1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C5B00
-0F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9011F13E1010113012F3A7DB935>
-I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC
-1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F
-6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025
-257DA42C>I<EC1FF0903801FFFC010713FF90391FF87F8090383FE0FFD9FFC113C0A248
-1381A24813016E1380A2ED3E0092C7FCA8B6FCA4000390C8FCB3ABB512FEA4223A7DB91D
->I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F48486C13
-8F003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907
-FE07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E0
-6C15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D5C6C
-6C495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>I<
-13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A7E4A
-14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>I<EA01F0EA07FC487EA2487E
-A56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512F8A4153B7DBA1B>I<13FFB5
-FCA412077EB3B3ACB512FCA4163A7DB91B>108 D<01FED97FE0EB0FFC00FF902601FFFC
-90383FFF80020701FF90B512E0DA1F81903983F03FF0DA3C00903887801F000749DACF00
-7F00034914DE6D48D97FFC6D7E4A5CA24A5CA291C75BB3A3B5D8FC1FB50083B512F0A44C
-257DA451>I<01FEEB7FC000FF903803FFF8020F13FE91381F03FFDA3C01138000071378
-0003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>I<903801FFC0
-010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F814913
-03007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C49
-5A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>I<9039FF01FF80B5000F13
-F0023F13FC9138FE07FFDAF00113800003496C13C00280EB7FE091C713F0EE3FF8A2EE1F
-FCA3EE0FFEAA17FC161FA217F8163F17F06E137F6E14E06EEBFFC0DAF00313809139FC07
-FE0091383FFFF8020F13E0020390C7FC91C9FCACB512FCA42F357EA435>I<9038FE03F0
-00FFEB0FFEEC3FFF91387C7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F00150C
-92C7FC91C8FCB3A2B512FEA422257EA427>114 D<90383FF0383903FFFEF8000F13FF38
-1FC00F383F0003007E1301007C130012FC15787E7E6D130013FCEBFFE06C13FCECFF806C
-14C06C14F06C14F81203C614FC131F9038007FFE140700F0130114007E157E7E157C6C14
-FC6C14F8EB80019038F007F090B512C000F8140038E01FF81F257DA426>I<130FA55BA4
-5BA25B5BA25A1207001FEBFFE0B6FCA3000390C7FCB21578A815F86CEB80F014816CEBC3
-E090383FFFC06D1380903803FE001D357EB425>I<01FFEC3FC0B5EB3FFFA4000714016C
-80B3A35DA25DA26C5C6E4813E06CD9C03E13FF90387FFFFC011F13F00103138030257DA4
-35>I<B539F001FFF8A4000390C7EA1F00161E6E133E6C153C6E137C6C15786E13F8017F
-5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D
-13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA22D257EA432>I<B500F1B538803FFFA43D
-07FE000FF80003E06C6C010715C082028015076C6E6C148015076C01C0ED0F00826E485C
-017FED801E5D90273FF01E7F5B17C0DAF83E147C011F90393C3FE078037C14F8903B0FFC
-781FF0F0A29139FEF00FF10107EDF9E002FF14FB6D496CB45AA24B7E6D5EA26D496C90C7
-FCA292C7FC6E5CA2023E147C023C143C40257EA445>I<B539F01FFFF0A4000390398003
-F8006C01C013E06C1407D97FE05B6D6C485A6E48C7FC90381FFC3E010F5B903807FEFC6D
-6C5A5D6D5B6D5B6E7E6E7E814A7EA24A7E903801F3FFD903E37FD907C17FEB0FC049486C
-7E4A6C7E013E80496D7E49130F00016E7EB590383FFFF8A42D257EA432>I<B539F001FF
-F8A4000390C7EA1F00161E6E133E6C153C6E137C6C15786E13F8017F5CECF001013F5C14
-F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E
-5AA26E5AA26E5AA26E5AA292C8FCA25C141E003F133E387F803C38FFC07C147814F8EBC1
-F0EBC3E06C485A387D1F80D83FFFC9FCEA1FFCEA07F02D357EA432>I
-E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Ff ecbx1440 14.4 24
-/Ff 24 121 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
-FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
-15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
-C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
-E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
-5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
-140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
-913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
-48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
-8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
-FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
-FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
-4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
-0F92C7FC010114FCD9001F1380374F7BCD42>I<932603FFF01407047F01FF140F0307B6
-00E0131F033F03F8133F92B700FE137F02039126C003FF13FF020F01F8C7EA3FC1023F01
-C0EC0FE391B5C80003B5FC4901FC814949814901E082011F498249498292CA7E49488349
-48835A4A83485B4885A24849187FA2485B1B3FA2485B1B1FA25AA21B0091CDFCA2B5FCAE
-7EA280A36C1A1FA36C7FA21B3F6C7F1B3E6C7F1B7E6C6D187C6C1AFC6E18F86C19016D6C
-EF03F06D7E6FEE07E06D6DEE0FC001076DEE1F806D01F8EE3F006D6D16FE6D01FF4B5A02
-3F01C0EC07F8020F01FCEC3FF00203903AFFC001FFC0020091B6C7FC033F15FC030715F0
-DB007F1480040301F0C8FC505479D25F>67 D<BB12FEA5D8000F01E0C700077FF0007F19
-1F190785858586A2F23F80A21A1FA31A0FA4DD01F014C01A07A497C7FCA21703A3170717
-0F171F17FF92B6FCA5EDE000171F170F17071703A317011BF8A3F201F0A394C8FCA21A03
-A21BE0A21A07A31A0F1BC01A1F1A3FA21A7F1AFF4F13801907191F197F060FB5FCBCFCA2
-1B00A34D527CD156>69 D<B600F04EB612F06F606F60A3D800076D4E49C7FCA2DADFFFF0
-1F7FA202CF6D173EA302C76D177CA202C36D17F8A202C16DEE01F0A202C06DEE03E0A36F
-6CEE07C0A26F6CEE0F80A26F6CEE1F00A36F6D153EA26F6D5DA26F6D5DA36F6D4A5AA26F
-6D4A5AA2706C4A5AA3706C4A5AA2706C4AC7FCA2706D133EA3706D5BA2706D5BA2706D48
-5AA2706D485AA3716C485AA2716C485AA2716C48C8FCA37113BEA27113FCA2715BA3715B
-A2715BA2D91FF06F5AB600FE050FB712F0A2725AA272C7FC74527CD17D>77
-D<003FBB12FCA59126C0007FEB000301FCC7ED003FD87FF0F00FFE491807491803491801
-90C81600A2007E1A7EA3007C1A3EA500FC1A3F481A1FA6C91700B3B3AC49B912C0A55051
-7BD05B>84 D<B700FE4AB612F0A5D8000F01E0CA387FC000091FC7FCB3B3B26D611B3E81
-1B7E6D197CA26D6D17FC636D6D1601027F4D5A6F4C5A023F170F6E6C4C5A6E6D4B5A6E01
-E003FFC8FC6E01F8EC03FE020001FEEC1FFC923B7FFFE001FFF8031F90B612E003071680
-03004BC9FC041F14F0040091CAFC5C537CD165>I<EC3FFE0107B512E0011F14FC017F14
-FF2701FFC00F13C02703FE00037F486C01007F6E6D7E486D80707EA2707EA3707F6C5B6C
-90C7FC6C5AC9FCA60307B5FC0203B6FC147F0103B7FC011FEBF00F017F1300EBFFFC0003
-13F04813C0485B4890C7FC5A5B485AF081F012FF5BA35EA26D5C127F6D5C003F03F713C3
-6DD901E314E06CD9C00714FF00079026F01F8114C06C90B5C61480C602FC6D1300011F01
-F0EB3FFC01010180EB07F03C387CB642>97 D<EB3FF8B5FCA51203C6FCB3A4EE7FF00307
-B5FC031F14C0037F14F0913AF9FF007FFCDAFFF8EB1FFF03E001077F03806D7F92C76C7F
-4A6E7F5C4A6F7E85183F85A38584A31A80AD1A00A36061A261187F616E15FF616E4A5B6E
-4A5B6F495BDACFE04990C7FCDA87F0EB3FFE913A01FE01FFF8496CB65A49013F14C04901
-0749C8FC90C813E041547DD249>I<913803FFE0023F13FE91B67E010315E0010F903800
-3FF8D93FFCEB07FC4948497E4948131F4849497E485B485BA24890C7FC5A5B003F6F5A70
-5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE0F80A26C6D141F18006C6D5C6C6D
-143E6C6D147E6C6D5C6D6C495A6DB4EB07F0010F9038C01FE06D90B5128001014AC7FCD9
-003F13F80203138031387CB63A>I<943803FF80040FB5FCA5EE003F170FB3A4913803FF
-80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF813014948
-7F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA3121F
-7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F01
-0790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13F8
-49B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F4849
-6D7E48824890C77E1880485A82003F17C0A3485A18E082A212FFA290B8FCA401FCCAFCA6
-127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C6D147E
-D97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC020113E0
-33387CB63C>I<DA1FFE14FE49B539E007FF80010FDAFC1F13C0013FDAFF7F13E090267F
-F807EBFF072701FFE001EBF07F48497E484990387FF83F91C7003F14C048EEFC1F489338
-FE070049021F90C7FCA2003F82A9001F5EA26D143F6C5E6C5E6E137F6C6D495A6C6D485B
-6CD9F80713804890B6C8FCD803EF14FC01C114E02707C01FFEC9FC49CBFCA2487EA37FA2
-7F13FC90B612FE6CEDFFF017FCEFFF806C8318F06C836C837F48B87E1207D80FFCC70003
-7F4848EC003F4848150F48486F138083485A83A56D5D007F18006D5D003F5F6C6C4B5A01
-FE153FD807FFED7FF06C01C049485AC601FC011F1380013FB648C7FC010F15F8010115C0
-D9000F01F8C8FC3B4F7CB542>103 D<133FEBFFC0487F487FA2487FA66C5BA26C5B6C5B
-013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C547CD324>105
-D<EB3FF8B5FCA51203C6FCB3B3B3B1B612F8A51D537CD224>108
-D<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92397E003FFE000302F86D
-7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3ACB6D8F807B612C0A542
-367CB549>110 D<913801FFC0023F13FE91B67E010315E0010F018013F8903A3FFC001F
-FED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F4883488349153F001F83A2003F
-8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2001F5FA26C6C4B5AA26C
-6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB46CB45A010790B512F0
-010115C0D9003F49C8FC020313E039387CB642>I<D93FF8EB7FF0B50107B5FC031F14C0
-037F14F09126F9FF0013FCDAFFF8EB3FFF000302E0010F7FC602806D7F92C76C7F4A824A
-804A6E7F85187F85A2183F85A4721380AD4E1300A44E5AA26118FF616E5C616E4A5B6E4A
-5B6F495B03E04990C7FC6FEB7FFE913AF9FE01FFF802F8B65A033F14C0030749C8FC0300
-13E093CAFCB1B612F8A5414D7DB549>I<90393FF001FCB590380FFF804B13E0037F13F0
-9238FE1FF89138F1F83F00019138F07FFC6CEBF3E015C0ECF780A2ECFF00EE3FF84AEB1F
-F0EE0FE093C7FC5CA45CB3ABB612FEA52E367DB535>114 D<903903FFC00E011FEBFC1E
-90B6127E000315FE3907FE003FD80FF0130F4848130348481301491300127F90C8127EA2
-48153EA27FA27F01F091C7FC13FCEBFF806C13FEECFFF06C14FE6F7E6C15E06C816C15FC
-6C81C681133F010F15801301D9000F14C0EC003F030713E0150100F880167F6C153FA216
-1F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03FE9039FF801FFC486CB512F0D8F8
-1F14C0D8F00791C7FC39E0007FF02B387CB634>I<147CA614FCA41301A31303A21307A2
-130F131F133F137F13FF1203000F90B512FEB7FCA426007FFCC8FCB3A9EE0F80ABEE1F00
-6D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C023F1380DA03FEC7FC294D7ECB33
->I<D93FF8913801FFC0B50207B5FCA50003ED001FC61607B3AE5FA35FA25F137F5F6D6C
-14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F876D90B51207010114FC6D6C13F002
-0701C091C7FC42377CB549>I<B6D8F001B512FCA5C66C48C7381FF8006D6CEC0FE06D6D
-495A606D6D49C7FC6D6D137E6D6D13FE6D6D485A4C5A6D01FC5B6E6C485A6E6C485A161F
-6EEBBF806E01FFC8FC6E5B5E6E5B806E7F6F7EA26F7E834B7F92B5FC83DA01FB7FDA03F1
-7FDA07F07F4A5A4A486C7E4B6C7E4A486C7F147E02FE6D7F49486D7F49486D7F4A814948
-7F49486D7F011F6F7ED97FE06E7EB500FE0107B6FCA540357EB445>120
-D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fg ecss1000 10 45
-/Fg 45 122 df<903901F807F0EB07FE130F131F133FEB7F0EEB7E0201FEC8FC5BA21201
-AEB538FE07F0A53801FC00B3AE243D7FBC2C>28 D<00FE13FEAD007E13FCA5007C137CAC
-171E77BB2A>34 D<1538157CB3A5003FB812F0B912FCA4C8007CC8FCB3A6153836367BAF
-41>43 D<12FEA7121E123CA312381278A21270A212F00711788617>I<12FEA707077886
-17>46 D<12FEA71200B3A512FEA7072578A417>58 D<12FEA71200B3A512FEA7121E123C
-A312381278A21270A212F0072F78A417>I<EC07F8A24A7EA24A7EA2157EEC3F7F143EA2
-91387E3F80A2147C02FC7F151FA2D901F87F150F01038014F0A201076D7E14E0A2010F6D
-7E14C0A2011F6D7E1480013F808191C7FC4981167F137E01FE6E7E90B7FCA24882A3D803
-F8C7EA0FF05B00078216075B000F8216035B001F8216015B003F6F7EA248C91380177F12
-7E00FE17C0323A7EB937>65 D<B67E15F815FE6F7E82D9000113F09138003FF8150F6F7E
-6F7E150115008282A45E5E15014B5A15074B5AED3FF0EDFFC090B65A4BC7FC15F815FF16
-C0D9000313F09138003FF8ED07FC6F7EED00FFEE7F80EE3FC0A2161F17E0160FA4161F17
-C0163FA2EE7F80ED01FF4B1300ED0FFEED7FFC90B65A16E016804BC7FC15E02B3A79B937
->I<913803FF80021F13F891B6FC4915C013075B4948C61380D97FF0130FD9FFC013034A
-13014890C9FC485A485A5B120F5B485AA2485AA3485AA448CAFCAC6C7EA46C7EA36C7EA2
-6C7E7F12077F6C7E6C6C15206C6D14E06E1301D97FF0130FD91FFE137F6DB6FC6D15C001
-0115006D5C021F13F0020313802B3E7BBB35>I<B612C015F815FE6F7E16E090C77FED3F
-F8ED0FFCED03FE6F7E81EE7F8017C0163FEE1FE0A2EE0FF0A2160717F8A31603A217FCAB
-17F8A21607A217F0160FA2EE1FE0A2EE3FC0A2EE7F8016FF4B13004B5AED0FFCED3FF8ED
-FFF090B65A168093C7FC15F815C02E3A78B93C>I<B712F0A690C9FCB390B612C0A590C9
-FCB3A390B612FCA7263A78B932>I<913803FF80023F13F891B512FE0103ECFFC04915E0
-5B90383FFE00D97FF0EB1FC0D9FFC013074A13014890C8124048481500485A5B120F5B48
-5AA2485AA3485AA448CAFCA992383FFFF0A36C7EA2ED0007A26C7EA36C7EA26C7E7F1207
-7F6C7E6C7E6C7F80EB7FF0D93FFE137F010FB6FC7F6D15C001001500023F13F802031380
-2C3E7BBB37>71 D<12FFB3B3B3A4083A79B917>73 D<B4FCB3B3B090B612C0A6223A79B9
-2D>76 D<D8FFC0ED07FFA36D5DA26D5D00FE177FA26D153F0178153EA2017C157EA26D15
-FCA3013F14016D15F8A26E1303010F15F06E1307A2010715E06E130FA2010315C06E131F
-A2010115806E133FA2010015006E5B027C137E027E13FEA2023E5BEC3F01A2021F5B1583
-A2020F5B15C702075BA3913803EFC0A215FF6E5BA26E90C7FCA392C8FCA2383A78B949>
-I<EC07F891387FFF8049B512E04980010F14FC90391FFC0FFE90393FE001FF903A7F8000
-7F8049C76C7E48486E7E48486E7E49140700078248486E7E491401001F82491400A2003F
-824981007F1780A390C9123FA24817C0AC6C6CED7F80A56C6CEDFF00A26D5C001F5EA26C
-6C4A5AA26C6C4A5A6C6C4A5A6D141F00015E6C6C4A5AD97FC0EBFF806D6C4890C7FC9039
-1FFC0FFE6DB55A6D5C010114E06D6C1380DA07F8C8FC323E7BBB3D>79
-D<B612C015F815FF8216E090C77FED1FF8ED07FC15036F7E150082821780A2163FA4167F
-A217005E5E15014B5A1507ED1FF8EDFFF090B65A168093C7FC15F815C090CAFCB3A6293A
-79B935>I<B67E15F815FE6F7E8290C77FED1FF06F7EED03FC150182150082A282A35EA2
-5E15015E1503ED0FF84B5AEDFFE090B65A5E4BC7FC15F815E09038000FF0140781140381
-1401816E7E8182153F826F7EA26F7EA26F7E1503826F7EA26F7EA2EE7F80EE3FC0A2EE1F
-E02B3A78B936>82 D<EB03FF011F13F0017F13FE48B612804815C05A4848C6FCD81FF0EB
-1F804848130701801303007F140090C9FCA212FEA67E7E7F7FEA3FF013FC381FFFC06C13
-FC6CEBFF806C14E06C14F86C80013F7F01077FD9007F1380020713C0020013E0157FED1F
-F0150FA2ED07F8A21503A6ED07F0124012600078EC0FE0007C141FB4EC3FC001C0EBFF80
-EBFC036CB61200001F5C6C14F800015C6C6C13C0D907FEC7FC253E7CBB2E>I<B91280A6
-C7D807F8C8FCB3B3B0313A7DB938>I<B4ED1FC0B3B3A76CED3F807FA36C6CEC7F00A26C
-6C14FE6C6C13016D495A6C6C495A6C6CEB1FF03A01FFC07FE06C90B55A013F5C6D49C7FC
-010713F89038007FC02A3C79B939>I<EB1FF0EBFFFC000313FF000F14804814C09038E0
-1FE09038000FF0001C13070018EB03F81210C7FCEC01FCA7143FEB0FFF90B5FC1203120F
-381FFE01EA3FE0EA7F80130012FEA414037E387F800FEBE03F6CB5FC7E6C13F96C13E1D8
-01FEC7FC1E287DA628>97 D<12FEB3A4EB01FCEB0FFF013F13C090B57EB67E9038F03FF8
-EBC007496C7EEB0001486D7EA2157FA3ED3F80AAED7F00A35D5D14016C5CEB80039038C0
-0FF89038F03FF090B55A485C6D5BD91FFEC7FC380007F8213D7ABB2B>I<EB03FE90381F
-FFC0017F13E090B512F84814FC3803FC033907F8007CD80FE01338484813081500485AA2
-48C8FCA3127E12FEA9127FA36C7EA26D1302001F14066C6C131E6C6C137E9038FC03FE6C
-B5FCC614FC6D13F0011F13C0903807FC001F287DA625>I<ED3F80B3A4EB0FE0EB3FFC90
-B5FC4814BF4814FF3807FE07380FF801381FE00049137F003F143F5B127F90C7FCA312FE
-AA127FA36C7E157F6C7E6D13FF380FF0033807FE076CB512BF6C143F6C13FEEB7FF8D90F
-E0C7FC213D7DBB2B>I<EB07F8EB1FFE90387FFF8048B512C04814E03907FC0FF0390FF0
-03F8EBE001391FC000FC49137C003F147E90C7123E5A127E151F12FEB7FCA500FCC8FCA2
-7EA2127EA2127F7E7F6C7E6D13026C6C130E6C6C133E3903FE01FE6CB5FC6C14FC6D13F0
-011F13C0903803FE0020287EA625>I<14FF010313C0130F5B5BEB7F819038FE00404913
-0012015BA21203ADB512FCA5D803F8C7FCB3AE1A3D7FBC19>I<903907E001F890383FFC
-1F90397FFEFFFC48B6FC5A9039F81FF8003907F00FE048486C7EEBC003A248486C7EA76C
-6C485AA2EBE0076C6C485A6C6C485A48B5FC5D4849C7FCEB3FFC381F07E090C9FCA37F7F
-6CB512C015F815FE6CECFF8016C04815E05A3A3F80007FF048C7120F007EEC03F8481401
-A46C1403007E15F0D87F80130F6C6CEB1FE03A1FFC01FFC06CB612806C1500000114FC6C
-6C13F0010790C7FC26387EA52A>I<12FEB3A4EB01FC90380FFF804913C0017F13E090B5
-12F039FFF81FF8EBE007EBC003018013FC14011300A35AB3A71E3C7ABB2B>I<12FFA812
-00AC127FB3B308397BB814>I<12FEB3A5EC03FE4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC
-495A5C495A495A495A495A495A497EB57EA280EBF7F813E3EBC1FCEB80FE497E487F6E7E
-81141F6E7E8114076E7E6E7E811400157F1680213C7ABB29>107
-D<12FEB3B3B3A6073C7ABB14>I<D901FCEB03F83BFE0FFF801FFF496D481380017F6DB5
-12C090B500F114E03CFFF81FFBF03FF0D9E007EBC00F903AC003FF80070180020013F86E
-140301005BA3485CB3A735267AA542>I<EB01FC39FE0FFF804913C0017F13E090B512F0
-39FFF81FF8EBE007EBC003018013FC14011300A35AB3A71E267AA52B>I<EB03FE90380F
-FF80013F13E090B512F848803903FE03FE3907F800FF4848EB7F8049133F4848EB1FC048
-48EB0FE0A290C712074815F0A2007E140300FE15F8A9007FEC07F0A36C6CEB0FE0A26C6C
-EB1FC06D133F6C6CEB7F806C6CEBFF003903FE03FE6CB55A6C5C6D5B011F13C0D903FEC7
-FC25287EA62A>I<EB01FC38FE0FFF013F13C090B57EB67E9038F03FF8EBC00F90388003
-FC1300486D7E14008181A21680153FA9ED7F00A35D5D14016C495AEB80076D485A9038F0
-3FF090B55A485C6D5BD91FFEC7FCEB07F890C9FCAF21367AA52B>I<14F0EAFC07130F13
-3F137F13FF00FD130013FCEAFFF05B5BA25B90C7FCA35AB3A414267AA51C>114
-D<EB7FE03801FFFC0007EBFF804814C05A383FC03F90380007801401007E90C7FCA4127F
-A26C7E13F0EBFF806C13F06C13FC6C7F6C7FC61480131F010013C0143FEC0FE0A21407A3
-124012600078EB0FC000FE131F39FFC07F8090B5FC6C1400001F5B000313F838007FC01B
-287EA620>I<EA01FCAAB6FCA5D801FCC7FCB3A76D138014013900FF07C014FFA26D1300
-EB3FFCEB1FE01A307FAE1E>I<00FEEB01FCB3AA1403A214076C131F387F807F90B5FC6C
-13F914F1000F13C1D803FCC7FC1E267AA42B>I<B4EC0FE06CEC1FC0A27F003FEC3F80A2
-7F001FEC7F00A26C6C137E15FEA26C6C485AA36C6C485AA3D801FC5B140700005C13FE14
-0F017E5B137F141F013F5BA2149FD91FBFC7FCA3EB0FBE14FE6D5AA323257FA426>I<00
-FED901FEEB01FC007F17F802031403A2018013DF003FEE07F01407ED9F80D81FC016E002
-0F140F158FD80FE002C013C0030F131F141FED07E0D807F01680021E143F143E0003DA03
-F0130013F8023C5C0001017C147EED01F813FC027814FE0000D9F8005BA24A13FC017C5D
-167D137E5C013EEC3DF0013F143F5C011F5D161F36257FA439>I<D87F80EB0FE0003FEC
-1FC06C6C133F6DEB7F806C6C1400000714FE6C6C485A3801FC0301FE5B6C6C485A6D485A
-90383F9FC0EB1FDF6DB45A92C7FC6D5A6D5A1301A2497E1307497EECDF8090381F9FC090
-383F0FE0496C7EEBFE0301FC7F00016D7E48486C7E4848137F120F49EB3F804848EB1FC0
-484814E0007FEC0FF048C7EA07F8252580A426>I<B4EC0FE06CEC1FC0A26C7EED3F807F
-001FEC7F00A26C7E15FE7F00075C1401EA03F85DEBFC0312015D3800FE075D137E140F01
-7F5B133FA290381F9F80A292C7FC130FA2EB079E14DEA2EB03FCA26D5AA35C13035CA213
-075C130FA2495A1220D8383FC8FCEA3FFEA25B5BEA0FE023367FA426>I
-E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fh ecrm1000 10 69
-/Fh 69 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
-8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
-01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>27
-D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
-A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
-12C0A32A3B7FBA2E>I<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485A
-A212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F1207
-7F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40
-D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7F
-A21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A2
-5BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<1530B3A8B912FCA2C800
-30C8FCB3A836367BAF41>43 D<121C127FEAFF80A213C0A3127F121C1200A412011380A2
-120313005A1206120E5A5A5A12600A19798817>I<B512FCA516057F941C>I<121C127FEA
-FF80A5EA7F00121C0909798817>I<EB03F8EB1FFF90387E0FC09038F803E03901E000F0
-484813780007147C48487FA248C77EA2481580A3007EEC0FC0A500FE15E0B3007E15C0A4
-007F141F6C1580A36C1500A26C6C133EA26C6C5B6C6C5BEBF0013900F803E090387E0FC0
-D91FFFC7FCEB03F823397DB62A>48 D<EB01C013031307131F13FFB5FCA2131F1200B3B3
-A7497E007FB512F0A31C3779B62A>I<EB0FF0EB7FFE48B57E3903E03FE0390F000FF000
-1E6D7E001C6D7E486D7E5A6E7E126012FE6CEC7F807FA56CC7FC121CC8FCEDFF00A25D14
-015D14035D4A5A4A5A5D4A5A4AC7FC147E5C495A14E0495A495A49C8FC011EEB01805B5B
-49130348481400485A485A90C75A48B6FC5A5A485CB6FCA321377CB62A>I<EB07F8EB3F
-FF90B512C03901F80FF03903C007F848486C7E390E0001FEEA0F80391FE000FF7FA56C5A
-6C5AC7485AA25D14035D4A5A5DEC0F80027FC7FCEB1FFCECFF809038000FE06E7EEC01FC
-816E7EED7F80A216C0A2153F16E0A2121EEA7F80A2487EA316C0157F491480007EC7FC00
-70ECFF006C495A121E390F8003F83907F00FF00001B512C06C6C90C7FCEB0FF823397DB6
-2A>I<1538A2157815F8A2140114031407A2140F141F141B14331473146314C313011483
-EB030313071306130C131C131813301370136013C01201EA038013005A120E120C5A1238
-12305A12E0B712F8A3C73803F800AA4A7E0103B512F8A325387EB72A>I<0006140CD807
-80133C9038F003F890B5FC5D5D158092C7FC14FC38067FE090C9FCAAEB07F8EB1FFE9038
-780F809038E007E03907C003F0496C7E130000066D7E81C8FC8181A21680A4121C127F5A
-7FA390C713005D12FC00605C12704A5A6C5C6C1303001E495A6C6C485A3907E03F800001
-B5C7FC38007FFCEB1FE021397CB62A>I<EC3FC0903801FFF0010713FC90380FE03E9038
-3F800790387E001F49EB3F804848137F485A12075B000FEC3F0049131E001F91C7FC5B12
-3FA3127F90C9FCEB01FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E49
-7F16805BED1FC0A390C713E0A57EA47F123F16C0A2001FEC3F807F000F15006D5B000714
-FE6C6C5B6C6C485A3900FE07F090387FFFC0011F90C7FCEB03FC23397DB62A>I<123012
-38123E003FB612E0A316C05A168016000070C712060060140E5D5D00E014304814705D5D
-C712014A5A4AC7FC1406140E5CA25C1478147014F05C1301A213035C1307A2130FA3131F
-5CA2133FA5137FA96DC8FC131E233A7BB72A>I<EB03F8EB1FFF017F13C09038FC07F039
-01E001F83903C0007C4848133C90C7123E48141E000E141F001E80A3121FA26D5B6D131E
-7FD80FF85B6D137C01FF13786C6D5A6CEBE3E0ECF780C601FFC7FC6D5A6D6C7E010F13E0
-013F7F01F97F3901E07FFE48486C7E380F800F48486C1380001E010113C0487F007C143F
-0078EC1FE0150F00F81407481403A21501A36C15C0A200781403007C15806C14076CEC0F
-006C6C131ED807E0137C3903F803F0C6B55A013F1380D907FCC7FC23397DB62A>I<121C
-127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>58
-D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A213C0A3127F121C1200A412
-011380A2120313005A1206120E5A5A5A12600A3479A317>I<EB3FE03801FFFE3907C03F
-80390E000FC0003CEB07F000301303007014F8007C130100FE14FC7EA4127E003CEB03F8
-C7FCEC07F0A2EC0FE0EC1F80EC3F00147E147C5C495A5C495A5CA249C7FCA31306AA90C8
-FCA8130EEB3F80497EA56D5A010EC7FC1E3B7CBA27>63 D<1538A3157CA315FEA34A7EA3
-4A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC
-6003A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121F
-A2496E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3
-373C7DBB3E>65 D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2
-707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE
-07F0707E707E83707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB
-7FF0B812C094C7FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01
-FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F
-12014848151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD12
-7F6DED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15
-386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13
-F002011380313D7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0
-EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0F
-F0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC
-16F816C036397DB83F>I<B812FEA3000190388000076C90C8FC173F838383A383A31880
-170116C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E0
-93C712C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397EB838
->I<B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2
-ED0180A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0
-B612C0A32F397DB836>I<B648B512FEA30001902680000313006C90C76C5AB3A491B6FC
-A391C71201B3A6486D497EB648B512FEA337397DB83E>72 D<B612C0A3C6EBC0006D5AB3
-B3AD497EB612C0A31A397EB81E>I<013FB512E0A39039001FFC00EC07F8B3B3A3123FEA
-7F80EAFFC0A44A5A1380D87F005B0070131F6C5C6C495A6C49C7FC380781FC3801FFF038
-007F80233B7DB82B>I<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770
-A317F0A216011603160FEE1FE0486D13FFB8FCA32D397DB834>76
-D<B5933807FFF86E5DA20001F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9
-C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318A26E6C
-1330A36E6C1360A26E6C13C0A3913901FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED
-1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48497EB500C00203B512F8A2ED018045397DB8
-4C>I<B5913807FFFE8080C69238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2
-EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81140F6E7E8114036E7E168080ED7FC016E015
-3FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA2
-16071603A216011600A2177E486C153E487ED80FFC151EB500C0140EA2170637397DB83E
->I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F0
-49C76C7E01FE6E7E48486E7E49157E0003167F4848ED3F80A24848ED1FC0A2001F17E049
-150F003F17F0A3007F17F8491507A300FF17FCAC007F17F86D150FA3003F17F0A26C6CED
-1FE0A36C6CED3FC0000717806D157F000317006C6C15FEA26C6C4A5A017F4A5A6D6C495A
-6D6C495AD907E0EB1F80D903F8017FC7FC903900FE01FC91381FFFE0020390C8FC363D7B
-BA41>I<B712C016FC16FF0001D9800013C06C90C7EA1FE0707EEE03F883707EA2707EA2
-1880A71800A24C5AA24C5A5FEE0FF04C5AEEFF8091B548C7FC16F091CAFCB3A5487FB6FC
-A331397EB838>I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7E
-D93F80EB07F049C76C7E01FE6E7E48486E7EA24848157F0007178049153F000F17C04915
-1F001F17E0A24848ED0FF0A3007F17F8A2491507A200FF17FCAC007F17F8A26D150FA200
-3F17F0A26C6CED1FE0A36C6CED3FC00007027C14804AB4FC3C03F80383807F003B01FC07
-01C0FEEC0E002600FE0CEBE1FC017FEC63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806D
-B449C7FC0100D981FC130CEC1FFF0203131C91C7001E131C161F183CEF807CEFC0F8EE0F
-FFA318F08218E07013C07013809338007E00364B7BBA41>I<B612FEEDFFE016F8000190
-388007FE6C90C76C7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F80
-04FFC8FCED07FC91B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F0
-0180A217F8160F1803486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F039
-3B7DB83D>I<D90FF813C090383FFE0190B512813903F807E33907E000F74848137F4848
-133F48C7121F003E140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13
-F86CB47E6C13F8ECFF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0
-EC007FED3FF0151F150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C
-15C06C140F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC25
-3D7CBA2E>I<003FB812E0A3D9C003EB001F273E0001FE130348EE01F000781600007017
-70A300601730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C
->I<B6903807FFFEA3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C
-80171C133F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F
-807E91381FFFF8020713E09138007F80373B7DB83E>I<B500FC91387FFF80A300030180
-91380FFC006C90C8EA07E0715A6C705A6E1403017F93C7FCA280013F1506A26E140E011F
-150C80010F5DA28001075DA26E147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8
-FCA291383FC006A215E0021F5BA2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002
-015BA26E6C5AA36FC9FCA3153EA2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA300
-07902780001FFEC7EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A2
-6E5F017F6E6C1406A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA2
-6D6C011C6D5BEE181FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003
-FCA203805D913B7F818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98
-A215F6DA0FFCEC3FF0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC
-4B80503B7EB855>I<B500FE91383FFFE0A3000301E0913807FE00C649EC03F0017F6F5A
-606D6C5D6D6C140395C7FC6D6C1406A26D6C5C6D6C141C17186D6C143817306D6D5B6E6C
-13E05F91383FE0015F91381FF003DA0FF890C8FC1606913807FC0E160C913803FE1C9138
-01FF185E6E13B016E0157F6F5AB3A24B7E023FB512C0A33B397FB83E>89
-D<003FB7FCA39039FC0001FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A
-12704B5A5E006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC
-5B495AA2495A5C130F4948EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700
-485A495C001F5D48485C5E4848495A49130FB8FCA329397BB833>I<007FB81280B912C0
-A26C17803204797041>95 D<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E
-13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F
-485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18383FC01E3A0FE0781FF0
-3A03FFF00FE03A007F8007C026277DA52A>97 D<EA03F012FFA3120F1203B0EC1FE0EC7F
-F89038F1E03E9039F3801F809039F7000FC001FEEB07E049EB03F049EB01F85BED00FCA2
-16FEA2167E167FAA167E16FEA216FC15016D14F8ED03F07F01EEEB07E001C6EB0FC09039
-C7801F00903881E07E903800FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF8090387E
-03E03901F80070484813F83907E001FC380FC003A2EA1F80123F90380001F848EB00F015
-00A2127E12FEAA127E127FA26C14067F001F140E6D130C000F141C6C6C13386C6C13706C
-6C13E039007C07C090381FFF00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150FB0
-EB03F8EB1FFF90387E078F9038F801EF3903F0007F4848133F4848131FA24848130F123F
-90C7FC5AA2127E12FEAA127E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A
-01F801CFFF39007C078F90381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C
-0FC03901F803E03903F001F0D807E013F8380FC0004848137CA248C7127E153E5A153F12
-7E12FEA3B7FCA248C8FCA5127EA2127FA26C14037F001F14076C6C13060007140E6D131C
-D801F013386C6C137090387E03E090381FFF80903803FC0020277EA525>I<147E903803
-FF8090380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801
-F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039
-F81F707C3901F00FE03903E007C03A07C003E010000FECF000A248486C7EA86C6C485AA2
-00075C6C6C485A6D485A6D48C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C0
-15F86C14FE6CECFF804815C03A0F80007FE048C7EA0FF0003E140348140116F8481400A5
-6C1401007C15F06CEC03E0003F1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFF
-F0010790C7FC26387EA52A>I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1
-C01F809039F3800FC0EBF70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A
-7EB92E>I<EA0380EA0FE0487EA56C5AEA0380C8FCAAEA03F012FFA312071203B3AA487E
-B512C0A312387EB717>I<EB01C0EB07F0EB0FF8A5EB07F0EB01C090C7FCAAEB01F813FF
-A313071301B3B3A2123C127E00FF13F01303A214E038FE07C0127C383C0F00EA0FFEEA03
-F8154984B719>I<EA03F012FFA3120F1203B1913801FFFCA39138007FC01600157C1570
-5D4A5A4A5A4AC7FC141E1438147814FC13F1EBF3FEEBF73F01FE7FEBF81F496C7E811407
-6E7E6E7E811400157E157F811680ED1FC0486CEB3FF0B500C0B5FCA3283A7EB92C>I<EA
-03F012FFA3120F1203B3B3AD487EB512C0A3123A7EB917>I<2703F00FF0EB1FE000FFD9
-3FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01
-FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA34025
-7EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE
-496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>I<EB03FE90380FFF8090
-383E03E09038F800F84848137C48487F48487F4848EB0F80001F15C090C712074815E0A2
-007EEC03F0A400FE15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F
-6C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC25277EA52A>I<39
-03F01FE000FFEB7FF89038F1E07E9039F3801F803A07F7000FC0D803FEEB07E049EB03F0
-4914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE0
-01F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357E
-A42E>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03
-E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>114
-D<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807EA27EB490C7FCEA7F
-E013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB0FC01407A26C1303
-A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A277DA521>I<1318A5
-1338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580
-EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E000FFEB01FFA3000F
-EB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7FF8090383F03C790
-381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF8000FF06C48EB07E000
-03EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2EC8038011F1330A2
-6D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA2147CA31438A227257E
-A32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E018C00003023EEB01
-80A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7171CD93F01EBE01815
-830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D5A02EC137CA2
-D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37257EA33C>I<
-B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D6C5AECC07001
-0F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7E090380383F0
-90380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC3FF0D8FFFE90
-B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003EC03806C7E16
-007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C5AA214F10103
-5BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA7C0100FE5B13
-0391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB512FCA2EB8003
-D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F150014FE495AA2
-C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B4848130C4848
-131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fi ecss2074 20.74 19
-/Fi 19 119 df<EF7FFCA34D7EA34C7FA34C805F5F040780187FDC0FF87FA2183FDC1FF0
-7FA2181F043F8017E0180F047F8017C004FF6D7E1780A24B6E7E1700A24B6E7F5EA20307
-6E7F5E030F82197F5E031F82193F5E033F6F7EA25E037F6F7EA25E03FF6F7EA24A498185
-93C8FC4A84855D020784855D020F717EA24A48831A3FA24A48831A1F5D027F841A0F5D02
-FF841A074990BAFCA34986A34986A202FCCBFC010F861B7F5C011F861B3F4948851B1FA2
-4948851B0FA24948851B075C4887874890CC148087A248481BC087A248481BE01C7F5B00
-1F1CF01C3F48481BF8A21C1F48481BFC1C0FA248481BFE1C075B5F757BF46A>65
-D<BB12F8A801C0CCFCB3B3A890BA1280A801C0CCFCB3B3AC90BA12FEA9477570F45F>69
-D<D8FFC0F1FFF05013E05013C0501380501300505A505A63505A505A4F5B4F5B4F90C7FC
-4F5A4F5A4F5A4F5A19FF4E5B4E5B4E5B4E90C8FC4E5A614E5A4E5A4E5A4D5B4D5B4D90C9
-FC4D5A4D5A4D5A177F4D5A4C5B4C5B4C5B4C90CAFC4C5A5F4C5A4C5A4C5A4B5B4B5B5D5D
-4B7F5D4B7F92B57E5C4A804AEB9FFC4A131F4B6C7E4A486C7EEC3FF84A486C7FDAFFE080
-01C1497E01C3496C7F01C790C7FCD9CFFE6E7ED9DFFC6E7E13FF4A6E7E4A6E7E5C4A6E7E
-4A6E7F91C8FC496F7F496F7F5B49707E498349163F727EA2727E727EA2727F727FA2727F
-737EA2737E86191F737EA2737E737FA2737F737FA2747E747EA2747E747EA2747E1C8086
-7413C0A27413E0F37FF0A2F33FF8F31FFC567570F46E>75 D<EAFFC0B3B3B3B3B3B390B9
-12FCA83E7570F456>I<D8FFFCF33FFFA36D63A26D98B5FCA36E61A201BF1BFD6E190301
-9F1BF96E1907A3D98FF0F10FF1A3D987F8F11FE1A26E193F01831BC1A26E197F01811B81
-A26E19FF01801B016F5FA2027F19FE6F1703023F19FCA26F1707021F19F8A26F170F020F
-19F06F171FA2020719E06F173FA2020319C06F177F020119806F17FFA26E1900705DA203
-7F5F701503A26F6C4B5AA2031F5F70150FA2030F5F70151FA203075F70153FA26F6C4B5A
-A203015F7015FFA26F94C7FC715BA2047F5D711303043F5D711307A2041F5D71130FA204
-0F5D71131FA204075D71133F04035DA271137F04015DA27113FF7092C8FC1881057F5BA2
-18C3053F5BA394381FE7F8A2050F5B18FFA2715BA3715BA2715BA394CBFCA268756FF48B
->I<EF1FFE0403B512F0041F14FE047F6E7E4BB712E0030716F8031F16FE037F707E92B5
-D8F003804A91C7003F7F020701F8020713F84A01E002017F4A01806E6C7E4A48C9EA1FFF
-4A48707F4A48707F4949707F03C016004949717E4990CB6C7E49864A181F4948727E4948
-727EA24948727F4948727FA24849727FA24849737EA291CD123F4888491A1F000F88A249
-1A0F001F88A2491A07003F88A34986A2007F1D80A44986A200FF1DC0B06D62007F1D80A5
-6D62A2003F1D00A26D62A2001F64A26D1A1F000F64A26D1A3F6C646E197FA26C6D4F5AA2
-6C6D4E5BA26C6D4E5BA26D6C4E5B6D6C4E90C7FCA26D6C4E5A6E183F6D6D4D5A6D626D6D
-4D5A6F5E6D6D4C5B6D01FC040F5B6E6C4C5B6E6C4C90C8FC6E01C0EDFFFE6E6D4A5B6E01
-FC020F5B020101FF023F13E06EDAF003B55A6F90B75A031F4CC9FC030716F86F5EDB007F
-1580041F4ACAFC040314F09326001FFECBFC627977F675>79 D<923801FFF8033FEBFFE0
-4AB612FC0207EDFF80021F16E0027F16F891B812FE0103EFFF80499026FE000F14C04901
-E0EB007F490180140F4948C800031380D97FF815004948167F02C0161F4849160F4890CA
-120749EF0100000795C7FC5B485AA2485AA35B123FA87FA2121F7FA27F120F7F7F6C7F80
-6C7F6C7F14FC6C13FF6D13C06D13F86DEBFF806D14F86D14FF6D15F06D15FF6D6C15E06E
-15F8020F15FE020381DA007F15C0030781030081040F80040080050F7F05017F716C1380
-061F13C018077213E07213F084F17FF8193FF11FFCA2190FF107FEA319031AFFA285A91A
-FE1903A3F107FCA20020180F007019F8007C181F007E19F0007F183F01C0EF7FE06DEFFF
-C0D8FFF85E01FE4C13806D6C030F13006C01E04B5A001F01FCED7FFC6CD9FF80903803FF
-F8000302FC013F5BC691B75A6D5F010F94C7FC010316FCD9007F15F0020F15C002014AC8
-FCDA000713E0487979F659>83 D<ED3FFF4AB512F8020F14FF023F15C04A15F049B712FC
-4916FF49178049EBE0004990C7120FD93FFC02011300D97FF06E7E4948151F0280814890
-C912034894C7FC5B485A5B120F5B121F5B123F5BA3485AA548CCFCAD6C7EA47F123FA27F
-121F7FA26C7EA26C6C17806D1601000317036C6C160F6E151F6C01E0ED7FC06D6CEC01FF
-D93FFC14076DB4143F6DD9E003B512806D90B6EAFE006D5E6D16F06D6C5D6E1580020F02
-FCC7FC020114E09126003FFCC8FC3A4C78CA47>99 D<F07FE0B3B3AD4AB47E020F13F802
-3F13FE91B612804915E0010715F04915FC4915FE499038F007FF49D9800013FF02FCC712
-3F4948804801E0804849804A804890C87E4981485A49167F121F5BA2485AA25B127FA25B
-A312FF90CAFCAD7F127FA47F123FA27FA26C7E18FF6C7E6D5D00075E7F6C6C5D6E5C6C6D
-5C02F05C6C6DECFF7F6DB4EB03FE6D9038E01FFC6D90B512F86D15F06D15E06D15806D15
-006D6C13FC021F13E0020390C9FC3B7C78FA52>I<ED7FE0913803FFFE021F6D7E4A14E0
-91B612F84981010781498149D9C01F7F90273FFE00037FD97FF8130002E06E7E4948EC1F
-F04849140F4890C86C7E5B48486F7E491501120F496F7E121F49167EA24848167F845B12
-7FA290CAFCF01F80A2BAFCA748CCFCA47EA37EA27FA36C7EA36C7EA26C7E7F12077F6C6C
-17806D16016C6D15076C6D150F6EED3FC0D97FF815FF6D6C14036DB46C131F6DD9F003B5
-12806D90B712006D16FC01005E6E15E0021F1580020702FCC7FC020114E09126001FFEC8
-FC3A4C79CA47>I<EE3FFF4BB512F01507151F5D5D4AB6FC5CEEE0034A90C71210DA0FFC
-14004A5A5D4A5A5D147F5D14FFA292C9FC5BA45BB3A9B812C0A8D8000390C9FCB3B3B3AB
-347C7DFB31>I<EAFFC0B3B3B3B3B3B3AF0A7B73FA25>108 D<ED1FF826FFC001B57E0207
-14E0021F14F8027F8091B67E01C18101C316809038C7FE00D9CFF0011F13C0D9DFE00107
-13E0D9FF80130191C8FC18F049157F5B173F4916F8A249151FA35BA45BB3B3AC354A72C9
-52>110 D<ED1FFC92B57E020714F0021F14FC027F14FF91B77E010316E0498249D9F007
-7F4990C76C7ED93FFCEC1FFED97FF0EC07FF4A8049486E7F48496E7F4890C96C7E49163F
-4848707E49160F000F844916074848707EA34848707EA2491600007F84A490CB7E481980
-AC6D17FF007F1900A36D5EA2003F606D1603A2001F606D1607A26C6C4C5A6D161F000760
-6D163F6C6C4C5A6C6D4B5A6E5C6C6D4A5BD97FF8020F90C7FC6D6C4A5A6DB46CEBFFFC6D
-D9F0075B6D90B65A6D5E010016806E92C8FC021F14FC020714F0020114C09126001FFCC9
-FC414C79CA50>I<ED0FFCD8FFC090B57E020714E0021F80027F14FC91B67E01C38101C7
-829026CFFE0080D9DFF0131FD9FFC001077F4A01017F49C87F49157F496F7E171F496F7E
-491507717E5B83198083A2187F19C0A2183FA319E0181FAC183FA219C0A3187FA2198018
-FFA24D1300A25F6D4B5AA26D4B5A6D151F4D5A6D4B5A6DEC01FF6D4A5B6E010F5BD9DFE0
-013F5B9026CFFC01B5C7FC01C7B65A01C35D01C15D01C05D023F14C0020F5C020301FCC8
-FC9138003FE092CAFCB3AE3B6B72C952>I<ED01F8B46C131F157FEC01FF1407141F5C5C
-9138FFFE00018113F0018313C0018790C7FCEB8FFCEB9FF85CEBBFC0A2EBFF8091C8FC5B
-A25B5BA35BA25BA45BB3B3A7254A72C936>114 D<91380FFFC091B512FE0107ECFFC001
-1F15F8017F15FE90B812804817C05A489038F0003F4890C70003138049EC007FD81FF815
-1F491507003F16014992C7FCA2485AA77FA26C7E7F7F6CB4FC6C13C014F86CEBFF806C14
-FC6CECFFE06C15FC6D14FF6D15C0010F81010315F8010081020F80DA007F7F03071480DB
-003F13C0160F040313E01600EF7FF0173FA2EF1FF8A2170FA7EF1FF0A20070163F127C00
-7FEE7FE001C015FF01F0020313C0B5020F138002F0137F91B712006C5E001F5E000716F0
-C65E011F1580010302FCC7FCD9000F13C0354C7CCA3D>I<D8FFC0ED1FF8B3B3B0173FA3
-177FA217FFA26D5C5E007F5D6D5C6D143F01FEECFFDF273FFF8007139F91B6121F6C15FC
-6C15F86C15E06C15806CECFE006C6C13F0D90FFEC9FC354A72C852>117
-D<D8FFC0EF3FF0007F19E07F003FF07FC0A27F001FF0FF80A26D5E000F19007F00074D5A
-A26D16070003607F6C4D5AA26E151F6C6080017F4C5AA280013F4C5AA26E15FF011F5F80
-010F4B90C7FCA26E5C01075E8001034B5AA2806D4B5AA26D6D495AA281027F4A5AA28102
-3F4A5AA26E6C495AA281020F4990C8FCA2DA07FC5B1603A26E6C485AA2DA01FF5B160FA2
-6EEB8FF0169FA292387FDFE016FF6F5BA36F5BA26F90C9FCA344497EC849>I
-E
-%EndDVIPSBitmapFont
-end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%BeginPaperSize: Letter
-letter
-%%EndPaperSize
-
-%%EndSetup
-%%Page: 1 1
-1 0 bop 0 201 a Fi(SALOME)54 b(Kernel)g(resources)f(fo)l(r)g(develop)t
-(er)p 0 315 3900 24 v 0 428 a Fh(An)n(toine)28 b(Y)-7
-b(essa)n(y)n(an,)25 b(P)n(aul)j(Rascle)1735 b(V)-7 b(ersion)27
-b(0.2)g(Jan)n(uary)e(28,)i(2005)0 734 y Fg(This)33 b(do)r(cument)g
-(describ)r(es)g(the)g(development)f(environment)g(fo)n(r)i(C++)e(and)h
-(Python.)53 b(Mak)n(e\034les)32 b(generation)g(and)h(usage)0
-848 y(a)n(re)40 b(intro)r(duced)f(in)h(another)g(do)r(cument:)61
-b("using)38 b(the)i(SALOME)g(con\034guration)f(and)h(building)e(system)
-i(environment".)0 961 y(Development)33 b(environment)h(is)g(intended)g
-(here)g(as:)51 b(trace)34 b(and)g(debug)g(macros)g(usage;)j(SALOME)d
-(exceptions)f(usage,)i(in)0 1075 y(C++)20 b(and)h(Python;)i(user)e
-(CORBA)h(exceptions)e(usage,)i(in)f(C++)f(and)h(Python,)h(with)f(and)f
-(without)g(Graphical)h(User)h(Interface;)0 1188 y(some)27
-b(general)g(purp)r(ose)g(services)g(such)g(as)h(singleton,)e(used)h(fo)
-n(r)g(CORBA)h(connection)e(and)i(disconnection.)0 1527
-y Ff(Con)l(ten)l(ts)0 1766 y Fe(1)77 b(T)-8 b(race)33
-b(and)f(debug)f(Utilities)2662 b(1)125 1923 y Fh(1.1)83
-b(T)-7 b(w)n(o)27 b(mo)r(des:)37 b(debug)27 b(and)h(release)74
-b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
-f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
-(.)134 b(2)125 2079 y(1.2)83 b(C++)27 b(Macros)f(for)h(trace)g(and)g
-(debug)36 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
-f(.)h(.)134 b(2)315 2236 y(1.2.1)94 b(Macros)26 b(de\034ned)i(in)g
-(debug)f(and)g(release)g(mo)r(des)60 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134
-b(2)315 2392 y(1.2.2)94 b(Macros)26 b(de\034ned)i(only)f(in)h(debug)f
-(mo)r(de)83 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134
-b(3)0 2632 y Fe(2)77 b(Exceptions)3272 b(5)125 2788 y
-Fh(2.1)83 b(C++)27 b(exceptions:)36 b(class)27 b(SALOME_Exception)74
-b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
-h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134 b(5)315 2945
-y(2.1.1)94 b(de\034nition)67 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
-g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134
-b(5)315 3101 y(2.1.2)94 b(usage)79 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
-h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
-(.)h(.)134 b(6)125 3257 y(2.2)83 b(CORBA)28 b(exceptions)f(.)41
-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)f(.)h(.)134 b(6)315 3414 y(2.2.1)94 b(de\034nition)67
-b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
-h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
-(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134 b(6)315 3570 y(2.2.2)94
-b(usage)79 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134
-b(7)0 3810 y Fe(3)77 b(Miscellaneous)29 b(to)s(ols)2919
-b(8)125 3966 y Fh(3.1)83 b(Singleton)c(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)f(.)h(.)134 b(8)315 4123 y(3.1.1)94 b(De\034nition)50
-b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
-h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
-(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134 b(8)315 4279 y(3.1.2)94
-b(Usage)63 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)134
-b(8)315 4436 y(3.1.3)94 b(Design)27 b(description)62
-b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)134 b(8)0 4774 y Ff(1)d(T)-11 b(race)45
-b(and)e(debug)h(Utilities)0 5013 y Fh(During)24 b(the)h(dev)n(elopmen)n
-(t)e(pro)r(cess,)h(an)g(execution)g(log)f(is)h(useful)h(to)f(iden)n
-(tify)h(problems.)35 b(This)24 b(log)g(con)n(tains)f(messages,)0
-5126 y(v)-5 b(ariables)31 b(v)-5 b(alues,)33 b(source)e(\034les)h
-(names)g(and)g(line)h(n)n(um)n(b)r(ers.)51 b(It)32 b(is)g(recommended)g
-(to)g(v)n(erify)g(assertions)e(on)i(v)-5 b(ariables)0
-5240 y(v)g(alues)27 b(and)h(if)g(necessary)-7 b(,)26
-b(to)h(stop)g(the)h(execution)f(at)h(debug)f(time,)h(in)g(order)e(to)i
-(v)-5 b(alidate)27 b(all)g(parts)g(of)h(co)r(de.)p eop
-%%Page: 2 2
-2 1 bop 0 -167 3900 5 v 0 -200 a Fe(1.)73 b(T)-8 b(race)34
-b(and)e(debug)f(Utilities)2644 b Fh(2)0 162 y Fd(1.1)112
-b(T)-9 b(w)m(o)37 b(mo)s(des:)50 b(debug)38 b(and)h(release)0
-372 y Fh(The)27 b(goal)e(of)h(debug)h(mo)r(de)f(is)h(to)f(c)n(hec)n(k)g
-(as)g(man)n(y)g(features)g(as)f(p)r(ossible)i(during)f(the)h(early)e
-(stages)g(of)i(the)g(dev)n(elopmen)n(t)0 485 y(pro)r(cess.)46
-b(The)31 b(purp)r(ose)g(of)g(the)g(utilities)h(pro)n(vided)e(in)h
-(SALOME)h(is)f(to)g(help)g(the)g(dev)n(elop)r(er)f(to)h(add)g(detailed)
-g(traces)0 599 y(and)c(c)n(hec)n(k)g(v)-5 b(ariables)26
-b(v)-5 b(alues,)27 b(without)h(writing)g(a)f(lot)g(of)h(co)r(de.)0
-755 y(When)33 b(the)g(co)r(de)f(is)h(assumed)e(to)i(b)r(e)g(v)-5
-b(alid,)33 b(the)g(release)e(mo)r(de)i(optimizes)f(execution,)i(in)e
-(terms)g(of)h(sp)r(eed,)h(memory)-7 b(,)0 869 y(and)27
-b(displa)n(y)g(only)g(user)g(lev)n(el)g(messages.)0 1025
-y(But,)22 b(some)d(informations)f(m)n(ust)i(alw)n(a)n(ys)e(b)r(e)i
-(displa)n(y)n(ed)e(in)i(b)r(oth)g(mo)r(des:)33 b(esp)r(ecially)19
-b(messages)f(concerning)g(en)n(vironmen)n(t)0 1139 y(or)31
-b(in)n(ternal)g(errors,)g(with)h(v)n(ersion)e(iden)n(ti\034cation.)49
-b(When)32 b(an)g(end)g(user)f(is)g(confron)n(ted)g(to)h(suc)n(h)f(a)h
-(message,)f(he)h(ma)n(y)0 1253 y(refer)23 b(to)h(a)g(con\034guration)e
-(do)r(cumen)n(tation)i(or)f(send)h(the)g(message)f(to)g(the)i(p)r
-(eople)f(in)g(c)n(harge)e(of)i(SALOME)h(installation,)0
-1366 y(or)i(to)g(the)h(dev)n(elopmen)n(t)f(team,)h(follo)n(wing)e(the)i
-(kind)g(of)f(error.)0 1658 y Fd(1.2)112 b(C++)38 b(Macros)g(for)f
-(trace)g(and)i(debug)0 1868 y Fh(SALOME)119 b(pro)n(vides)e(C++)h
-(macros)f(for)i(trace)f(and)g(debug.)310 b(These)119
-b(macros)e(are)h(in)0 1981 y Fc(SALOME/src/SALOM)o(EL)o(oca)o(lT)o(ra)o
-(ce/)o(ut)o(il)o(iti)o(es)o(.h)44 b Fh(and)50 b(this)g(\034le)h(m)n
-(ust)f(b)r(e)g(included)h(in)g(C++)e(source.)103 b(Some)0
-2095 y(macros)22 b(are)g(activ)-5 b(ated)23 b(only)g(in)g(debug)h(mo)r
-(de,)g(others)e(are)h(alw)n(a)n(ys)e(activ)-5 b(ated.)35
-b(T)-7 b(o)23 b(activ)-5 b(ate)23 b(the)h(debug)f(mo)r(de,)h
-Fc(_DEBUG_)0 2208 y Fh(m)n(ust)i(b)r(e)h(de\034ned,)g(whic)n(h)f(is)h
-(the)f(case)g(when)g(SALOME)h(Mak)n(e\034les)e(are)h(generated)f(from)h
-(con\034gure,)f(without)i(options.)0 2322 y(When)g Fc(_DEBUG_)c
-Fh(is)j(unde\034ned)h(\(release)f(mo)r(de:)36 b Fc(configure)k
-(\025disable-debug)d(\025enable-producti)o(on)p Fh(\),)21
-b(the)26 b(debug)0 2436 y(mo)r(de)i(macros)e(are)h(de\034ned)h(empt)n
-(y)g(\(they)h(do)e(nothing\).)38 b(So,)28 b(when)g(switc)n(hing)g(from)
-f(debug)h(to)g(release,)e(it)j(is)e(p)r(ossible)0 2549
-y(\(and)h(recommended\))f(to)g(let)h(the)g(macro)e(calls)h(unc)n
-(hanged)g(in)h(the)g(source.)0 2706 y(All)21 b(the)g(macros)e(generate)
-g(trace)h(messages,)h(stored)e(in)i(a)g(circular)e(bu\033er)i(p)r(o)r
-(ol.)34 b(A)21 b(separate)e(thread)h(reads)g(the)h(messages)0
-2819 y(in)27 b(the)g(bu\033er)f(p)r(o)r(ol,)h(and,)g(dep)r(ending)g(on)
-f(options)g(giv)n(en)f(at)i(SALOME)g(start,)f(writes)g(the)h(messages)e
-(on)h(the)h(standard)0 2933 y(output,)h(a)f(\034le,)h(or)f(send)g(them)
-h(via)f(CORBA,)h(in)g(case)e(of)i(a)f(m)n(ulti)h(mac)n(hine)f
-(con\034guration.)0 3089 y(Three)g(informations)g(are)f(systematically)
-h(added)g(in)h(fron)n(t)f(of)g(the)h(information)f(displa)n(y)n(ed:)125
-3329 y Fb(\017)41 b Fh(the)28 b(thread)f(n)n(um)n(b)r(er)g(from)g(whic)
-n(h)h(the)f(message)g(come)g(from;)125 3509 y Fb(\017)41
-b Fh(the)28 b(name)f(of)g(the)h(source)f(\034le)g(in)h(whic)n(h)g(the)g
-(macros)e(is)h(set;)125 3689 y Fb(\017)41 b Fh(the)28
-b(line)f(n)n(um)n(b)r(er)h(of)f(the)h(source)e(\034le)i(at)g(whic)n(h)f
-(the)h(macro)e(is)i(set.)0 3961 y Fe(1.2.1)94 b(Macros)32
-b(de\034ned)f(in)g(debug)h(and)g(release)f(mo)s(des)0
-4171 y(INF)m(OS_COMPILA)-8 b(TION)84 b Fh(The)28 b(C++)g(macro)g
-Fc(INFOS_COMPILATI)o(ON)22 b Fh(writes)29 b(on)f(the)h(trace)f
-(bu\033er)h(p)r(o)r(ol)g(infor-)0 4285 y(mations)e(ab)r(out)h(the)f
-(compiling)h(pro)r(cess:)125 4525 y Fb(\017)41 b Fh(the)28
-b(name)f(of)g(the)h(compiler)f(:)37 b Fc(g++,)42 b(KCC,)g(CC,)g(pgCC)p
-Fh(;)125 4705 y Fb(\017)f Fh(the)28 b(date)f(and)g(the)h(time)g(of)g
-(the)g(compiling)f(pro)r(cessing)f(pro)r(cess.)0 4944
-y(This)35 b(macro)f Fc(INFOS_COMPILATIO)o(N)29 b Fh(do)r(es)35
-b(not)g(ha)n(v)n(e)f(an)n(y)g(argumen)n(t.)58 b(Moreo)n(v)n(er,)35
-b(it)g(is)g(de\034ned)h(in)f(b)r(oth)h(compiling)0 5058
-y(mo)r(de)28 b(:)37 b Fc(_DEBUG_)24 b Fh(and)k Fc(_RELEASE_)p
-Fh(.)0 5214 y(Example)g(:)p eop
-%%Page: 3 3
-3 2 bop 0 -167 3900 5 v 0 -200 a Fe(1.)73 b(T)-8 b(race)34
-b(and)e(debug)f(Utilities)2644 b Fh(3)0 162 y Fc(#include)40
-b("utilities.h")0 275 y(int)i(main\(int)e(argc)i(,)i(char)d(**argv\))0
-389 y({)87 502 y(INFOS_COMPILATIO)o(N;)87 616 y(...)0
-730 y(})0 1002 y Fe(INF)m(OS\(str\))83 b Fh(In)23 b(b)r(oth)g
-(compiling)f(mo)r(de)h Fc(_DEBUG_)d Fh(and)i Fc(_RELEASE_)p
-Fh(,)e(The)j(C++)f(macro)f Fc(INFOS)f Fh(writes)j(on)f(the)h(trace)0
-1116 y(bu\033er)28 b(p)r(o)r(ol)f(the)h(string)f(whic)n(h)g(has)g(b)r
-(een)h(passed)f(in)h(argumen)n(t)e(b)n(y)i(the)g(user.)0
-1272 y(Example)g(:)0 1512 y Fc(#include)40 b("utilities.h")0
-1625 y(int)i(main\(int)e(argc)i(,)i(char)d(**argv\))0
-1739 y({)87 1852 y(...)87 1966 y(INFOS\("NORMAL)d(END)43
-b(OF)f(THE)h(PROCESS"\);)87 2080 y(return)e(0;)0 2193
-y(})0 2433 y Fh(displa)n(ys)26 b(:)0 2672 y Fc(main.cxx)40
-b([5])i(:)i(NORMAL)d(END)h(OF)h(THE)f(PROCESS)0 3058
-y Fe(INTERR)m(UPTION\(str\))84 b Fh(In)72 b(b)r(oth)h(compiling)e(mo)r
-(de)i Fc(_DEBUG_)c Fh(and)j Fc(_RELEASE_)p Fh(,)80 b(The)72
-b(C++)f(macro)0 3172 y Fc(INTERRUPTION)34 b Fh(writes)k(on)g(the)h
-(trace)f(bu\033er)g(p)r(o)r(ol)h(the)g(string,)h(with)g(a)e(sp)r(ecial)
-g Fc(ABORT)e Fh(t)n(yp)r(e.)71 b(When)39 b(the)g(thread)0
-3285 y(in)28 b(c)n(harge)e(of)h(collecting)g(messages)f(\034nds)i(this)
-f(message,)g(it)h(terminates)f(the)h(application,)f(after)g(message)f
-(treatmen)n(t.)0 3558 y Fe(IMMEDIA)-8 b(TE_ABOR)g(T\(str\))83
-b Fh(In)48 b(b)r(oth)f(compiling)g(mo)r(de)h Fc(_DEBUG_)c
-Fh(and)j Fc(_RELEASE_)p Fh(,)i(The)e(C++)f(macro)0 3672
-y Fc(IMMEDIATE_ABORT)29 b Fh(writes)35 b(the)g(message)f(immediately)h
-(on)g(standard)f(error)f(and)i(exits)g(the)h(application.)59
-b(Remain-)0 3785 y(ing)27 b(messages)f(not)i(treated)f(b)n(y)g(the)h
-(message)e(collector)g(thread)h(are)g(lost.)0 4058 y
-Fe(1.2.2)94 b(Macros)32 b(de\034ned)f(only)g(in)h(debug)f(mo)s(de)0
-4268 y(MESSA)m(GE\(str\))83 b Fh(In)32 b Fc(_DEBUG_)e
-Fh(compiling)i(mo)r(de)g(only)-7 b(,)33 b(the)g(C++)f(macro)f
-Fc(MESSAGE)e Fh(writes)j(on)g(the)g(trace)g(bu\033er)0
-4381 y(p)r(o)r(ol)d(the)g(string)f(whic)n(h)h(has)f(b)r(een)i(passed)e
-(in)h(argumen)n(t)e(b)n(y)i(the)g(user.)40 b(In)29 b
-Fc(_RELEASE_)d Fh(compiling)i(mo)r(de,)h(this)g(macro)0
-4495 y(is)e(blank.)0 4652 y(Example)h(:)0 4891 y Fc(#include)40
-b("utilities.h")0 5005 y(#include)g(<string>)0 5118 y(using)h
-(namespace)f(std;)0 5232 y(int)i(main\(int)e(argc)i(,)i(char)d
-(**argv\))0 5345 y({)p eop
-%%Page: 4 4
-4 3 bop 0 -167 3900 5 v 0 -200 a Fe(1.)73 b(T)-8 b(race)34
-b(and)e(debug)f(Utilities)2644 b Fh(4)87 162 y Fc(...)87
-275 y(const)42 b(char)f(*str)h(=)i("Salome";)87 389 y(MESSAGE\(str\);)
-87 502 y(...)e(const)g(string)f(st;)87 616 y(st)i(=)g("Aster";)87
-730 y(MESSAGE\(c_str\(st)o(+")37 b(and)42 b(CASTEM"\)\);)87
-843 y(return)f(0;)0 957 y(})0 1192 y Fh(displa)n(ys)26
-b(:)0 1428 y Fc(-)43 b(Trace)f(main.cxx)e([8])i(:)h(Salome)0
-1541 y(-)g(Trace)f(main.cxx)e([12])i(:)h(Aster)e(and)i(CASTEM)0
-1813 y Fe(BEGIN_OF\(func_name\))82 b Fh(In)28 b Fc(_DEBUG_)c
-Fh(compiling)i(mo)r(de,)i(The)f(C++)f(macro)g Fc(BEGIN_OF)d
-Fh(app)r(ends)k(the)h(string)0 1927 y Fc("Begin)41 b(of)i(")26
-b Fh(to)h(the)g(one)f(passed)g(in)h(argumen)n(t)e(b)n(y)i(the)g(user)f
-(and)g(displa)n(ys)g(the)h(result)f(on)h(the)g(trace)f(bu\033er)g(p)r
-(o)r(ol.)37 b(In)0 2040 y Fc(_RELEASE_)24 b Fh(compiling)j(mo)r(de,)h
-(this)g(macro)e(is)h(blank.)0 2197 y(Example)h(:)0 2432
-y Fc(#include)40 b("utilities.h")0 2546 y(int)i(main\(int)e(argc)i(,)i
-(char)d(**argv\))0 2659 y({)87 2773 y(BEGIN_OF\(argv[0])o(\);)87
-2886 y(return)g(0;)0 3000 y(})0 3235 y Fh(displa)n(ys)26
-b(:)0 3471 y Fc(-)43 b(Trace)f(main.cxx)e([3])i(:)h(Begin)f(of)g(a.out)
-0 3743 y Fe(END_OF\(func_name\))82 b Fh(In)47 b Fc(_DEBUG_)c
-Fh(compiling)i(mo)r(de,)51 b(The)46 b(C++)f(macro)f Fc(END_OF)g
-Fh(app)r(ends)i(the)g(string)0 3856 y Fc("Normal)41 b(end)h(of)h(")32
-b Fh(to)g(the)i(one)e(passed)g(in)h(argumen)n(t)e(b)n(y)h(the)h(user)f
-(and)h(displa)n(ys)e(the)i(result)g(on)f(the)h(trace)f(bu\033er)0
-3970 y(p)r(o)r(ol.)37 b(In)27 b Fc(_RELEASE_)d Fh(compiling)j(mo)r(de,)
-h(this)g(macro)e(is)i(blank.)0 4126 y(Example)g(:)0 4362
-y Fc(#include)40 b("utilities.h")0 4475 y(int)i(main\(int)e(argc)i(,)i
-(char)d(**argv\))0 4589 y({)87 4702 y(END_OF\(argv[0]\);)87
-4816 y(return)g(0;)0 4929 y(})0 5165 y Fh(displa)n(ys)26
-b(:)0 5400 y Fc(-)43 b(Trace)f(main.cxx)e([4])i(:)h(Normal)e(end)i(of)f
-(a.out)p eop
-%%Page: 5 5
-5 4 bop 0 -167 3900 5 v 0 -200 a Fe(2.)73 b(Exceptions)3255
-b Fh(5)0 162 y Fe(SCR)m(UTE\(v)-5 b(ar\))84 b Fh(In)30
-b Fc(_DEBUG_)c Fh(compiling)j(mo)r(de,)h(The)f(C++)f(macro)g
-Fc(SCRUTE)f Fh(displa)n(ys)h(its)h(argumen)n(t)f(whic)n(h)h(is)g(an)0
-275 y(application)21 b(v)-5 b(ariable)22 b(follo)n(w)n(ed)f(b)n(y)h
-(the)g(v)-5 b(alue)22 b(of)g(the)h(v)-5 b(ariable.)34
-b(In)22 b Fc(_RELEASE_)d Fh(compiling)j(mo)r(de,)h(this)f(macro)f(is)h
-(blank.)0 432 y(Example)28 b(:)0 671 y Fc(#include)40
-b("utilities.h")0 785 y(int)i(main\(int)e(argc)i(,)i(char)d(**argv\))0
-898 y({)87 1012 y(const)h(int)g(i=999;)87 1126 y(if\()g(i)i(>)f(0)g(\))
-g(SCRUTE\(i\))d(;)j(i=i+1;)87 1239 y(return)e(0;)0 1353
-y(})0 1592 y Fh(displa)n(ys)26 b(:)0 1832 y Fc(-)43 b(Trace)f(main.cxx)
-e([5])i(:)h(i=999)0 2104 y Fe(ASSER)-8 b(T\(condition\))82
-b Fh(In)33 b Fc(_DEBUG_)c Fh(compiling)i(mo)r(de)i(only)-7
-b(,)33 b(The)f(C++)f(macro)g Fc(ASSERT)e Fh(c)n(hec)n(ks)i(the)i
-(expression)0 2218 y(passed)c(in)h(argumen)n(t)e(to)h(b)r(e)h(not)g
-(NULL.)g(If)g(it)g(is)f(NULL)h(the)g(condition)g(is)f(written)h(with)g
-(the)g(macro)e Fc(INTERRUPTION)0 2331 y Fh(\(see)f(ab)r(o)n(v)n(e\).)36
-b(The)27 b(pro)r(cess)f(exits)h(after)f(trace)h(of)g(this)g(last)g
-(message.)35 b(In)28 b Fc(_RELEASE_)23 b Fh(compiling)k(mo)r(de,)g
-(this)g(macro)f(is)0 2445 y(blank.)37 b(N.B.)27 b(:)37
-b(if)28 b Fc(ASSERT)e Fh(is)h(already)f(de\034ned,)i(this)g(macro)e(is)
-i(ignored.)0 2601 y(Example)g(:)0 2841 y Fc(#include)40
-b("utilities.h")0 2955 y(...)0 3068 y(const)h(char)h(*ptrS)g(=)h
-(fonc\(\);)0 3182 y(ASSERT\(ptrS!=NUL)o(L\))o(;)0 3295
-y(cout)f(<<)h(strlen\(ptrS\);)0 3409 y(float)e(table[10];)0
-3522 y(int)h(k;)0 3636 y(...)0 3750 y(ASSERT\(k<10\);)0
-3863 y(cout)g(<<)h(table[k];)0 4201 y Ff(2)131 b(Exceptions)0
-4459 y Fd(2.1)112 b(C++)38 b(exceptions:)49 b(class)38
-b(SALOME_Exception)0 4669 y Fe(2.1.1)94 b(de\034nition)0
-4879 y Fh(The)30 b(class)f Fc(SALOME_Exceptio)o(n)24
-b Fh(pro)n(vides)k(a)h(generic)g(metho)r(d)h(to)g(send)f(a)h(message,)f
-(with)h(optional)f(source)f(\034le)i(name)0 4993 y(and)g(line)g(n)n(um)
-n(b)r(er.)43 b(This)30 b(class)f(is)h(in)n(tended)g(to)g(serv)n(e)e(as)
-h(a)h(base)f(class)g(for)g(all)h(kinds)g(of)g(exceptions)f(SALOME)h(co)
-r(de.)0 5106 y(All)25 b(the)g(exceptions)e(deriv)n(ed)h(from)g
-Fc(SALOME_Exception)18 b Fh(could)24 b(b)r(e)h(handled)f(in)h(a)f
-(single)f(catc)n(h,)i(in)g(whic)n(h)f(the)h(message)0
-5220 y(asso)r(ciated)h(to)i(the)g(exception)f(is)g(displa)n(y)n(ed,)g
-(or)f(sen)n(t)i(to)f(a)g(log)g(\034le.)0 5376 y(The)h(class)e
-Fc(SALOME_Exception)21 b Fh(inherits)28 b(its)f(b)r(eha)n(vior)f(from)i
-(the)g(STL)f(class)g(exception.)p eop
-%%Page: 6 6
-6 5 bop 0 -167 3900 5 v 0 -200 a Fe(2.)73 b(Exceptions)3255
-b Fh(6)0 162 y Fe(2.1.2)94 b(usage)0 372 y Fh(The)26
-b(header)g Fc(SALOME/src/util)o(s/)o(uti)o(ls)o(_S)o(ALO)o(ME)o(_E)o
-(xce)o(pt)o(io)o(n.h)o(xx)20 b Fh(m)n(ust)26 b(b)r(e)h(included)f(in)h
-(the)f(C++)g(source,)f(when)0 485 y(raised)h(or)h(trapp)r(ed:)0
-642 y Fc(#include)40 b("utils_SALOME_Ex)o(cep)o(ti)o(on)o(.hx)o(x")0
-798 y Fh(The)28 b Fc(SALOME_Exceptio)o(n)21 b Fh(constructor)26
-b(is:)0 1038 y Fc(SALOME_Exception)o(\()37 b(const)42
-b(char)g(*text,)784 1151 y(const)g(char)g(*fileName=0,)784
-1265 y(const)g(unsigned)e(int)i(lineNumber=0)d(\);)0
-1504 y Fh(The)28 b(exception)f(is)g(raised)g(lik)n(e)g(this:)0
-1744 y Fc(throw)41 b(SALOME_Exception\()o("m)o(y)d(pertinent)h
-(message"\);)0 1983 y Fh(or)27 b(lik)n(e)g(this:)0 2223
-y Fc(throw)41 b(SALOME_Exception\()o(LO)o(CAL)o(IZ)o(ED)o(\("m)o(y)c
-(pertinent)j(message"\)\);)0 2462 y Fh(where)24 b(LOCALIZED)h(is)f(a)h
-(macro)e(pro)n(vided)g(with)j Fc(utils_SALOME_Ex)o(ce)o(pti)o(on)o(.h)o
-(xx)18 b Fh(whic)n(h)25 b(giv)n(es)e(\034le)i(name)f(and)h(line)0
-2576 y(n)n(um)n(b)r(er.)0 2732 y(The)j(exception)f(is)g(handled)h(lik)n
-(e)f(this:)0 2972 y Fc(try)87 3085 y({)174 3199 y(...)87
-3313 y(})0 3426 y(catch)41 b(\(const)g(SALOME_Exception)c(&ex\))87
-3540 y({)174 3653 y(cerr)42 b(<<)h(ex.what\(\))d(<<endl;)87
-3767 y(})0 4006 y Fh(The)28 b Fc(what\(\))d Fh(metho)r(d)j(o)n(v)n
-(errides)d(the)j(one)f(de\034ned)h(in)g(the)g(STL)f(exception)g(class.)
-0 4298 y Fd(2.2)112 b(CORBA)37 b(exceptions)0 4508 y
-Fe(2.2.1)94 b(de\034nition)0 4718 y Fh(The)24 b(idl)h
-Fc(SALOME_Exception)18 b Fh(pro)n(vides)23 b(a)g(generic)h(CORBA)g
-(exception)g(for)g(SALOME,)g(with)h(an)f(attribute)h(that)f(giv)n(es)0
-4832 y(an)j(exception)g(t)n(yp)r(e,a)h(message,)e(plus)i(optional)e
-(source)h(\034le)g(name)h(and)f(line)h(n)n(um)n(b)r(er.)0
-4988 y(This)i(idl)h(is)f(in)n(tended)g(to)g(serv)n(e)f(for)h(all)g
-(user)f(CORBA)h(exceptions)g(raised)f(in)h(SALOME)h(co)r(de,)g(as)e
-(IDL)i(sp)r(eci\034cation)0 5102 y(do)r(es)21 b(not)g(supp)r(ort)h
-(exception)f(inheritance.)34 b(So,)22 b(all)g(the)f(user)g(CORBA)g
-(exceptions)g(from)g(SALOME)h(could)f(b)r(e)h(handled)0
-5215 y(in)28 b(a)f(single)g(catc)n(h.)0 5372 y(The)h(exception)f(t)n
-(yp)r(es)g(de\034ned)h(in)g(idl)g(are:)p eop
-%%Page: 7 7
-7 6 bop 0 -167 3900 5 v 0 -200 a Fe(2.)73 b(Exceptions)3255
-b Fh(7)0 162 y Fe(COMM)208 307 y Fh(CORBA)27 b(comm)n(unication)g
-(problem,)0 483 y Fe(BAD_P)-8 b(ARAM)208 628 y Fh(Bad)27
-b(User)g(parameters,)0 805 y Fe(INTERNAL_ERR)m(OR)208
-950 y Fh(application)f(lev)n(el)h(problem)g(\(often)i(irreco)n(v)n
-(erable\).)0 1181 y(CORBA)k(system)g(and)f(user)h(exceptions)f(already)
-g(de\034ned)h(in)h(the)f(pac)n(k)-5 b(ages)31 b(used)i(within)h
-(SALOME,)f(suc)n(h)g(as)g(Om-)0 1295 y(niORB)27 b(exceptions,)g(m)n
-(ust)h(b)r(e)g(handled)f(separately)-7 b(.)0 1566 y Fe(2.2.2)94
-b(usage)0 1776 y(CORBA)35 b(serv)-5 b(an)m(t,)37 b(C++)83
-b Fh(The)31 b(CORBA)g(Serv)n(er)e(header)h(for)g Fc(SALOME_Exception)24
-b Fh(and)31 b(a)f(macro)g(to)h(thro)n(w)f(the)0 1889
-y(exception)d(are)g(pro)n(vided)f(with)i(the)g(header)f
-Fc(SALOME/src/Utils)o(/U)o(ti)o(ls_)o(Co)o(rb)o(aEx)o(ce)o(pt)o(ion)o
-(.h)o(xx)p Fh(:)0 2120 y Fc(#include)40 b("Utils_CorbaExce)o(pti)o(on)o
-(.h)o(xx")0 2351 y Fh(The)28 b(exception)f(is)g(raised)g(with)h(a)f
-(macro)f(whic)n(h)i(app)r(ends)f(\034le)h(name)f(and)h(line)f(n)n(um)n
-(b)r(er.)0 2582 y Fc(if)43 b(\(myStudyName.si)o(ze\()o(\))37
-b(==)43 b(0\))131 2696 y(THROW_SALOME_CO)o(RBA)o(_E)o(XC)o(EPT)o(IO)o
-(N\()o("No)37 b(Study)k(Name)h(given",)f(\\)1394 2809
-y(SALOME::BAD_PARAM)o(\);)0 3080 y Fe(CORBA)113 b(Clien)m(t,)133
-b(GUI)114 b(Qt)f(C++)84 b Fh(The)99 b(CORBA)f(Clien)n(t)h(header)f(for)
-g Fc(SALOME_Exceptio)o(n)0 3194 y Fh(and)141 b(a)f(Qt)h(function)h
-(header)e(that)h(displa)n(ys)f(a)h(message)e(b)r(o)n(x)i(are)f(pro)n
-(vided)g(in)0 3308 y Fc(SALOME/src/SALOM)o(EG)o(UI/)o(SA)o(LO)o(MEG)o
-(UI)o(_Q)o(tCa)o(tc)o(hC)o(orb)o(aE)o(xc)o(ept)o(io)o(n.h)o(xx)o
-Fh(:)0 3538 y Fc(#include)40 b("SALOMEGUI_QtCat)o(chC)o(or)o(ba)o(Exc)o
-(ep)o(ti)o(on.)o(hx)o(x")0 3769 y Fh(A)28 b(t)n(ypical)f(exc)n(hange)f
-(with)i(a)f(CORBA)h(Serv)-5 b(an)n(t)27 b(will)g(b)r(e:)0
-4000 y Fc(try)87 4114 y({)174 4227 y(...)43 b(//)f(one)h(ore)f(more)g
-(CORBA)f(calls)87 4341 y(})0 4455 y(catch)g(\(const)g
-(SALOME::SALOME_Ex)o(ce)o(pti)o(on)c(&)43 b(S_ex\))87
-4568 y({)174 4682 y(QtCatchCorbaExcep)o(ti)o(on)o(\(S_)o(ex)o(\);)87
-4795 y(})0 5180 y Fe(CORBA)28 b(Clien)m(t,)g(C++,)h(without)f(GUI)84
-b Fh(Nothing)24 b(sp)r(eci\034c)h(has)f(b)r(een)h(pro)n(vided)f(to)h
-(the)g(dev)n(elop)r(er)e(y)n(et.)36 b(See)25 b(the)0
-5294 y(idl)i(or)f(the)h(Qt)f(function)i Fc(SALOMEGUI_QtCat)o(ch)o(Cor)o
-(ba)o(Exc)o(ep)o(ti)o(on.)o(hx)o(x)21 b Fh(to)26 b(see)g(ho)n(w)h(to)f
-(get)h(the)g(information)f(giv)n(en)f(b)n(y)0 5407 y(the)j(exception)f
-(ob)5 b(ject.)p eop
-%%Page: 8 8
-8 7 bop 0 -167 3900 5 v 0 -200 a Fe(3.)73 b(Miscellaneous)30
-b(to)s(ols)2901 b Fh(8)0 162 y Ff(3)131 b(Miscellaneous)45
-b(to)t(ols)0 419 y Fd(3.1)112 b(Singleton)0 629 y Fe(3.1.1)94
-b(De\034nition)0 839 y Fh(A)37 b(singleton)g(is)g(an)g(application)f
-(data)h(whic)n(h)g(is)g(created)f(and)h(deleted)h(only)f(once)f(at)h
-(the)h(end)f(of)g(the)h(application)0 953 y(pro)r(cess.)63
-b(The)36 b(C++)g(compiler)g(allo)n(ws)f(the)i(user)f(to)h(create)e(a)h
-(static)h(singleton)f(data)g(b)r(efore)g(the)h(\034rst)g(executable)0
-1067 y(statemen)n(t.)g(They)27 b(are)g(deleted)h(after)f(the)h(last)f
-(statemen)n(t)h(execution.)0 1223 y(The)g Fc(SINGLETON_)23
-b Fh(template)28 b(class)e(deals)h(with)h(dynamic)f(singleton.)36
-b(It)28 b(is)f(useful)h(for)f(functor)g(ob)5 b(jects.)37
-b(F)-7 b(or)27 b(example,)0 1337 y(an)g(ob)5 b(ject)27
-b(that)h(connects)f(the)g(application)g(to)g(a)g(system)g(at)g
-(creation)g(and)g(disconnects)f(the)i(application)f(at)g(deletion.)0
-1609 y Fe(3.1.2)94 b(Usage)0 1819 y Fh(T)-7 b(o)27 b(create)g(a)g
-(single)g(instance)g(a)g(POINT)h(ob)5 b(ject)28 b(:)0
-2059 y Fc(#)43 b(include)e("Utils_SINGLETO)o(N.h)o(xx)o(")0
-2172 y(...)0 2286 y(POINT)g(*ptrPoint=SINGLET)o(ON)o(_<P)o(OI)o(NT)o
-(>::)o(In)o(st)o(anc)o(e\()o(\))c(;)0 2400 y(assert\(ptrPoint!)o(=N)o
-(ULL)o(\))g(;)0 2639 y Fh(No)27 b(need)g(to)g(delete)g(ptrP)n(oin)n(t.)
-37 b(Deletion)27 b(is)g(ac)n(hiev)n(ed)f(automatically)g(at)h(exit.)37
-b(If)27 b(the)h(user)e(tries)h(to)g(create)f(more)g(than)0
-2753 y(one)e(singleton)g(b)n(y)g(using)f(the)i(class)e(metho)r(d)i
-Fc(SINGLETON_)p Fa(<)p Fc(TYPE)p Fa(>)o Fc(::I)o(ns)o(ta)o(nce)o(\(\))o
-Fh(,)19 b(the)25 b(p)r(oin)n(ter)f(is)g(returned)g(with)h(the)0
-2866 y(same)i(v)-5 b(alue)27 b(ev)n(en)g(if)i(this)e(is)h(done)f(in)h
-(di\033eren)n(t)g(functions)f(\(threads)h(?\).)0 3106
-y Fc(POINT)41 b(*p1=SINGLETON_<PO)o(IN)o(T>:)o(:I)o(ns)o(tan)o(ce)o
-(\(\))c(;)0 3219 y(...)0 3333 y(POINT)k(*p2=SINGLETON_<PO)o(IN)o(T>:)o
-(:I)o(ns)o(tan)o(ce)o(\(\))c(;)0 3446 y(assert\(p1==p2\))0
-3719 y Fe(3.1.3)94 b(Design)30 b(description)0 3929 y
-Fh(Here)d(are)g(the)h(principles)f(features)g(of)g(the)h(singleton)f
-(design)g(:)125 4169 y Fb(\017)41 b Fh(the)28 b(user)f(creates)g(an)g
-(ob)5 b(ject)28 b(of)g(class)f Fc(TYPE)f Fh(b)n(y)i(using)f(the)i
-(class)e(metho)r(d)h Fc(SINGLETON_)p Fa(<)p Fc(TYPE)p
-Fa(>)o Fc(::)o(In)o(sta)o(nc)o(e\()o(\))208 4282 y Fh(whic)n(h)f
-(returns)g(a)g(p)r(oin)n(ter)g(to)h(the)g(single)f(ob)5
-b(ject)27 b(;)125 4462 y Fb(\017)41 b Fh(to)27 b(create)g(an)g(ob)5
-b(ject,)27 b Fc(SINGLETON_)p Fa(<)p Fc(TYPE)p Fa(>)o
-Fc(::I)o(ns)o(tan)o(ce)o(\(\))21 b Fh(uses)27 b(the)h(default)g
-(constructor)e(of)i(class)e Fc(TYPE)g Fh(;)125 4642 y
-Fb(\017)41 b Fh(at)31 b(the)h(same)g(time,)h(this)f(class)f(metho)r(d)h
-(creates)f(a)g(destructor)g(ob)5 b(ject)31 b(whic)n(h)h(is)g(added)f
-(to)h(the)g(generic)f(list)h(of)208 4756 y(destructor)26
-b(ob)5 b(jects)27 b(to)h(b)r(e)g(executed)f(at)g(the)h(end)g(of)g(the)g
-(application)f(\()p Fc(atexit)p Fh(\))e(;)125 4936 y
-Fb(\017)41 b Fh(at)30 b(the)h(end)f(of)h(the)f(application)g(pro)r
-(cess)f(all)h(the)h(deletions)f(are)g(p)r(erformed)f(b)n(y)i(the)f
-Fc(Nettoyage\(\))c Fh(C)31 b(function)208 5049 y(whic)n(h)c(executes)g
-(the)h(destruction)f(ob)5 b(jects)27 b(end)h(then)g(deletes)g(the)g
-(destructions)f(ob)5 b(jects)27 b(themselv)n(es)g(;)125
-5229 y Fb(\017)41 b Fh(the)20 b Fc(Nettoyage\(\))c Fh(C)41
-b(function)21 b(using)f(atexit\(\))h(C)40 b(function)21
-b(is)f(em)n(b)r(edded)h(in)g(a)f(static)g(single)g(ob)5
-b(ject)20 b Fc(ATEXIT_\(\))p Fh(.)p eop
-%%Trailer
-end
-userdict /end-hook known{end-hook}if
-%%EOF
diff --git a/doc/salome/tui/Makefile.am b/doc/salome/tui/Makefile.am
new file mode 100644 (file)
index 0000000..09511f9
--- /dev/null
@@ -0,0 +1,27 @@
+# -* Makefile *- 
+#
+# Author : Paul RASCLE (EDF)
+# Date : 16/02/2006
+# $Header$
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+EXTRA_DIST = $(srcdir)/KERNEL
+
+dist-hook:
+       rm -rf `find $(distdir) -name CVS`
+
+userdoc:
+       cp -fr $(srcdir)/KERNEL ./INPUT; \
+       cd INPUT; \
+       sed 's|../../../share/salome|@top_srcdir@|' ./doxyfile > ./doxyfile1; \
+       mv -f doxyfile1 doxyfile; \
+       $(DOXYGEN) ./doxyfile; \
+       cd ..;
+       $(INSTALL) -d $(docdir)/tui/KERNEL; 
+       cp -fr $(srcdir)/KERNEL/sources/static/*.* $(docdir)/tui/KERNEL;
+       cp -fr $(srcdir)/KERNEL/sources/ $(docdir)/tui/KERNEL;
+       cp -fr $(srcdir)/KERNEL/HTML/ $(docdir)/tui/KERNEL;
+       cp -f $(srcdir)/pythfilter.py $(docdir)/tui/KERNEL;
+
diff --git a/doc/salome/tui/Makefile.in b/doc/salome/tui/Makefile.in
deleted file mode 100644 (file)
index eeaff82..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#  Copyright (C) 2003  CEA/DEN, EDF R&D
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Vasily Rusyaev (Open Cascade NN)
-#  Module : doc
-#  $Header: 
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-root_srcdir=@ROOT_SRCDIR@
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-doxygen=@DOXYGEN@
-
-@COMMENCE@
-
-docs:
-       cp -fr $(srcdir)/KERNEL ./INPUT; \
-       cd INPUT; \
-       sed 's|../../../share/salome|$(root_srcdir)|' ./doxyfile > ./doxyfile1; \
-       mv -f doxyfile1 doxyfile; \
-       $(doxygen) ./doxyfile; \
-       cd ..; \
-       mkdir KERNEL; \
-       cp -fr $(srcdir)/KERNEL/sources/static/*.* ./KERNEL/
-       cp -fr $(srcdir)/KERNEL/sources/ KERNEL/
-       cp -fr $(srcdir)/KERNEL/HTML/ KERNEL/
-       cp -f $(srcdir)/pythfilter.py KERNEL/
-       rm -fr INPUT
-
-clean:
-       rm -fr KERNEL
-
-distclean: clean
-       rm -fr INPUT
-
-install:
-       $(INSTALL) -d $(docdir); \
-       mkdir -p $(docdir)/tui
-       cp -fr KERNEL $(docdir)/tui
-
-uninstall:
-       rm -fr $(docdir)/tui/KERNEL
diff --git a/doc/txt2html.sh b/doc/txt2html.sh
new file mode 100755 (executable)
index 0000000..9410463
--- /dev/null
@@ -0,0 +1,36 @@
+#/bin/sh
+# ===================================================================
+# This shell script is provided for generating the html files
+# from the txt files (restructured text) in the source directory.
+#
+# Usage: just execute the script where it stands in the source
+# directory. The file list has to be updated manually when adding
+# a new restructured text file.
+#
+# Note that the building process executes a target rstdoc that
+# generates the html documentation without need of this script.
+# The autoconficuration (check_htmlgen.m4) set the correct generator
+# rst2html by replacing the @RST2HTML@ tag.
+# ===================================================================
+# (CSSI - gboulant - 25/10/05)
+#
+
+# This must be updated manually in this script (for source usage only)
+RST2HTML=rst2html
+
+FILELIST="index
+         UnitTests
+         SALOME_Application
+         INSTALL
+         kernel_resources
+         userguide"
+
+STYLESHEET=rst.css
+RSTOPTS="--output-encoding=latin1 --stylesheet=$STYLESHEET"
+
+for file in $FILELIST; do
+    bfn=`basename $file .txt`
+    echo "Generating ${bfn}.html from ${bfn}.txt ..."
+    $RST2HTML $RSTOPTS ${bfn}.txt ${bfn}.html
+done
+
diff --git a/doc/userguide.txt b/doc/userguide.txt
new file mode 100644 (file)
index 0000000..96bbfb6
--- /dev/null
@@ -0,0 +1,125 @@
+
+=================================================================
+User's guide, for developpers and users
+=================================================================
+
+.. contents::
+.. sectnum::
+
+This guide provides you with some basic concepts for developing and
+using the SALOME platform. You will find some information on the
+general technical architecture ...
+
+Introduction
+============
+
+General information
+-------------------
+
+This document has been initialized by collecting and updating an existing
+documentation. The restructured text format has been selected for
+writing. This format can be read with a basic editor except for
+pictures and some hypertext links. You can build the html pages using
+the docutils scripts provided with python packages on most platform.
+
+Definitions
+-----------
+
+``WORK IN PROGRESS``
+
+Module
+   definition of a module and/or link to the definition
+
+Container
+   definition of a container
+  
+
+General concepts
+================
+modules et dépendances (s'inspirer de PYHELLO)
+
+
+Filesystem organisation
+========================
+
+Voir doc de JR "Organisation de la plate-forme"
+
+A typical source working directory
+----------------------------------
+organisation type des sources d'un module standard (spécifications techniques)
+
+A typical installation directory
+--------------------------------
+organisation type des produits installés
+
+
+Building process
+================
+Procédures de compilation (renvoie au install.sh)
+
+
+Developer's guide - basic concepts
+=========================================
+
+Guide du développeur: Ã©léments de conception
+  - zoom sur certains Ã©léments techniques bons Ã  connaitre pour faire
+    Ã©voluer le KERNEL sans tout casser.
+  - les ressources du kernel:
+    - trace, debug, exception (cf. kernel_ressources.tex)
+    - classes batch (présentation puis renvoi Ã  la doc d'Ivan)
+  - développement de tests unitaires
+
+Developer's guide - managing the development space
+==================================================
+
+- Guide du développeur: gestion de l'espace de développement
+  - principe de mise en oeuvre (rôle des Ã©tapes: build_configure, ...)
+  - description des fichiers m4 et du principe de mise en oeuvre
+  - les Makefile.in, ... (cf. doc guide du développeur).
+  - Ã©volution des procédures de construction
+  - personalisation des procédures de construction
+
+Developer' guide - integration tools
+==================================== 
+- Guide de l'intégrateur (développeur de nouveaux modules)
+(on lui montre ici le principe de construction et les ressources Ã 
+disposition pour faire le travail)
+  - création d'un modules
+  - intégration code boîte noire (perfect, solver)
+  - intégration bibliothèque de fonctions (hxx2salome, voir avec
+    N.Crouzet)
+  - intégration de modèles de données (xdata) 
+
+
+End user's guide
+================
+- Guide de l'utilisateur
+  - concept d'application (renvoie doc Paul)
+  - commandes avancées (showNS, exemple de contact de la
+    session, d'un engine, utilisation du lifeCycle, du module salome,
+    des modules geompy et smesh)
+  - utilisation en mode distribué (doc de B. Sechet)
+  - GUI and TUI documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RST Exemples
+============
+
+See INSTALL_ for general information on required configuration and 
+prerequisites, compilation procedure, setting environment principles.
+
+.. _INSTALL: ./INSTALL.html
+
diff --git a/idl/Makefile.am b/idl/Makefile.am
new file mode 100644 (file)
index 0000000..3f41523
--- /dev/null
@@ -0,0 +1,129 @@
+
+#
+# This Makefile is responsible of generating the client and server
+# implementation of IDL interfaces for both C++ and python usage.
+# The building process of the C++ files is in charge of each source
+# package and then is not manage here.
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+BASEIDL_FILES = \
+  SALOME_Exception.idl \
+  SALOME_Comm.idl \
+  SALOME_ModuleCatalog.idl \
+  SALOME_DataTypeCatalog.idl \
+  SALOME_RessourcesCatalog.idl \
+  SALOMEDS.idl \
+  SALOMEDS_Attributes.idl \
+  SALOME_Component.idl \
+  SALOME_ContainerManager.idl \
+  SALOME_TestComponent.idl \
+  SALOME_Registry.idl \
+  Logger.idl \
+  SALOME_GenericObj.idl \
+  SALOME_TestModuleCatalog.idl \
+  nstest.idl
+
+MPIIDL_FILES = \
+  SALOME_MPIObject.idl \
+  SALOME_MPIContainer.idl \
+  SALOME_TestMPIComponent.idl  
+
+IDL_FILES = $(BASEIDL_FILES)
+if MPI_IS_OK
+  IDL_FILES += $(MPIIDL_FILES)
+endif
+
+# all the idl files are needed for make dist
+EXTRA_DIST= $(BASEIDL_FILES) $(MPIIDL_FILES)
+
+# This variable defines the files to be installed
+salomeidl_DATA = $(IDL_FILES)
+
+# Sources built from idl files
+# BUILT_SOURCE = first thing done on make all
+# idl dependencies are checked and rebuilt first
+
+BASEIDL_SOURCES =\
+  SALOME_ExceptionSK.cc \
+  SALOME_CommSK.cc \
+  SALOME_ModuleCatalogSK.cc \
+  SALOME_DataTypeCatalogSK.cc \
+  SALOME_RessourcesCatalogSK.cc \
+  SALOMEDSSK.cc \
+  SALOMEDS_AttributesSK.cc \
+  SALOME_ComponentSK.cc \
+  SALOME_ContainerManagerSK.cc \
+  SALOME_TestComponentSK.cc \
+  SALOME_RegistrySK.cc \
+  LoggerSK.cc \
+  SALOME_GenericObjSK.cc \
+  SALOME_TestModuleCatalogSK.cc \
+  nstestSK.cc
+
+MPIIDL_SOURCES = \
+  SALOME_MPIObjectSK.cc \
+  SALOME_MPIContainerSK.cc \
+  SALOME_TestMPIComponentSK.cc  
+
+IDL_SOURCES = $(BASEIDL_SOURCES)
+if MPI_IS_OK
+  IDL_SOURCES += $(MPIIDL_SOURCES)
+endif
+
+BUILT_SOURCES = $(IDL_SOURCES)
+
+lib_LTLIBRARIES = libSalomeIDLKernel.la
+nodist_libSalomeIDLKernel_la_SOURCES = $(BUILT_SOURCES)
+libSalomeIDLKernel_la_CPPFLAGS =\
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+libSalomeIDLKernel_la_LDFLAGS = -no-undefined -version-info=0:0:0
+libSalomeIDLKernel_la_LIBADD  = @CORBA_LIBS@
+
+# These variables defines the building process of CORBA files
+OMNIORB_IDL         = @OMNIORB_IDL@
+OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
+OMNIORB_IDLPYFLAGS  = @OMNIORB_IDLPYFLAGS@ -I$(top_builddir)/salome/idl
+IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_builddir)/salome/idl
+IDLPYFLAGS  = @IDLPYFLAGS@
+
+# potential problem on parallel make on the following - multiple outputs
+SUFFIXES = .idl .hh SK.cc
+.idlSK.cc:
+       $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
+.idl.hh:
+       $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
+
+
+install-exec-local: $(IDL_FILES:%=$(top_srcdir)/idl/%)
+       $(INSTALL) -d  $(pkgpythondir)
+       ls $^ | while read file; do \
+         $(OMNIORB_IDL) $(IDLPYFLAGS) -C$(pkgpythondir) $$file ; \
+       done
+
+# uninstall-local removes too much, but it works in distcheck
+uninstall-local:
+       rm -rf $(pkgpythondir)/*
+
+mostlyclean-local:
+       -rm -f *.hh *.cc .depidl
+
+# we use cpp to generate dependencies between idl files.
+# option x c tells the preprocessor to consider idl as a c file.
+# if an idl is modified, all idl dependencies are rebuilt
+
+.depidl: $(IDL_FILES)
+       @echo "" > $@
+       @for dep in $^ dummy; do \
+         if [ $$dep != "dummy" ]; then \
+           echo Building dependencies for $$dep; \
+           $(CPP) $(C_DEPEND_FLAG) -x c -I$(srcdir) $$dep 2>/dev/null | \
+           sed 's/\.o/\SK.cc/' >>$@; \
+         fi; \
+       done ;
+
+-include .depidl
+
diff --git a/idl/Makefile.in b/idl/Makefile.in
deleted file mode 100644 (file)
index 9ac8e2c..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# generate dependencies for idl file :
-#
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.
-
-@COMMENCE@
-
-IDL_FILES = \
-  SALOME_Exception.idl \
-  SALOME_Comm.idl \
-  SALOME_ModuleCatalog.idl \
-  SALOME_DataTypeCatalog.idl \
-  SALOME_RessourcesCatalog.idl \
-  SALOMEDS.idl \
-  SALOMEDS_Attributes.idl \
-  SALOME_Component.idl \
-  SALOME_ContainerManager.idl \
-  SALOME_TestComponent.idl \
-  SALOME_Registry.idl \
-  SALOME_MPIObject.idl \
-  SALOME_MPIContainer.idl \
-  Logger.idl \
-  SALOME_GenericObj.idl \
-  SALOME_TestModuleCatalog.idl
-
-PY_CLIENT_IDL = $(IDL_FILES)
-
-# we copy all idl file in $(top_builddir)/idl
-inc: $(top_builddir)/idl/salome $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
-
-$(top_builddir)/idl/salome:
-       mkdir -p $@
-
-$(IDL_FILES:%=$(top_builddir)/idl/salome/%):$(IDL_FILES:%=$(top_srcdir)/idl/%)
-#      $(CP) $< $@
-       cp -f $^ $(top_builddir)/idl/salome
-
-
-lib: pyidl
-
-PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
-
-pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)
-
-$(PYTHON_BUILD_SITE):
-       $(INSTALL) -d  $@
-
-$(PYTHON_BUILD_SITE)/%_idl.py: $(top_builddir)/idl/salome/%.idl
-       $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_BUILD_SITE) $<
-
-
-# install python client (generated from idl file
-install: $(top_builddir)/idl/salome install-pyidl install-idl
-
-# create directory $(idldir) and copy idl files into it
-install-idl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
-       $(INSTALL) -d  $(idldir)
-       cp -p -f $^ $(idldir)
-
-
-install-pyidl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
-       $(INSTALL) -d  $(PYTHON_SITE_INSTALL)
-       @for file in $^ dummy; do \
-         if [ $$file != "dummy" ]; then \
-           $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_SITE_INSTALL) $$file ; \
-         fi ; \
-       done ;
-
-#@ CONCLUDE @
-
-cleandep:
-       -$(RM) .dep*
-
-distclean:
-       -$(RM) *.py
-       -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
-       -$(RM) Makefile
-
index de883d82e681e95cc852506674669dfff503fb73..4c21467c8720ddaf9f7f8a15e8ef11c57691b395 100644 (file)
@@ -97,6 +97,7 @@ during each working session.
   interface ChildIterator;
   interface Driver;
   interface AttributeStudyProperties;
+  interface AttributeParameter;
   interface UseCaseIterator;
   interface UseCaseBuilder;
 
@@ -370,6 +371,29 @@ during each working session.
 
     boolean DumpStudy(in string thePath, in string theBaseName, in boolean isPublished);
 
+/*!
+    Returns an AttributeParameter used to store common parameters for given %theSavePoint.
+    \param theID identifies a common parameters set (Example: "Interface Applicative")
+    \param theSavePoint is number of a set of parameters as there can be several sets
+*/
+    AttributeParameter GetCommonParameters(in string theID, in long theSavePoint);
+
+/*!
+    Returns an AttributeParameter used to store parameters for given %theModuleName.
+    \param theID identifies a common parameters set (Example: "Interface Applicative")
+    \param theModuleName is a name of the module (Example: "Geometry")
+    \param theSavePoint is number of a set of parameters as there can be several sets
+*/
+    AttributeParameter GetModuleParameters(in string theID, in string theModuleName, in long theSavePoint);
+
+
+/*!
+    Returns a default Python script to restore visual parameters for given %theModuleName.
+    \param theID identifies a common parameters set (Example: "Interface Applicative")
+    \param theModuleName is a name of the module (Example: "Geometry")
+*/
+    string GetDefaultScript(in string theID, in string theModuleName);
+
 /*!
     Private method, returns an implementation of this Study.
    \param theHostname is a hostname of the caller
@@ -876,14 +900,14 @@ Gets the list of open studies
     ListOfAttributes     GetAllAttributes();
 /*! Gets the study of a given %SObject.
 
-    /return The study containing the given %SObject.
+    \return The study containing the given %SObject.
 */
     Study GetStudy();
 
 /*! Gets the CORBA object by its own IOR attribute.
     Returns nil, if can't.
 
-    /return The CORBA object of the %SObject.
+    \return The CORBA object of the %SObject.
 */
     Object GetObject();
 
index 80afd5603f13bc71423e054829d2875302ccbcf5..9306818dcd344598e74281d710ab0697bdf1c0af 100644 (file)
@@ -1334,5 +1334,130 @@ Sets the item to be selectable
 */
     boolean IsScript();
   };
+  //==========================================================================
+/*! \brief %AttributeParameter interface
+
+    Attribute is a universal container of basic types
+*/
+  //==========================================================================
+  interface AttributeParameter : GenericAttribute
+  {
+/*!
+  Associates a integer value with the ID
+  \param theID        An ID of a parameter.
+  \param theValue     A value of the parameter
+*/
+    void SetInt(in string theID, in long theValue);
+/*!
+  Returns a int value associated with the given ID
+  \param theID        An ID of a parameter.
+*/
+    long GetInt(in string theID);
+
+/*!
+  Associates a real value with the ID
+  \param theID        An ID of a parameter.
+  \param theValue     A value of the parameter
+*/
+    void SetReal(in string theID, in double theValue);
+/*!
+  Returns a real value associated with the given ID
+  \param theID        An ID of a parameter.
+*/
+    double GetReal(in string theID);
+
+/*!
+  Associates a string value with the ID
+  \param theID        An ID of a parameter.
+  \param theValue     A value of the parameter
+*/
+    void SetString(in string theID, in string theValue);
+/*!
+  Returns a string value associated with the given ID
+  \param theID        An ID of a parameter.
+*/
+    string GetString(in string theID);
+  
+/*!
+  Associates a boolean value with the ID
+  \param theID        An ID of a parameter.
+  \param theValue     A value of the parameter
+*/
+    void SetBool(in string theID, in boolean theValue);
+/*!
+  Returns a boolean value associated with the given ID
+  \param theID        An ID of a parameter.
+*/
+    boolean GetBool(in string theID);
+  
+/*!
+  Associates an array of real values with the ID
+  \param theID        An ID of a parameter.
+  \param theArray     The array of real values
+*/
+    void SetRealArray(in string theID, in DoubleSeq theArray);
+/*!
+  Returns an array of real values associated with the ID
+  \param theID        An ID of a parameter.
+*/
+    DoubleSeq GetRealArray(in string theID);
+
+/*!
+  Associates an array of integer values with the ID
+  \param theID        An ID of a parameter.
+  \param theArray     The array of integer values
+*/
+    void SetIntArray(in string theID, in LongSeq theArray);
+/*!
+  Returns an array of integer values associated with the ID
+  \param theID        An ID of a parameter.
+*/
+    LongSeq GetIntArray(in string theID);
+
+/*!
+  Associates an array of string values with the ID
+  \param theID        An ID of a parameter.
+  \param theArray     The array of string values
+*/
+    void SetStrArray(in string theID, in StringSeq theArray);
+/*!
+  Returns an array of string values associated with the ID
+  \param theID        An ID of a parameter.
+*/
+    StringSeq GetStrArray(in string theID);
+/*!
+  Returns True if for the ID of given type was assigned a value in the attribute
+  \param theID        An ID of a parameter.
+  \param theType      A type of parameter [0(Int), 1(Real), 2(Boolean), 3(String), 4(RealArray), 5(IntArray), 6(StrArray)].
+*/
+    boolean IsSet(in string theID, in long theType);
+/*!
+  Removes a parameter with given ID and Type, returns True if succeded
+  \param theID        An ID of a parameter.
+  \param theType      A type of parameter [0(Int), 1(Real), 2(Boolean), 3(String), 4(RealArray), 5(IntArray), 6(StrArray)].
+*/
+    boolean RemoveID(in string theID, in long theType);
+/*!
+   Returns a father attribute of this attribute
+*/
+    AttributeParameter GetFather();
+/*!
+   Returns True if this attribute has a father attribute
+*/
+    boolean HasFather();
+/*!
+   Returns True if this attribute is a root attribute
+*/
+    boolean IsRoot();
+/*!
+   Clears the content of the attribute
+*/
+    void Clear();
+/*!   
+  Returns a sequence of ID's of the give type
+  \param theType      A type of parameter [0(Int), 1(Real), 2(Boolean), 3(String), 4(RealArray), 5(IntArray), 6(StrArray)].
+ */ 
+    StringSeq GetIDs(in long theType);
+  };
 };
 #endif
diff --git a/make_config.in b/make_config.in
deleted file mode 100755 (executable)
index 64b47c3..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# make_config.in: template for make_config script
-# make_config is used by check_cas.m4 to generate 
-# config.h file in case it cannot be found in OCC
-# and SALOME include paths
-#=================================================
-dnl Process this file with autoconf to produce a configure script.
-
-AC_INIT(salome_adm/unix)
-AC_CONFIG_SRCDIR(salome_adm/unix/config.h.in)
-AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
-AC_CANONICAL_HOST
-
-AC_CONFIG_HEADERS(./salome_adm/unix/config.h)
-
-AC_ISC_POSIX
-AC_C_BIGENDIAN
-
-dnl Checks for programs.
-AC_PROG_CXX
-AC_PROG_CC_C_O
-
-AC_PROG_AWK
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_YACC
-AC_PROG_MAKE_SET
-
-dnl Replace `main' with a function in -le:
-AC_CHECK_LIB(e, main)
-
-dnl Replace `main' with a function in -links:
-AC_CHECK_LIB(inks, main)
-
-dnl Checks for X window system directories.
-AC_PATH_X
-if test "x$ac_x_includes" = "x"; then
-  X_INCLUDE=""
-else
-  X_INCLUDE="-I$ac_x_includes"
-fi
-if test "x$ac_x_libraries" = "x"; then
-  X_LIBS="-lXt -lX11"
-else
-  X_LIBS="-L$ac_x_libraries -lXt -lX11"
-fi
-
-dnl Checks for header files.
-
-AC_HEADER_STDC
-AC_LANG([C])
-AC_MSG_CHECKING([ for C header files ])
-AC_CHECK_HEADERS(dlfcn.h dl.h ieeefp.h time.h sys/time.h pwd.h)
-AC_CHECK_HEADERS(sys/statvfs.h sys/vfs.h sys/param.h osfcn.h netdb.h)
-AC_CHECK_HEADERS(sys/ioctl.h net/if.h sys/systeminfo.h sys/utsname.h)
-AC_CHECK_HEADERS(sysent.h unistd.h sys/unistd.h sys/socket.h)
-AC_CHECK_HEADERS(ndir.h sys/ndir.h sys/dir.h signal.h sys/signal.h)
-AC_CHECK_HEADERS(sigfpe.h floatingpoint.h sys/machsig.h sys/siginfo.h)
-AC_CHECK_HEADERS(malloc.h strings.h sys/stat.h sys/sem.h sys/ipc.h)
-AC_CHECK_HEADERS(sys/times.h dirent.h getopt.h sys/vnode.h)
-
-
-AC_LANG([C++])
-AC_MSG_CHECKING([ for C++ header files ])
-AC_CHECK_HEADERS(istream ostream istream fstream ios iomanip iostream )
-AC_CHECK_HEADERS(stream.h strstream.h istream.h ostream.h fstream.h stdlib.h ios.h iostream.h)
-AC_CHECK_HEADERS(iomanip.h limits.h values.h float.h)
-AC_CHECK_HEADERS(siginfo.h bits/sigset.h bstring.h sys/types.h sys/select.h)
-AC_CHECK_HEADERS(X11/extensions/transovl.h X11/extensions/readdisplay.h)
-AC_CHECK_HEADERS(X11/extensions/multibuf.h)
-AC_CHECK_HEADERS(sys/filio.h sys/mman.h libc.h)
-
-dnl Checks for library functions.
-AC_TYPE_SIGNAL
-
-AC_OUTPUT()
diff --git a/resources/DEPRECATED/Plugin.in b/resources/DEPRECATED/Plugin.in
new file mode 100755 (executable)
index 0000000..3d4fad5
--- /dev/null
@@ -0,0 +1,10 @@
+! Description of available plugins
+! ********************************
+!
+a148e300-5740-11d1-a904-080036aaa103.Location: FWOSPlugin
+!
+! standard attribute drivers plugin
+!
+ad696000-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
+ad696001-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
+ad696002-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
diff --git a/resources/Makefile.am b/resources/Makefile.am
new file mode 100644 (file)
index 0000000..b8f2d50
--- /dev/null
@@ -0,0 +1,26 @@
+# -* Makefile *- 
+#
+# Author : Guillaume Boulant (CSSI)
+# Module : KERNEL 
+# $Header$
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+
+dist_salomeres_DATA=\
+       CatalogDataType.xml \
+       CatalogResources.xml \
+       CatalogModulePersonnel.xml_skel \
+       close.png \
+       config \
+       channel.cfg \
+       KERNELCatalog.xml \
+       salomeCommonModel.spml \
+       SALOMEDS_Resources
diff --git a/resources/Plugin.in b/resources/Plugin.in
deleted file mode 100755 (executable)
index 3d4fad5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-! Description of available plugins
-! ********************************
-!
-a148e300-5740-11d1-a904-080036aaa103.Location: FWOSPlugin
-!
-! standard attribute drivers plugin
-!
-ad696000-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
-ad696001-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
-ad696002-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
diff --git a/salome_adm/Makefile.am b/salome_adm/Makefile.am
new file mode 100644 (file)
index 0000000..17e24c7
--- /dev/null
@@ -0,0 +1 @@
+SUBDIRS = unix
diff --git a/salome_adm/Makefile.in b/salome_adm/Makefile.in
deleted file mode 100644 (file)
index 4dfafb9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:$(srcdir)/salome_adm
-
-
-all: resources
-
-install:
-       cp -rf @top_srcdir@/salome_adm @prefix@
-
-bin:
-
-resources :
-       cp -rf @top_srcdir@/salome_adm $(top_builddir)
-
-inc:
-
-lib:
-
-include/salome/SALOMEconfig.h:
-
-include/salome/config.h:
-
-include/salome/sstream:
-
-depend:
-
-depend_idl:
-
-install-end:
-
-install-include:
-
-install-bin:
-
-uninstall:
-
-uninstall-idl:
-
-distclean:
-
-clean:
-
-distclean-other:
-
diff --git a/salome_adm/unix/DEPRECATED/Doxyfile b/salome_adm/unix/DEPRECATED/Doxyfile
new file mode 100644 (file)
index 0000000..df82af0
--- /dev/null
@@ -0,0 +1,829 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+
+# Doxyfile 1.2.8.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = 
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = 
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, 
+# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, 
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+
+OUTPUT_LANGUAGE        = English
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these class will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = 
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a class diagram (in Html and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off.
+
+CLASS_DIAGRAMS         = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = YES
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower case letters. If set to YES upper case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments  will behave just like the Qt-style comments (thus requiring an 
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# reimplements.
+
+INHERIT_DOCS           = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consist of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = 
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = /home01/prascle/devSalome/rootsrc
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+FILE_PATTERNS          = *idl *.cxx *.hxx *.hh *.h *.c *.cc *.py
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.
+
+INPUT_FILTER           = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse.
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = /home01/prascle/devSalome/doc/html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript and frames is required (for instance Netscape 4.0+ 
+# or Internet explorer 4.0+).
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = /home01/prascle/devSalome/doc/latex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimised for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = 
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assigments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = 
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = 
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = 
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermedate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
+
+# The CGI_NAME tag should be the name of the CGI script that 
+# starts the search engine (doxysearch) with the correct parameters. 
+# A script with this name will be generated by doxygen.
+
+CGI_NAME               = 
+
+# The CGI_URL tag should be the absolute URL to the directory where the 
+# cgi binaries are located. See the documentation of your http daemon for 
+# details.
+
+CGI_URL                = 
+
+# The DOC_URL tag should be the absolute URL to the directory where the 
+# documentation is located. If left blank the absolute path to the 
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL                = 
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the 
+# documentation is located. If left blank the directory on the local machine 
+# will be used.
+
+DOC_ABSPATH            = 
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
+# is installed.
+
+BIN_ABSPATH            = 
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
+# documentation generated for other projects. This allows doxysearch to search 
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS          = 
diff --git a/salome_adm/unix/DEPRECATED/F77config.h.in b/salome_adm/unix/DEPRECATED/F77config.h.in
new file mode 100644 (file)
index 0000000..670ac57
--- /dev/null
@@ -0,0 +1,29 @@
+/*----------------------------------------------------------------------------------
+  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+  This library is free software; you can redistribute it and/or 
+  modify it under the terms of the GNU Lesser General Public 
+  License as published by the Free Software Foundation; either 
+  version 2.1 of the License. 
+  This library is distributed in the hope that it will be useful, 
+  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+  Lesser General Public License for more details. 
+  You should have received a copy of the GNU Lesser General Public 
+  License along with this library; if not, write to the Free Software 
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+------------------------------------------------------------------------------------*/
+
+
+#ifndef F77_FUNC
+
+#define F77_FUNC(name,NAME)  @F77_FUNC_NAME@
+#define F77_FUNC_(name,NAME) @F77_FUNC_NAME_@
+
+#endif
+
diff --git a/salome_adm/unix/DEPRECATED/config.h.in b/salome_adm/unix/DEPRECATED/config.h.in
new file mode 100755 (executable)
index 0000000..19d2851
--- /dev/null
@@ -0,0 +1,350 @@
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* define if the compiler allows redefinition of stream input and output */
+#undef DEF_IOS_OK
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <bits/sigset.h> header file. */
+#undef HAVE_BITS_SIGSET_H
+
+/* Define to 1 if you have the <bstring.h> header file. */
+#undef HAVE_BSTRING_H
+
+/* Define to 1 if you have the <dirent.h> header file. */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <dl.h> header file. */
+#undef HAVE_DL_H
+
+/* Define to 1 if you have the <DPS/dpsXclient.h> header file. */
+#undef HAVE_DPS_DPSXCLIENT_H
+
+/* Define if we have a function called "finite" in -lm. */
+#undef HAVE_FINITE
+
+/* Define to 1 if you have the <floatingpoint.h> header file. */
+#undef HAVE_FLOATINGPOINT_H
+
+/* Define to 1 if you have the <float.h> header file. */
+#undef HAVE_FLOAT_H
+
+/* Define to 1 if you have the <fstream> header file. */
+#undef HAVE_FSTREAM
+
+/* Define to 1 if you have the <fstream.h> header file. */
+#undef HAVE_FSTREAM_H
+
+/* Define to 1 if you have the `gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
+/* Define to 1 if you have the <ieeefp.h> header file. */
+#undef HAVE_IEEEFP_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <iomanip> header file. */
+#undef HAVE_IOMANIP
+
+/* Define to 1 if you have the <iomanip.h> header file. */
+#undef HAVE_IOMANIP_H
+
+/* Define to 1 if you have the <ios> header file. */
+#undef HAVE_IOS
+
+/* Define to 1 if you have the <iostream> header file. */
+#undef HAVE_IOSTREAM
+
+/* Define to 1 if you have the <iostream.h> header file. */
+#undef HAVE_IOSTREAM_H
+
+/* Define to 1 if you have the <ios.h> header file. */
+#undef HAVE_IOS_H
+
+/* Define to 1 if you have the <istream> header file. */
+#undef HAVE_ISTREAM
+
+/* Define to 1 if you have the <istream.h> header file. */
+#undef HAVE_ISTREAM_H
+
+/* Define to 1 if you have the <libc.h> header file. */
+#undef HAVE_LIBC_H
+
+/* Define to 1 if you have the `e' library (-le). */
+#undef HAVE_LIBE
+
+/* Define to 1 if you have the `inks' library (-links). */
+#undef HAVE_LIBINKS
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define if we have a function called "mallinfo" in -lmalloc. */
+#undef HAVE_MALLINFO
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <ndir.h> header file. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <net/if.h> header file. */
+#undef HAVE_NET_IF_H
+
+/* Define to 1 if you have the <osfcn.h> header file. */
+#undef HAVE_OSFCN_H
+
+/* Define to 1 if you have the <ostream> header file. */
+#undef HAVE_OSTREAM
+
+/* Define to 1 if you have the <ostream.h> header file. */
+#undef HAVE_OSTREAM_H
+
+/* Define to 1 if you have the `putenv' function. */
+#undef HAVE_PUTENV
+
+/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
+/* Define to 1 if you have the `regcomp' function. */
+#undef HAVE_REGCOMP
+
+/* Define to 1 if you have the `re_comp' function. */
+#undef HAVE_RE_COMP
+
+/* Define to 1 if you have the <sigfpe.h> header file. */
+#undef HAVE_SIGFPE_H
+
+/* Define to 1 if you have the <siginfo.h> header file. */
+#undef HAVE_SIGINFO_H
+
+/* Define to 1 if you have the <signal.h> header file. */
+#undef HAVE_SIGNAL_H
+
+/* Define to 1 if you have the `statfs' function. */
+#undef HAVE_STATFS
+
+/* Define to 1 if you have the `statvfs' function. */
+#undef HAVE_STATVFS
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strcspn' function. */
+#undef HAVE_STRCSPN
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the <stream.h> header file. */
+#undef HAVE_STREAM_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <strstream.h> header file. */
+#undef HAVE_STRSTREAM_H
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define if we have a function called "ieee_handler" in -lsunmath. */
+#undef HAVE_SUNMATH
+
+/* Define to 1 if you have the <sysent.h> header file. */
+#undef HAVE_SYSENT_H
+
+/* Define to 1 if you have the <sys/dir.h> header file. */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/ipc.h> header file. */
+#undef HAVE_SYS_IPC_H
+
+/* Define to 1 if you have the <sys/machsig.h> header file. */
+#undef HAVE_SYS_MACHSIG_H
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file. */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/sem.h> header file. */
+#undef HAVE_SYS_SEM_H
+
+/* Define to 1 if you have the <sys/siginfo.h> header file. */
+#undef HAVE_SYS_SIGINFO_H
+
+/* Define to 1 if you have the <sys/signal.h> header file. */
+#undef HAVE_SYS_SIGNAL_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/statvfs.h> header file. */
+#undef HAVE_SYS_STATVFS_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/systeminfo.h> header file. */
+#undef HAVE_SYS_SYSTEMINFO_H
+
+/* Define to 1 if you have the <sys/times.h> header file. */
+#undef HAVE_SYS_TIMES_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/unistd.h> header file. */
+#undef HAVE_SYS_UNISTD_H
+
+/* Define to 1 if you have the <sys/utsname.h> header file. */
+#undef HAVE_SYS_UTSNAME_H
+
+/* Define to 1 if you have the <sys/vfs.h> header file. */
+#undef HAVE_SYS_VFS_H
+
+/* Define to 1 if you have the <sys/vnode.h> header file. */
+#undef HAVE_SYS_VNODE_H
+
+/* Define to 1 if you have the <time.h> header file. */
+#undef HAVE_TIME_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the <values.h> header file. */
+#undef HAVE_VALUES_H
+
+/* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */
+#undef HAVE_X11_EXTENSIONS_MULTIBUF_H
+
+/* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */
+#undef HAVE_X11_EXTENSIONS_READDISPLAY_H
+
+/* Define to 1 if you have the <X11/extensions/transovl.h> header file. */
+#undef HAVE_X11_EXTENSIONS_TRANSOVL_H
+
+/* Define to 1 if you have the <Xmu/Editres.h> header file. */
+#undef HAVE_XMU_EDITRES_H
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* define if the class ostream has member function form */
+#undef OSTREAM_FORM_OK
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define if compiler has function prototypes */
+#undef PROTOTYPES
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* define if the function semctl takes a value */
+#undef SEMCTL_NO_REFERENCE
+
+/* define if the function semop takes a value */
+#undef SEMOP_NO_REFERENCE
+
+/* define if semun has member __buf */
+#undef SEMUN_BUF_DEFINED
+
+/* define if the union semun is in sys/sem.h */
+#undef SEMUN_DEFINED
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+        STACK_DIRECTION > 0 => grows toward higher addresses
+        STACK_DIRECTION < 0 => grows toward lower addresses
+        STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to 1 if your processor stores words with the most significant byte
+   first (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
+
+/* Define to 1 if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+
+/* Define to `unsigned' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/salome_adm/unix/DEPRECATED/depend.in b/salome_adm/unix/DEPRECATED/depend.in
new file mode 100644 (file)
index 0000000..080bf9a
--- /dev/null
@@ -0,0 +1,88 @@
+##                                                             -*- makefile -*-
+
+## We keep a list of dependencies in `.depend' for each of the source
+## files on which it depends.  When one of the source files is modified
+## we remove its record from .depend and regenerate its dependencies,
+## tacking them onto the end of .depend.  By including the .depend file
+## into the makefile, we're telling make that the makefile depends on
+## the dependency list in the .depend file.
+##
+## This is as fast as the `.d' method described in the GNU make manual
+## for automatic dependencies, but has the added advantage that all
+## dependencies are stored in one place.  The advantage over the
+## `makedepend' program is that only those files that are out of date
+## have dependency information rebuilt, and the Makefile is not
+## modified.
+##
+## This is also where tracing information is updated.  The $(TRACE)
+## program is run on each source file to make sure that the H5TRACE()
+## macros are up to date.  If they are then the file is not modified,
+## otherwise the file is changed and a backup is saved by appending a
+## tilde to the file name.
+##
+$(srcdir)/Dependencies: .depend
+       @if test "$(srcdir)" != "."; then                                     \
+           echo '## This file is machine generated on GNU systems.' >$@;     \
+           echo '## Only temporary changes may be made here.' >>$@;          \
+           echo >>$@;                                                        \
+           perl -p $(top_srcdir)/bin/distdep .depend >>$@;                   \
+       else                                                                  \
+           echo 'Dependencies cannot be built when $$srcdir == $$builddir';  \
+       fi
+
+depend:.depend
+
+# when use the path as regexp, prevent taking "." for "any symbol"
+srcdir_re = $(subst .,[.],$(srcdir))
+top_srcdir_re = $(subst .,[.],$(top_srcdir))
+top_builddir_re = $(subst .,[.],$(top_builddir))
+
+# we had Makefile target, because we want Makefile rebuild before include .depend
+.depend: $(LIB_DEP) $(TEST_SRC) $(BIN_DEP)
+       @touch .depend
+       @for dep in X $? ; do                                                 \
+          if [ $$dep != "X" ]; then                                          \
+          if [ $$dep != "Makefile" ]; then                                   \
+             case "$$dep" in                                                 \
+                *.c)                                                         \
+                   echo Building dependencies for $$dep;                     \
+                   obj=`basename $$dep .c`.lo;                               \
+                   sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@;   \
+                   $(CC) $(C_DEPEND_FLAG) $(CPPFLAGS) $$dep 2>/dev/null |    \
+                        sed 's% $(srcdir_re)/% $$(srcdir)/%g' |                      \
+                        sed 's% $(top_srcdir_re)/% $$(top_srcdir)/%g' |              \
+                        sed 's% $(top_builddir_re)/% $$(top_builddir)/%g' |      \
+                       sed 's/\.o/.lo/' >>$@;                                \
+                   ;;                                                        \
+                *.cc)                                                        \
+                   echo Building dependencies for $$dep;                     \
+                   obj=`basename $$dep .cc`.lo;                              \
+                   sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@;   \
+                   $(CXX) $(CXX_DEPEND_FLAG) $(CXXFLAGS) $(CPPFLAGS) $$dep 2>/dev/null | \
+                        sed 's% $(srcdir_re)/% $$(srcdir)/%g' |                      \
+                        sed 's% $(top_srcdir_re)/% $$(top_srcdir)/%g' |              \
+                        sed 's% $(top_builddir_re)/% $$(top_builddir)/%g' |      \
+                       sed 's/\.o/.lo/' >>$@;                                \
+                   ;;                                                        \
+                *.cxx)                                                       \
+                   echo Building dependencies for $$dep;                     \
+                   obj=`basename $$dep .cxx`.lo;                             \
+                   sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@;   \
+                   $(CXX) $(CXX_DEPEND_FLAG) $(CXXFLAGS) $(CPPFLAGS) $$dep 2>/dev/null | \
+                        sed 's% $(srcdir_re)/% $$(srcdir)/%g' |                      \
+                        sed 's% $(top_srcdir_re)/% $$(top_srcdir)/%g' |              \
+                        sed 's% $(top_builddir_re)/% $$(top_builddir)/%g' |      \
+                       sed 's/\.o/.lo/' >>$@;                                \
+                   ;;                                                        \
+             esac;                                                           \
+          fi;                                                                \
+          fi;                                                                \
+       done;
+
+
+-include .depend
+
+# idl depend
+-include $(top_builddir)/idl/.depidl
+
+
diff --git a/salome_adm/unix/DEPRECATED/envScript.in b/salome_adm/unix/DEPRECATED/envScript.in
new file mode 100644 (file)
index 0000000..3a05743
--- /dev/null
@@ -0,0 +1,26 @@
+
+DIR=`pwd`
+EXEC_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
+cd $EXEC_DIR/..
+SALOME_HOME_DIR=`pwd`
+cd $EXEC_DIR
+
+export SALOME_HOME_DIR      
+SALOME_SRC_DIR=@ROOT_SRCDIR@
+export SALOME_SRC_DIR
+ORB_HOME_DIR=@CORBA_ROOT@
+export ORB_HOME_DIR
+
+LD_LIBRARY_PATH=${SALOME_HOME_DIR}/lib:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH
+
+# echo $SALOME_HOME_DIR = SALOME_HOME_DIR
+# echo $SALOME_SRC_DIR = SALOME_SRC_DIR
+
+PYVTK_PATH=@VTKPY_MODULES@
+PYTHONPATH=${PYTHONPATH}:${SALOME_HOME_DIR}/idl:${SALOME_HOME_DIR}/bin:${SALOME_HOME_DIR}/lib:${PYVTK_PATH}:${EXEC_DIR}
+export PYTHONPATH
+
+MICORC=/dev/null
+export MICORC
+
diff --git a/salome_adm/unix/DEPRECATED/make_commence.in b/salome_adm/unix/DEPRECATED/make_commence.in
new file mode 100644 (file)
index 0000000..5517078
--- /dev/null
@@ -0,0 +1,263 @@
+# common directories to put headerfiles
+inc_builddir=$(top_builddir)/include/salome
+
+@SET_MAKE@
+# Modifcation B. Secher portage sur osf
+SHELL=@SHELL@
+
+# header missing
+
+HAVE_SSTREAM=@HAVE_SSTREAM@
+
+
+LIBS=@LIBS@ 
+LIBSFORBIN=@LIBS@
+# LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome -Xlinker -rpath-link -Xlinker -L$(top_builddir)/lib/salome
+LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome
+LDFLAGSFORBIN=@LDFLAGS@ -L$(top_builddir)/lib/salome
+# add libstdc++ to link c++ library with libtool !
+LDFLAGS+= @STDLIB@
+LDFLAGSFORBIN+= @STDLIB@
+
+#CP=@CP@
+
+# CPP
+
+CPP=@CPP@
+CXXCPP=@CXXCPP@
+CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
+
+# C
+
+CC = @CC@
+CFLAGS = @CFLAGS@
+C_DEPEND_FLAG = @C_DEPEND_FLAG@
+
+# C++
+
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@
+
+# BOOST Library
+
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LIBSUFFIX = @BOOST_LIBSUFFIX@
+BOOST_LIBS = @BOOST_LIBS@
+
+# OpenPBS
+
+OPENPBS_INCLUDES = @OPENPBS_INCLUDES@
+OPENPBS_LIBDIR   = @OPENPBS_LIBDIR@
+OPENPBS_LIBS     = @OPENPBS_LIBS@
+
+# LSF
+
+LSF_INCLUDES = @LSF_INCLUDES@
+LSF_LIBDIR   = @LSF_LDFLAGS@
+LSF_LIBS     = @LSF_LIBS@
+
+# CPPUNIT
+
+CPPUNIT_INCLUDES = @CPPUNIT_INCLUDES@
+CPPUNIT_LIBS = @CPPUNIT_LIBS@
+
+# PYTHON
+
+PYTHON = @PYTHON@
+PYTHONHOME = @PYTHONHOME@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_LIBS = @PYTHON_LIBS@
+PYTHON_VERSION = @PYTHON_VERSION@
+PYTHON_SITE = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages
+PYTHON_SITE_INSTALL = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome
+
+# QT
+QT_ROOT = @QT_ROOT@
+QT_INCLUDES = @QT_INCLUDES@
+QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT
+QT_LIBS = @QT_LIBS@
+QT_MT_LIBS = @QT_MT_LIBS@
+QT_VERS = @QT_VERS@
+
+MOC = @MOC@
+UIC = @UIC@
+
+# msg2qm
+MSG2QM = @MSG2QM@
+
+#QWT
+
+QWT_INCLUDES=@QWT_INCLUDES@
+QWT_LIBS=@QWT_LIBS@
+
+# SIP
+SIP = @SIP@
+SIP_INCLUDES = @SIP_INCLUDES@
+SIP_LIBS = @SIP_LIBS@
+SIP_VERS = @SIP_VERS@
+
+# PYQT
+PYQT_SIPS = @PYQT_SIPS@
+PYQT_LIBS = @PYQT_LIBS@
+PYQT_INCLUDES = @PYQT_INCLUDES@
+PYUIC = @PYUIC@
+PYQT_SIPFLAGS = @PYQT_SIPFLAGS@
+
+# openGL
+OGL_INCLUDES=@OGL_INCLUDES@
+OGL_LIBS=@OGL_LIBS@
+
+# VTK
+VTK_INCLUDES=@VTK_INCLUDES@
+VTK_LIBS=@VTK_LIBS@
+
+# HDF5
+
+HDF5_INCLUDES=@HDF5_INCLUDES@
+HDF5_LIBS=@HDF5_LIBS@
+HDF5_MT_LIBS=@HDF5_MT_LIBS@
+
+# OpenCasCade
+
+OCC_INCLUDES=@CAS_CPPFLAGS@
+OCC_CXXFLAGS=@CAS_CXXFLAGS@
+
+#OCC_KERNEL_LIBS=@CAS_KERNEL@
+#OCC_OCAF_LIBS=@CAS_OCAF@
+#OCC_VIEWER_LIBS=@CAS_VIEWER@
+#OCC_MODELER_LIBS=@CAS_MODELER@
+#OCC_DATAEXCHANGE_LIBS=@CAS_DATAEXCHANGE@
+#OCC_LIBS=@CAS_LDFLAGS@
+CAS_KERNEL=@CAS_KERNEL@
+CAS_MATH=@CAS_MATH@
+CAS_OCAF=@CAS_OCAF@
+CAS_OCAFVIS=@CAS_OCAFVIS@
+CAS_TKTopAlgo=@CAS_TKTopAlgo@
+CAS_VIEWER=@CAS_VIEWER@
+CAS_MODELER=@CAS_MODELER@
+CAS_DATAEXCHANGE=@CAS_DATAEXCHANGE@
+CAS_LDPATH=@CAS_LDPATH@
+
+# MPI
+
+MPI_INCLUDES=@MPI_INCLUDES@
+MPI_LIBS=@MPI_LIBS@
+
+# Swig C++ Python
+
+SWIG       = @SWIG@
+SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
+
+# OMNIORB
+
+OMNIORB_ROOT        = @OMNIORB_ROOT@
+OMNIORB_INCLUDES    = @OMNIORB_INCLUDES@
+OMNIORB_LIBS        = @OMNIORB_LIBS@
+OMNIORB_CXXFLAGS    = @OMNIORB_CXXFLAGS@
+
+OMNIORB_IDL         = @OMNIORB_IDL@
+OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
+OMNIORB_IDLPYFLAGS  = @OMNIORB_IDLPYFLAGS@ -I$(top_builddir)/salome/idl
+
+OMNIORB_IDL_CLN_H   = @OMNIORB_IDL_CLN_H@
+OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@
+OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@
+
+OMNIORB_IDL_SRV_H   = @OMNIORB_IDL_SRV_H@
+OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@
+OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@
+
+# Default ORB
+
+CORBA_ROOT        = @CORBA_ROOT@
+CORBA_INCLUDES    = @CORBA_INCLUDES@
+CORBA_LIBS        = @CORBA_LIBS@
+CORBA_CXXFLAGS    = @CORBA_CXXFLAGS@
+
+IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_builddir)/salome/idl
+IDLPYFLAGS  = @IDLPYFLAGS@
+
+IDL = @IDL@
+
+IDL_CLN_H   = @IDL_CLN_H@
+IDL_CLN_CXX = @IDL_CLN_CXX@
+IDL_CLN_OBJ = @IDL_CLN_OBJ@
+
+IDL_SRV_H   = @IDL_SRV_H@
+IDL_SRV_CXX = @IDL_SRV_CXX@
+IDL_SRV_OBJ = @IDL_SRV_OBJ@
+
+CPPFLAGS+= $(CORBA_INCLUDES) 
+CXXFLAGS+= $(CORBA_CXXFLAGS)
+
+# add corba libs when link salome application ! 
+#LDFLAGS+= $(CORBA_LIBS)
+LIBS+=$(CORBA_LIBS)
+LIBSFORBIN+=$(CORBA_LIBS)
+
+DOXYGEN = @DOXYGEN@
+
+## Shared libraries
+#LT_STATIC_EXEC=@LT_STATIC_EXEC@
+#DYNAMIC_DIRS=@DYNAMIC_DIRS@
+LT_LIB=libtool
+LT=$(top_builddir)/libtool
+LT_COMPILE=$(LT) --mode=compile $(CC)
+LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir)
+LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS)
+LT_RUN=$(LT) --mode=execute
+LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
+LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
+LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
+
+INSTALL=@INSTALL@
+INSTALL_PROGRAM=@INSTALL_PROGRAM@
+INSTALL_DATA=@INSTALL_DATA@
+
+# create a symbolic link (or a copie ?)
+LN_S=@LN_S@
+
+## Installation points
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+bindir=@bindir@/salome
+libdir=@libdir@/salome
+# warning : if user give this path in configure we could have salome/salome :-(
+includedir=@includedir@/salome
+datadir=@datadir@/salome
+idldir=${prefix}/idl/salome
+sharedpydir=@libdir@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
+incmakedir=${prefix}/salome_adm/unix
+
+docdir=${prefix}/doc/salome
+
+#
+# begin of package rules
+#
+
+.PHONY: all lib bin inc resources data docs tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean
+
+.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm
+
+all:
+       $(MAKE) inc
+       $(MAKE) depend_idl
+       $(MAKE) depend
+       $(MAKE) lib
+       $(MAKE) bin
+       $(MAKE) resources
+       $(MAKE) data
+
+#
+# add target to build administrative files
+#
+
+# Building html from restructured text files
+STYLESHEET=rst.css
+RST2HTML=@RST2HTML@
+#RSTOPTS=--output-encoding=latin1 --stylesheet=$(STYLESHEET)
+RSTOPTS=--output-encoding=latin1
+
+%.html: $(srcdir)/%.txt
+       $(RST2HTML) $(RSTOPTS) $< $@
diff --git a/salome_adm/unix/DEPRECATED/make_conclude.in b/salome_adm/unix/DEPRECATED/make_conclude.in
new file mode 100644 (file)
index 0000000..a668346
--- /dev/null
@@ -0,0 +1,398 @@
+#=======================================================================
+# This section of this makefile comes from the file 
+# 'adm/unix/make_conclude' which was generated with config.status
+# from file adm/unix/make_conclude.in
+#=======================================================================
+# -* Makefile *- 
+#
+# Authors : Patrick GOLDBRONN (CEA) - Marc Tajchman (CEA)
+# Date : 6/07/2001
+# $Header$
+#
+
+# ORB Specifics rules
+@CORBA@
+
+# transform idl reference in appropriate obj file
+LIB_CLIENT_SRC = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX))
+LIB_SERVER_SRC = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_CXX))
+LIB_MOC_SRC = $(LIB_MOC:%.h=%_moc.cxx)
+LIB_SRC+=$(LIB_MOC_SRC)
+LIB_SWIG_SRC = $(SWIG_DEF:%.i=%_wrap.cxx)
+LIB_DEP= $(LIB_SRC) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(LIB_SWIG_SRC)
+LIB_CLIENT_OBJ = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ))
+LIB_SERVER_OBJ = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ))
+
+# transform c file in appropriate libtool obj file (.c, .cc and .cxx)
+LIB_OBJ_C   = $(patsubst %.c,   %.lo, $(filter %.c, $(LIB_SRC))) 
+LIB_OBJ_CC  = $(patsubst %.cc,  %.lo, $(filter %.cc, $(LIB_SRC))) 
+LIB_OBJ_CXX = $(patsubst %.cxx, %.lo, $(filter %.cxx, $(LIB_SRC))) 
+LIB_SWIG_OBJ = $(LIB_SWIG_SRC:%.cxx=%.lo)
+LIB_OBJ_F    = $(patsubst %.f,   %.lo, $(filter %.f, $(LIB_SRC))) 
+
+# all libtool obj file in library
+LIB_OBJ = $(LIB_OBJ_CXX) $(LIB_OBJ_CC) $(LIB_OBJ_C) $(LIB_CLIENT_OBJ:%.o=%.lo) $(LIB_SERVER_OBJ:%.o=%.lo) $(LIB_SWIG_OBJ) $(LIB_OBJ_F)
+
+# LIB_BUILD = $(LIB:%.la=$(top_builddir)/lib/salome/%.la)
+LIB_BUILD = $(patsubst %.la, $(top_builddir)/lib/salome/%.la, $(filter %.la, $(LIB)))
+LIB_BUILD_A = $(patsubst %.a, $(top_builddir)/lib/salome/%.a, $(filter %.a, $(LIB)))
+LIB_BUILD_SO = $(patsubst %.so, $(top_builddir)/lib/salome/%.so, $(filter %.so, $(LIB)))
+
+ifneq ($(findstring cmodule.la,$(filter %.la, $(LIB))),)
+LIB_SWIG = $(patsubst %cmodule.la,%.so, $(filter %.la, $(LIB)))
+else
+LIB_SWIG = 
+endif
+
+lib: $(LIB_BUILD) $(LIB_BUILD_SO) $(LIB_CLIENT_PY)
+# we don't build static library !
+
+$(LIB_BUILD): $(top_builddir)/lib/salome/%.la: %.la
+       -$(RM) $@
+       -$(RM) $(patsubst %.la, %.so, $@)
+       -$(RM) $(patsubst %.la, %.a, $@)
+       ln -sf $(CURDIR)/$< $@ || true
+       ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<) \
+             $(patsubst %.la, %.so, $@) || true
+       ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<).0 \
+             $(patsubst %.la, %.so, $@).0 || true
+
+       if test "X$(LIB_SWIG)" != "X"; then \
+          ln -sf $(patsubst %.la,%.so, $(CURDIR)/.libs/$<) $(top_builddir)/lib/salome/_$(LIB_SWIG) || true;\
+       fi;
+
+$(LIB_BUILD_A): $(top_builddir)/lib/salome/%.a: %.a
+       -$(RM) $@
+       ln -sf $(CURDIR)/$< $@ || true
+
+$(LIB_BUILD_SO): $(top_builddir)/lib/salome/%.so: %.so
+       -$(RM) $@
+       ln -sf $(CURDIR)/$< $@ || true
+
+$(LIB): $(LIB_OBJ)
+       @$(LT) --mode=link $(CXX) -shared -rpath $(libdir) -o $@ $(CXXFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS)
+
+# transform idl reference in appropriate obj file
+BIN_CLIENT_SRC = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX))
+BIN_SERVER_SRC = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_CXX))
+BIN_MOC_SRC = $(BIN_MOC:%.h=%_moc.cxx)
+BIN_SRC+=$(BIN_MOC_SRC)
+BIN_DEP=$(BIN:%=%.cxx) $(BIN_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC)
+
+BIN_CLIENT_OBJ = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ))
+BIN_SERVER_OBJ = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ)) 
+# transform c file in appropriate libtool obj file (.c)
+BIN_OBJ_C =  $(patsubst %.c,  %.o, $(filter %.c, $(BIN_SRC)))
+# transform c++ file in appropriate libtool obj file (.cc and .cxx)
+BIN_OBJ_CC = $(patsubst %.cc,  %.o, $(filter %.cc, $(BIN_SRC)))
+BIN_OBJ_CXX = $(patsubst %.cxx,  %.o, $(filter %.cxx, $(BIN_SRC)))
+# all obj file in bin target
+BIN_OBJ = $(BIN_OBJ_CC) $(BIN_OBJ_CXX) $(BIN_OBJ_C) $(BIN_CLIENT_OBJ) $(BIN_SERVER_OBJ) 
+
+bin: $(BIN:%=$(top_builddir)/bin/salome/%) $(BIN) $(LIB) pyscripts sharedpyscripts
+
+BIN_LIB=$(LIB:lib%.la=-l%)
+
+$(BIN:%=$(top_builddir)/bin/salome/%) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%): $(top_builddir)/bin/salome/%: %
+       -$(RM) $@
+       ln -sf $(CURDIR)/$< $@
+
+$(BIN) $(TEST_PROGS): %: %.lo $(BIN_OBJ)
+       $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(BIN_LIB) $(LDFLAGSFORBIN) $(LIBSFORBIN)
+
+# copy python scripts in $(top_builddir)/bin/salome
+#
+
+UI_FILES = $(notdir $(wildcard $(srcdir)/*.ui))
+UI_PY_FILES_PY = $(patsubst %.ui, %.py, $(UI_FILES))
+UI_PY_FILES = $(filter-out $(EXPORT_PYSCRIPTS) ,$(UI_PY_FILES_PY))
+
+DEST_PYSCRIPTS = $(EXPORT_PYSCRIPTS:%=$(top_builddir)/bin/salome/%)
+DEST_UI_PY_FILES = $(UI_PY_FILES:%=$(top_builddir)/bin/salome/%)
+pyscripts: $(DEST_PYSCRIPTS) $(UI_PY_FILES) $(DEST_UI_PY_FILES)
+$(DEST_PYSCRIPTS): $(top_builddir)/bin/salome/%: %
+       cp -f $< $@
+
+# generate generic python scripts from *.ui files
+#
+$(UI_PY_FILES): %.py: %.ui
+       $(PYUIC) $< -o $@
+
+# copy ui-generated python scripts in $(top_builddir)/bin
+#
+$(DEST_UI_PY_FILES): $(top_builddir)/bin/salome/%: %
+       cp -f $< $@
+
+# copy pyqt files in $(PYTHON_SHARED_SITE)
+#
+PYTHON_SHARED_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
+
+$(PYTHON_SHARED_SITE):
+       $(INSTALL) -d  $@
+
+DEST_SHAREDPYSCRIPTS = $(EXPORT_SHAREDPYSCRIPTS:%=$(PYTHON_SHARED_SITE)/%)
+sharedpyscripts: $(PYTHON_SHARED_SITE) $(DEST_SHAREDPYSCRIPTS)
+$(DEST_SHAREDPYSCRIPTS): $(PYTHON_SHARED_SITE)/%: %
+       cp -f $< $@
+
+check: test
+
+tests: unittest
+
+test: $(LIB) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%) 
+
+unittest: 
+       @if test "x$(UNIT_TEST_PROG)" != "x"; then      \
+          $(top_builddir)/bin/salome/$(UNIT_TEST_PROG); \
+       fi;
+
+# copy header file in $(inc_builddir)
+#
+DEST_HEADERS = $(EXPORT_HEADERS:%=$(inc_builddir)/%)
+inc: $(DEST_HEADERS)
+$(DEST_HEADERS): $(inc_builddir)/%: %
+       cp -f $< $@
+
+# build resources file (icons and messages) : .qm file from .po file
+RESOURCES_FILES_ALL := $(notdir $(wildcard $(srcdir)/resources/*))
+RESOURCES_FILES_ALL := $(filter-out CVS, $(RESOURCES_FILES_ALL))
+RESOURCES_FILES_ALL := $(filter-out %.po, $(RESOURCES_FILES_ALL))
+RESOURCES_FILES ?= $(RESOURCES_FILES_ALL)
+
+resources: resources-po resources-cp 
+
+resources-po: $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm)
+
+resources-cp: $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%)
+
+$(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%): $(top_builddir)/share/salome/resources/% : %
+       cp -fr $< $@;
+
+# Make installation directories if they don't exist.
+$(libdir) $(includedir) $(bindir) $(datadir) $(idldir) $(sharedpydir):
+       $(INSTALL) -d $@ && chmod 755 $@
+
+# Install the library, the public header files, and programs.
+install: $(LIB) $(BIN) $(TEST_PROGS) $(libdir) $(includedir) $(bindir) $(datadir) $(idldir) install-python install-sharedpyqt install-qm install-res
+       @for f in X $(LIB); do                                                \
+          if test $$f != X; then                                             \
+             ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1);                  \
+          fi;                                                                \
+       done
+       @if test "X$(LIB_SWIG)" != "X"; then                                  \
+         (cd $(libdir); ln -sf $(patsubst %.so, %cmodule.so, $(LIB_SWIG)) _$(LIB_SWIG)  || true); \
+        fi;                                                                  
+       @for f in X $(BIN); do                                                \
+          if test $$f != X; then                                             \
+            ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1);                  \
+          fi;                                                                \
+       done
+# Install tests programmes in bindir
+       @for f in X $(TEST_PROGS); do                                         \
+          if test $$f != X; then                                             \
+            ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1);                  \
+          fi;                                                                \
+       done
+# Install exported includes in includedir
+       @for f in X $(EXPORT_HEADERS:%=$(srcdir)/%); do                       \
+          if test $$f != X; then                                             \
+            (cp -p -f $$f $(includedir) || exit 1);                          \
+          fi;                                                                \
+       done
+
+# Install python script in $(bindir)
+install-python: $(bindir) $(EXPORT_PYSCRIPTS:%=install-%) $(UI_PY_FILES:%=install-%)
+
+$(UI_PY_FILES:%=install-%): install-%: %
+       $(INSTALL_PROGRAM) $< $(bindir)/.
+
+$(EXPORT_PYSCRIPTS:%=install-%): install-%: %
+       $(INSTALL_PROGRAM) $< $(bindir)/.
+
+#install-python: $(bindir) $(EXPORT_PYSCRIPTS)
+#      @for f in X $(EXPORT_PYSCRIPTS); do                           \
+#         if test $$f != X; then                                     \
+#           ($(INSTALL_PROGRAM) $$f $(bindir)/. || exit 1);          \
+#         fi;                                                        \
+#      done
+
+# Install pyqt script in $(install-sharedpyqt)
+install-sharedpyqt: $(sharedpydir) $(EXPORT_SHAREDPYSCRIPTS:%=install-%) 
+
+$(EXPORT_SHAREDPYSCRIPTS:%=install-%): install-%: %
+       $(INSTALL_PROGRAM) $< $(sharedpydir)/.
+
+
+# generic rule to install .qm files :
+install-qm: resources
+       $(INSTALL) -d $(datadir)/resources
+       @for f in X $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm); do \
+          if test $$f != X; then                                                        \
+            ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1);                     \
+          fi;                                                                           \
+       done
+
+# generic rule to install resources files (png, ini ...):
+install-res: resources
+       $(INSTALL) -d $(datadir)/resources
+       @for f in X $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%); do \
+          if test $$f != X; then                                                        \
+            ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1);                     \
+          fi;                                                                           \
+       done  
+
+# Removes those things that `make install' (would have) installed.
+uninstall:
+       @if test "X$(LIB)" != X; then                                         \
+          for f in $(LIB); do                                                \
+             $(LT_UNINSTALL) $(libdir)/$$f;                                  \
+          done;                                                              \
+       fi
+       @if test "X$(BIN)" != X; then                                         \
+          for f in $(BIN); do                                                \
+             $(LT_UNINSTALL) $(bindir)/$$f;                                  \
+          done;                                                              \
+       fi
+       @for f in X $(TEST_PROGS); do                                         \
+          if test $$f != X; then                                             \
+            $(LT_UNINSTALL) $(bindir)/$$f;                                   \
+          fi;                                                                \
+       done
+# Uninstall exported includes in includedir
+       @for f in X $(EXPORT_HEADERS); do                                     \
+          if test $$f != X; then                                             \
+            $(LT_UNINSTALL) $(includedir)/$$f;                               \
+          fi;                                                                \
+       done
+# Uninstall python script in $(bindir)
+       @for f in X $(EXPORT_PYSCRIPTS); do                                   \
+          if test $$f != X; then                                             \
+            $(LT_UNINSTALL) $(bindir)/$$f ;                  \
+          fi;                                                                \
+       done
+
+# Uninstall python script in $(bindir)
+       @for f in X $(UI_PY_FILES); do                                        \
+          if test $$f != X; then                                             \
+            $(LT_UNINSTALL) $(bindir)/$$f ;                  \
+          fi;                                                                \
+       done
+
+# Uninstall pyqt script in $(sharedpydir)
+       @for f in X $(EXPORT_SHAREDPYSCRIPTS); do                                     \
+          if test $$f != X; then                                             \
+            $(LT_UNINSTALL) $(sharedpydir)/$$f ;                     \
+          fi;                                                                \
+       done
+
+# Uninstall qm files
+       @for f in X $(PO_FILES:%.po=%.qm); do         \
+          if test $$f != X; then                                             \
+            $(LT_UNINSTALL) $(datadir)/resources/$$f ;                       \
+          fi;                                                                \
+       done
+
+# remove all dependencies files
+#
+cleandep:
+       -$(RM) .dep*
+
+# Removes temporary files without removing the final target files.  That is,
+# remove things like object files but not libraries or executables.
+#
+mostlyclean: cleandep
+       -$(RM) $(LIB_OBJ) $(LIB_OBJ:.lo=.o)
+       -$(RM) $(BIN_OBJ) $(BIN:%=%.o)
+       -$(RM) $(TEST_OBJ) $(TEST_OBJ:.lo=.o)
+       -$(RM) $(PROG_OBJ) $(PROG_OBJ:.lo=.o) $(MOSTLYCLEAN)
+
+# Like `mostlyclean' except it also removes the final targets: things like
+# libraries and executables.  This target doesn't remove any file that
+# is part of the SALOME distribution.
+#
+clean: mostlyclean
+       -$(RM) $(LIB) $(TEST_PROGS) $(BIN) $(CLEAN)
+       -$(RM) TAGS *~ *# core *.core 
+       -$(RM) -r .libs
+       -$(RM) $(top_builddir)/lib/salome/$(LIB)
+       -$(RM) $(patsubst %,$(top_builddir)/bin/salome/%, $(BIN))
+       -$(RM) $(patsubst %.la, %.so, $(top_builddir)/lib/salome/$(LIB))
+       -$(RM) $(patsubst %.la, %.a, $(top_builddir)/lib/salome/$(LIB))
+# remove idl generated files (sources)
+       -$(RM) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC)
+# remove idl generated files (headers)
+       -$(RM)  $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_H))
+       -$(RM)  $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_H))
+       -$(RM) $(LIB_MOC_SRC) $(BIN_MOC_SRC)
+       -$(RM) $(LIB_SWIG_SRC)
+
+# Like `clean' except it also removes files that were created by running
+# configure.  If you've unpacked the source and built without creating
+# any other files, then `make distclean' will leave only the files that were
+# in the distribution.
+#
+distclean: clean
+       #remove qm file !
+       -$(RM) $(PO_FILES:%.po=%.qm) $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm)
+       #remove include files
+       -$(RM) $(DEST_HEADERS)
+       -$(RM) $(DISTCLEAN) *.bak *.old *.new .dep*
+       @if test -f $(srcdir)/Makefile.in; then                               \
+          (@SETX@; $(RM) Makefile);                                          \
+       fi
+
+
+#implicits rules
+.cc.o:
+       $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
+.cc.lo:
+       $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
+.cxx.o:
+       $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
+.cxx.lo:
+       $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
+.c.o:
+       $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+
+.c.lo:
+       $(LT_COMPILE) $(CFLAGS) $(CPPFLAGS) -c $<
+
+.f.o:
+       $(FC) $(FFLAGS) -c $< -o $@
+
+.f.lo:
+       $(LT) --mode=compile $(FC) $(FFLAGS) -c $<
+
+.ui.h:
+       $(UIC) -o $@  $<
+
+.ui.cxx:
+       $(UIC) -o $@ -i $*.h $<
+
+#pattern rules
+%_moc.cxx : %.h
+       $(MOC) $< -o $@
+
+%_wrap.cxx : %.i
+       $(SWIG) $(SWIG_FLAGS) -o $@ $<
+
+$(top_builddir)/share/salome/resources/%.qm: %.po
+       $(MSG2QM) $< $@ ; \
+
+#------------------------------------------------------------------------------
+# The following section of this makefile contains dependencies between the
+# source files and the header files.  If GNU make and GCC are being used then
+# the dependencies are in the form of rules that cause the information to
+# be kept updated automatically.  Otherwise the dependencies are listed
+# explicitly and come from the `.distdep' files in the various directories.
+# These files are part of the distribution and are generated automatically on
+# GNU/GCC systems.
+#------------------------------------------------------------------------------
+
+@DEPEND@
diff --git a/salome_adm/unix/DEPRECATED/make_module.in b/salome_adm/unix/DEPRECATED/make_module.in
new file mode 100644 (file)
index 0000000..fdf28b1
--- /dev/null
@@ -0,0 +1,123 @@
+# generic rule to put in top module Makefile 
+# (for example with module SALOME, SALOME/Makefile.in and SALOME/src/Makefile.in)
+
+# build all lib in all subdir
+lib:$(SUBDIRS:%=lib_%)
+
+$(SUBDIRS:%=lib_%):lib_%:%
+       cd $< ; $(MAKE) lib
+
+# build all bin in all subdir
+bin:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+# launch check in all subdir
+check: tests
+tests:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+# copy all header files in common directory
+inc:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+exportinc:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+# copy all idl files in common directory
+idl:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+dep: depend
+
+depend:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+# copy all resources files in common directory
+RESOURCES_FILES_ALL := $(notdir $(wildcard $(srcdir)/resources/*))
+RESOURCES_FILES_ALL := $(filter-out CVS, $(RESOURCES_FILES_ALL))
+RESOURCES_FILES_ALL := $(filter-out %.po, $(RESOURCES_FILES_ALL))
+RESOURCES_FILES ?= $(RESOURCES_FILES_ALL)
+
+resources: $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%)
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+$(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%): $(top_builddir)/share/salome/resources/% : %
+       cp -fr $< $@;
+
+#data:
+#      @if test "X$(top_builddir)" = "X."; then                                                         \
+#      ((cd examples && $(MAKE) $@) || exit 1);                         \
+#      fi;
+# Commented because we need not to make docs when we make BUILD        
+# docs:        
+#      @if test "X$(top_builddir)" = "X."; then \
+#      ((cd doc && $(MAKE) $@) || exit 1); \
+#      fi;     
+
+install: install-resources
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+       @if test "X$(top_builddir)" = "X."; then        \
+          $(LT) --mode=finish $(libdir) ;              \
+       fi
+
+uninstall: uninstall-resources
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+cleandep:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+mostlyclean:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+
+clean:
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+       -$(RM) .depend *~ *% core *.core *.bak *.new *.old
+
+distclean: clean
+       @@SETX@; for d in $(SUBDIRS); do        \
+          (cd $$d && $(MAKE) $@) || exit 1;    \
+       done
+       -$(RM) $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%)
+       -$(RM) Makefile
+
+install-resources:
+# one resources directory for all salome modules
+       $(INSTALL) -d $(datadir)/resources
+       for f in X $(RESOURCES_FILES:%=$(srcdir)/resources/%); do \
+          if test $$f != X; then                                                        \
+            ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1);                     \
+          fi;                                                                           \
+       done
+
+# Uninstall resources files
+uninstall-resources:
+       @for f in X $(RESOURCES_FILES); do            \
+          if test $$f != X; then                                             \
+            $(LT_UNINSTALL) $(datadir)/resources/$$f ;                       \
+          fi;                                                                \
+       done
+
diff --git a/salome_adm/unix/DEPRECATED/make_omniorb.in b/salome_adm/unix/DEPRECATED/make_omniorb.in
new file mode 100644 (file)
index 0000000..c92e682
--- /dev/null
@@ -0,0 +1,50 @@
+#=======================================================================
+# Begin specific part to omniorb 
+# (include from file adm/unix/make_omniorb generated by 
+# adm/unix/make_omniorb.in)
+#=======================================================================
+# -* Makefile *- 
+#
+# Author : Patrick GOLDBRONN (CEA)
+# Date : 29/06/2001
+# $Header$
+#
+
+# Client and server object are the same with omniorb
+# There are one header file and one source file generate
+
+#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ))
+
+# dependancies between idl and it's generated files
+%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_builddir}/idl/%.idl
+       $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
+
+# dependncies between idl files
+depend_idl: .depidl
+
+# we use cpp to generate dependencies between idl files.
+# we change cpp output to keep only idl file and transform it to get a suitable rule
+.depidl: $(IDL_FILES)
+       @touch $@
+       @for dep in $? dummy; do \
+         if [ $$dep != "dummy" ]; then \
+           echo Building dependencies for $$dep; \
+           basedep=`basename $$dep .idl`; \
+           header="$$basedep"$(IDL_CLN_H); \
+           sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
+           $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \
+           sed `echo "s%$$basedep\\.idl%$$header:%g"` | \
+           sed 's% $(srcdir)/% %g' | \
+           sed 's% $(top_srcdir)/% %g' | \
+           sed 's% $(top_builddir)/% %g' | \
+           sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \
+           sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \
+           echo ''  >>$@; \
+         fi; \
+       done ;
+
+-include .depidl
+
+#=======================================================================
+# End specific part to omniorb 
+#=======================================================================
diff --git a/salome_adm/unix/DEPRECATED/sstream.in b/salome_adm/unix/DEPRECATED/sstream.in
new file mode 100644 (file)
index 0000000..323bbed
--- /dev/null
@@ -0,0 +1,225 @@
+/* This is part of libio/iostream, providing -*- C++ -*- input/output.
+Copyright (C) 2000 Free Software Foundation
+
+This file is part of the GNU IO Library.  This library is free
+software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this library; see the file COPYING.  If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+As a special exception, if you link this library with files
+compiled with a GNU compiler to produce an executable, this does not cause
+the resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why
+the executable file might be covered by the GNU General Public License. */
+
+/* Written by Magnus Fromreide (magfr@lysator.liu.se). */
+
+#ifndef __SSTREAM__
+#define __SSTREAM__
+
+#include <string>
+#include <iostream.h>
+#include <streambuf.h>
+
+namespace std
+{
+  class stringbuf : public streambuf
+  {
+  public:
+    typedef char       char_type;
+    typedef int                int_type;
+    typedef streampos  pos_type;
+    typedef streamoff  off_type;
+
+    explicit stringbuf(int which=ios::in|ios::out) :
+      streambuf(which), buf(), mode(static_cast<ios::open_mode>(which)),
+      rpos(0), bufsize(1)
+    { }
+       
+    explicit stringbuf(const std::string &s, int which=ios::in|ios::out) :
+      streambuf(which), buf(s), mode(static_cast<ios::open_mode>(which)),
+      bufsize(1)
+    {
+      if(mode & ios::in)
+       {
+         setg(&defbuf, &defbuf + bufsize, &defbuf + bufsize);
+       }
+      if(mode & ios::out)
+       {
+         setp(&defbuf, &defbuf + bufsize);
+       }
+      rpos = (mode & ios::ate ? s.size() : 0);
+    }
+       
+    std::string str() const
+    {
+      const_cast<stringbuf*>(this)->sync();  // Sigh, really ugly hack
+      return buf;
+    };
+
+    void str(const std::string& s)
+    {
+      buf = s;
+      if(mode & ios::in)
+       {
+         gbump(egptr() - gptr());
+       }
+      if(mode & ios::out)
+       {
+         pbump(pbase() - pptr());
+       }
+      rpos = (mode & ios::ate ? s.size() : 0);
+    }
+
+  protected:
+    inline virtual int sync();
+    inline virtual int overflow(int = EOF);
+    inline virtual int underflow();
+  private:
+    std::string                        buf;
+    ios::open_mode             mode;
+    std::string::size_type     rpos;
+    streamsize                 bufsize;
+    char                       defbuf;
+  };
+
+  class stringstreambase : virtual public ios {
+  protected:
+    stringbuf __my_sb;
+  public:
+    std::string str() const
+    {
+      return dynamic_cast<stringbuf*>(_strbuf)->str();
+    }
+    void str(const std::string& s)
+    {
+      clear();
+      dynamic_cast<stringbuf*>(_strbuf)->str(s);
+    }
+       
+    stringbuf* rdbuf()
+    {
+      return &__my_sb;
+    }
+  protected:
+    stringstreambase(int which) :
+      __my_sb(which)
+    {
+      init (&__my_sb);
+    }
+       
+    stringstreambase(const std::string& s, int which) :
+      __my_sb(s, which)
+    {
+      init (&__my_sb);
+    }
+  };
+    
+  class istringstream : public stringstreambase, public istream {
+  public:
+    istringstream(int which=ios::in) :
+      stringstreambase(which)
+    { }
+       
+    istringstream(const std::string& s, int which=ios::in) :
+      stringstreambase(s, which)
+    { }
+  };
+    
+  class ostringstream : public stringstreambase, public ostream {
+  public:
+    ostringstream(int which=ios::out) :
+      stringstreambase(which)
+    { }
+       
+    ostringstream(const std::string& s, int which=ios::out) :
+      stringstreambase(s, which)
+    { }
+  };
+    
+  class stringstream : public stringstreambase, public iostream {
+  public:
+    stringstream(int which=ios::in|ios::out) :
+      stringstreambase(which)
+    { }
+    
+    stringstream(const std::string &s, int which=ios::in|ios::out) :
+      stringstreambase(s, which)
+    { }
+  };
+}
+
+inline int std::stringbuf::sync()
+{
+  if((mode & ios::out) == 0)
+    return EOF;
+
+  streamsize n = pptr() - pbase();
+  if(n)
+    {
+      buf.replace(rpos, std::string::npos, pbase(), n);
+      if(buf.size() - rpos != n)
+       return EOF;
+      rpos += n;
+      pbump(-n);
+      gbump(egptr() - gptr());
+    }
+  return 0;
+}
+
+inline int std::stringbuf::overflow(int ch)
+{
+  if((mode & ios::out) == 0)
+    return EOF;
+
+  streamsize n = pptr() - pbase();
+
+  if(n && sync())
+    return EOF;
+
+  if(ch != EOF)
+    {
+      std::string::size_type oldSize = buf.size();
+      
+      buf.replace(rpos, std::string::npos, ch);
+      if(buf.size() - oldSize != 1)
+       return EOF;
+      ++rpos;
+    }
+  return 0;
+}
+
+inline int std::stringbuf::underflow()
+{
+  sync();
+  if((mode & ios::in) == 0)
+    {
+      return EOF;
+    }
+  if(rpos >= buf.size())
+    {
+      return EOF;
+    }
+  
+  std::string::size_type n = egptr() - eback();
+  std::string::size_type s;
+
+  s = buf.copy(eback(), n, rpos);
+  pbump(pbase() - pptr());
+  gbump(eback() - gptr());
+  int res = (0377 & buf[rpos]);
+  rpos += s;
+  return res;
+}
+
+#endif /* not __STRSTREAM__ */
diff --git a/salome_adm/unix/Doxyfile b/salome_adm/unix/Doxyfile
deleted file mode 100644 (file)
index df82af0..0000000
+++ /dev/null
@@ -1,829 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-
-# Doxyfile 1.2.8.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = 
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = 
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = 
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, 
-# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, 
-# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
-
-OUTPUT_LANGUAGE        = English
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these class will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH        = 
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a class diagram (in Html and LaTeX) for classes with base or 
-# super classes. Setting the tag to NO turns the diagrams off.
-
-CLASS_DIAGRAMS         = YES
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = YES
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower case letters. If set to YES upper case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# users are adviced to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put list of the files that are included by a file in the documentation 
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments  will behave just like the Qt-style comments (thus requiring an 
-# explict @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# reimplements.
-
-INHERIT_DOCS           = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consist of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
-# only. Doxygen will then generate output that is more tailored for C. 
-# For instance some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text.
-
-WARN_FORMAT            = 
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = /home01/prascle/devSalome/rootsrc
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-FILE_PATTERNS          = *idl *.cxx *.hxx *.hh *.h *.c *.cc *.py
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories.
-
-EXCLUDE_PATTERNS       = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = 
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.
-
-INPUT_FILTER           = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse.
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = /home01/prascle/devSalome/doc/html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER            = 
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet
-
-HTML_STYLESHEET        = 
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the Html help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript and frames is required (for instance Netscape 4.0+ 
-# or Internet explorer 4.0+).
-
-GENERATE_TREEVIEW      = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = YES
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = /home01/prascle/devSalome/doc/latex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimised for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = 
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assigments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = 
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = 
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed.
-
-PREDEFINED             = 
-
-# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      = 
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references   
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tagfiles.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH               = 
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_WIDTH    = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT   = 1024
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermedate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine   
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
-
-# The CGI_NAME tag should be the name of the CGI script that 
-# starts the search engine (doxysearch) with the correct parameters. 
-# A script with this name will be generated by doxygen.
-
-CGI_NAME               = 
-
-# The CGI_URL tag should be the absolute URL to the directory where the 
-# cgi binaries are located. See the documentation of your http daemon for 
-# details.
-
-CGI_URL                = 
-
-# The DOC_URL tag should be the absolute URL to the directory where the 
-# documentation is located. If left blank the absolute path to the 
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL                = 
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the 
-# documentation is located. If left blank the directory on the local machine 
-# will be used.
-
-DOC_ABSPATH            = 
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
-# is installed.
-
-BIN_ABSPATH            = 
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
-# documentation generated for other projects. This allows doxysearch to search 
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS          = 
diff --git a/salome_adm/unix/F77config.h.in b/salome_adm/unix/F77config.h.in
deleted file mode 100644 (file)
index 670ac57..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*----------------------------------------------------------------------------------
-  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-  This library is free software; you can redistribute it and/or 
-  modify it under the terms of the GNU Lesser General Public 
-  License as published by the Free Software Foundation; either 
-  version 2.1 of the License. 
-  This library is distributed in the hope that it will be useful, 
-  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-  Lesser General Public License for more details. 
-  You should have received a copy of the GNU Lesser General Public 
-  License along with this library; if not, write to the Free Software 
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-------------------------------------------------------------------------------------*/
-
-
-#ifndef F77_FUNC
-
-#define F77_FUNC(name,NAME)  @F77_FUNC_NAME@
-#define F77_FUNC_(name,NAME) @F77_FUNC_NAME_@
-
-#endif
-
diff --git a/salome_adm/unix/Makefile.am b/salome_adm/unix/Makefile.am
new file mode 100644 (file)
index 0000000..b1f8687
--- /dev/null
@@ -0,0 +1,21 @@
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+SUBDIRS = config_files
+
+DEPRECATED_FILES=\
+       DEPRECATED/F77config.h.in \
+       DEPRECATED/sstream.in \
+       DEPRECATED/envScript.in \
+       DEPRECATED/depend.in \
+       DEPRECATED/make_commence.in \
+       DEPRECATED/make_conclude.in \
+       DEPRECATED/make_module.in \
+       DEPRECATED/make_omniorb.in
+
+# The deprecated files are deprecated for the KERNEL but not for the
+# related modules (GUI, MED, ...), for now. Some files have to be installed.
+dist_salomeadmux_DATA=\
+       SALOMEconfig.h.in \
+       pythonbe.py \
+       $(DEPRECATED_FILES)
index c1be35bd0e09f8dc1685af461002a3238a206fdd..22372e97abaf1f33eb35859ee923df44cc58bbf2 100644 (file)
   #define @MACHINE@
 #endif
 
+
+/* A path to a rcp-like command */
+#define RCP "@RCP@"
+
+/* A path to a rm-like command */
+#define RM "@RM@"
+
+/* A path to a cp-like command */
+#define CP "@CP@"
+
+/* A path to a rsh-like command */
+#define RSH "@RSH@"
+
+/* A path to a scp-like command */
+#define SCP "@SCP@"
+
+/* A path to a sh-like command */
+#define SH "@SH@"
+
+/* A path to a ssh-like command */
+#define SSH "@SSH@"
+
 #endif
diff --git a/salome_adm/unix/config.h.in b/salome_adm/unix/config.h.in
deleted file mode 100755 (executable)
index 19d2851..0000000
+++ /dev/null
@@ -1,350 +0,0 @@
-/* config.h.in.  Generated from configure.in by autoheader.  */
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
-   systems. This function is required for `alloca.c' support on those systems.
-   */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* define if the compiler allows redefinition of stream input and output */
-#undef DEF_IOS_OK
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the <bits/sigset.h> header file. */
-#undef HAVE_BITS_SIGSET_H
-
-/* Define to 1 if you have the <bstring.h> header file. */
-#undef HAVE_BSTRING_H
-
-/* Define to 1 if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <dl.h> header file. */
-#undef HAVE_DL_H
-
-/* Define to 1 if you have the <DPS/dpsXclient.h> header file. */
-#undef HAVE_DPS_DPSXCLIENT_H
-
-/* Define if we have a function called "finite" in -lm. */
-#undef HAVE_FINITE
-
-/* Define to 1 if you have the <floatingpoint.h> header file. */
-#undef HAVE_FLOATINGPOINT_H
-
-/* Define to 1 if you have the <float.h> header file. */
-#undef HAVE_FLOAT_H
-
-/* Define to 1 if you have the <fstream> header file. */
-#undef HAVE_FSTREAM
-
-/* Define to 1 if you have the <fstream.h> header file. */
-#undef HAVE_FSTREAM_H
-
-/* Define to 1 if you have the `gethostname' function. */
-#undef HAVE_GETHOSTNAME
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define to 1 if you have the <ieeefp.h> header file. */
-#undef HAVE_IEEEFP_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <iomanip> header file. */
-#undef HAVE_IOMANIP
-
-/* Define to 1 if you have the <iomanip.h> header file. */
-#undef HAVE_IOMANIP_H
-
-/* Define to 1 if you have the <ios> header file. */
-#undef HAVE_IOS
-
-/* Define to 1 if you have the <iostream> header file. */
-#undef HAVE_IOSTREAM
-
-/* Define to 1 if you have the <iostream.h> header file. */
-#undef HAVE_IOSTREAM_H
-
-/* Define to 1 if you have the <ios.h> header file. */
-#undef HAVE_IOS_H
-
-/* Define to 1 if you have the <istream> header file. */
-#undef HAVE_ISTREAM
-
-/* Define to 1 if you have the <istream.h> header file. */
-#undef HAVE_ISTREAM_H
-
-/* Define to 1 if you have the <libc.h> header file. */
-#undef HAVE_LIBC_H
-
-/* Define to 1 if you have the `e' library (-le). */
-#undef HAVE_LIBE
-
-/* Define to 1 if you have the `inks' library (-links). */
-#undef HAVE_LIBINKS
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define if we have a function called "mallinfo" in -lmalloc. */
-#undef HAVE_MALLINFO
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the <ndir.h> header file. */
-#undef HAVE_NDIR_H
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#undef HAVE_NETDB_H
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#undef HAVE_NET_IF_H
-
-/* Define to 1 if you have the <osfcn.h> header file. */
-#undef HAVE_OSFCN_H
-
-/* Define to 1 if you have the <ostream> header file. */
-#undef HAVE_OSTREAM
-
-/* Define to 1 if you have the <ostream.h> header file. */
-#undef HAVE_OSTREAM_H
-
-/* Define to 1 if you have the `putenv' function. */
-#undef HAVE_PUTENV
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#undef HAVE_PWD_H
-
-/* Define to 1 if you have the `regcomp' function. */
-#undef HAVE_REGCOMP
-
-/* Define to 1 if you have the `re_comp' function. */
-#undef HAVE_RE_COMP
-
-/* Define to 1 if you have the <sigfpe.h> header file. */
-#undef HAVE_SIGFPE_H
-
-/* Define to 1 if you have the <siginfo.h> header file. */
-#undef HAVE_SIGINFO_H
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* Define to 1 if you have the `statfs' function. */
-#undef HAVE_STATFS
-
-/* Define to 1 if you have the `statvfs' function. */
-#undef HAVE_STATVFS
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strcspn' function. */
-#undef HAVE_STRCSPN
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the <stream.h> header file. */
-#undef HAVE_STREAM_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <strstream.h> header file. */
-#undef HAVE_STRSTREAM_H
-
-/* Define to 1 if you have the `strtol' function. */
-#undef HAVE_STRTOL
-
-/* Define if we have a function called "ieee_handler" in -lsunmath. */
-#undef HAVE_SUNMATH
-
-/* Define to 1 if you have the <sysent.h> header file. */
-#undef HAVE_SYSENT_H
-
-/* Define to 1 if you have the <sys/dir.h> header file. */
-#undef HAVE_SYS_DIR_H
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#undef HAVE_SYS_FILIO_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/ipc.h> header file. */
-#undef HAVE_SYS_IPC_H
-
-/* Define to 1 if you have the <sys/machsig.h> header file. */
-#undef HAVE_SYS_MACHSIG_H
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define to 1 if you have the <sys/ndir.h> header file. */
-#undef HAVE_SYS_NDIR_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/sem.h> header file. */
-#undef HAVE_SYS_SEM_H
-
-/* Define to 1 if you have the <sys/siginfo.h> header file. */
-#undef HAVE_SYS_SIGINFO_H
-
-/* Define to 1 if you have the <sys/signal.h> header file. */
-#undef HAVE_SYS_SIGNAL_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/statvfs.h> header file. */
-#undef HAVE_SYS_STATVFS_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/systeminfo.h> header file. */
-#undef HAVE_SYS_SYSTEMINFO_H
-
-/* Define to 1 if you have the <sys/times.h> header file. */
-#undef HAVE_SYS_TIMES_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/unistd.h> header file. */
-#undef HAVE_SYS_UNISTD_H
-
-/* Define to 1 if you have the <sys/utsname.h> header file. */
-#undef HAVE_SYS_UTSNAME_H
-
-/* Define to 1 if you have the <sys/vfs.h> header file. */
-#undef HAVE_SYS_VFS_H
-
-/* Define to 1 if you have the <sys/vnode.h> header file. */
-#undef HAVE_SYS_VNODE_H
-
-/* Define to 1 if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the <values.h> header file. */
-#undef HAVE_VALUES_H
-
-/* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */
-#undef HAVE_X11_EXTENSIONS_MULTIBUF_H
-
-/* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */
-#undef HAVE_X11_EXTENSIONS_READDISPLAY_H
-
-/* Define to 1 if you have the <X11/extensions/transovl.h> header file. */
-#undef HAVE_X11_EXTENSIONS_TRANSOVL_H
-
-/* Define to 1 if you have the <Xmu/Editres.h> header file. */
-#undef HAVE_XMU_EDITRES_H
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* define if the class ostream has member function form */
-#undef OSTREAM_FORM_OK
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define if compiler has function prototypes */
-#undef PROTOTYPES
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
-/* define if the function semctl takes a value */
-#undef SEMCTL_NO_REFERENCE
-
-/* define if the function semop takes a value */
-#undef SEMOP_NO_REFERENCE
-
-/* define if semun has member __buf */
-#undef SEMUN_BUF_DEFINED
-
-/* define if the union semun is in sys/sem.h */
-#undef SEMUN_DEFINED
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at run-time.
-        STACK_DIRECTION > 0 => grows toward higher addresses
-        STACK_DIRECTION < 0 => grows toward lower addresses
-        STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-#undef TM_IN_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Define to 1 if your processor stores words with the most significant byte
-   first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
-
-/* Define to 1 if on AIX 3.
-   System headers sometimes define this.
-   We just want to avoid a redefinition error message.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-#undef size_t
diff --git a/salome_adm/unix/config_files/DEPRECATED/ac_cc_warnings.m4 b/salome_adm/unix/config_files/DEPRECATED/ac_cc_warnings.m4
new file mode 100644 (file)
index 0000000..9f3aa1a
--- /dev/null
@@ -0,0 +1,119 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+dnl Synopsis :    AC_CC_WARNINGS([ANSI]) 
+dnl 
+dnl Version  :    1.1 (2000/12/31) 
+dnl 
+dnl Author   :    Ville Laurikari <vl@iki.fi> 
+dnl 
+dnl Description :
+dnl 
+dnl         Enables a reasonable set of warnings for the C compiler. 
+dnl         Optionally, if the first argument is nonempty, turns on 
+dnl         flags which enforce and/or enable proper ANSI C if such 
+dnl         flags are known to the compiler used. 
+dnl 
+dnl         Currently this macro knows about GCC, Solaris C compiler, 
+dnl         Digital Unix C compiler, C for AIX Compiler, HP-UX C
+dnl         compiler, and IRIX C compiler.
+
+AC_DEFUN([AC_CC_WARNINGS], [
+  ansi=$1
+  if test -z "$ansi"; then
+    msg="for C compiler warning flags"
+  else
+    msg="for C compiler warning and ANSI conformance flags"
+  fi
+  AC_CACHE_CHECK($msg, ac_cv_prog_cc_warnings, [
+    if test -n "$CC"; then
+      cat > conftest.c <<EOF
+int main(int argc, char **argv) { return 0; }
+EOF
+
+      dnl GCC
+      if test "$GCC" = "yes"; then
+        if test -z "$ansi"; then
+          ac_cv_prog_cc_warnings="-Wall"
+        else
+          ac_cv_prog_cc_warnings="-Wall -ansi -pedantic"
+        fi
+
+      dnl Solaris C compiler
+      elif $CC -flags 2>&1 | grep "Xc.*strict ANSI C" > /dev/null 2>&1 &&
+           $CC -c -v -Xc conftest.c > /dev/null 2>&1 &&
+           test -f conftest.o; then
+        if test -z "$ansi"; then
+          ac_cv_prog_cc_warnings="-v"
+        else
+          ac_cv_prog_cc_warnings="-v -Xc"
+        fi
+
+      dnl HP-UX C compiler
+      elif $CC > /dev/null 2>&1 &&
+           $CC -c -Aa +w1 conftest.c > /dev/null 2>&1 &&
+           test -f conftest.o; then
+        if test -z "$ansi"; then
+          ac_cv_prog_cc_warnings="+w1"
+        else
+          ac_cv_prog_cc_warnings="+w1 -Aa"
+        fi
+
+      dnl Digital Unix C compiler
+      elif ! $CC > /dev/null 2>&1 &&
+           $CC -c -verbose -w0 -warnprotos -std1 conftest.c > /dev/null 2>&1 &&
+           test -f conftest.o; then
+        if test -z "$ansi"; then
+          ac_cv_prog_cc_warnings="-verbose -w0 -warnprotos"
+        else
+          ac_cv_prog_cc_warnings="-verbose -w0 -warnprotos -std1"
+        fi
+
+      dnl C for AIX Compiler
+      elif $CC > /dev/null 2>&1 | grep AIX > /dev/null 2>&1 &&
+           $CC -c -qlanglvl=ansi -qinfo=all conftest.c > /dev/null 2>&1 &&
+           test -f conftest.o; then
+        if test -z "$ansi"; then
+          ac_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"
+        else
+          ac_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd -qlanglvl=ansi"
+        fi
+
+      dnl IRIX C compiler
+      elif $CC -fullwarn -ansi -ansiE > /dev/null 2>&1 &&
+           test -f conftest.o; then
+        if test -z "$ansi"; then
+          ac_cv_prog_cc_warnings="-fullwarn"
+        else
+          ac_cv_prog_cc_warnings="-fullwarn -ansi -ansiE"
+        fi
+
+      fi
+      rm -f conftest.*
+    fi
+    if test -n "$ac_cv_prog_cc_warnings"; then
+      CFLAGS="$CFLAGS $ac_cv_prog_cc_warnings"
+      CXXFLAGS="$CXXFLAGS $ac_cv_prog_cc_warnings"
+    else
+      ac_cv_prog_cc_warnings="unknown"
+    fi
+  ])
+])
diff --git a/salome_adm/unix/config_files/DEPRECATED/ac_cxx_bool.m4 b/salome_adm/unix/config_files/DEPRECATED/ac_cxx_bool.m4
new file mode 100644 (file)
index 0000000..69da63d
--- /dev/null
@@ -0,0 +1,48 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+dnl @synopsis AC_CXX_BOOL
+dnl
+dnl If the compiler recognizes bool as a separate built-in type,
+dnl define HAVE_BOOL. Note that a typedef is not a separate
+dnl type since you cannot overload a function such that it accepts either
+dnl the basic type or the typedef.
+dnl
+dnl @version $Id$
+dnl @author Luc Maisonobe
+dnl
+AC_DEFUN([AC_CXX_BOOL],
+[AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type,
+ac_cv_cxx_bool,
+[AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([
+int f(int  x){return 1;}
+int f(char x){return 1;}
+int f(bool x){return 1;}
+],[bool b = true; return f(b);],
+ ac_cv_cxx_bool=yes, ac_cv_cxx_bool=no)
+ AC_LANG_RESTORE
+])
+if test "$ac_cv_cxx_bool" = yes; then
+  AC_DEFINE(HAVE_BOOL,,[define if bool is a built-in type])
+fi
+])
diff --git a/salome_adm/unix/config_files/DEPRECATED/ac_cxx_mutable.m4 b/salome_adm/unix/config_files/DEPRECATED/ac_cxx_mutable.m4
new file mode 100644 (file)
index 0000000..3d87bac
--- /dev/null
@@ -0,0 +1,48 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+dnl @synopsis AC_CXX_MUTABLE
+dnl
+dnl If the compiler allows modifying class data members flagged with
+dnl the mutable keyword even in const objects (for example in the
+dnl body of a const member function), define HAVE_MUTABLE.
+dnl
+dnl @version $Id$
+dnl @author Luc Maisonobe
+dnl
+AC_DEFUN([AC_CXX_MUTABLE],
+[AC_CACHE_CHECK(whether the compiler supports the mutable keyword,
+ac_cv_cxx_mutable,
+[AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([
+class A { mutable int i;
+          public:
+          int f (int n) const { i = n; return i; }
+        };
+],[A a; return a.f (1);],
+ ac_cv_cxx_mutable=yes, ac_cv_cxx_mutable=no)
+ AC_LANG_RESTORE
+])
+if test "$ac_cv_cxx_mutable" = yes; then
+  AC_DEFINE(HAVE_MUTABLE,,[define if the compiler supports the mutable keyword])
+fi
+])
diff --git a/salome_adm/unix/config_files/DEPRECATED/ac_cxx_partial_specialization.m4 b/salome_adm/unix/config_files/DEPRECATED/ac_cxx_partial_specialization.m4
new file mode 100644 (file)
index 0000000..634d3c6
--- /dev/null
@@ -0,0 +1,48 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+dnl @synopsis AC_CXX_PARTIAL_SPECIALIZATION
+dnl
+dnl If the compiler supports partial specialization,
+dnl define HAVE_PARTIAL_SPECIALIZATION.
+dnl
+dnl @version $Id$
+dnl @author Luc Maisonobe
+dnl
+
+AC_DEFUN([AC_CXX_PARTIAL_SPECIALIZATION],
+[AC_CACHE_CHECK(whether the compiler supports partial specialization,
+ac_cv_cxx_partial_specialization,
+[AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([
+template<class T, int N> class A            { public : enum e { z = 0 }; };
+template<int N>          class A<double, N> { public : enum e { z = 1 }; };
+template<class T>        class A<T, 2>      { public : enum e { z = 2 }; };
+],[return (A<int,3>::z == 0) && (A<double,3>::z == 1) && (A<float,2>::z == 2);],
+ ac_cv_cxx_partial_specialization=yes, ac_cv_cxx_partial_specialization=no)
+ AC_LANG_RESTORE
+])
+if test "$ac_cv_cxx_partial_specialization" = yes; then
+  AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION,,
+            [define if the compiler supports partial specialization])
+fi
+])
diff --git a/salome_adm/unix/config_files/DEPRECATED/ac_cxx_typename.m4 b/salome_adm/unix/config_files/DEPRECATED/ac_cxx_typename.m4
new file mode 100644 (file)
index 0000000..bb14246
--- /dev/null
@@ -0,0 +1,42 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+ddnl @synopsis AC_CXX_TYPENAME
+dnl
+dnl If the compiler recognizes the typename keyword, define HAVE_TYPENAME.
+dnl
+dnl @version $Id$
+dnl @author Luc Maisonobe
+dnl
+AC_DEFUN([AC_CXX_TYPENAME],
+[AC_CACHE_CHECK(whether the compiler recognizes typename,
+ac_cv_cxx_typename,
+[AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([template<typename T>class X {public:X(){}};],
+[X<float> z; return 0;],
+ ac_cv_cxx_typename=yes, ac_cv_cxx_typename=no)
+ AC_LANG_RESTORE
+])
+if test "$ac_cv_cxx_typename" = yes; then
+  AC_DEFINE(HAVE_TYPENAME,,[define if the compiler recognizes typename])
+fi
+])
diff --git a/salome_adm/unix/config_files/DEPRECATED/check_Salome.m4 b/salome_adm/unix/config_files/DEPRECATED/check_Salome.m4
new file mode 100644 (file)
index 0000000..d598c99
--- /dev/null
@@ -0,0 +1,78 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#------------------------------------------------------------
+#  Check availability of Salome binary distribution
+#
+#  Author : Marc Tajchman (CEA, 2002)
+#------------------------------------------------------------
+
+AC_DEFUN([CHECK_SALOME],[
+
+AC_CHECKING(for Salome)
+
+Salome_ok=no
+
+AC_ARG_WITH(salome,
+           --with-salome=DIR root directory path of SALOME installation,
+           SALOME_DIR="$withval",SALOME_DIR="")
+
+if test "x$SALOME_DIR" = "x" ; then
+
+# no --with-salome-dir option used
+
+   if test "x$SALOME_ROOT_DIR" != "x" ; then
+
+    # SALOME_ROOT_DIR environment variable defined
+      SALOME_DIR=$SALOME_ROOT_DIR
+
+   else
+
+    # search Salome binaries in PATH variable
+      AC_PATH_PROG(TEMP, libMEDMEM_Swig.py)
+      if test "x$TEMP" != "x" ; then
+         SALOME_BIN_DIR=`dirname $TEMP`
+         SALOME_DIR=`dirname $SALOME_BIN_DIR`
+      fi
+      
+   fi
+# 
+fi
+
+if test -f ${SALOME_DIR}/bin/libMEDMEM_Swig.py  ; then
+   Salome_ok=yes
+   AC_MSG_RESULT(Using Salome distribution in ${SALOME_DIR})
+
+   if test "x$SALOME_ROOT_DIR" = "x" ; then
+      SALOME_ROOT_DIR=${SALOME_DIR}
+   fi
+   if test "x$SALOME_SITE_DIR" = "x" ; then
+      SALOME_SITE_DIR=${SALOME_ROOT_DIR}
+   fi
+   AC_SUBST(SALOME_ROOT_DIR)
+   AC_SUBST(SALOME_SITE_DIR)
+
+else
+   AC_MSG_WARN("Cannot find compiled Salome distribution")
+fi
+  
+AC_MSG_RESULT(for Salome: $Salome_ok)
+])dnl
diff --git a/salome_adm/unix/config_files/DEPRECATED/check_java.m4 b/salome_adm/unix/config_files/DEPRECATED/check_java.m4
new file mode 100644 (file)
index 0000000..c03e9f7
--- /dev/null
@@ -0,0 +1,111 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+AC_DEFUN([CHECK_JAVA],[
+dnl AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
+dnl AC_REQUIRE([AC_PROG_CPP])dnl
+
+AC_CHECKING(for JAVA)
+
+JAVA_INCLUDES=""
+JAVA_LIBS=""
+JAVA_LDPATH=""
+
+java_ok=no
+
+if test -z $JAVAHOME
+then
+   AC_MSG_WARN(define JAVAHOME variable to use Java)
+else
+   java_ok=yes
+fi
+
+if  test "x$java_ok" = "xyes"
+then
+   AC_EXEEXT
+   AC_CHECK_PROG(JAVA, java$EXEEXT,found)
+   if  test "x$JAVA" = "x"
+   then
+     java_ok=no
+   fi
+
+   AC_CHECK_PROG(JAVAC, javac$EXEEXT,found)
+   if  test "x$JAVAC" = "x"
+   then
+     java_ok=no
+   fi
+fi
+
+if  test "x$java_ok" = "xyes"
+then
+    version=`$JAVA -version 2>&1 | grep "java version"`
+    case "$version" in
+      *1.1.*)
+          AC_MSG_RESULT(using jdk1.1 version - jdk1.4 required)
+         java_ok=no;;
+      *1.2*)
+          AC_MSG_RESULT(using jdk1.2 version - jdk1.4 required)
+         java_ok=no;;
+      *1.3*)
+          AC_MSG_RESULT(using jdk1.3 version - jdk1.4 required)
+         java_ok=no;;
+      *1.4*)
+          AC_MSG_RESULT(using jdk1.4 version) ;;
+    esac
+fi
+
+if  test "x$java_ok" = "xyes"
+then
+dnl java headers
+  LOCAL_INCLUDES=" -I${JAVAHOME}/include  -I${JAVAHOME}/include/linux"
+  CPPFLAGS_old="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES"
+  AC_CHECK_HEADER(jni.h,java_ok=yes ,java_ok=no)
+
+  CPPFLAGS="$CPPFLAGS_old"
+fi
+
+if  test "x$java_ok" = "xyes"
+then
+dnl libjava library
+  LOCAL_LIBS="-L${JAVAHOME}/jre/lib/i386 -ljava -L${JAVAHOME}/jre/lib/i386/client -ljvm -lverify"
+  LIBS_old="$LIBS"
+  LIBS="$LIBS $LOCAL_LIBS"
+
+  AC_CHECK_LIB(jvm,JNI_CreateJavaVM,java_ok=yes,java_ok=no)
+
+  LIBS="$LIBS_old"
+fi
+
+if  test "x$java_ok" = "xyes"
+then
+  JAVA_INCLUDES="$LOCAL_INCLUDES"
+  JAVA_LIBS="$LOCAL_LIBS"
+fi
+
+AC_SUBST(JAVA_INCLUDES)
+AC_SUBST(JAVA_LIBS)
+AC_SUBST(JAVA_LDPATH)
+
+AC_MSG_RESULT(for java: $java_ok)
+
+])dnl
+dnl
diff --git a/salome_adm/unix/config_files/DEPRECATED/check_mico.m4 b/salome_adm/unix/config_files/DEPRECATED/check_mico.m4
new file mode 100644 (file)
index 0000000..5d97e2a
--- /dev/null
@@ -0,0 +1,159 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+
+AC_DEFUN([CHECK_MICO],[
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_CXX])dnl
+AC_REQUIRE([AC_PROG_CPP])dnl
+AC_REQUIRE([AC_PROG_CXXCPP])dnl
+
+AC_CHECKING(for mico)
+mico_ok=yes
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+AC_PATH_PROG(MICOD, micod)
+if test "x$MICOD" = "x"
+then
+  mico_ok=no
+  AC_MSG_RESULT(mico binaries not in PATH variable)
+else
+  mico_ok=yes
+fi
+
+if  test "x$mico_ok" = "xyes"
+then
+  AC_SUBST(MICO_IDL)
+
+  MICO_BIN=`echo ${MICOD} | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
+  MICO_LIB=`echo ${MICO_BIN} | sed -e "s,bin,lib,"`
+  MICO_ROOT=`echo ${MICO_BIN}  | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
+  AC_SUBST(MICO_ROOT)
+
+  MICO_IDL=${MICO_BIN}/idl
+  AC_SUBST(MICO_IDL)
+
+  MICO_INCLUDES="-I$MICO_ROOT/include"
+  AC_SUBST(MICO_INCLUDES)
+
+  MICO_VERSION=`sed -n -e 's/.define *MICO_VERSION *\"\([[^\"]]*\)\"/\1/p' $MICO_ROOT/include/mico/version.h`
+  AC_SUBST(MICO_VERSION)
+  AC_MSG_RESULT(using mico version $MICO_VERSION)
+
+  MICO_CXXFLAGS="-ftemplate-depth-42 -fpermissive"
+  AC_SUBST(MICO_CXXFLAGS)
+
+  CXXFLAGS_old=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS $MICO_CXXFLAGS $MICO_INCLUDES"
+
+  AC_MSG_CHECKING(include of CORBA.h)
+  AC_TRY_COMPILE(
+#include "CORBA.h"
+, ,mico_ok=yes ,mico_ok=no)
+
+  if  test "x$mico_ok" = "xno"
+  then
+    AC_MSG_RESULT(CORBA.h not found in mico installation)
+  else
+    AC_MSG_RESULT(yes)
+  fi
+
+  CXXFLAGS=$CXXFLAGS_old
+
+fi
+
+if test "x$mico_ok" = "xyes" 
+then
+  if test "x$MICO_LIB" = "x/usr/lib"
+  then
+    MICO_LDFLAGS=""
+  else
+    MICO_LDFLAGS="-L$MICO_LIB"
+  fi
+
+  LIBS_old=$LIBS
+  MICO_LIBS="$MICO_LDFLAGS -lmico$MICO_VERSION -ldl"
+  AC_SUBST(MICO_LIBS)
+
+  LIBS="$MICO_LIBS $LIBS"
+  CXXFLAGS_old=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS $MICO_CXXFLAGS $MICO_INCLUDES"
+
+  AC_MSG_CHECKING(whether we can link with mico)
+  AC_TRY_LINK(
+#include "CORBA.h"
+,CORBA::ORB_var orb,
+    mico_ok=yes,mico_ok=no)
+
+  if test "x$mico_ok" = "xno" 
+  then
+    AC_MSG_RESULT(mico library linking failed)
+    mico_ok=no
+  else
+    AC_MSG_RESULT(yes)
+  fi
+
+  CXXFLAGS=$CXXFLAGS_old
+  LIBS=$LIBS_old
+fi
+
+
+if test "x$mico_ok" = "xyes" 
+then
+
+  MICO_IDLCXXFLAGS="-bcxx -I$MICO_ROOT/idl"
+  AC_SUBST(MICO_IDLCXXFLAGS)
+  AC_SUBST(MICO_IDLPYFLAGS)
+
+  MICO_IDL_CLN_H=.hh
+  MICO_IDL_CLN_CXX=SK.cc
+  MICO_IDL_CLN_OBJ=SK.o 
+  AC_SUBST(MICO_IDL_CLN_H)
+  AC_SUBST(MICO_IDL_CLN_CXX)
+  AC_SUBST(MICO_IDL_CLN_OBJ)
+
+  MICO_IDL_SRV_H=.hh
+  MICO_IDL_SRV_CXX=SK.cc
+  MICO_IDL_SRV_OBJ=SK.o
+  AC_SUBST(MICO_IDL_SRV_H)
+  AC_SUBST(MICO_IDL_SRV_CXX)
+  AC_SUBST(MICO_IDL_SRV_OBJ)
+
+  MICO_IDL_TIE_H=
+  MICO_IDL_TIE_CXX=
+  AC_SUBST(MICO_IDL_TIE_H)
+  AC_SUBST(MICO_IDL_TIE_CXX)
+  
+  AC_DEFINE(MICO)
+
+  CORBA_HAVE_POA=1
+  AC_DEFINE(CORBA_HAVE_POA)
+
+fi
+
+AC_LANG_RESTORE
+
+AC_MSG_RESULT(for mico: $mico_ok)
+
+])dnl
+dnl
diff --git a/salome_adm/unix/config_files/DEPRECATED/check_pthreads.m4 b/salome_adm/unix/config_files/DEPRECATED/check_pthreads.m4
new file mode 100644 (file)
index 0000000..eb511ec
--- /dev/null
@@ -0,0 +1,56 @@
+dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+dnl 
+dnl  This library is free software; you can redistribute it and/or 
+dnl  modify it under the terms of the GNU Lesser General Public 
+dnl  License as published by the Free Software Foundation; either 
+dnl  version 2.1 of the License. 
+dnl 
+dnl  This library is distributed in the hope that it will be useful, 
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+dnl  Lesser General Public License for more details. 
+dnl 
+dnl  You should have received a copy of the GNU Lesser General Public 
+dnl  License along with this library; if not, write to the Free Software 
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+dnl 
+dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+dnl
+dnl
+dnl
+#@synonpsis CHECK_PTHREADS
+dnl  check for pthreads system interfaces.
+dnl  set CFLAGS_PTHREADS,  CXXFLAGS_PTHREADS and LIBS_PTHREADS to
+dnl  flags to compiler flags for multithread program compilation (if exists),
+dnl  and library, if one required.
+dnl
+dnl@author   (C) Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>, 1998
+dnl@id $Id$
+dnl ----------------------------------------------------------------
+dnl CHECK_PTHREADS
+AC_DEFUN([CHECK_PTHREADS],[
+AC_CXX_OPTION(-pthread,CPPFLAGS,flag=yes,flag=no)
+
+if test $flag = no; then
+  AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
+  AC_CHECK_HEADER(pthread.h,AC_DEFINE(HAVE_PTHREAD_H))
+  AC_CHECK_LIB(posix4,nanosleep, LIBS_PTHREADS="-lposix4",LIBS_PTHREADS="")
+  AC_CHECK_LIB(pthread,pthread_mutex_lock, 
+               LIBS_PTHREADS="-lpthread $LIBS_PTHREADS",LIBS_PTHREADS="")
+else
+    case $host_os in
+      osf*)
+        LIBS_PTHREADS="-lpthread $LIBS_PTHREADS"
+        ;;
+    esac
+fi
+
+if test $flag = no && test x$LIBS_PTHREADS = x; then
+  threads_ok=no
+else
+  threads_ok=yes
+fi
+])dnl
+dnl
+dnl
diff --git a/salome_adm/unix/config_files/DEPRECATED/config.guess b/salome_adm/unix/config_files/DEPRECATED/config.guess
new file mode 100755 (executable)
index 0000000..0ce538b
--- /dev/null
@@ -0,0 +1,1183 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+#   Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner <bothner@cygnus.com>.
+# Please send patches to <config-patches@gnu.org>.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit system type (host/target name).
+#
+# Only a few systems have been added to this list; please add others
+# (but try to keep the structure clean).
+#
+
+# Use $HOST_CC if defined. $CC may point to a cross-compiler
+if test x"$CC_FOR_BUILD" = x; then
+  if test x"$HOST_CC" != x; then
+    CC_FOR_BUILD="$HOST_CC"
+  else
+    if test x"$CC" != x; then
+      CC_FOR_BUILD="$CC"
+    else
+      CC_FOR_BUILD=cc
+    fi
+  fi
+fi
+
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 8/24/94.)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+       PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+       # Netbsd (nbsd) targets should (where applicable) match one or
+       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+       # switched to ELF, *-*-netbsd* would select the old
+       # object file format.  This provides both forward
+       # compatibility and a consistent mechanism for selecting the
+       # object file format.
+       # Determine the machine/vendor (is the vendor relevant).
+       case "${UNAME_MACHINE}" in
+           amiga) machine=m68k-cbm ;;
+           arm32) machine=arm-unknown ;;
+           atari*) machine=m68k-atari ;;
+           sun3*) machine=m68k-sun ;;
+           mac68k) machine=m68k-apple ;;
+           macppc) machine=powerpc-apple ;;
+           hp3[0-9][05]) machine=m68k-hp ;;
+           ibmrt|romp-ibm) machine=romp-ibm ;;
+           *) machine=${UNAME_MACHINE}-unknown ;;
+       esac
+       # The Operating System including object format.
+       if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+               | grep __ELF__ >/dev/null
+       then
+           # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+           # Return netbsd for either.  FIX?
+           os=netbsd
+       else
+           os=netbsdelf
+       fi
+       # The OS release
+       release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+       # contains redundant information, the shorter form:
+       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+       echo "${machine}-${os}${release}"
+       exit 0 ;;
+    alpha:OSF1:*:*)
+       if test $UNAME_RELEASE = "V4.0"; then
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+       fi
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       cat <<EOF >$dummy.s
+       .data
+\$Lformat:
+       .byte 37,100,45,37,120,10,0     # "%d-%x\n"
+
+       .text
+       .globl main
+       .align 4
+       .ent main
+main:
+       .frame \$30,16,\$26,0
+       ldgp \$29,0(\$27)
+       .prologue 1
+       .long 0x47e03d80 # implver \$0
+       lda \$2,-1
+       .long 0x47e20c21 # amask \$2,\$1
+       lda \$16,\$Lformat
+       mov \$0,\$17
+       not \$1,\$18
+       jsr \$26,printf
+       ldgp \$29,0(\$26)
+       mov 0,\$16
+       jsr \$26,exit
+       .end main
+EOF
+       $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+       if test "$?" = 0 ; then
+               case `./$dummy` in
+                       0-0)
+                               UNAME_MACHINE="alpha"
+                               ;;
+                       1-0)
+                               UNAME_MACHINE="alphaev5"
+                               ;;
+                       1-1)
+                               UNAME_MACHINE="alphaev56"
+                               ;;
+                       1-101)
+                               UNAME_MACHINE="alphapca56"
+                               ;;
+                       2-303)
+                               UNAME_MACHINE="alphaev6"
+                               ;;
+                       2-307)
+                               UNAME_MACHINE="alphaev67"
+                               ;;
+               esac
+       fi
+       rm -f $dummy.s $dummy
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit 0 ;;
+    Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+       # of the specific Alpha model?
+       echo alpha-pc-interix
+       exit 0 ;;
+    21064:Windows_NT:50:3)
+       echo alpha-dec-winnt3.5
+       exit 0 ;;
+    Amiga*:UNIX_System_V:4.0:*)
+       echo m68k-cbm-sysv4
+       exit 0;;
+    amiga:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-amigaos
+       exit 0 ;;
+    arc64:OpenBSD:*:*)
+       echo mips64el-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    arc:OpenBSD:*:*)
+       echo mipsel-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    hkmips:OpenBSD:*:*)
+       echo mips-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    pmax:OpenBSD:*:*)
+       echo mipsel-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    sgi:OpenBSD:*:*)
+       echo mips-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+       echo mipsel-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    *:OS/390:*:*)
+       echo i370-ibm-openedition
+       exit 0 ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit 0;;
+    SR2?01:HI-UX/MPP:*:*)
+       echo hppa1.1-hitachi-hiuxmpp
+       exit 0;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+       if test "`(/bin/universe) 2>/dev/null`" = att ; then
+               echo pyramid-pyramid-sysv3
+       else
+               echo pyramid-pyramid-bsd
+       fi
+       exit 0 ;;
+    NILE*:*:*:dcosx)
+       echo pyramid-pyramid-svr4
+       exit 0 ;;
+    sun4H:SunOS:5.*:*)
+       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    i86pc:SunOS:5.*:*)
+       echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    sun4*:SunOS:6*:*)
+       # According to config.sub, this is the proper way to canonicalize
+       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+       # it's likely to be more like Solaris than SunOS4.
+       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    sun4*:SunOS:*:*)
+       case "`/usr/bin/arch -k`" in
+           Series*|S4*)
+               UNAME_RELEASE=`uname -v`
+               ;;
+       esac
+       # Japanese Language versions have a version number like `4.1.3-JL'.
+       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       exit 0 ;;
+    sun3*:SunOS:*:*)
+       echo m68k-sun-sunos${UNAME_RELEASE}
+       exit 0 ;;
+    sun*:*:4.2BSD:*)
+       UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       case "`/bin/arch`" in
+           sun3)
+               echo m68k-sun-sunos${UNAME_RELEASE}
+               ;;
+           sun4)
+               echo sparc-sun-sunos${UNAME_RELEASE}
+               ;;
+       esac
+       exit 0 ;;
+    aushp:SunOS:*:*)
+       echo sparc-auspex-sunos${UNAME_RELEASE}
+       exit 0 ;;
+    atari*:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit 0 ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit 0 ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit 0 ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit 0 ;;
+    sun3*:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mac68k:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+       echo m88k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+       exit 0 ;;
+    RISC*:Mach:*:*)
+       echo mips-dec-mach_bsd4.3
+       exit 0 ;;
+    RISC*:ULTRIX:*:*)
+       echo mips-dec-ultrix${UNAME_RELEASE}
+       exit 0 ;;
+    VAX*:ULTRIX*:*:*)
+       echo vax-dec-ultrix${UNAME_RELEASE}
+       exit 0 ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+       echo clipper-intergraph-clix${UNAME_RELEASE}
+       exit 0 ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+       sed 's/^        //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+       #if defined (host_mips) && defined (MIPSEB)
+       #if defined (SYSTYPE_SYSV)
+         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_SVR4)
+         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+       #endif
+       #endif
+         exit (-1);
+       }
+EOF
+       $CC_FOR_BUILD $dummy.c -o $dummy \
+         && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+         && rm $dummy.c $dummy && exit 0
+       rm -f $dummy.c $dummy
+       echo mips-mips-riscos${UNAME_RELEASE}
+       exit 0 ;;
+    Night_Hawk:Power_UNIX:*:*)
+       echo powerpc-harris-powerunix
+       exit 0 ;;
+    m88k:CX/UX:7*:*)
+       echo m88k-harris-cxux7
+       exit 0 ;;
+    m88k:*:4*:R4*)
+       echo m88k-motorola-sysv4
+       exit 0 ;;
+    m88k:*:3*:R3*)
+       echo m88k-motorola-sysv3
+       exit 0 ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           then
+               echo m88k-dg-dgux${UNAME_RELEASE}
+           else
+               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+           fi
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+       exit 0 ;;
+    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit 0 ;;
+    M88*:*:R3*:*)
+       # Delta 88k system running SVR3
+       echo m88k-motorola-sysv3
+       exit 0 ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+       echo m88k-tektronix-sysv3
+       exit 0 ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+       echo m68k-tektronix-bsd
+       exit 0 ;;
+    *:IRIX*:*:*)
+       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       exit 0 ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+       echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+       exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+    i?86:AIX:*:*)
+       echo i386-ibm-aix
+       exit 0 ;;
+    *:AIX:2:3)
+       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+               sed 's/^                //' << EOF >$dummy.c
+               #include <sys/systemcfg.h>
+
+               main()
+                       {
+                       if (!__power_pc())
+                               exit(1);
+                       puts("powerpc-ibm-aix3.2.5");
+                       exit(0);
+                       }
+EOF
+               $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+               rm -f $dummy.c $dummy
+               echo rs6000-ibm-aix3.2.5
+       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+               echo rs6000-ibm-aix3.2.4
+       else
+               echo rs6000-ibm-aix3.2
+       fi
+       exit 0 ;;
+    *:AIX:*:4)
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+       else
+               IBM_ARCH=powerpc
+       fi
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=4.${UNAME_RELEASE}
+       fi
+       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       exit 0 ;;
+    *:AIX:*:*)
+       echo rs6000-ibm-aix
+       exit 0 ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+       echo romp-ibm-bsd4.4
+       exit 0 ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       exit 0 ;;                           # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+       echo rs6000-bull-bosx
+       exit 0 ;;
+    DPX/2?00:B.O.S.:*:*)
+       echo m68k-bull-sysv3
+       exit 0 ;;
+    9000/[34]??:4.3bsd:1.*:*)
+       echo m68k-hp-bsd
+       exit 0 ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+       echo m68k-hp-bsd4.4
+       exit 0 ;;
+    9000/[34678]??:HP-UX:*:*)
+       case "${UNAME_MACHINE}" in
+           9000/31? )            HP_ARCH=m68000 ;;
+           9000/[34]?? )         HP_ARCH=m68k ;;
+           9000/[678][0-9][0-9])
+              sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+               {
+               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+               case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+                   switch (bits)
+                       {
+                       case 64: puts ("hppa2.0w"); break;
+                       case 32: puts ("hppa2.0n"); break;
+                       default: puts ("hppa2.0"); break;
+                       } break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+                   puts ("hppa2.0"); break;
+              #endif
+               default: puts ("hppa1.0"); break;
+               }
+                  exit (0);
+              }
+EOF
+       (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+       rm -f $dummy.c $dummy
+       esac
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       exit 0 ;;
+    3050*:HI-UX:*:*)
+       sed 's/^        //' << EOF >$dummy.c
+       #include <unistd.h>
+       int
+       main ()
+       {
+         long cpu = sysconf (_SC_CPU_VERSION);
+         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+            results, however.  */
+         if (CPU_IS_PA_RISC (cpu))
+           {
+             switch (cpu)
+               {
+                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+                 default: puts ("hppa-hitachi-hiuxwe2"); break;
+               }
+           }
+         else if (CPU_IS_HP_MC68K (cpu))
+           puts ("m68k-hitachi-hiuxwe2");
+         else puts ("unknown-hitachi-hiuxwe2");
+         exit (0);
+       }
+EOF
+       $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+       rm -f $dummy.c $dummy
+       echo unknown-hitachi-hiuxwe2
+       exit 0 ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+       echo hppa1.1-hp-bsd
+       exit 0 ;;
+    9000/8??:4.3bsd:*:*)
+       echo hppa1.0-hp-bsd
+       exit 0 ;;
+    *9??*:MPE/iX:*:*)
+       echo hppa1.0-hp-mpeix
+       exit 0 ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+       echo hppa1.1-hp-osf
+       exit 0 ;;
+    hp8??:OSF1:*:*)
+       echo hppa1.0-hp-osf
+       exit 0 ;;
+    i?86:OSF1:*:*)
+       if [ -x /usr/sbin/sysversion ] ; then
+           echo ${UNAME_MACHINE}-unknown-osf1mk
+       else
+           echo ${UNAME_MACHINE}-unknown-osf1
+       fi
+       exit 0 ;;
+    parisc*:Lites*:*:*)
+       echo hppa1.1-hp-lites
+       exit 0 ;;
+    hppa*:OpenBSD:*:*)
+       echo hppa-unknown-openbsd
+       exit 0 ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+        exit 0 ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+        exit 0 ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+        exit 0 ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+        exit 0 ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+        exit 0 ;;
+    CRAY*X-MP:*:*:*)
+       echo xmp-cray-unicos
+        exit 0 ;;
+    CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE}
+       exit 0 ;;
+    CRAY*[A-Z]90:*:*:*)
+       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
+       exit 0 ;;
+    CRAY*TS:*:*:*)
+       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    CRAY*T3E:*:*:*)
+       echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    CRAY*SV1:*:*:*)
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    CRAY-2:*:*:*)
+       echo cray2-cray-unicos
+        exit 0 ;;
+    F300:UNIX_System_V:*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit 0 ;;
+    F301:UNIX_System_V:*:*)
+       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
+       exit 0 ;;
+    hp300:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+    sparc*:BSD/OS:*:*)
+       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+    *:BSD/OS:*:*)
+       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+    *:FreeBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit 0 ;;
+    *:OpenBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+       exit 0 ;;
+    i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+       exit 0 ;;
+    i*:MINGW*:*)
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit 0 ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+       # UNAME_MACHINE based on the output of uname instead of i386?
+       echo i386-pc-interix
+       exit 0 ;;
+    i*:UWIN*:*)
+       echo ${UNAME_MACHINE}-pc-uwin
+       exit 0 ;;
+    p*:CYGWIN*:*)
+       echo powerpcle-unknown-cygwin
+       exit 0 ;;
+    prep*:SunOS:5.*:*)
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    *:GNU:*:*)
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit 0 ;;
+    *:Linux:*:*)
+
+       # The BFD linker knows what the default object file format is, so
+       # first see if it will tell us. cd to the root directory to prevent
+       # problems with other programs or directories called `ld' in the path.
+       ld_help_string=`cd /; ld --help 2>&1`
+       ld_supported_emulations=`echo $ld_help_string \
+                        | sed -ne '/supported emulations:/!d
+                                   s/[         ][      ]*/ /g
+                                   s/.*supported emulations: *//
+                                   s/ .*//
+                                   p'`
+        case "$ld_supported_emulations" in
+         *ia64)
+               echo "${UNAME_MACHINE}-unknown-linux"
+               exit 0
+               ;;
+         i?86linux)
+               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+               exit 0
+               ;;
+         elf_i?86)
+               echo "${UNAME_MACHINE}-pc-linux"
+               exit 0
+               ;;
+         i?86coff)
+               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+               exit 0
+               ;;
+         sparclinux)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+               exit 0
+               ;;
+         armlinux)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+               exit 0
+               ;;
+         elf32arm*)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
+               exit 0
+               ;;
+         armelf_linux*)
+               echo "${UNAME_MACHINE}-unknown-linux-gnu"
+               exit 0
+               ;;
+         m68klinux)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+               exit 0
+               ;;
+         elf32ppc | elf32ppclinux)
+               # Determine Lib Version
+               cat >$dummy.c <<EOF
+#include <features.h>
+#if defined(__GLIBC__)
+extern char __libc_version[];
+extern char __libc_release[];
+#endif
+main(argc, argv)
+     int argc;
+     char *argv[];
+{
+#if defined(__GLIBC__)
+  printf("%s %s\n", __libc_version, __libc_release);
+#else
+  printf("unkown\n");
+#endif
+  return 0;
+}
+EOF
+               LIBC=""
+               $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
+               if test "$?" = 0 ; then
+                       ./$dummy | grep 1\.99 > /dev/null
+                       if test "$?" = 0 ; then
+                               LIBC="libc1"
+                       fi
+               fi
+               rm -f $dummy.c $dummy
+               echo powerpc-unknown-linux-gnu${LIBC}
+               exit 0
+               ;;
+       esac
+
+       if test "${UNAME_MACHINE}" = "alpha" ; then
+               cat <<EOF >$dummy.s
+                       .data
+               \$Lformat:
+                       .byte 37,100,45,37,120,10,0     # "%d-%x\n"
+
+                       .text
+                       .globl main
+                       .align 4
+                       .ent main
+               main:
+                       .frame \$30,16,\$26,0
+                       ldgp \$29,0(\$27)
+                       .prologue 1
+                       .long 0x47e03d80 # implver \$0
+                       lda \$2,-1
+                       .long 0x47e20c21 # amask \$2,\$1
+                       lda \$16,\$Lformat
+                       mov \$0,\$17
+                       not \$1,\$18
+                       jsr \$26,printf
+                       ldgp \$29,0(\$26)
+                       mov 0,\$16
+                       jsr \$26,exit
+                       .end main
+EOF
+               LIBC=""
+               $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+               if test "$?" = 0 ; then
+                       case `./$dummy` in
+                       0-0)
+                               UNAME_MACHINE="alpha"
+                               ;;
+                       1-0)
+                               UNAME_MACHINE="alphaev5"
+                               ;;
+                       1-1)
+                               UNAME_MACHINE="alphaev56"
+                               ;;
+                       1-101)
+                               UNAME_MACHINE="alphapca56"
+                               ;;
+                       2-303)
+                               UNAME_MACHINE="alphaev6"
+                               ;;
+                       2-307)
+                               UNAME_MACHINE="alphaev67"
+                               ;;
+                       esac
+
+                       objdump --private-headers $dummy | \
+                         grep ld.so.1 > /dev/null
+                       if test "$?" = 0 ; then
+                               LIBC="libc1"
+                       fi
+               fi
+               rm -f $dummy.s $dummy
+               echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
+       elif test "${UNAME_MACHINE}" = "mips" ; then
+         cat >$dummy.c <<EOF
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __MIPSEB__
+  printf ("%s-unknown-linux-gnu\n", argv[1]);
+#endif
+#ifdef __MIPSEL__
+  printf ("%sel-unknown-linux-gnu\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+         $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+         rm -f $dummy.c $dummy
+       elif test "${UNAME_MACHINE}" = "s390"; then
+         echo s390-ibm-linux && exit 0
+       else
+         # Either a pre-BFD a.out linker (linux-gnuoldld)
+         # or one that does not give us useful --help.
+         # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
+         # If ld does not provide *any* "supported emulations:"
+         # that means it is gnuoldld.
+         echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
+         test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+
+         case "${UNAME_MACHINE}" in
+         i?86)
+           VENDOR=pc;
+           ;;
+         *)
+           VENDOR=unknown;
+           ;;
+         esac
+         # Determine whether the default compiler is a.out or elf
+         cat >$dummy.c <<EOF
+#include <features.h>
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __ELF__
+# ifdef __GLIBC__
+#  if __GLIBC__ >= 2
+    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
+#  else
+    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+#  endif
+# else
+   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+# endif
+#else
+  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+         $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+         rm -f $dummy.c $dummy
+       fi ;;
+# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
+# are messed up and put the nodename in both sysname and nodename.
+    i?86:DYNIX/ptx:4*:*)
+       echo i386-sequent-sysv4
+       exit 0 ;;
+    i?86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit 0 ;;
+    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       else
+               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       fi
+       exit 0 ;;
+    i?86:*:5:7*)
+        # Fixed at (any) Pentium or better
+        UNAME_MACHINE=i586
+        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
+           echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
+       else
+           echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+       fi
+       exit 0 ;;
+    i?86:*:3.2:*)
+       if test -f /usr/options/cb.name; then
+               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       elif /bin/uname -X 2>/dev/null >/dev/null ; then
+               UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+                       && UNAME_MACHINE=i586
+               (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       else
+               echo ${UNAME_MACHINE}-pc-sysv32
+       fi
+       exit 0 ;;
+    i?86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit 0 ;;
+    pc:*:*:*)
+       # Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+       echo i386-pc-msdosdjgpp
+        exit 0 ;;
+    Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit 0 ;;
+    paragon:*:*:*)
+       echo i860-intel-osf1
+       exit 0 ;;
+    i860:*:4.*:*) # i860-SVR4
+       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+       else # Add other i860-SVR4 vendors below as they are discovered.
+         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+       fi
+       exit 0 ;;
+    mini*:CTIX:SYS*5:*)
+       # "miniframe"
+       echo m68010-convergent-sysv
+       exit 0 ;;
+    M68*:*:R3V[567]*:*)
+       test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+         && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && echo i486-ncr-sysv4 && exit 0 ;;
+    m68*:LynxOS:2.*:*)
+       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    mc68030:UNIX_System_V:4.*:*)
+       echo m68k-atari-sysv4
+       exit 0 ;;
+    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    TSUNAMI:LynxOS:2.*:*)
+       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    SM[BE]S:UNIX_SV:*:*)
+       echo mips-dde-sysv${UNAME_RELEASE}
+       exit 0 ;;
+    RM*:ReliantUNIX-*:*:*)
+       echo mips-sni-sysv4
+       exit 0 ;;
+    RM*:SINIX-*:*:*)
+       echo mips-sni-sysv4
+       exit 0 ;;
+    *:SINIX-*:*:*)
+       if uname -p 2>/dev/null >/dev/null ; then
+               UNAME_MACHINE=`(uname -p) 2>/dev/null`
+               echo ${UNAME_MACHINE}-sni-sysv4
+       else
+               echo ns32k-sni-sysv
+       fi
+       exit 0 ;;
+    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                           # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit 0 ;;
+    *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+       echo hppa1.1-stratus-sysv4
+       exit 0 ;;
+    *:*:*:FTX*)
+       # From seanf@swdc.stratus.com.
+       echo i860-stratus-sysv4
+       exit 0 ;;
+    mc68*:A/UX:*:*)
+       echo m68k-apple-aux${UNAME_RELEASE}
+       exit 0 ;;
+    news*:NEWS-OS:*:6*)
+       echo mips-sony-newsos6
+       exit 0 ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+               echo mips-nec-sysv${UNAME_RELEASE}
+       else
+               echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+        exit 0 ;;
+    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit 0 ;;
+    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
+       echo powerpc-apple-beos
+       exit 0 ;;
+    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
+       echo i586-pc-beos
+       exit 0 ;;
+    SX-4:SUPER-UX:*:*)
+       echo sx4-nec-superux${UNAME_RELEASE}
+       exit 0 ;;
+    SX-5:SUPER-UX:*:*)
+       echo sx5-nec-superux${UNAME_RELEASE}
+       exit 0 ;;
+    Power*:Rhapsody:*:*)
+       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       exit 0 ;;
+    *:Rhapsody:*:*)
+       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       exit 0 ;;
+    *:Darwin:*:*)
+       echo `uname -p`-apple-darwin${UNAME_RELEASE}
+       exit 0 ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+       if test "${UNAME_MACHINE}" = "x86pc"; then
+               UNAME_MACHINE=pc
+       fi
+       echo `uname -p`-${UNAME_MACHINE}-nto-qnx
+       exit 0 ;;
+    *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit 0 ;;
+    NSR-W:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk${UNAME_RELEASE}
+       exit 0 ;;
+    BS2000:POSIX*:*:*)
+       echo bs2000-siemens-sysv
+       exit 0 ;;
+    DS/*:UNIX_System_V:*:*)
+       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+         ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+       printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+       printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+#if !defined (ultrix)
+  printf ("vax-dec-bsd\n"); exit (0);
+#else
+  printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+       echo c1-convex-bsd
+       exit 0 ;;
+    c2*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+       exit 0 ;;
+    c34*)
+       echo c34-convex-bsd
+       exit 0 ;;
+    c38*)
+       echo c38-convex-bsd
+       exit 0 ;;
+    c4*)
+       echo c4-convex-bsd
+       exit 0 ;;
+    esac
+fi
+
+#echo '(Unable to guess system type)' 1>&2
+
+exit 1
diff --git a/salome_adm/unix/config_files/DEPRECATED/config.sub b/salome_adm/unix/config_files/DEPRECATED/config.sub
new file mode 100755 (executable)
index 0000000..c8e7785
--- /dev/null
@@ -0,0 +1,1268 @@
+#! /bin/sh
+# Configuration validation subroutine script, version 1.1.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+#   Free Software Foundation, Inc.
+#
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner <bothner@cygnus.com>.
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+if [ x$1 = x ]
+then
+       echo Configuration name missing. 1>&2
+       echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
+       echo "or     $0 ALIAS" 1>&2
+       echo where ALIAS is a recognized configuration type. 1>&2
+       exit 1
+fi
+
+# First pass through any local machine types.
+case $1 in
+       *local*)
+               echo $1
+               exit 0
+               ;;
+       *)
+       ;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+       -sun*os*)
+               # Prevent following clause from handling this invalid input.
+               ;;
+       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple)
+               os=
+               basic_machine=$1
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+               basic_machine=$1
+               ;;
+       -scout)
+               ;;
+       -wrs)
+               os=-vxworks
+               basic_machine=$1
+               ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -sco5)
+               os=-sco3.2v5
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco4)
+               os=-sco3.2v4
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2v[4-9]*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco*)
+               os=-sco3.2v2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -udk*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -isc)
+               os=-isc2.2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -clix*)
+               basic_machine=clipper-intergraph
+               ;;
+       -isc*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
+               ;;
+       -mint | -mint[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+       # Recognize the basic CPU types without company name.
+       # Some are omitted here because they have special meanings below.
+       tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
+               | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
+               | 580 | i960 | h8300 \
+               | x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
+               | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
+               | hppa64 \
+               | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
+               | alphaev6[78] \
+               | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
+               | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
+               | mips64orion | mips64orionel | mipstx39 | mipstx39el \
+               | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
+               | mips64vr5000 | miprs64vr5000el | mcore \
+               | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
+               | thumb | d10v | fr30 | avr)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
+               ;;
+
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i[34567]86)
+         basic_machine=$basic_machine-pc
+         ;;
+       # Object if more than one company name word.
+       *-*-*)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+       # Recognize the basic CPU types with company name.
+       # FIXME: clean up the formatting here.
+       vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
+             | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
+             | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+             | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
+             | xmp-* | ymp-* \
+             | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
+             | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
+             | hppa2.0n-* | hppa64-* \
+             | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
+             | alphaev6[78]-* \
+             | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
+             | clipper-* | orion-* \
+             | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+             | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
+             | mips64el-* | mips64orion-* | mips64orionel-* \
+             | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
+             | mipstx39-* | mipstx39el-* | mcore-* \
+             | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
+             | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
+             | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
+             | bs2000-*)
+               ;;
+       # Recognize the various machine names and aliases which stand
+       # for a CPU type and a company and sometimes even an OS.
+       386bsd)
+               basic_machine=i386-unknown
+               os=-bsd
+               ;;
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
+               ;;
+       3b*)
+               basic_machine=we32k-att
+               ;;
+       a29khif)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+               ;;
+       alliant | fx80)
+               basic_machine=fx80-alliant
+               ;;
+       altos | altos3068)
+               basic_machine=m68k-altos
+               ;;
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
+               ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+               ;;
+       amiga | amiga-*)
+               basic_machine=m68k-cbm
+               ;;
+       amigaos | amigados)
+               basic_machine=m68k-cbm
+               os=-amigaos
+               ;;
+       amigaunix | amix)
+               basic_machine=m68k-cbm
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       apollo68bsd)
+               basic_machine=m68k-apollo
+               os=-bsd
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
+               ;;
+       convex-c1)
+               basic_machine=c1-convex
+               os=-bsd
+               ;;
+       convex-c2)
+               basic_machine=c2-convex
+               os=-bsd
+               ;;
+       convex-c32)
+               basic_machine=c32-convex
+               os=-bsd
+               ;;
+       convex-c34)
+               basic_machine=c34-convex
+               os=-bsd
+               ;;
+       convex-c38)
+               basic_machine=c38-convex
+               os=-bsd
+               ;;
+       cray | ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       cray2)
+               basic_machine=cray2-cray
+               os=-unicos
+               ;;
+       [ctj]90-cray)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
+       elxsi)
+               basic_machine=elxsi-elxsi
+               os=-bsd
+               ;;
+       encore | umax | mmax)
+               basic_machine=ns32k-encore
+               ;;
+       es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=-ose
+               ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
+       genix)
+               basic_machine=ns32k-ns
+               ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       h8300xray)
+               basic_machine=h8300-hitachi
+               os=-xray
+               ;;
+       h8500hms)
+               basic_machine=h8500-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp3k9[0-9][0-9] | hp9[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k6[0-9][0-9] | hp6[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k7[0-79][0-9] | hp7[0-79][0-9])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k78[0-9] | hp78[0-9])
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][13679] | hp8[0-9][13679])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       hppaosf)
+               basic_machine=hppa1.1-hp
+               os=-osf
+               ;;
+       hppro)
+               basic_machine=hppa1.1-hp
+               os=-proelf
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+       i[34567]86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i[34567]86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i[34567]86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i[34567]86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
+       i386mach)
+               basic_machine=i386-mach
+               os=-mach
+               ;;
+       i386-vsta | vsta)
+               basic_machine=i386-unknown
+               os=-vsta
+               ;;
+       i386-go32 | go32)
+               basic_machine=i386-unknown
+               os=-go32
+               ;;
+       i386-mingw32 | mingw32)
+               basic_machine=i386-unknown
+               os=-mingw32
+               ;;
+       iris | iris4d)
+               basic_machine=mips-sgi
+               case $os in
+                   -irix*)
+                       ;;
+                   *)
+                       os=-irix4
+                       ;;
+               esac
+               ;;
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
+               ;;
+       m88k-omron*)
+               basic_machine=m88k-omron
+               ;;
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
+               ;;
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+       miniframe)
+               basic_machine=m68000-convergent
+               ;;
+       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+       mipsel*-linux*)
+               basic_machine=mipsel-unknown
+               os=-linux-gnu
+               ;;
+       mips*-linux*)
+               basic_machine=mips-unknown
+               os=-linux-gnu
+               ;;
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               ;;
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+       mmix*)
+               basic_machine=mmix-knuth
+               os=-mmixware
+               ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       msdos)
+               basic_machine=i386-unknown
+               os=-msdos
+               ;;
+       mvs)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+               ;;
+       netbsd386)
+               basic_machine=i386-unknown
+               os=-netbsd
+               ;;
+       netwinder)
+               basic_machine=armv4l-rebel
+               os=-linux
+               ;;
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
+               ;;
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
+               ;;
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
+               ;;
+       necv70)
+               basic_machine=v70-nec
+               os=-sysv
+               ;;
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
+               ;;
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
+               ;;
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
+               ;;
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
+               ;;
+       mon960)
+               basic_machine=i960-intel
+               os=-mon960
+               ;;
+       np1)
+               basic_machine=np1-gould
+               ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+       op50n-* | op60c-*)
+               basic_machine=hppa1.1-oki
+               os=-proelf
+               ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+               ;;
+       os68k)
+               basic_machine=m68k-none
+               os=-os68k
+               ;;
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
+               ;;
+       pbd)
+               basic_machine=sparc-tti
+               ;;
+       pbb)
+               basic_machine=m68k-tti
+               ;;
+        pc532 | pc532-*)
+               basic_machine=ns32k-pc532
+               ;;
+       pentium | p5 | k5 | k6 | nexen)
+               basic_machine=i586-pc
+               ;;
+       pentiumpro | p6 | 6x86)
+               basic_machine=i686-pc
+               ;;
+       pentiumii | pentium2)
+               basic_machine=i786-pc
+               ;;
+       pentium-* | p5-* | k5-* | k6-* | nexen-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumpro-* | p6-* | 6x86-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumii-* | pentium2-*)
+               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pn)
+               basic_machine=pn-gould
+               ;;
+       power)  basic_machine=rs6000-ibm
+               ;;
+       ppc)    basic_machine=powerpc-unknown
+               ;;
+       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ps2)
+               basic_machine=i386-ibm
+               ;;
+       rom68k)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       rm[46]00)
+               basic_machine=mips-siemens
+               ;;
+       rtpc | rtpc-*)
+               basic_machine=romp-ibm
+               ;;
+       sa29200)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       sequent)
+               basic_machine=i386-sequent
+               ;;
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+       sparclite-wrs)
+               basic_machine=sparclite-wrs
+               os=-vxworks
+               ;;
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
+               ;;
+       spur)
+               basic_machine=spur-unknown
+               ;;
+       st2000)
+               basic_machine=m68k-tandem
+               ;;
+       stratus)
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
+               ;;
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
+               ;;
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
+               ;;
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
+               ;;
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
+               ;;
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
+               ;;
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
+               ;;
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
+               ;;
+       sun4)
+               basic_machine=sparc-sun
+               ;;
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
+               ;;
+       sv1)
+               basic_machine=sv1-cray
+               os=-unicos
+               ;;
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
+               ;;
+       t3e)
+               basic_machine=t3e-cray
+               os=-unicos
+               ;;
+       tx39)
+               basic_machine=mipstx39-unknown
+               ;;
+       tx39el)
+               basic_machine=mipstx39el-unknown
+               ;;
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       ultra3)
+               basic_machine=a29k-nyu
+               os=-sym1
+               ;;
+       v810 | necv810)
+               basic_machine=v810-nec
+               os=-none
+               ;;
+       vaxv)
+               basic_machine=vax-dec
+               os=-sysv
+               ;;
+       vms)
+               basic_machine=vax-dec
+               os=-vms
+               ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+       vxworks960)
+               basic_machine=i960-wrs
+               os=-vxworks
+               ;;
+       vxworks68)
+               basic_machine=m68k-wrs
+               os=-vxworks
+               ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       w65*)
+               basic_machine=w65-wdc
+               os=-none
+               ;;
+       w89k-*)
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
+       xmp)
+               basic_machine=xmp-cray
+               os=-unicos
+               ;;
+        xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+       z8k-*-coff)
+               basic_machine=z8k-unknown
+               os=-sim
+               ;;
+       none)
+               basic_machine=none-none
+               os=-none
+               ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               basic_machine=hppa1.1-winbond
+               ;;
+       op50n)
+               basic_machine=hppa1.1-oki
+               ;;
+       op60c)
+               basic_machine=hppa1.1-oki
+               ;;
+       mips)
+               if [ x$os = x-linux-gnu ]; then
+                       basic_machine=mips-unknown
+               else
+                       basic_machine=mips-mips
+               fi
+               ;;
+       romp)
+               basic_machine=romp-ibm
+               ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+       vax)
+               basic_machine=vax-dec
+               ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
+       we32k)
+               basic_machine=we32k-att
+               ;;
+       sparc | sparcv9)
+               basic_machine=sparc-sun
+               ;;
+        cydra)
+               basic_machine=cydra-cydrome
+               ;;
+       orion)
+               basic_machine=orion-highlevel
+               ;;
+       orion105)
+               basic_machine=clipper-highlevel
+               ;;
+       mac | mpw | mac-mpw)
+               basic_machine=m68k-apple
+               ;;
+       pmac | pmac-mpw)
+               basic_machine=powerpc-apple
+               ;;
+       c4x*)
+               basic_machine=c4x-none
+               os=-coff
+               ;;
+       *)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+       *-digital*)
+               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               ;;
+       *-commodore*)
+               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               ;;
+       *)
+               ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+       # First accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST END IN A *, to match a version number.
+       # -sysv* is not here because it comes later, after sysvr4.
+       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+             | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+               case $basic_machine in
+                   x86-* | i[34567]86-*)
+                       ;;
+                   *)
+                       os=-nto$os
+                       ;;
+               esac
+               ;;
+       -nto*)
+               os=-nto-qnx
+               ;;
+       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+               ;;
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+       -sunos5*)
+               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               ;;
+       -sunos6*)
+               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               ;;
+       -opened*)
+               os=-openedition
+               ;;
+       -wince*)
+               os=-wince
+               ;;
+       -osfrose*)
+               os=-osfrose
+               ;;
+       -osf*)
+               os=-osf
+               ;;
+       -utek*)
+               os=-bsd
+               ;;
+       -dynix*)
+               os=-bsd
+               ;;
+       -acis*)
+               os=-aos
+               ;;
+       -386bsd)
+               os=-bsd
+               ;;
+       -ctix* | -uts*)
+               os=-sysv
+               ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       -nsk)
+               os=-nsk
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
+       -triton*)
+               os=-sysv3
+               ;;
+       -oss*)
+               os=-sysv3
+               ;;
+       -svr4)
+               os=-sysv4
+               ;;
+       -svr3)
+               os=-sysv3
+               ;;
+       -sysvr4)
+               os=-sysv4
+               ;;
+       # This must come after -sysvr4.
+       -sysv*)
+               ;;
+       -ose*)
+               os=-ose
+               ;;
+       -es1800*)
+               os=-ose
+               ;;
+       -xenix)
+               os=-xenix
+               ;;
+        -*mint | -*MiNT)
+               os=-mint
+               ;;
+       -none)
+               ;;
+       *)
+               # Get rid of the `-' at the beginning of $os.
+               os=`echo $os | sed 's/[^-]*-//'`
+               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-rebel)
+               os=-linux
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+        pdp11-*)
+               os=-none
+               ;;
+       *-dec | vax-*)
+               os=-ultrix4.2
+               ;;
+       m68*-apollo)
+               os=-domain
+               ;;
+       i386-sun)
+               os=-sunos4.0.2
+               ;;
+       m68000-sun)
+               os=-sunos3
+               # This also exists in the configure program, but was not the
+               # default.
+               # os=-sunos4
+               ;;
+       m68*-cisco)
+               os=-aout
+               ;;
+       mips*-cisco)
+               os=-elf
+               ;;
+       mips*-*)
+               os=-elf
+               ;;
+       *-tti)  # must be before sparc entry or we get the wrong os.
+               os=-sysv3
+               ;;
+       sparc-* | *-sun)
+               os=-sunos4.1.1
+               ;;
+       *-be)
+               os=-beos
+               ;;
+       *-ibm)
+               os=-aix
+               ;;
+       *-wec)
+               os=-proelf
+               ;;
+       *-winbond)
+               os=-proelf
+               ;;
+       *-oki)
+               os=-proelf
+               ;;
+       *-hp)
+               os=-hpux
+               ;;
+       *-hitachi)
+               os=-hiux
+               ;;
+       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+               os=-sysv
+               ;;
+       *-cbm)
+               os=-amigaos
+               ;;
+       *-dg)
+               os=-dgux
+               ;;
+       *-dolphin)
+               os=-sysv3
+               ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
+       m88k-omron*)
+               os=-luna
+               ;;
+       *-next )
+               os=-nextstep
+               ;;
+       *-sequent)
+               os=-ptx
+               ;;
+       *-crds)
+               os=-unos
+               ;;
+       *-ns)
+               os=-genix
+               ;;
+       i370-*)
+               os=-mvs
+               ;;
+       *-next)
+               os=-nextstep3
+               ;;
+        *-gould)
+               os=-sysv
+               ;;
+        *-highlevel)
+               os=-bsd
+               ;;
+       *-encore)
+               os=-bsd
+               ;;
+        *-sgi)
+               os=-irix
+               ;;
+        *-siemens)
+               os=-sysv4
+               ;;
+       *-masscomp)
+               os=-rtu
+               ;;
+       f301-fujitsu)
+               os=-uxpv
+               ;;
+       *-rom68k)
+               os=-coff
+               ;;
+       *-*bug)
+               os=-coff
+               ;;
+       *-apple)
+               os=-macos
+               ;;
+       *-atari*)
+               os=-mint
+               ;;
+       *)
+               os=-none
+               ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+       *-unknown)
+               case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
+                       -sunos*)
+                               vendor=sun
+                               ;;
+                       -aix*)
+                               vendor=ibm
+                               ;;
+                       -beos*)
+                               vendor=be
+                               ;;
+                       -hpux*)
+                               vendor=hp
+                               ;;
+                       -mpeix*)
+                               vendor=hp
+                               ;;
+                       -hiux*)
+                               vendor=hitachi
+                               ;;
+                       -unos*)
+                               vendor=crds
+                               ;;
+                       -dgux*)
+                               vendor=dg
+                               ;;
+                       -luna*)
+                               vendor=omron
+                               ;;
+                       -genix*)
+                               vendor=ns
+                               ;;
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -vxsim* | -vxworks*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
+                       -hms*)
+                               vendor=hitachi
+                               ;;
+                       -mpw* | -macos*)
+                               vendor=apple
+                               ;;
+                       -*mint | -*MiNT)
+                               vendor=atari
+                               ;;
+               esac
+               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               ;;
+esac
+
+echo $basic_machine$os
diff --git a/salome_adm/unix/config_files/DEPRECATED/install-sh b/salome_adm/unix/config_files/DEPRECATED/install-sh
new file mode 100755 (executable)
index 0000000..51319e8
--- /dev/null
@@ -0,0 +1,54 @@
+#! /bin/sh
+
+chmodParams=""
+dirParams=""
+dirPath=""
+args=""
+
+while [ x"$1" != x ]; do
+if test $# != "1"; then
+case $1 in
+-c) shift;
+continue;;
+
+-d) dirParams="yes"
+shift;
+continue;;
+
+-m) shift;
+chmodParams=$1
+shift;
+continue;;
+
+*) args="$args $1"
+shift;
+continue;;
+esac
+else
+dirPath=$1
+fi
+shift;
+done
+
+if test x$dirParams = "xyes"; then
+mkdir -p $dirPath
+else
+cp -f $args $dirPath
+for arg in $args; do
+myArg=`basename $arg`
+if test x$chmodParams != x; then
+if test -d $dirPath; then
+chmod $chmodParams $dirPath/$myArg
+else
+chmod $chmodParams $dirPath
+fi
+else
+if test -d $dirPath; then
+chmod a+x $dirPath/$myArg
+else
+chmod a+x $dirPath
+fi
+fi
+done
+fi
+
diff --git a/salome_adm/unix/config_files/DEPRECATED/libtool.m4 b/salome_adm/unix/config_files/DEPRECATED/libtool.m4
new file mode 100644 (file)
index 0000000..f285453
--- /dev/null
@@ -0,0 +1,439 @@
+## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
+## Copyright (C) 1996-1999, 2000 Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+# serial 40 AC_PROG_LIBTOOL
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+
+# Save cache, so that ltconfig can load it
+AC_CACHE_SAVE
+
+# Actually configure libtool.  ac_aux_dir is where install-sh is found.
+CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
+DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
+$libtool_flags $ac_aux_dir/ltmain.sh $lt_target \
+|| AC_MSG_ERROR([libtool configure failed])
+
+# Reload cache, that may have been modified by ltconfig
+AC_CACHE_LOAD
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.13)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_RANLIB])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+dnl
+
+case "$target" in
+NONE) lt_target="$host" ;;
+*) lt_target="$target" ;;
+esac
+
+# Check for any special flags to pass to ltconfig.
+#
+# the following will cause an existing older ltconfig to fail, so
+# we ignore this at the expense of the cache file... Checking this 
+# will just take longer ... bummer!
+#libtool_flags="--cache-file=$cache_file"
+#
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
+test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
+[libtool_flags="$libtool_flags --enable-dlopen"])
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[libtool_flags="$libtool_flags --enable-win32-dll"])
+AC_ARG_ENABLE(libtool-lock,
+  [  --disable-libtool-lock  avoid locking (might break parallel builds)])
+test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
+test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$lt_target" in
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case "`/usr/bin/file conftest.o`" in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+])
+esac
+])
+
+# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
+
+# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
+
+# AC_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AC_ENABLE_SHARED[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_SHARED], [dnl
+define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+  enable_shared=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_shared=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)])
+
+# AC_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AC_ENABLE_STATIC[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_STATIC], [dnl
+define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+  enable_static=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_static=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
+])
+
+# AC_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)])
+
+
+# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
+# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL], [dnl
+define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(fast-install,
+changequote(<<, >>)dnl
+<<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+  enable_fast_install=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_fast_install=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
+])
+
+# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)])
+
+# AC_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$ac_cv_prog_gcc" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  ac_prog=`($CC -print-prog-name=ld) 2>&5`
+  case "$ac_prog" in
+    # Accept absolute paths.
+changequote(,)dnl
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+changequote([,])dnl
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(ac_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      ac_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+       test "$with_gnu_ld" != no && break
+      else
+       test "$with_gnu_ld" != yes && break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  ac_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$ac_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])
+
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  ac_cv_prog_gnu_ld=yes
+else
+  ac_cv_prog_gnu_ld=no
+fi])
+])
+
+# AC_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(ac_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  ac_cv_path_NM="$NM"
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
+      # Check to see if the nm accepts a BSD-compat flag.
+      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+      #   nm: unknown option "B" ignored
+      if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+       ac_cv_path_NM="$ac_dir/nm -B"
+       break
+      elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+       ac_cv_path_NM="$ac_dir/nm -p"
+       break
+      else
+       ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
+       continue # so that we can try to find one that supports BSD flags
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
+fi])
+NM="$ac_cv_path_NM"
+AC_MSG_RESULT([$NM])
+])
+
+# AC_CHECK_LIBM - check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case "$lt_target" in
+*-*-beos* | *-*-cygwin*)
+  # These system don't have libm
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, main, LIBM="-lm")
+  ;;
+esac
+])
+
+# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl convenience library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments.  Note that LIBLTDL and INCLTDL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
+# provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
+# with '${top_builddir}/' and INCLTDL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case "$enable_ltdl_convenience" in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+])
+
+# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl installable library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
+# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
+# with '${top_srcdir}/' (note the single quotes!).  If your package is
+# not flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, main,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    INCLTDL=
+  fi
+])
+
+dnl old names
+AC_DEFUN([AM_PROG_LIBTOOL], [indir([AC_PROG_LIBTOOL])])dnl
+AC_DEFUN([AM_ENABLE_SHARED], [indir([AC_ENABLE_SHARED], $@)])dnl
+AC_DEFUN([AM_ENABLE_STATIC], [indir([AC_ENABLE_STATIC], $@)])dnl
+AC_DEFUN([AM_DISABLE_SHARED], [indir([AC_DISABLE_SHARED], $@)])dnl
+AC_DEFUN([AM_DISABLE_STATIC], [indir([AC_DISABLE_STATIC], $@)])dnl
+AC_DEFUN([AM_PROG_LD], [indir([AC_PROG_LD])])dnl
+AC_DEFUN([AM_PROG_NM], [indir([AC_PROG_NM])])dnl
+
+dnl This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])dnl
diff --git a/salome_adm/unix/config_files/DEPRECATED/ltconfig b/salome_adm/unix/config_files/DEPRECATED/ltconfig
new file mode 100755 (executable)
index 0000000..c14d83c
--- /dev/null
@@ -0,0 +1,3114 @@
+#! /bin/sh
+
+# ltconfig - Create a system-specific libtool.
+# Copyright (C) 1996-1999 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A lot of this script is taken from autoconf-2.10.
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+echo=echo
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec "$SHELL" "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit 0
+fi
+
+# Find the correct PATH separator.  Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+  UNAME=${UNAME-`uname 2>/dev/null`}
+  case X$UNAME in
+    *-DOS) PATH_SEPARATOR=';' ;;
+    *)     PATH_SEPARATOR=':' ;;
+  esac
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+if test "X${echo_test_string+set}" != Xset; then
+  # find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
+       echo_test_string="`eval $cmd`" &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
+   test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+  for dir in $PATH /usr/ucb; do
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+        test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running ltconfig again with it.
+      ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
+    else
+      # Try using printf.
+      echo='printf "%s\n"'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+        test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+       # Cool, printf works
+       :
+      elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
+          test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+       CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
+       export CONFIG_SHELL
+       SHELL="$CONFIG_SHELL"
+       export SHELL
+       echo="$CONFIG_SHELL $0 --fallback-echo"
+      elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
+          test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+       echo="$CONFIG_SHELL $0 --fallback-echo"
+      else
+       # maybe with a smaller string...
+       prev=:
+
+       for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+         if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
+           break
+         fi
+         prev="$cmd"
+       done
+
+       if test "$prev" != 'sed 50q "$0"'; then
+         echo_test_string=`eval $prev`
+         export echo_test_string
+         exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
+       else
+         # Oops.  We lost completely, so just stick with echo.
+         echo=echo
+       fi
+      fi
+    fi
+  fi
+fi
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# The name of this program.
+progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
+
+# Constants:
+PROGRAM=ltconfig
+PACKAGE=libtool
+VERSION=1.3.5
+TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+rm="rm -f"
+
+help="Try \`$progname --help' for more information."
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+enable_shared=yes
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+enable_static=yes
+enable_fast_install=yes
+enable_dlopen=unknown
+enable_win32_dll=no
+ltmain=
+silent=
+srcdir=
+ac_config_guess=
+ac_config_sub=
+host=
+nonopt=
+ofile="$default_ofile"
+verify_host=yes
+with_gcc=no
+with_gnu_ld=no
+need_locks=yes
+ac_ext=c
+objext=o
+libext=a
+exeext=
+cache_file=
+
+old_AR="$AR"
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+old_CPPFLAGS="$CPPFLAGS"
+old_LDFLAGS="$LDFLAGS"
+old_LD="$LD"
+old_LN_S="$LN_S"
+old_LIBS="$LIBS"
+old_NM="$NM"
+old_RANLIB="$RANLIB"
+old_DLLTOOL="$DLLTOOL"
+old_OBJDUMP="$OBJDUMP"
+old_AS="$AS"
+
+# Parse the command line options.
+args=
+prev=
+for option
+do
+  case "$option" in
+  -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    eval "$prev=\$option"
+    prev=
+    continue
+  fi
+
+  case "$option" in
+  --help) cat <<EOM
+Usage: $progname [OPTION]... [HOST [LTMAIN]]
+
+Generate a system-specific libtool script.
+
+    --debug                enable verbose shell tracing
+    --disable-shared       do not build shared libraries
+    --disable-static       do not build static libraries
+    --disable-fast-install do not optimize for fast installation
+    --enable-dlopen        enable dlopen support
+    --enable-win32-dll     enable building dlls on win32 hosts
+    --help                 display this help and exit
+    --no-verify            do not verify that HOST is a valid host type
+-o, --output=FILE          specify the output file [default=$default_ofile]
+    --quiet                same as \`--silent'
+    --silent               do not print informational messages
+    --srcdir=DIR           find \`config.guess' in DIR
+    --version              output version information and exit
+    --with-gcc             assume that the GNU C compiler will be used
+    --with-gnu-ld          assume that the C compiler uses the GNU linker
+    --disable-lock         disable file locking
+    --cache-file=FILE      configure cache file
+
+LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
+that provides basic libtool functionality.
+
+HOST is the canonical host system name [default=guessed].
+EOM
+  exit 0
+  ;;
+
+  --debug)
+    echo "$progname: enabling shell trace mode"
+    set -x
+    ;;
+
+  --disable-shared) enable_shared=no ;;
+
+  --disable-static) enable_static=no ;;
+
+  --disable-fast-install) enable_fast_install=no ;;
+
+  --enable-dlopen) enable_dlopen=yes ;;
+
+  --enable-win32-dll) enable_win32_dll=yes ;;
+
+  --quiet | --silent) silent=yes ;;
+
+  --srcdir) prev=srcdir ;;
+  --srcdir=*) srcdir="$optarg" ;;
+
+  --no-verify) verify_host=no ;;
+
+  --output | -o) prev=ofile ;;
+  --output=*) ofile="$optarg" ;;
+
+  --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
+
+  --with-gcc) with_gcc=yes ;;
+  --with-gnu-ld) with_gnu_ld=yes ;;
+
+  --disable-lock) need_locks=no ;;
+
+  --cache-file=*) cache_file="$optarg" ;;
+
+  -*)
+    echo "$progname: unrecognized option \`$option'" 1>&2
+    echo "$help" 1>&2
+    exit 1
+    ;;
+
+  *)
+    if test -z "$ltmain"; then
+      ltmain="$option"
+    elif test -z "$host"; then
+# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
+#      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
+#        echo "$progname: warning \`$option' is not a valid host type" 1>&2
+#      fi
+      host="$option"
+    else
+      echo "$progname: too many arguments" 1>&2
+      echo "$help" 1>&2
+      exit 1
+    fi ;;
+  esac
+done
+
+if test -z "$ltmain"; then
+  echo "$progname: you must specify a LTMAIN file" 1>&2
+  echo "$help" 1>&2
+  exit 1
+fi
+
+if test ! -f "$ltmain"; then
+  echo "$progname: \`$ltmain' does not exist" 1>&2
+  echo "$help" 1>&2
+  exit 1
+fi
+
+# Quote any args containing shell metacharacters.
+ltconfig_args=
+for arg
+do
+  case "$arg" in
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ltconfig_args="$ltconfig_args '$arg'" ;;
+  *) ltconfig_args="$ltconfig_args $arg" ;;
+  esac
+done
+
+# A relevant subset of AC_INIT.
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 5 compiler messages saved in config.log
+# 6 checking for... messages and results
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>>./config.log
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
+if test "X${LANG+set}"   = Xset; then LANG=C;   export LANG;   fi
+
+if test -n "$cache_file" && test -r "$cache_file"; then
+  echo "loading cache $cache_file within ltconfig"
+  . $cache_file
+fi
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+if test -z "$srcdir"; then
+  # Assume the source directory is the same one as the path to LTMAIN.
+  srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
+  test "$srcdir" = "$ltmain" && srcdir=.
+fi
+
+trap "$rm conftest*; exit 1" 1 2 15
+if test "$verify_host" = yes; then
+  # Check for config.guess and config.sub.
+  ac_aux_dir=
+  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+    if test -f $ac_dir/config.guess; then
+      ac_aux_dir=$ac_dir
+      break
+    fi
+  done
+  if test -z "$ac_aux_dir"; then
+    echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
+    echo "$help" 1>&2
+    exit 1
+  fi
+  ac_config_guess=$ac_aux_dir/config.guess
+  ac_config_sub=$ac_aux_dir/config.sub
+
+  # Make sure we can run config.sub.
+  if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
+  else
+    echo "$progname: cannot run $ac_config_sub" 1>&2
+    echo "$help" 1>&2
+    exit 1
+  fi
+
+  echo $ac_n "checking host system type""... $ac_c" 1>&6
+
+  host_alias=$host
+  case "$host_alias" in
+  "")
+    if host_alias=`$SHELL $ac_config_guess`; then :
+    else
+      echo "$progname: cannot guess host type; you must specify one" 1>&2
+      echo "$help" 1>&2
+      exit 1
+    fi ;;
+  esac
+  host=`$SHELL $ac_config_sub $host_alias`
+  echo "$ac_t$host" 1>&6
+
+  # Make sure the host verified.
+  test -z "$host" && exit 1
+
+elif test -z "$host"; then
+  echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
+  echo "$help" 1>&2
+  exit 1
+else
+  host_alias=$host
+fi
+
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case "$host_os" in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+case "$host_os" in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR cru $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+# Set a sane default for `AR'.
+test -z "$AR" && AR=ar
+
+# Set a sane default for `OBJDUMP'.
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+# If RANLIB is not set, then run the test.
+if test "${RANLIB+set}" != "set"; then
+  result=no
+
+  echo $ac_n "checking for ranlib... $ac_c" 1>&6
+  IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+  for dir in $PATH; do
+    test -z "$dir" && dir=.
+    if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
+      RANLIB="ranlib"
+      result="ranlib"
+      break
+    fi
+  done
+  IFS="$save_ifs"
+
+  echo "$ac_t$result" 1>&6
+fi
+
+if test -n "$RANLIB"; then
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+fi
+
+# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$AS" && AS=as
+
+# Check to see if we are using GCC.
+if test "$with_gcc" != yes || test -z "$CC"; then
+  # If CC is not set, then try to find GCC or a usable CC.
+  if test -z "$CC"; then
+    echo $ac_n "checking for gcc... $ac_c" 1>&6
+    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+    for dir in $PATH; do
+      test -z "$dir" && dir=.
+      if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
+       CC="gcc"
+       break
+      fi
+    done
+    IFS="$save_ifs"
+
+    if test -n "$CC"; then
+      echo "$ac_t$CC" 1>&6
+    else
+      echo "$ac_t"no 1>&6
+    fi
+  fi
+
+  # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
+  if test -z "$CC"; then
+    echo $ac_n "checking for cc... $ac_c" 1>&6
+    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+    cc_rejected=no
+    for dir in $PATH; do
+      test -z "$dir" && dir=.
+      if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
+       if test "$dir/cc" = "/usr/ucb/cc"; then
+         cc_rejected=yes
+         continue
+       fi
+       CC="cc"
+       break
+      fi
+    done
+    IFS="$save_ifs"
+    if test $cc_rejected = yes; then
+      # We found a bogon in the path, so make sure we never use it.
+      set dummy $CC
+      shift
+      if test $# -gt 0; then
+       # We chose a different compiler from the bogus one.
+       # However, it has the same name, so the bogon will be chosen
+       # first if we set CC to just the name; use the full file name.
+       shift
+       set dummy "$dir/cc" "$@"
+       shift
+       CC="$@"
+      fi
+    fi
+
+    if test -n "$CC"; then
+      echo "$ac_t$CC" 1>&6
+    else
+      echo "$ac_t"no 1>&6
+    fi
+
+    if test -z "$CC"; then
+      echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
+      exit 1
+    fi
+  fi
+
+  # Now see if the compiler is really GCC.
+  with_gcc=no
+  echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
+  echo "$progname:581: checking whether we are using GNU C" >&5
+
+  $rm conftest.c
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+    with_gcc=yes
+  fi
+  $rm conftest.c
+  echo "$ac_t$with_gcc" 1>&6
+fi
+
+# Allow CC to be a program name with arguments.
+set dummy $CC
+compiler="$2"
+
+echo $ac_n "checking for object suffix... $ac_c" 1>&6
+$rm conftest*
+echo 'int i = 1;' > conftest.c
+echo "$progname:603: checking for object suffix" >& 5
+if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
+  # Append any warnings to the config.log.
+  cat conftest.err 1>&5
+
+  for ac_file in conftest.*; do
+    case $ac_file in
+    *.c) ;;
+    *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
+    esac
+  done
+else
+  cat conftest.err 1>&5
+  echo "$progname: failed program was:" >&5
+  cat conftest.c >&5
+fi
+$rm conftest*
+echo "$ac_t$objext" 1>&6
+
+echo $ac_n "checking for executable suffix... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_cv_exeext="no"
+  $rm conftest*
+  echo 'main () { return 0; }' > conftest.c
+  echo "$progname:629: checking for executable suffix" >& 5
+  if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then
+    # Append any warnings to the config.log.
+    cat conftest.err 1>&5
+
+    for ac_file in conftest.*; do
+      case $ac_file in
+      *.c | *.err | *.$objext ) ;;
+      *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
+      esac
+    done
+  else
+    cat conftest.err 1>&5
+    echo "$progname: failed program was:" >&5
+    cat conftest.c >&5
+  fi
+  $rm conftest*
+fi
+if test "X$ac_cv_exeext" = Xno; then
+  exeext=""
+else
+  exeext="$ac_cv_exeext"
+fi
+echo "$ac_t$ac_cv_exeext" 1>&6
+
+echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
+pic_flag=
+special_shlib_compile_flags=
+wl=
+link_static_flag=
+no_builtin_flag=
+
+if test "$with_gcc" = yes; then
+  wl='-Wl,'
+  link_static_flag='-static'
+
+  case "$host_os" in
+  beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
+    # PIC is the default for these OSes.
+    ;;
+  aix*)
+    # Below there is a dirty hack to force normal static linking with -ldl
+    # The problem is because libdl dynamically linked with both libc and
+    # libC (AIX C++ library), which obviously doesn't included in libraries
+    # list by gcc. This cause undefined symbols with -static flags.
+    # This hack allows C programs to be linked with "-static -ldl", but
+    # we not sure about C++ programs.
+    link_static_flag="$link_static_flag ${wl}-lC"
+    ;;
+  cygwin* | mingw* | os2*)
+    # We can build DLLs from non-PIC.
+    ;;
+  amigaos*)
+    # FIXME: we need at least 68020 code to build shared libraries, but
+    # adding the `-m68020' flag to GCC prevents building anything better,
+    # like `-m68040'.
+    pic_flag='-m68020 -resident32 -malways-restore-a4'
+    ;;
+  sysv4*MP*)
+    if test -d /usr/nec; then
+       pic_flag=-Kconform_pic
+    fi
+    ;;
+  *)
+    pic_flag='-fPIC'
+    ;;
+  esac
+else
+  # PORTME Check for PIC flags for the system compiler.
+  case "$host_os" in
+  aix3* | aix4*)
+    # All AIX code is PIC.
+    link_static_flag='-bnso -bI:/lib/syscalls.exp'
+    ;;
+
+  hpux9* | hpux10* | hpux11*)
+    # Is there a better link_static_flag that works with the bundled CC?
+    wl='-Wl,'
+    link_static_flag="${wl}-a ${wl}archive"
+    pic_flag='+Z'
+    ;;
+
+  irix5* | irix6*)
+    wl='-Wl,'
+    link_static_flag='-non_shared'
+    # PIC (with -KPIC) is the default.
+    ;;
+
+  cygwin* | mingw* | os2*)
+    # We can build DLLs from non-PIC.
+    ;;
+
+  osf3* | osf4* | osf5*)
+    # All OSF/1 code is PIC.
+    wl='-Wl,'
+    link_static_flag='-non_shared'
+    ;;
+
+  sco3.2v5*)
+    pic_flag='-Kpic'
+    link_static_flag='-dn'
+    special_shlib_compile_flags='-belf'
+    ;;
+
+  solaris*)
+    pic_flag='-KPIC'
+    link_static_flag='-Bstatic'
+    wl='-Wl,'
+    ;;
+
+  sunos4*)
+    pic_flag='-PIC'
+    link_static_flag='-Bstatic'
+    wl='-Qoption ld '
+    ;;
+
+  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+    pic_flag='-KPIC'
+    link_static_flag='-Bstatic'
+    wl='-Wl,'
+    ;;
+
+  uts4*)
+    pic_flag='-pic'
+    link_static_flag='-Bstatic'
+    ;;
+  sysv4*MP*)
+    if test -d /usr/nec ;then
+      pic_flag='-Kconform_pic'
+      link_static_flag='-Bstatic'
+    fi
+    ;;
+  *)
+    can_build_shared=no
+    ;;
+  esac
+fi
+
+if test -n "$pic_flag"; then
+  echo "$ac_t$pic_flag" 1>&6
+
+  # Check to make sure the pic_flag actually works.
+  echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
+  $rm conftest*
+  echo "int some_variable = 0;" > conftest.c
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $pic_flag -DPIC"
+  echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
+  if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
+    # Append any warnings to the config.log.
+    cat conftest.err 1>&5
+    
+    case "$host_os" in
+    hpux9* | hpux10* | hpux11*)
+      # On HP-UX, both CC and GCC only warn that PIC is supported... then they
+      # create non-PIC objects.  So, if there were any warnings, we assume that
+      # PIC is not supported.
+      if test -s conftest.err; then
+       echo "$ac_t"no 1>&6
+       can_build_shared=no
+       pic_flag=
+      else
+       echo "$ac_t"yes 1>&6
+       pic_flag=" $pic_flag"
+      fi
+      ;;
+    *)
+      echo "$ac_t"yes 1>&6
+      pic_flag=" $pic_flag"
+      ;;
+    esac
+  else
+    # Append any errors to the config.log.
+    cat conftest.err 1>&5
+    can_build_shared=no
+    pic_flag=
+    echo "$ac_t"no 1>&6
+  fi
+  CFLAGS="$save_CFLAGS"
+  $rm conftest*
+else
+  echo "$ac_t"none 1>&6
+fi
+
+# Check to see if options -o and -c are simultaneously supported by compiler
+echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
+$rm -r conftest 2>/dev/null
+mkdir conftest
+cd conftest
+$rm conftest*
+echo "int some_variable = 0;" > conftest.c
+mkdir out
+# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+# that will create temporary files in the current directory regardless of
+# the output directory.  Thus, making CWD read-only will cause this test
+# to fail, enabling locking or at least warning the user not to do parallel
+# builds.
+chmod -w .
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -o out/conftest2.o"
+echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
+if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
+
+  # The compiler can only warn and ignore the option if not recognized
+  # So say no if there are warnings
+    if test -s out/conftest.err; then
+      echo "$ac_t"no 1>&6
+      compiler_c_o=no
+    else
+      echo "$ac_t"yes 1>&6
+      compiler_c_o=yes
+    fi
+else
+  # Append any errors to the config.log.
+  cat out/conftest.err 1>&5
+  compiler_c_o=no
+  echo "$ac_t"no 1>&6
+fi
+CFLAGS="$save_CFLAGS"
+chmod u+w .
+$rm conftest* out/*
+rmdir out
+cd ..
+rmdir conftest
+$rm -r conftest 2>/dev/null
+
+if test x"$compiler_c_o" = x"yes"; then
+  # Check to see if we can write to a .lo
+  echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
+  $rm conftest*
+  echo "int some_variable = 0;" > conftest.c
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -c -o conftest.lo"
+  echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
+if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
+
+    # The compiler can only warn and ignore the option if not recognized
+    # So say no if there are warnings
+      if test -s conftest.err; then
+       echo "$ac_t"no 1>&6
+       compiler_o_lo=no
+      else
+       echo "$ac_t"yes 1>&6
+       compiler_o_lo=yes
+      fi
+  else
+    # Append any errors to the config.log.
+    cat conftest.err 1>&5
+    compiler_o_lo=no
+    echo "$ac_t"no 1>&6
+  fi
+  CFLAGS="$save_CFLAGS"
+  $rm conftest*
+else
+  compiler_o_lo=no
+fi
+
+# Check to see if we can do hard links to lock some files if needed
+hard_links="nottested"
+if test "$compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$ac_t$hard_links" 1>&6
+  $rm conftest*
+  if test "$hard_links" = no; then
+    echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+if test "$with_gcc" = yes; then
+  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
+  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
+  $rm conftest*
+  echo "int some_variable = 0;" > conftest.c
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
+  echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+  if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
+
+    # The compiler can only warn and ignore the option if not recognized
+    # So say no if there are warnings
+      if test -s conftest.err; then
+       echo "$ac_t"no 1>&6
+       compiler_rtti_exceptions=no
+      else
+       echo "$ac_t"yes 1>&6
+       compiler_rtti_exceptions=yes
+      fi
+  else
+    # Append any errors to the config.log.
+    cat conftest.err 1>&5
+    compiler_rtti_exceptions=no
+    echo "$ac_t"no 1>&6
+  fi
+  CFLAGS="$save_CFLAGS"
+  $rm conftest*
+
+  if test "$compiler_rtti_exceptions" = "yes"; then
+    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
+  else
+    no_builtin_flag=' -fno-builtin'
+  fi
+  
+fi
+
+# Check for any special shared library compilation flags.
+if test -n "$special_shlib_compile_flags"; then
+  echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
+  if echo "$old_CC $old_CFLAGS " | egrep -e "[         ]$special_shlib_compile_flags[  ]" >/dev/null; then :
+  else
+    echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
+    can_build_shared=no
+  fi
+fi
+
+echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
+$rm conftest*
+echo 'main(){return(0);}' > conftest.c
+save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $link_static_flag"
+echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
+if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  echo "$ac_t$link_static_flag" 1>&6
+else
+  echo "$ac_t"none 1>&6
+  link_static_flag=
+fi
+LDFLAGS="$save_LDFLAGS"
+$rm conftest*
+
+if test -z "$LN_S"; then
+  # Check to see if we can use ln -s, or we need hard links.
+  echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
+  $rm conftest.dat
+  if ln -s X conftest.dat 2>/dev/null; then
+    $rm conftest.dat
+    LN_S="ln -s"
+  else
+    LN_S=ln
+  fi
+  if test "$LN_S" = "ln -s"; then
+    echo "$ac_t"yes 1>&6
+  else
+    echo "$ac_t"no 1>&6
+  fi
+fi
+
+# Make sure LD is an absolute path.
+if test -z "$LD"; then
+  ac_prog=ld
+  if test "$with_gcc" = yes; then
+    # Check if gcc -print-prog-name=ld gives a path.
+    echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
+    echo "$progname:991: checking for ld used by GCC" >&5
+    ac_prog=`($CC -print-prog-name=ld) 2>&5`
+    case "$ac_prog" in
+    # Accept absolute paths.
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+    "")
+      # If it fails, then pretend we are not using GCC.
+      ac_prog=ld
+      ;;
+    *)
+      # If it is relative, then search for the first ld in PATH.
+      with_gnu_ld=unknown
+      ;;
+    esac
+  elif test "$with_gnu_ld" = yes; then
+    echo $ac_n "checking for GNU ld... $ac_c" 1>&6
+    echo "$progname:1015: checking for GNU ld" >&5
+  else
+    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
+    echo "$progname:1018: checking for non-GNU ld" >&5
+  fi
+
+  if test -z "$LD"; then
+    IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+    for ac_dir in $PATH; do
+      test -z "$ac_dir" && ac_dir=.
+      if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+       LD="$ac_dir/$ac_prog"
+       # Check to see if the program is GNU ld.  I'd rather use --version,
+       # but apparently some GNU ld's only accept -v.
+       # Break only if it was the GNU/non-GNU ld that we prefer.
+       if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+         test "$with_gnu_ld" != no && break
+       else
+         test "$with_gnu_ld" != yes && break
+       fi
+      fi
+    done
+    IFS="$ac_save_ifs"
+  fi
+
+  if test -n "$LD"; then
+    echo "$ac_t$LD" 1>&6
+  else
+    echo "$ac_t"no 1>&6
+  fi
+
+  if test -z "$LD"; then
+    echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
+    exit 1
+  fi
+fi
+
+# Check to see if it really is or is not GNU ld.
+echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
+# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+echo "$ac_t$with_gnu_ld" 1>&6
+
+# See if the linker supports building shared libraries.
+echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
+
+allow_undefined_flag=
+no_undefined_flag=
+need_lib_prefix=unknown
+need_version=unknown
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+archive_cmds=
+archive_expsym_cmds=
+old_archive_from_new_cmds=
+export_dynamic_flag_spec=
+whole_archive_flag_spec=
+thread_safe_flag_spec=
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+hardcode_shlibpath_var=unsupported
+runpath_var=
+always_export_symbols=no
+export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
+# include_expsyms should be a list of space-separated symbols to be *always*
+# included in the symbol list
+include_expsyms=
+# exclude_expsyms can be an egrep regular expression of symbols to exclude
+# it will be wrapped by ` (' and `)$', so one must not match beginning or
+# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+# as well as any symbol that contains `d'.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+# platforms (ab)use it in PIC code, but their linkers get confused if
+# the symbol is explicitly referenced.  Since portable code cannot
+# rely on this symbol name, it's probably fine to never include it in
+# preloaded symbol tables.
+
+case "$host_os" in
+cygwin* | mingw*)
+  # FIXME: the MSVC++ port hasn't been tested in a loooong time
+  # When not using gcc, we currently assume that we are using
+  # Microsoft Visual C++.
+  if test "$with_gcc" != yes; then
+    with_gnu_ld=no
+  fi
+  ;;
+
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+  # If archive_cmds runs LD, not CC, wlarc should be empty
+  wlarc='${wl}'
+
+  # See if GNU ld supports shared libraries.
+  case "$host_os" in
+  aix3* | aix4*)
+    # On AIX, the GNU linker is very broken
+    ld_shlibs=no
+    cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+    ;;
+
+  amigaos*)
+    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+
+    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+    # that the semantics of dynamic libraries on AmigaOS, at least up
+    # to version 4, is to share data among multiple programs linked
+    # with the same dynamic library.  Since this doesn't match the
+    # behavior of shared libraries on other platforms, we can use
+    # them.
+    ld_shlibs=no
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      allow_undefined_flag=unsupported
+      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+
+  cygwin* | mingw*)
+    # hardcode_libdir_flag_spec is actually meaningless, as there is
+    # no search path for DLLs.
+    hardcode_libdir_flag_spec='-L$libdir'
+    allow_undefined_flag=unsupported
+    always_export_symbols=yes
+
+    # Extract the symbol export list from an `--export-all' def file,
+    # then regenerate the def file from the symbol export list, so that
+    # the compiled dll only exports the symbol export list.
+    # Be careful not to strip the DATA tag left by newer dlltools.
+    export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
+      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
+      $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs $convenience~
+      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
+
+    # If DATA tags from a recent dlltool are present, honour them!
+    archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
+      _lt_hint=1;
+      cat $export_symbols | while read symbol; do
+        set dummy \$symbol;
+        case \$# in
+          2) echo "    \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
+          *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
+        esac;
+       _lt_hint=`expr 1 + \$_lt_hint`;
+      done~
+      test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
+      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
+      $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
+      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
+      $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
+      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
+      $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
+
+      old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' 
+    ;;
+
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    else
+      archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
+      # can we support soname and/or expsyms with a.out? -oliva
+    fi
+    ;;
+
+  solaris* | sysv5*)
+    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+      ld_shlibs=no
+      cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;      
+
+  sunos4*)
+    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
+    wlarc=
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  *)
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+  esac
+
+  if test "$ld_shlibs" = yes; then
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    case $host_os in
+    cygwin* | mingw*)
+      # dlltool doesn't understand --whole-archive et. al.
+      whole_archive_flag_spec=
+      ;;
+    *)
+      # ancient GNU ld didn't support --whole-archive et. al.
+      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
+        whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+        whole_archive_flag_spec=
+      fi
+      ;;
+    esac
+  fi
+else
+  # PORTME fill in a description of your system's linker (not GNU ld)
+  case "$host_os" in
+  aix3*)
+    allow_undefined_flag=unsupported
+    always_export_symbols=yes
+    archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
+    # Note: this linker hardcodes the directories in LIBPATH if there
+    # are no directories specified by -L.
+    hardcode_minus_L=yes
+    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
+      # Neither direct hardcoding nor static linking is supported with a
+      # broken collect2.
+      hardcode_direct=unsupported
+    fi
+    ;;
+
+  aix4*)
+    hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
+    hardcode_libdir_separator=':'
+    if test "$with_gcc" = yes; then
+      collect2name=`${CC} -print-prog-name=collect2`
+      if test -f "$collect2name" && \
+        strings "$collect2name" | grep resolve_lib_name >/dev/null
+      then
+       # We have reworked collect2
+       hardcode_direct=yes
+      else
+       # We have old collect2
+       hardcode_direct=unsupported
+       # It fails to find uninstalled libraries when the uninstalled
+       # path is not listed in the libpath.  Setting hardcode_minus_L
+       # to unsupported forces relinking
+       hardcode_minus_L=yes
+       hardcode_libdir_flag_spec='-L$libdir'
+       hardcode_libdir_separator=
+      fi
+      shared_flag='-shared'
+    else
+      shared_flag='${wl}-bM:SRE'
+      hardcode_direct=yes
+    fi
+    allow_undefined_flag=' ${wl}-berok'
+    archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
+    archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
+    case "$host_os" in aix4.[01]|aix4.[01].*)
+      # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
+      always_export_symbols=yes ;;
+    esac
+   ;;
+
+  amigaos*)
+    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    # see comment about different semantics on the GNU ld section
+    ld_shlibs=no
+    ;;
+
+  cygwin* | mingw*)
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    # hardcode_libdir_flag_spec is actually meaningless, as there is
+    # no search path for DLLs.
+    hardcode_libdir_flag_spec=' '
+    allow_undefined_flag=unsupported
+    # Tell ltmain to make .lib files, not .a files.
+    libext=lib
+    # FIXME: Setting linknames here is a bad hack.
+    archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+    # The linker will automatically build a .lib file if we build a DLL.
+    old_archive_from_new_cmds='true'
+    # FIXME: Should let the user specify the lib program.
+    old_archive_cmds='lib /OUT:$oldlib$oldobjs'
+    fix_srcfile_path='`cygpath -w $srcfile`'
+    ;;
+
+  freebsd1*)
+    ld_shlibs=no
+    ;;
+
+  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+  # support.  Future versions do this automatically, but an explicit c++rt0.o
+  # does not break anything, and helps significantly (at the cost of a little
+  # extra space).
+  freebsd2.2*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+  freebsd2*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
+    hardcode_direct=yes
+    hardcode_minus_L=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+  freebsd*)
+    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  hpux9* | hpux10* | hpux11*)
+    case "$host_os" in
+    hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
+    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;;
+    esac
+    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+    hardcode_libdir_separator=:
+    hardcode_direct=yes
+    hardcode_minus_L=yes # Not in the search PATH, but as the default
+                        # location of the library.
+    export_dynamic_flag_spec='${wl}-E'
+    ;;
+
+  irix5* | irix6*)
+    if test "$with_gcc" = yes; then
+      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    ;;
+
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'  # a.out
+    else
+      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts'      # ELF
+    fi
+    hardcode_libdir_flag_spec='${wl}-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  openbsd*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  os2*)
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    allow_undefined_flag=unsupported
+    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
+    old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
+    ;;
+
+  osf3*)
+    if test "$with_gcc" = yes; then
+      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      allow_undefined_flag=' -expect_unresolved \*'
+      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    ;;
+
+  osf4* | osf5*)  # As osf3* with the addition of the -msym flag
+    if test "$with_gcc" = yes; then
+      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      allow_undefined_flag=' -expect_unresolved \*'
+      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    ;;
+  rhapsody*)
+    archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
+    hardcode_libdir_flags_spec='-L$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+                                       
+  sco3.2v5*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    hardcode_shlibpath_var=no
+    runpath_var=LD_RUN_PATH
+    hardcode_runpath_var=yes
+    ;;
+
+  solaris*)
+    no_undefined_flag=' -z text'
+    # $CC -shared without GNU ld will not create a library from C++
+    # object files and a static libstdc++, better avoid it by now
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
+    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_shlibpath_var=no
+    case "$host_os" in
+    solaris2.[0-5] | solaris2.[0-5].*) ;;
+    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+    esac
+    ;;
+
+  sunos4*)
+    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_direct=yes
+    hardcode_minus_L=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  sysv4)
+    if test "x$host_vendor" = xsequent; then
+      # Use $CC to link under sequent, because it throws in some extra .o 
+      # files that make .init and .fini sections work.
+      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts'
+    else
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    fi
+    runpath_var='LD_RUN_PATH'
+    hardcode_shlibpath_var=no
+    hardcode_direct=no #Motorola manual says yes, but my tests say they lie 
+    ;;  
+
+  sysv4.3*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    hardcode_shlibpath_var=no
+    export_dynamic_flag_spec='-Bexport'
+    ;;
+
+  sysv5*)
+    no_undefined_flag=' -z text'
+    # $CC -shared without GNU ld will not create a library from C++
+    # object files and a static libstdc++, better avoid it by now
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
+    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
+    hardcode_libdir_flag_spec=
+    hardcode_shlibpath_var=no
+    runpath_var='LD_RUN_PATH'
+    ;;
+
+  uts4*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_shlibpath_var=no
+    ;;
+
+  dgux*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_shlibpath_var=no
+    ;;
+
+  sysv4*MP*)
+    if test -d /usr/nec; then
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+      hardcode_shlibpath_var=no
+      runpath_var=LD_RUN_PATH
+      hardcode_runpath_var=yes
+      ld_shlibs=yes
+    fi
+    ;;
+
+  sysv4.2uw2*)
+    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts'
+    hardcode_direct=yes
+    hardcode_minus_L=no
+    hardcode_shlibpath_var=no
+    hardcode_runpath_var=yes
+    runpath_var=LD_RUN_PATH
+    ;;
+
+  unixware7*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    runpath_var='LD_RUN_PATH'
+    hardcode_shlibpath_var=no
+    ;;
+
+  *)
+    ld_shlibs=no
+    ;;
+  esac
+fi
+echo "$ac_t$ld_shlibs" 1>&6
+test "$ld_shlibs" = no && can_build_shared=no
+
+if test -z "$NM"; then
+  echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
+  case "$NM" in
+  [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path.
+  *)
+    IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+    for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
+      test -z "$ac_dir" && ac_dir=.
+      if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+         NM="$ac_dir/nm -B"
+         break
+       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+         NM="$ac_dir/nm -p"
+         break
+       else
+         NM=${NM="$ac_dir/nm"} # keep the first match, but
+         continue # so that we can try to find one that supports BSD flags
+       fi
+      fi
+    done
+    IFS="$ac_save_ifs"
+    test -z "$NM" && NM=nm
+    ;;
+  esac
+  echo "$ac_t$NM" 1>&6
+fi
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
+
+# Define system-specific variables.
+case "$host_os" in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
+  ;;
+irix*)
+  symcode='[BCDEGRST]'
+  ;;
+solaris*)
+  symcode='[BDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
+  symcode='[ABCDGISTW]'
+fi
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Write the raw and C identifiers.
+  global_symbol_pipe="sed -n -e 's/^.*[        ]\($symcode\)[  ][      ]*\($ac_symprfx\)$sympat$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+  $rm conftest*
+  cat > conftest.c <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  echo "$progname:1653: checking if global_symbol_pipe works" >&5
+  if { (eval echo $progname:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { echo "$progname:1657: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+       if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<EOF > conftest.c
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+         # Now generate the symbol file.
+         eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
+
+         cat <<EOF >> conftest.c
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+         sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
+         cat <<\EOF >> conftest.c
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+         # Now try linking the two files.
+         mv conftest.$objext conftstm.$objext
+         save_LIBS="$LIBS"
+         save_CFLAGS="$CFLAGS"
+         LIBS="conftstm.$objext"
+         CFLAGS="$CFLAGS$no_builtin_flag"
+         if { (eval echo $progname:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+           pipe_works=yes
+         else
+           echo "$progname: failed program was:" >&5
+           cat conftest.c >&5
+         fi
+         LIBS="$save_LIBS"
+       else
+         echo "cannot find nm_test_func in $nlist" >&5
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.c >&5
+  fi
+  $rm conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    global_symbol_pipe=
+  fi
+done
+if test "$pipe_works" = yes; then
+  echo "${ac_t}ok" 1>&6
+else
+  echo "${ac_t}failed" 1>&6
+fi
+
+if test -z "$global_symbol_pipe"; then
+  global_symbol_to_cdecl=
+fi
+
+# Check hardcoding attributes.
+echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+   test -n "$runpath_var"; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$hardcode_shlibpath_var" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+echo "$ac_t$hardcode_action" 1>&6
+
+
+reload_flag=
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
+# PORTME Some linkers may need a different reload flag.
+reload_flag='-r'
+echo "$ac_t$reload_flag" 1>&6
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+
+# PORTME Fill in your ld.so characteristics
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+file_magic_cmd=
+file_magic_test_file=
+deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [regex]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
+case "$host_os" in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}.so$major'
+  ;;
+
+aix4*)
+  version_type=linux
+  # AIX has no versioning support, so currently we can not hardcode correct
+  # soname into executable. Probably we can add versioning support to
+  # collect2, so additional links can be useful in future.
+  # We preserve .a as extension for shared libraries though AIX4.2
+  # and later linker supports .so
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
+  shlibpath_var=LIBPATH
+  deplibs_check_method=pass_all
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}.so'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  deplibs_check_method=pass_all
+  lt_cv_dlopen="load_add_on"
+  lt_cv_dlopen_libs=
+  lt_cv_dlopen_self=yes
+  ;;
+
+bsdi4*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  file_magic_cmd=/usr/bin/file
+  file_magic_test_file=/shlib/libc.so
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  export_dynamic_flag_spec=-rdynamic
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw*)
+  version_type=windows
+  need_version=no
+  need_lib_prefix=no
+  if test "$with_gcc" = yes; then
+    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
+  else
+    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
+  fi
+  dynamic_linker='Win32 ld.exe'
+  deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  file_magic_cmd='${OBJDUMP} -f'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  lt_cv_dlopen="LoadLibrary"
+  lt_cv_dlopen_libs=
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+  
+freebsd*)
+  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  version_type=freebsd-$objformat
+  case "$version_type" in
+    freebsd-elf*)
+      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+      file_magic_cmd=/usr/bin/file
+      file_magic_test_file=`echo /usr/lib/libc.so*`
+      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      deplibs_check_method=unknown
+      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case "$host_os" in
+  freebsd2* | freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  *) # from 3.2 on
+    shlibpath_overrides_runpath=no
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  dynamic_linker="$host_os dld.sl"
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  shlibpath_var=SHLIB_PATH
+  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
+  soname_spec='${libname}${release}.sl$major'
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  case "$host_os" in
+  hpux10.20*)
+    # TODO:  Does this work for hpux-11 too?
+    deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    file_magic_cmd=/usr/bin/file
+    file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+irix5* | irix6*)
+  version_type=irix
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}.so.$major'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
+  case "$host_os" in
+  irix5*)
+    libsuff= shlibsuff=
+    # this will be overridden with pass_all, but let us keep it just in case
+    deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+    ;;
+  *)
+    case "$LD" in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  file_magic_cmd=/usr/bin/file
+  file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+  deplibs_check_method='pass_all'
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  deplibs_check_method=pass_all
+
+  if test -f /lib/ld.so.1; then
+    dynamic_linker='GNU ld.so'
+  else
+    # Only the GNU ld.so supports shared libraries on MkLinux.
+    case "$host_cpu" in
+    powerpc*) dynamic_linker=no ;;
+    *) dynamic_linker='Linux ld.so' ;;
+    esac
+  fi
+  ;;
+
+netbsd*)
+  version_type=sunos
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
+    soname_spec='${libname}${release}.so$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+openbsd*)
+  version_type=sunos
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+    need_version=no
+  fi
+  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+os2*)
+  libname_spec='$name'
+  need_lib_prefix=no
+  library_names_spec='$libname.dll $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_version=no
+  soname_spec='${libname}${release}.so'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+  shlibpath_var=LD_LIBRARY_PATH
+  # this will be overridden with pass_all, but let us keep it just in case
+  deplibs_check_method='file_magic COFF format alpha shared library'
+  file_magic_cmd=/usr/bin/file
+  file_magic_test_file=/shlib/libc.so
+  deplibs_check_method='pass_all'
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rhapsody*)
+  version_type=sunos
+  library_names_spec='${libname}.so'
+  soname_spec='${libname}.so'
+  shlibpath_var=DYLD_LIBRARY_PATH
+  deplibs_check_method=pass_all
+  ;;
+
+sco3.2v5*)
+  version_type=osf
+  soname_spec='${libname}${release}.so$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
+  file_magic_cmd=/usr/bin/file
+  file_magic_test_file=/lib/libc.so
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case "$host_vendor" in
+    sequent)
+      file_magic_cmd='/bin/file'
+      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+      ;;
+    ncr)
+      deplibs_check_method='pass_all'
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+      file_magic_cmd=/usr/bin/file
+      file_magic_test_file=`echo /usr/lib/libc.so*`
+      ;;
+  esac
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
+    soname_spec='$libname.so.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$ac_t$dynamic_linker" 1>&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+# Report the final consequences.
+echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
+
+# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
+# configure.in, otherwise build static only libraries.
+case "$host_os" in
+cygwin* | mingw* | os2*)
+  if test x$can_build_shared = xyes; then
+    test x$enable_win32_dll = xno && can_build_shared=no
+    echo "checking if package supports dlls... $can_build_shared" 1>&6
+  fi
+;;
+esac
+
+if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
+  case "$deplibs_check_method" in
+  "file_magic "*)
+    file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+    if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+       egrep "$file_magic_regex" > /dev/null; then
+      :
+    else
+      cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+    fi ;;
+  esac
+fi
+
+echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4*)
+  test "$enable_shared" = yes && enable_static=no
+  ;;
+esac
+
+echo "$ac_t$enable_shared" 1>&6
+
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+
+echo "checking whether to build static libraries... $enable_static" 1>&6
+
+if test "$hardcode_action" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+echo $ac_n "checking for objdir... $ac_c" 1>&6
+rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+echo "$ac_t$objdir" 1>&6
+
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
+  lt_cv_dlopen=no lt_cv_dlopen_libs=
+echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "$progname:2248: checking for dlopen in -ldl" >&5
+ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldl  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2256 "ltconfig"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen();
+
+int main() {
+dlopen()
+; return 0; }
+EOF
+if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dlopen""... $ac_c" 1>&6
+echo "$progname:2288: checking for dlopen" >&5
+if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2293 "ltconfig"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char dlopen(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+dlopen();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo $progname:2318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_dlopen=yes"
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_dlopen=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="dlopen"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
+echo "$progname:2335: checking for dld_link in -ldld" >&5
+ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldld  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2343 "ltconfig"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link();
+
+int main() {
+dld_link()
+; return 0; }
+EOF
+if { (eval echo $progname:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for shl_load""... $ac_c" 1>&6
+echo "$progname:2375: checking for shl_load" >&5
+if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2380 "ltconfig"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shl_load(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+shl_load();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo $progname:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_shl_load=yes"
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_shl_load=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="shl_load"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
+echo "$progname:2423: checking for shl_load in -ldld" >&5
+ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldld  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2431 "ltconfig"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load();
+
+int main() {
+shl_load()
+; return 0; }
+EOF
+if { (eval echo $progname:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+fi
+
+    
+fi
+
+  
+fi
+
+
+fi
+
+fi
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  fi
+
+  case "$lt_cv_dlopen" in
+  dlopen)
+for ac_hdr in dlfcn.h; do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "$progname:2488: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2493 "ltconfig"
+#include <$ac_hdr>
+int fnord = 0;
+EOF
+ac_try="$ac_compile >/dev/null 2>conftest.out"
+{ (eval echo $progname:2498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+    if test "x$ac_cv_header_dlfcn_h" = xyes; then
+      CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+    fi
+    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+  echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
+echo "$progname:2526: checking whether a program can dlopen itself" >&5
+if test "${lt_cv_dlopen_self+set}" = set; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+    lt_cv_dlopen_self=cross
+  else
+    cat > conftest.c <<EOF
+#line 2534 "ltconfig"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LTDL_GLOBAL   RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+#  define LTDL_GLOBAL  DL_GLOBAL
+# else
+#  define LTDL_GLOBAL  0
+# endif
+#endif
+
+/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LTDL_LAZY_OR_NOW
+# ifdef RTLD_LAZY
+#  define LTDL_LAZY_OR_NOW     RTLD_LAZY
+# else
+#  ifdef DL_LAZY
+#   define LTDL_LAZY_OR_NOW    DL_LAZY
+#  else
+#   ifdef RTLD_NOW
+#    define LTDL_LAZY_OR_NOW   RTLD_NOW
+#   else
+#    ifdef DL_NOW
+#     define LTDL_LAZY_OR_NOW  DL_NOW
+#    else
+#     define LTDL_LAZY_OR_NOW  0
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+fnord() { int i=42;}
+main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
+    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
+              if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
+
+EOF
+if { (eval echo $progname:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  lt_cv_dlopen_self=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  lt_cv_dlopen_self=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$lt_cv_dlopen_self" 1>&6
+
+  if test "$lt_cv_dlopen_self" = yes; then
+    LDFLAGS="$LDFLAGS $link_static_flag"
+  echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
+echo "$progname:2599: checking whether a statically linked program can dlopen itself" >&5
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+    lt_cv_dlopen_self_static=cross
+  else
+    cat > conftest.c <<EOF
+#line 2607 "ltconfig"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LTDL_GLOBAL   RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+#  define LTDL_GLOBAL  DL_GLOBAL
+# else
+#  define LTDL_GLOBAL  0
+# endif
+#endif
+
+/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LTDL_LAZY_OR_NOW
+# ifdef RTLD_LAZY
+#  define LTDL_LAZY_OR_NOW     RTLD_LAZY
+# else
+#  ifdef DL_LAZY
+#   define LTDL_LAZY_OR_NOW    DL_LAZY
+#  else
+#   ifdef RTLD_NOW
+#    define LTDL_LAZY_OR_NOW   RTLD_NOW
+#   else
+#    ifdef DL_NOW
+#     define LTDL_LAZY_OR_NOW  DL_NOW
+#    else
+#     define LTDL_LAZY_OR_NOW  0
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+fnord() { int i=42;}
+main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
+    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
+    if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
+
+EOF
+if { (eval echo $progname:2653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  lt_cv_dlopen_self_static=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  lt_cv_dlopen_self_static=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
+fi
+    ;;
+  esac
+
+  case "$lt_cv_dlopen_self" in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case "$lt_cv_dlopen_self_static" in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+# Copy echo and quote the copy, instead of the original, because it is
+# used later.
+ltecho="$echo"
+if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   ltecho="$CONFIG_SHELL \$0 --fallback-echo"
+fi
+LTSHELL="$SHELL"
+
+LTCONFIG_VERSION="$VERSION"
+
+# Only quote variables if we're using ltmain.sh.
+case "$ltmain" in
+*.sh)
+  # Now quote all the things that may contain metacharacters.
+  for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \
+    old_LD old_LDFLAGS old_LIBS \
+    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \
+    AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
+    reload_flag reload_cmds wl \
+    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
+    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
+    library_names_spec soname_spec \
+    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \
+    file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \
+    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+    hardcode_libdir_flag_spec hardcode_libdir_separator  \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
+
+    case "$var" in
+    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case "$ltecho" in
+  *'\$0 --fallback-echo"')
+    ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+  trap "$rm \"$ofile\"; exit 1" 1 2 15
+  echo "creating $ofile"
+  $rm "$ofile"
+  cat <<EOF > "$ofile"
+#! $SHELL
+
+# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
+#
+# Copyright (C) 1996-1999 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="sed -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+### BEGIN LIBTOOL CONFIG
+EOF
+  cfgfile="$ofile"
+  ;;
+
+*)
+  # Double-quote the variables that need it (for aesthetics).
+  for var in old_CC old_CFLAGS old_CPPFLAGS \
+    old_LD old_LDFLAGS old_LIBS \
+    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do
+    eval "$var=\\\"\$var\\\""
+  done
+
+  # Just create a config file.
+  cfgfile="$ofile.cfg"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  echo "creating $cfgfile"
+  $rm "$cfgfile"
+  cat <<EOF > "$cfgfile"
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+EOF
+  ;;
+esac
+
+cat <<EOF >> "$cfgfile"
+# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
+# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
+# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\
+# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\
+#   $0$ltconfig_args
+#
+# Compiler and other test output produced by $progname, useful for
+# debugging $progname, is in ./config.log if it exists.
+
+# The version of $progname that generated this script.
+LTCONFIG_VERSION=$LTCONFIG_VERSION
+
+# Shell to use when invoking shell scripts.
+SHELL=$LTSHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$ltecho
+
+# The archiver.
+AR=$AR
+
+# The default C compiler.
+CC=$CC
+
+# The linker used to build libraries.
+LD=$LD
+
+# Whether we need hard or soft links.
+LN_S=$LN_S
+
+# A BSD-compatible nm program.
+NM=$NM
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$reload_flag
+reload_cmds=$reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$wl
+
+# Object file suffix (normally "o").
+objext="$objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$pic_flag
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$compiler_c_o
+
+# Can we write directly to a .lo ?
+compiler_o_lo=$compiler_o_lo
+
+# Must we lock files when doing compilation ?
+need_locks=$need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$link_static_flag
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$RANLIB
+old_archive_cmds=$old_archive_cmds
+old_postinstall_cmds=$old_postinstall_cmds
+old_postuninstall_cmds=$old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$old_archive_from_new_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$archive_cmds
+archive_expsym_cmds=$archive_expsym_cmds
+postinstall_cmds=$postinstall_cmds
+postuninstall_cmds=$postuninstall_cmds
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$global_symbol_to_cdecl
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$include_expsyms
+
+EOF
+
+case "$ltmain" in
+*.sh)
+  echo '### END LIBTOOL CONFIG' >> "$ofile"
+  echo >> "$ofile"
+  case "$host_os" in
+  aix3*)
+    cat <<\EOF >> "$ofile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+    ;;
+  esac
+
+  # Append the ltmain.sh script.
+  sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+
+  chmod +x "$ofile"
+  ;;
+
+*)
+  # Compile the libtool program.
+  echo "FIXME: would compile $ltmain"
+  ;;
+esac
+
+test -n "$cache_file" || exit 0
+
+# AC_CACHE_SAVE
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  case `(ac_space=' '; set | grep ac_space) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+exit 0
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/salome_adm/unix/config_files/DEPRECATED/ltmain.sh b/salome_adm/unix/config_files/DEPRECATED/ltmain.sh
new file mode 100644 (file)
index 0000000..251394b
--- /dev/null
@@ -0,0 +1,4028 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun ltconfig.
+#
+# Copyright (C) 1996-1999 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit 0
+fi
+
+# The name of this program.
+progname=`$echo "$0" | sed 's%^.*/%%'`
+modename="$progname"
+
+# Constants.
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION=1.3.5
+TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+SP2NL='tr \040 \012'
+NL2SP='tr \015\012 \040\040'
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+if test "$LTCONFIG_VERSION" != "$VERSION"; then
+  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
+  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit 1
+fi
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  echo "$modename: not configured to build any kind of library" 1>&2
+  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit 1
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+# Parse our command line options once, thoroughly.
+while test $# -gt 0
+do
+  arg="$1"
+  shift
+
+  case "$arg" in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case "$prev" in
+    execute_dlfiles)
+      eval "$prev=\"\$$prev \$arg\""
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case "$arg" in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    exit 0
+    ;;
+
+  --config)
+    sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
+    exit 0
+    ;;
+
+  --debug)
+    echo "$progname: enabling shell trace mode"
+    set -x
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      echo "enable shared libraries"
+    else
+      echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      echo "enable static libraries"
+    else
+      echo "disable static libraries"
+    fi
+    exit 0
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --quiet | --silent)
+    show=:
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit 1
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit 1
+fi
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    case "$nonopt" in
+    *cc | *++ | gcc* | *-gcc*)
+      mode=link
+      for arg
+      do
+       case "$arg" in
+       -c)
+          mode=compile
+          break
+          ;;
+       esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+       if test -n "$nonopt"; then
+         $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+       else
+         $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+       fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit 1
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case "$mode" in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    lastarg=
+    srcfile="$nonopt"
+    suppress_output=
+
+    user_target=no
+    for arg
+    do
+      # Accept any command-line options.
+      case "$arg" in
+      -o)
+       if test "$user_target" != "no"; then
+         $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+         exit 1
+       fi
+       user_target=next
+       ;;
+
+      -static)
+       build_old_libs=yes
+       continue
+       ;;
+      esac
+
+      case "$user_target" in
+      next)
+       # The next one is the -o target name
+       user_target=yes
+       continue
+       ;;
+      yes)
+       # We got the output file
+       user_target=set
+       libobj="$arg"
+       continue
+       ;;
+      esac
+
+      # Accept the current argument as the source file.
+      lastarg="$srcfile"
+      srcfile="$arg"
+
+      # Aesthetically quote the previous argument.
+
+      # Backslashify any backslashes, double quotes, and dollar signs.
+      # These are the only characters that are still specially
+      # interpreted inside of double-quoted scrings.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly in scan
+      # sets, so we specify it separately.
+      case "$lastarg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
+       lastarg="\"$lastarg\""
+       ;;
+      esac
+
+      # Add the previous argument to base_compile.
+      if test -z "$base_compile"; then
+       base_compile="$lastarg"
+      else
+       base_compile="$base_compile $lastarg"
+      fi
+    done
+
+    case "$user_target" in
+    set)
+      ;;
+    no)
+      # Get the name of the library object.
+      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    *)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit 1
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSfmso]'
+    case "$libobj" in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case "$libobj" in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit 1
+      ;;
+    esac
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $libobj"
+    else
+      removelist="$libobj"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit 1" 1 2 15
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit 1" 1 2 15
+    else
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until ln "$0" "$lockfile" 2>/dev/null; do
+       $show "Waiting for $lockfile to be removed"
+       sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+       echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $run $rm $removelist
+       exit 1
+      fi
+      echo $srcfile > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      # All platforms use -DPIC, to notify preprocessed assembler code.
+      command="$base_compile $srcfile $pic_flag -DPIC"
+      if test "$build_old_libs" = yes; then
+       lo_libobj="$libobj"
+       dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
+       if test "X$dir" = "X$libobj"; then
+         dir="$objdir"
+       else
+         dir="$dir/$objdir"
+       fi
+       libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
+
+       if test -d "$dir"; then
+         $show "$rm $libobj"
+         $run $rm $libobj
+       else
+         $show "$mkdir $dir"
+         $run $mkdir $dir
+         status=$?
+         if test $status -ne 0 && test ! -d $dir; then
+           exit $status
+         fi
+       fi
+      fi
+      if test "$compiler_o_lo" = yes; then
+       output_obj="$libobj"
+       command="$command -o $output_obj"
+      elif test "$compiler_c_o" = yes; then
+       output_obj="$obj"
+       command="$command -o $output_obj"
+      fi
+
+      $run $rm "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+       test -n "$output_obj" && $run $rm $removelist
+       exit 1
+      fi
+
+      if test "$need_locks" = warn &&
+        test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+       echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $run $rm $removelist
+       exit 1
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test x"$output_obj" != x"$libobj"; then
+       $show "$mv $output_obj $libobj"
+       if $run $mv $output_obj $libobj; then :
+       else
+         error=$?
+         $run $rm $removelist
+         exit $error
+       fi
+      fi
+
+      # If we have no pic_flag, then copy the object into place and finish.
+      if test -z "$pic_flag" && test "$build_old_libs" = yes; then
+       # Rename the .lo from within objdir to obj
+       if test -f $obj; then
+         $show $rm $obj
+         $run $rm $obj
+       fi
+
+       $show "$mv $libobj $obj"
+       if $run $mv $libobj $obj; then :
+       else
+         error=$?
+         $run $rm $removelist
+         exit $error
+       fi
+
+       xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+       if test "X$xdir" = "X$obj"; then
+         xdir="."
+       else
+         xdir="$xdir"
+       fi
+       baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
+       libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
+       # Now arrange that obj and lo_libobj become the same file
+       $show "(cd $xdir && $LN_S $baseobj $libobj)"
+       if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
+         exit 0
+       else
+         error=$?
+         $run $rm $removelist
+         exit $error
+       fi
+      fi
+
+      # Allow error messages only from the first compilation.
+      suppress_output=' >/dev/null 2>&1'
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      command="$base_compile $srcfile"
+      if test "$compiler_c_o" = yes; then
+       command="$command -o $obj"
+       output_obj="$obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+       $run $rm $removelist
+       exit 1
+      fi
+
+      if test "$need_locks" = warn &&
+        test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+       echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $run $rm $removelist
+       exit 1
+      fi
+
+      # Just move the object if needed
+      if test x"$output_obj" != x"$obj"; then
+       $show "$mv $output_obj $obj"
+       if $run $mv $output_obj $obj; then :
+       else
+         error=$?
+         $run $rm $removelist
+         exit $error
+       fi
+      fi
+
+      # Create an invalid libtool object if no PIC, so that we do not
+      # accidentally link it into a program.
+      if test "$build_libtool_libs" != yes; then
+       $show "echo timestamp > $libobj"
+       $run eval "echo timestamp > \$libobj" || exit $?
+      else
+       # Move the .lo from within objdir
+       $show "$mv $libobj $lo_libobj"
+       if $run $mv $libobj $lo_libobj; then :
+       else
+         error=$?
+         $run $rm $removelist
+         exit $error
+       fi
+      fi
+    fi
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $rm "$lockfile"
+    fi
+
+    exit 0
+    ;;
+
+  # libtool link mode
+  link)
+    modename="$modename: link"
+    case "$host" in
+    *-*-cygwin* | *-*-mingw* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invokation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+
+      # This is a source program that is used to create dlls on Windows
+      # Don't remove nor modify the starting and closing comments
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# #  ifdef __CYGWIN32__
+# #    define __CYGWIN__ __CYGWIN32__
+# #  endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+#   __hDllInstance_base = hInst;
+#   return TRUE;
+# }
+# /* ltdll.c ends here */
+      # This is a source program that is used to create import libraries
+      # on Windows for dlls which lack them. Don't remove nor modify the
+      # starting and closing comments
+# /* impgen.c starts here */
+# /*   Copyright (C) 1999 Free Software Foundation, Inc.
+# 
+#  This file is part of GNU libtool.
+# 
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+# 
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+# 
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#  */
+# 
+#  #include <stdio.h>          /* for printf() */
+#  #include <unistd.h>         /* for open(), lseek(), read() */
+#  #include <fcntl.h>          /* for O_RDONLY, O_BINARY */
+#  #include <string.h>         /* for strdup() */
+# 
+#  static unsigned int
+#  pe_get16 (fd, offset)
+#       int fd;
+#       int offset;
+#  {
+#    unsigned char b[2];
+#    lseek (fd, offset, SEEK_SET);
+#    read (fd, b, 2);
+#    return b[0] + (b[1]<<8);
+#  }
+# 
+#  static unsigned int
+#  pe_get32 (fd, offset)
+#      int fd;
+#      int offset;
+#  {
+#    unsigned char b[4];
+#    lseek (fd, offset, SEEK_SET);
+#    read (fd, b, 4);
+#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+#  }
+# 
+#  static unsigned int
+#  pe_as32 (ptr)
+#       void *ptr;
+#  {
+#    unsigned char *b = ptr;
+#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+#  }
+# 
+#  int
+#  main (argc, argv)
+#      int argc;
+#      char *argv[];
+#  {
+#      int dll;
+#      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
+#      unsigned long export_rva, export_size, nsections, secptr, expptr;
+#      unsigned long name_rvas, nexp;
+#      unsigned char *expdata, *erva;
+#      char *filename, *dll_name;
+# 
+#      filename = argv[1];
+# 
+#      dll = open(filename, O_RDONLY|O_BINARY);
+#      if (!dll)
+#      return 1;
+# 
+#      dll_name = filename;
+#    
+#      for (i=0; filename[i]; i++)
+#      if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
+#          dll_name = filename + i +1;
+# 
+#      pe_header_offset = pe_get32 (dll, 0x3c);
+#      opthdr_ofs = pe_header_offset + 4 + 20;
+#      num_entries = pe_get32 (dll, opthdr_ofs + 92);
+# 
+#      if (num_entries < 1) /* no exports */
+#      return 1;
+# 
+#      export_rva = pe_get32 (dll, opthdr_ofs + 96);
+#      export_size = pe_get32 (dll, opthdr_ofs + 100);
+#      nsections = pe_get16 (dll, pe_header_offset + 4 +2);
+#      secptr = (pe_header_offset + 4 + 20 +
+#            pe_get16 (dll, pe_header_offset + 4 + 16));
+# 
+#      expptr = 0;
+#      for (i = 0; i < nsections; i++)
+#      {
+#      char sname[8];
+#      unsigned long secptr1 = secptr + 40 * i;
+#      unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
+#      unsigned long vsize = pe_get32 (dll, secptr1 + 16);
+#      unsigned long fptr = pe_get32 (dll, secptr1 + 20);
+#      lseek(dll, secptr1, SEEK_SET);
+#      read(dll, sname, 8);
+#      if (vaddr <= export_rva && vaddr+vsize > export_rva)
+#      {
+#          expptr = fptr + (export_rva - vaddr);
+#          if (export_rva + export_size > vaddr + vsize)
+#              export_size = vsize - (export_rva - vaddr);
+#          break;
+#      }
+#      }
+# 
+#      expdata = (unsigned char*)malloc(export_size);
+#      lseek (dll, expptr, SEEK_SET);
+#      read (dll, expdata, export_size);
+#      erva = expdata - export_rva;
+# 
+#      nexp = pe_as32 (expdata+24);
+#      name_rvas = pe_as32 (expdata+32);
+# 
+#      printf ("EXPORTS\n");
+#      for (i = 0; i<nexp; i++)
+#      {
+#      unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
+#      printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
+#      }
+# 
+#      return 0;
+#  }
+# /* impgen.c ends here */
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    linkopts=
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      lib_search_path=
+    fi
+    # now prepend the system-specific ones
+    eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+    
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    link_against_libtool_libs=
+    ltlibs=
+    module=no
+    objs=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case "$arg" in
+      -all-static | -static)
+       if test "X$arg" = "X-all-static"; then
+         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+           $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+         fi
+         if test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+       else
+         if test -z "$pic_flag" && test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+       fi
+       build_libtool_libs=no
+       build_old_libs=yes
+       prefer_static_libs=yes
+       break
+       ;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test $# -gt 0; do
+      arg="$1"
+      shift
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+       case "$prev" in
+       output)
+         compile_command="$compile_command @OUTPUT@"
+         finalize_command="$finalize_command @OUTPUT@"
+         ;;
+       esac
+
+       case "$prev" in
+       dlfiles|dlprefiles)
+         if test "$preload" = no; then
+           # Add the symbol object into the linking commands.
+           compile_command="$compile_command @SYMFILE@"
+           finalize_command="$finalize_command @SYMFILE@"
+           preload=yes
+         fi
+         case "$arg" in
+         *.la | *.lo) ;;  # We handle these cases below.
+         force)
+           if test "$dlself" = no; then
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         self)
+           if test "$prev" = dlprefiles; then
+             dlself=yes
+           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+             dlself=yes
+           else
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         *)
+           if test "$prev" = dlfiles; then
+             dlfiles="$dlfiles $arg"
+           else
+             dlprefiles="$dlprefiles $arg"
+           fi
+           prev=
+           ;;
+         esac
+         ;;
+       expsyms)
+         export_symbols="$arg"
+         if test ! -f "$arg"; then
+           $echo "$modename: symbol file \`$arg' does not exist"
+           exit 1
+         fi
+         prev=
+         continue
+         ;;
+       expsyms_regex)
+         export_symbols_regex="$arg"
+         prev=
+         continue
+         ;;
+       release)
+         release="-$arg"
+         prev=
+         continue
+         ;;
+       rpath | xrpath)
+         # We need an absolute path.
+         case "$arg" in
+         [\\/]* | [A-Za-z]:[\\/]*) ;;
+         *)
+           $echo "$modename: only absolute run-paths are allowed" 1>&2
+           exit 1
+           ;;
+         esac
+         if test "$prev" = rpath; then
+           case "$rpath " in
+           *" $arg "*) ;;
+           *) rpath="$rpath $arg" ;;
+           esac
+         else
+           case "$xrpath " in
+           *" $arg "*) ;;
+           *) xrpath="$xrpath $arg" ;;
+           esac
+         fi
+         prev=
+         continue
+         ;;
+       *)
+         eval "$prev=\"\$arg\""
+         prev=
+         continue
+         ;;
+       esac
+      fi
+
+      prevarg="$arg"
+
+      case "$arg" in
+      -all-static)
+       if test -n "$link_static_flag"; then
+         compile_command="$compile_command $link_static_flag"
+         finalize_command="$finalize_command $link_static_flag"
+       fi
+       continue
+       ;;
+
+      -allow-undefined)
+       # FIXME: remove this flag sometime in the future.
+       $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+       continue
+       ;;
+
+      -avoid-version)
+       avoid_version=yes
+       continue
+       ;;
+
+      -dlopen)
+       prev=dlfiles
+       continue
+       ;;
+
+      -dlpreopen)
+       prev=dlprefiles
+       continue
+       ;;
+
+      -export-dynamic)
+       export_dynamic=yes
+       continue
+       ;;
+
+      -export-symbols | -export-symbols-regex)
+       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+         $echo "$modename: not more than one -exported-symbols argument allowed"
+         exit 1
+       fi
+       if test "X$arg" = "X-export-symbols"; then
+         prev=expsyms
+       else
+         prev=expsyms_regex
+       fi
+       continue
+       ;;
+
+      -L*)
+       dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+       # We need an absolute path.
+       case "$dir" in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         absdir=`cd "$dir" && pwd`
+         if test -z "$absdir"; then
+           $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+           $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+           absdir="$dir"
+         fi
+         dir="$absdir"
+         ;;
+       esac
+       case " $deplibs " in
+       *" $arg "*) ;;
+       *) deplibs="$deplibs $arg";;
+       esac
+       case " $lib_search_path " in
+       *" $dir "*) ;;
+       *) lib_search_path="$lib_search_path $dir";;
+       esac
+       case "$host" in
+       *-*-cygwin* | *-*-mingw* | *-*-os2*)
+         dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
+         case ":$dllsearchpath:" in
+         ::) dllsearchpath="$dllsearchdir";;
+         *":$dllsearchdir:"*) ;;
+         *) dllsearchpath="$dllsearchpath:$dllsearchdir";;
+         esac
+         ;;
+       esac
+       ;;
+
+      -l*)
+       if test "$arg" = "-lc"; then
+         case "$host" in
+         *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
+           # These systems don't actually have c library (as such)
+           continue
+           ;;
+         esac
+       elif test "$arg" = "-lm"; then
+         case "$host" in
+         *-*-cygwin* | *-*-beos*)
+           # These systems don't actually have math library (as such)
+           continue
+           ;;
+         esac
+       fi
+       deplibs="$deplibs $arg"
+       ;;
+
+      -module)
+       module=yes
+       continue
+       ;;
+
+      -no-undefined)
+       allow_undefined=no
+       continue
+       ;;
+
+      -o) prev=output ;;
+
+      -release)
+       prev=release
+       continue
+       ;;
+
+      -rpath)
+       prev=rpath
+       continue
+       ;;
+
+      -R)
+       prev=xrpath
+       continue
+       ;;
+
+      -R*)
+       dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+       # We need an absolute path.
+       case "$dir" in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         $echo "$modename: only absolute run-paths are allowed" 1>&2
+         exit 1
+         ;;
+       esac
+       case "$xrpath " in
+       *" $dir "*) ;;
+       *) xrpath="$xrpath $dir" ;;
+       esac
+       continue
+       ;;
+
+      -static)
+       # If we have no pic_flag, then this is the same as -all-static.
+       if test -z "$pic_flag" && test -n "$link_static_flag"; then
+         compile_command="$compile_command $link_static_flag"
+         finalize_command="$finalize_command $link_static_flag"
+       fi
+       continue
+       ;;
+
+      -thread-safe)
+       thread_safe=yes
+       continue
+       ;;
+
+      -version-info)
+       prev=vinfo
+       continue
+       ;;
+
+      # Some other compiler flag.
+      -* | +*)
+       # Unknown arguments in both finalize_command and compile_command need
+       # to be aesthetically quoted because they are evaled later.
+       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+       case "$arg" in
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
+         arg="\"$arg\""
+         ;;
+       esac
+       ;;
+
+      *.o | *.obj | *.a | *.lib)
+       # A standard object.
+       objs="$objs $arg"
+       ;;
+
+      *.lo)
+       # A library object.
+       if test "$prev" = dlfiles; then
+         dlfiles="$dlfiles $arg"
+         if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then
+           prev=
+           continue
+         else
+           # If libtool objects are unsupported, then we need to preload.
+           prev=dlprefiles
+         fi
+       fi
+
+       if test "$prev" = dlprefiles; then
+         # Preload the old-style object.
+         dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
+         prev=
+       fi
+       libobjs="$libobjs $arg"
+       ;;
+
+      *.la)
+       # A libtool-controlled library.
+
+       dlname=
+       libdir=
+       library_names=
+       old_library=
+
+       # Check to see that this really is a libtool archive.
+       if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+       else
+         $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
+         exit 1
+       fi
+
+       # If the library was installed with an old release of libtool,
+       # it will not redefine variable installed.
+       installed=yes
+
+       # Read the .la file
+       # If there is no directory component, then add one.
+       case "$arg" in
+       */* | *\\*) . $arg ;;
+       *) . ./$arg ;;
+       esac
+
+       # Get the name of the library we link against.
+       linklib=
+       for l in $old_library $library_names; do
+         linklib="$l"
+       done
+
+       if test -z "$linklib"; then
+         $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
+         exit 1
+       fi
+
+       # Find the relevant object directory and library name.
+       name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
+
+       if test "X$installed" = Xyes; then
+         dir="$libdir"
+       else
+         dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+         if test "X$dir" = "X$arg"; then
+           dir="$objdir"
+         else
+           dir="$dir/$objdir"
+         fi
+       fi
+
+       if test -n "$dependency_libs"; then
+         # Extract -R and -L from dependency_libs
+         temp_deplibs=
+         for deplib in $dependency_libs; do
+           case "$deplib" in
+           -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+                case " $rpath $xrpath " in
+                *" $temp_xrpath "*) ;;
+                *) xrpath="$xrpath $temp_xrpath";;
+                esac;;
+           -L*) case "$compile_command $temp_deplibs " in
+                *" $deplib "*) ;;
+                *) temp_deplibs="$temp_deplibs $deplib";;
+                esac
+                temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+                case " $lib_search_path " in
+                *" $temp_dir "*) ;;
+                *) lib_search_path="$lib_search_path $temp_dir";;
+                esac
+                ;;
+           *) temp_deplibs="$temp_deplibs $deplib";;
+           esac
+         done
+         dependency_libs="$temp_deplibs"
+       fi
+
+       if test -z "$libdir"; then
+         # It is a libtool convenience library, so add in its objects.
+         convenience="$convenience $dir/$old_library"
+         old_convenience="$old_convenience $dir/$old_library"
+         deplibs="$deplibs$dependency_libs"
+         compile_command="$compile_command $dir/$old_library$dependency_libs"
+         finalize_command="$finalize_command $dir/$old_library$dependency_libs"
+         continue
+       fi
+
+       # This library was specified with -dlopen.
+       if test "$prev" = dlfiles; then
+         dlfiles="$dlfiles $arg"
+         if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then
+           # If there is no dlname, no dlopen support or we're linking statically,
+           # we need to preload.
+           prev=dlprefiles
+         else
+           # We should not create a dependency on this library, but we
+           # may need any libraries it requires.
+           compile_command="$compile_command$dependency_libs"
+           finalize_command="$finalize_command$dependency_libs"
+           prev=
+           continue
+         fi
+       fi
+
+       # The library was specified with -dlpreopen.
+       if test "$prev" = dlprefiles; then
+         # Prefer using a static library (so that no silly _DYNAMIC symbols
+         # are required to link).
+         if test -n "$old_library"; then
+           dlprefiles="$dlprefiles $dir/$old_library"
+         else
+           dlprefiles="$dlprefiles $dir/$linklib"
+         fi
+         prev=
+       fi
+
+       if test -n "$library_names" &&
+          { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+         link_against_libtool_libs="$link_against_libtool_libs $arg"
+         if test -n "$shlibpath_var"; then
+           # Make sure the rpath contains only unique directories.
+           case "$temp_rpath " in
+           *" $dir "*) ;;
+           *) temp_rpath="$temp_rpath $dir" ;;
+           esac
+         fi
+
+         # We need an absolute path.
+         case "$dir" in
+         [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+         *)
+           absdir=`cd "$dir" && pwd`
+           if test -z "$absdir"; then
+             $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+             $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+             absdir="$dir"
+           fi
+           ;;
+         esac
+         
+         # This is the magic to use -rpath.
+         # Skip directories that are in the system default run-time
+         # search path, unless they have been requested with -R.
+         case " $sys_lib_dlsearch_path " in
+         *" $absdir "*) ;;
+         *)
+           case "$compile_rpath " in
+           *" $absdir "*) ;;
+           *) compile_rpath="$compile_rpath $absdir" 
+           esac
+           ;;
+         esac
+
+         case " $sys_lib_dlsearch_path " in
+         *" $libdir "*) ;;
+         *)
+           case "$finalize_rpath " in
+           *" $libdir "*) ;;
+           *) finalize_rpath="$finalize_rpath $libdir"
+           esac
+           ;;
+         esac
+
+         lib_linked=yes
+         case "$hardcode_action" in
+         immediate | unsupported)
+           if test "$hardcode_direct" = no; then
+             compile_command="$compile_command $dir/$linklib"
+             deplibs="$deplibs $dir/$linklib"
+             case "$host" in
+             *-*-cygwin* | *-*-mingw* | *-*-os2*)
+               dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
+               if test -n "$dllsearchpath"; then
+                 dllsearchpath="$dllsearchpath:$dllsearchdir"
+               else
+                 dllsearchpath="$dllsearchdir"
+               fi
+               ;;
+             esac
+           elif test "$hardcode_minus_L" = no; then
+             case "$host" in
+             *-*-sunos*)
+               compile_shlibpath="$compile_shlibpath$dir:"
+               ;;
+             esac
+             case "$compile_command " in
+             *" -L$dir "*) ;;
+             *) compile_command="$compile_command -L$dir";;
+             esac
+             compile_command="$compile_command -l$name"
+             deplibs="$deplibs -L$dir -l$name"
+           elif test "$hardcode_shlibpath_var" = no; then
+             case ":$compile_shlibpath:" in
+             *":$dir:"*) ;;
+             *) compile_shlibpath="$compile_shlibpath$dir:";;
+             esac
+             compile_command="$compile_command -l$name"
+             deplibs="$deplibs -l$name"
+           else
+             lib_linked=no
+           fi
+           ;;
+
+         relink)
+           if test "$hardcode_direct" = yes; then
+             compile_command="$compile_command $absdir/$linklib"
+             deplibs="$deplibs $absdir/$linklib"
+           elif test "$hardcode_minus_L" = yes; then
+             case "$compile_command " in
+             *" -L$absdir "*) ;;
+             *) compile_command="$compile_command -L$absdir";;
+             esac
+             compile_command="$compile_command -l$name"
+             deplibs="$deplibs -L$absdir -l$name"
+           elif test "$hardcode_shlibpath_var" = yes; then
+             case ":$compile_shlibpath:" in
+             *":$absdir:"*) ;;
+             *) compile_shlibpath="$compile_shlibpath$absdir:";;
+             esac
+             compile_command="$compile_command -l$name"
+             deplibs="$deplibs -l$name"
+           else
+             lib_linked=no
+           fi
+           ;;
+
+         *)
+           lib_linked=no
+           ;;
+         esac
+
+         if test "$lib_linked" != yes; then
+           $echo "$modename: configuration error: unsupported hardcode properties"
+           exit 1
+         fi
+
+         # Finalize command for both is simple: just hardcode it.
+         if test "$hardcode_direct" = yes; then
+           finalize_command="$finalize_command $libdir/$linklib"
+         elif test "$hardcode_minus_L" = yes; then
+           case "$finalize_command " in
+           *" -L$libdir "*) ;;
+           *) finalize_command="$finalize_command -L$libdir";;
+           esac
+           finalize_command="$finalize_command -l$name"
+         elif test "$hardcode_shlibpath_var" = yes; then
+           case ":$finalize_shlibpath:" in
+           *":$libdir:"*) ;;
+           *) finalize_shlibpath="$finalize_shlibpath$libdir:";;
+           esac
+           finalize_command="$finalize_command -l$name"
+         else
+           # We cannot seem to hardcode it, guess we'll fake it.
+           case "$finalize_command " in
+           *" -L$dir "*) ;;
+           *) finalize_command="$finalize_command -L$libdir";;
+           esac
+           finalize_command="$finalize_command -l$name"
+         fi
+       else
+         # Transform directly to old archives if we don't build new libraries.
+         if test -n "$pic_flag" && test -z "$old_library"; then
+           $echo "$modename: cannot find static library for \`$arg'" 1>&2
+           exit 1
+         fi
+
+         # Here we assume that one of hardcode_direct or hardcode_minus_L
+         # is not unsupported.  This is valid on all known static and
+         # shared platforms.
+         if test "$hardcode_direct" != unsupported; then
+           test -n "$old_library" && linklib="$old_library"
+           compile_command="$compile_command $dir/$linklib"
+           finalize_command="$finalize_command $dir/$linklib"
+         else
+           case "$compile_command " in
+           *" -L$dir "*) ;;
+           *) compile_command="$compile_command -L$dir";;
+           esac
+           compile_command="$compile_command -l$name"
+           case "$finalize_command " in
+           *" -L$dir "*) ;;
+           *) finalize_command="$finalize_command -L$dir";;
+           esac
+           finalize_command="$finalize_command -l$name"
+         fi
+       fi
+
+       # Add in any libraries that this one depends upon.
+       compile_command="$compile_command$dependency_libs"
+       finalize_command="$finalize_command$dependency_libs"
+       continue
+       ;;
+
+      # Some other compiler argument.
+      *)
+       # Unknown arguments in both finalize_command and compile_command need
+       # to be aesthetically quoted because they are evaled later.
+       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+       case "$arg" in
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
+         arg="\"$arg\""
+         ;;
+       esac
+       ;;
+      esac
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
+      fi
+    done
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    case "$output" in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+      ;;
+
+    *.a | *.lib)
+      if test -n "$link_against_libtool_libs"; then
+       $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
+       exit 1
+      fi
+
+      if test -n "$deplibs"; then
+       $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+       $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+       $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+       $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+       $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+       $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      ;;
+
+    *.la)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case "$outputname" in
+      lib*)
+       name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+       eval libname=\"$libname_spec\"
+       ;;
+      *)
+       if test "$module" = no; then
+         $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+         $echo "$help" 1>&2
+         exit 1
+       fi
+       if test "$need_lib_prefix" != no; then
+         # Add the "lib" prefix for modules if required
+         name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+         eval libname=\"$libname_spec\"
+       else
+         libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+       fi
+       ;;
+      esac
+
+      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$output_objdir" = "X$output"; then
+       output_objdir="$objdir"
+      else
+       output_objdir="$output_objdir/$objdir"
+      fi
+
+      if test -n "$objs"; then
+       $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
+       exit 1
+      fi
+
+      # How the heck are we supposed to write a wrapper for a shared library?
+      if test -n "$link_against_libtool_libs"; then
+        $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
+        exit 1
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test $# -gt 2; then
+       $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+       if test "$build_libtool_libs" = yes; then
+         # Building a libtool convenience library.
+         libext=al
+         oldlibs="$output_objdir/$libname.$libext $oldlibs"
+         build_libtool_libs=convenience
+         build_old_libs=yes
+       fi
+       dependency_libs="$deplibs"
+
+       if test -n "$vinfo"; then
+         $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
+       fi
+
+       if test -n "$release"; then
+         $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+       fi
+      else
+
+       # Parse the version information argument.
+       IFS="${IFS=     }"; save_ifs="$IFS"; IFS=':'
+       set dummy $vinfo 0 0 0
+       IFS="$save_ifs"
+
+       if test -n "$8"; then
+         $echo "$modename: too many parameters to \`-version-info'" 1>&2
+         $echo "$help" 1>&2
+         exit 1
+       fi
+
+       current="$2"
+       revision="$3"
+       age="$4"
+
+       # Check that each of the things are valid numbers.
+       case "$current" in
+       [0-9]*) ;;
+       *)
+         $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+         exit 1
+         ;;
+       esac
+
+       case "$revision" in
+       [0-9]*) ;;
+       *)
+         $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+         exit 1
+         ;;
+       esac
+
+       case "$age" in
+       [0-9]*) ;;
+       *)
+         $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+         exit 1
+         ;;
+       esac
+
+       if test $age -gt $current; then
+         $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+         exit 1
+       fi
+
+       # Calculate the version variables.
+       major=
+       versuffix=
+       verstring=
+       case "$version_type" in
+       none) ;;
+
+       irix)
+         major=`expr $current - $age + 1`
+         versuffix="$major.$revision"
+         verstring="sgi$major.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$revision
+         while test $loop != 0; do
+           iface=`expr $revision - $loop`
+           loop=`expr $loop - 1`
+           verstring="sgi$major.$iface:$verstring"
+         done
+         ;;
+
+       linux)
+         major=.`expr $current - $age`
+         versuffix="$major.$age.$revision"
+         ;;
+
+       osf)
+         major=`expr $current - $age`
+         versuffix=".$current.$age.$revision"
+         verstring="$current.$age.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$age
+         while test $loop != 0; do
+           iface=`expr $current - $loop`
+           loop=`expr $loop - 1`
+           verstring="$verstring:${iface}.0"
+         done
+
+         # Make executables depend on our current version.
+         verstring="$verstring:${current}.0"
+         ;;
+
+       sunos)
+         major=".$current"
+         versuffix=".$current.$revision"
+         ;;
+
+       freebsd-aout)
+         major=".$current"
+         versuffix=".$current.$revision";
+         ;;
+
+       freebsd-elf)
+         major=".$current"
+         versuffix=".$current";
+         ;;
+
+       windows)
+         # Like Linux, but with '-' rather than '.', since we only
+         # want one extension on Windows 95.
+         major=`expr $current - $age`
+         versuffix="-$major-$age-$revision"
+         ;;
+
+       *)
+         $echo "$modename: unknown library version type \`$version_type'" 1>&2
+         echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+         exit 1
+         ;;
+       esac
+
+       # Clear the version info if we defaulted, and they specified a release.
+       if test -z "$vinfo" && test -n "$release"; then
+         major=
+         verstring="0.0"
+         if test "$need_version" = no; then
+           versuffix=
+         else
+           versuffix=".0.0"
+         fi
+       fi
+
+       # Remove version info from name if versioning should be avoided
+       if test "$avoid_version" = yes && test "$need_version" = no; then
+         major=
+         versuffix=
+         verstring=""
+       fi
+       
+       # Check to see if the archive will have undefined symbols.
+       if test "$allow_undefined" = yes; then
+         if test "$allow_undefined_flag" = unsupported; then
+           $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+           build_libtool_libs=no
+           build_old_libs=yes
+         fi
+       else
+         # Don't allow undefined symbols.
+         allow_undefined_flag="$no_undefined_flag"
+       fi
+
+       dependency_libs="$deplibs"
+       case "$host" in
+       *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
+         # these systems don't actually have a c library (as such)!
+         ;;
+        *-*-rhapsody*)
+         # rhapsody is a little odd...
+         deplibs="$deplibs -framework System"
+         ;;
+       *)
+         # Add libc to deplibs on all other systems.
+         deplibs="$deplibs -lc"
+         ;;
+       esac
+      fi
+
+      # Create the output directory, or remove our outputs if we need to.
+      if test -d $output_objdir; then
+       $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
+       $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
+      else
+       $show "$mkdir $output_objdir"
+       $run $mkdir $output_objdir
+       status=$?
+       if test $status -ne 0 && test ! -d $output_objdir; then
+         exit $status
+       fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+       oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+       # Transform .lo files to .o files.
+       oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      if test "$build_libtool_libs" = yes; then
+       # Transform deplibs into only deplibs that can be linked in shared.
+       name_save=$name
+       libname_save=$libname
+       release_save=$release
+       versuffix_save=$versuffix
+       major_save=$major
+       # I'm not sure if I'm treating the release correctly.  I think
+       # release should show up in the -l (ie -lgmp5) so we don't want to
+       # add it in twice.  Is that correct?
+       release=""
+       versuffix=""
+       major=""
+       newdeplibs=
+       droppeddeps=no
+       case "$deplibs_check_method" in
+       pass_all)
+         # Don't check for shared/static.  Everything works.
+         # This might be a little naive.  We might want to check
+         # whether the library exists or not.  But this is on
+         # osf3 & osf4 and I'm not really sure... Just
+         # implementing what was already the behaviour.
+         newdeplibs=$deplibs
+         ;;
+       test_compile)
+         # This code stresses the "libraries are programs" paradigm to its
+         # limits. Maybe even breaks it.  We compile a program, linking it
+         # against the deplibs as a proxy for the library.  Then we can check
+         # whether they linked in statically or dynamically with ldd.
+         $rm conftest.c
+         cat > conftest.c <<EOF
+         int main() { return 0; }
+EOF
+         $rm conftest
+         $CC -o conftest conftest.c $deplibs
+         if test $? -eq 0 ; then
+           ldd_output=`ldd conftest`
+           for i in $deplibs; do
+             name="`expr $i : '-l\(.*\)'`"
+             # If $name is empty we are operating on a -L argument.
+             if test "$name" != "" ; then
+               libname=`eval \\$echo \"$libname_spec\"`
+               deplib_matches=`eval \\$echo \"$library_names_spec\"`
+               set dummy $deplib_matches
+               deplib_match=$2
+               if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                 newdeplibs="$newdeplibs $i"
+               else
+                 droppeddeps=yes
+                 echo
+                 echo "*** Warning: This library needs some functionality provided by $i."
+                 echo "*** I have the capability to make that library automatically link in when"
+                 echo "*** you link to this library.  But I can only do this if you have a"
+                 echo "*** shared version of the library, which you do not appear to have."
+               fi
+             else
+               newdeplibs="$newdeplibs $i"
+             fi
+           done
+         else
+           # Error occured in the first compile.  Let's try to salvage the situation:
+           # Compile a seperate program for each library.
+           for i in $deplibs; do
+             name="`expr $i : '-l\(.*\)'`"
+            # If $name is empty we are operating on a -L argument.
+             if test "$name" != "" ; then
+               $rm conftest
+               $CC -o conftest conftest.c $i
+               # Did it work?
+               if test $? -eq 0 ; then
+                 ldd_output=`ldd conftest`
+                 libname=`eval \\$echo \"$libname_spec\"`
+                 deplib_matches=`eval \\$echo \"$library_names_spec\"`
+                 set dummy $deplib_matches
+                 deplib_match=$2
+                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                   newdeplibs="$newdeplibs $i"
+                 else
+                   droppeddeps=yes
+                   echo
+                   echo "*** Warning: This library needs some functionality provided by $i."
+                   echo "*** I have the capability to make that library automatically link in when"
+                   echo "*** you link to this library.  But I can only do this if you have a"
+                   echo "*** shared version of the library, which you do not appear to have."
+                 fi
+               else
+                 droppeddeps=yes
+                 echo
+                 echo "*** Warning!  Library $i is needed by this library but I was not able to"
+                 echo "***  make it link in!  You will probably need to install it or some"
+                 echo "*** library that it depends on before this library will be fully"
+                 echo "*** functional.  Installing it before continuing would be even better."
+               fi
+             else
+               newdeplibs="$newdeplibs $i"
+             fi
+           done
+         fi
+         ;;
+       file_magic*)
+         set dummy $deplibs_check_method
+         file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`"
+         for a_deplib in $deplibs; do
+           name="`expr $a_deplib : '-l\(.*\)'`"
+           # If $name is empty we are operating on a -L argument.
+           if test "$name" != "" ; then
+             libname=`eval \\$echo \"$libname_spec\"`
+             for i in $lib_search_path; do
+                   potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+                   for potent_lib in $potential_libs; do
+                     # Follow soft links.
+                     if ls -lLd "$potent_lib" 2>/dev/null \
+                        | grep " -> " >/dev/null; then
+                       continue 
+                     fi
+                     # The statement above tries to avoid entering an
+                     # endless loop below, in case of cyclic links.
+                     # We might still enter an endless loop, since a link
+                     # loop can be closed while we follow links,
+                     # but so what?
+                     potlib="$potent_lib"
+                     while test -h "$potlib" 2>/dev/null; do
+                       potliblink=`ls -ld $potlib | sed 's/.* -> //'`
+                       case "$potliblink" in
+                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+                       *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+                       esac
+                     done
+                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+                        | sed 10q \
+                        | egrep "$file_magic_regex" > /dev/null; then
+                       newdeplibs="$newdeplibs $a_deplib"
+                       a_deplib=""
+                       break 2
+                     fi
+                   done
+             done
+             if test -n "$a_deplib" ; then
+               droppeddeps=yes
+               echo
+               echo "*** Warning: This library needs some functionality provided by $a_deplib."
+               echo "*** I have the capability to make that library automatically link in when"
+               echo "*** you link to this library.  But I can only do this if you have a"
+               echo "*** shared version of the library, which you do not appear to have."
+             fi
+           else
+             # Add a -L argument.
+             newdeplibs="$newdeplibs $a_deplib"
+           fi
+         done # Gone through all deplibs.
+         ;;
+       none | unknown | *)
+         newdeplibs=""
+         if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+              -e 's/ -[LR][^ ]*//g' -e 's/[    ]//g' |
+            grep . >/dev/null; then
+           echo
+           if test "X$deplibs_check_method" = "Xnone"; then
+             echo "*** Warning: inter-library dependencies are not supported in this platform."
+           else
+             echo "*** Warning: inter-library dependencies are not known to be supported."
+           fi
+           echo "*** All declared inter-library dependencies are being dropped."
+           droppeddeps=yes
+         fi
+         ;;
+       esac
+       versuffix=$versuffix_save
+       major=$major_save
+       release=$release_save
+       libname=$libname_save
+       name=$name_save
+
+       if test "$droppeddeps" = yes; then
+         if test "$module" = yes; then
+           echo
+           echo "*** Warning: libtool could not satisfy all declared inter-library"
+           echo "*** dependencies of module $libname.  Therefore, libtool will create"
+           echo "*** a static module, that should work as long as the dlopening"
+           echo "*** application is linked with the -dlopen flag."
+           if test -z "$global_symbol_pipe"; then
+             echo
+             echo "*** However, this would only work if libtool was able to extract symbol"
+             echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+             echo "*** not find such a program.  So, this module is probably useless."
+             echo "*** \`nm' from GNU binutils and a full rebuild may help."
+           fi
+           if test "$build_old_libs" = no; then
+             oldlibs="$output_objdir/$libname.$libext"
+             build_libtool_libs=module
+             build_old_libs=yes
+           else
+             build_libtool_libs=no
+           fi
+         else
+           echo "*** The inter-library dependencies that have been dropped here will be"
+           echo "*** automatically added whenever a program is linked with this library"
+           echo "*** or is declared to -dlopen it."
+         fi
+       fi
+       # Done checking deplibs!
+       deplibs=$newdeplibs
+      fi
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+      
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+       # Get the real and link names of the library.
+       eval library_names=\"$library_names_spec\"
+       set dummy $library_names
+       realname="$2"
+       shift; shift
+
+       if test -n "$soname_spec"; then
+         eval soname=\"$soname_spec\"
+       else
+         soname="$realname"
+       fi
+
+       lib="$output_objdir/$realname"
+       for link
+       do
+         linknames="$linknames $link"
+       done
+
+       # Ensure that we have .o objects for linkers which dislike .lo
+       # (e.g. aix) in case we are running --disable-static
+       for obj in $libobjs; do
+         xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+         if test "X$xdir" = "X$obj"; then
+           xdir="."
+         else
+           xdir="$xdir"
+         fi
+         baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+         oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+         if test ! -f $xdir/$oldobj; then
+           $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
+           $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
+         fi
+       done
+
+       # Use standard objects if they are pic
+       test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+       # Prepare the list of exported symbols
+       if test -z "$export_symbols"; then
+         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+           $show "generating symbol list for \`$libname.la'"
+           export_symbols="$output_objdir/$libname.exp"
+           $run $rm $export_symbols
+           eval cmds=\"$export_symbols_cmds\"
+           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             $show "$cmd"
+             $run eval "$cmd" || exit $?
+           done
+           IFS="$save_ifs"
+           if test -n "$export_symbols_regex"; then
+             $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+             $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+             $run eval '$mv "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+       fi
+
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+       fi
+
+       if test -n "$convenience"; then
+         if test -n "$whole_archive_flag_spec"; then
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+         else
+           gentop="$output_objdir/${outputname}x"
+           $show "${rm}r $gentop"
+           $run ${rm}r "$gentop"
+           $show "mkdir $gentop"
+           $run mkdir "$gentop"
+           status=$?
+           if test $status -ne 0 && test ! -d "$gentop"; then
+             exit $status
+           fi
+           generated="$generated $gentop"
+
+           for xlib in $convenience; do
+             # Extract the objects.
+             case "$xlib" in
+             [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+             *) xabs=`pwd`"/$xlib" ;;
+             esac
+             xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+             xdir="$gentop/$xlib"
+
+             $show "${rm}r $xdir"
+             $run ${rm}r "$xdir"
+             $show "mkdir $xdir"
+             $run mkdir "$xdir"
+             status=$?
+             if test $status -ne 0 && test ! -d "$xdir"; then
+               exit $status
+             fi
+             $show "(cd $xdir && $AR x $xabs)"
+             $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+             libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
+           done
+         fi
+       fi
+
+       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+         eval flag=\"$thread_safe_flag_spec\"
+         linkopts="$linkopts $flag"
+       fi
+
+       # Do each of the archive commands.
+       if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+         eval cmds=\"$archive_expsym_cmds\"
+       else
+         eval cmds=\"$archive_cmds\"
+       fi
+       IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+         IFS="$save_ifs"
+         $show "$cmd"
+         $run eval "$cmd" || exit $?
+       done
+       IFS="$save_ifs"
+
+       # Create links to the real library.
+       for linkname in $linknames; do
+         if test "$realname" != "$linkname"; then
+           $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+           $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+         fi
+       done
+
+       # If -module or -export-dynamic was specified, set the dlname.
+       if test "$module" = yes || test "$export_dynamic" = yes; then
+         # On all known operating systems, these are identical.
+         dlname="$soname"
+       fi
+      fi
+      ;;
+
+    *.lo | *.o | *.obj)
+      if test -n "$link_against_libtool_libs"; then
+       $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
+       exit 1
+      fi
+
+      if test -n "$deplibs"; then
+       $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+       $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+       $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+       $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+       $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case "$output" in
+      *.lo)
+       if test -n "$objs"; then
+         $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+         exit 1
+       fi
+       libobj="$output"
+       obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+       ;;
+      *)
+       libobj=
+       obj="$output"
+       ;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl= 
+
+      if test -n "$convenience"; then
+       if test -n "$whole_archive_flag_spec"; then
+         eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+       else
+         gentop="$output_objdir/${obj}x"
+         $show "${rm}r $gentop"
+         $run ${rm}r "$gentop"
+         $show "mkdir $gentop"
+         $run mkdir "$gentop"
+         status=$?
+         if test $status -ne 0 && test ! -d "$gentop"; then
+           exit $status
+         fi
+         generated="$generated $gentop"
+
+         for xlib in $convenience; do
+           # Extract the objects.
+           case "$xlib" in
+           [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+           *) xabs=`pwd`"/$xlib" ;;
+           esac
+           xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+           xdir="$gentop/$xlib"
+
+           $show "${rm}r $xdir"
+           $run ${rm}r "$xdir"
+           $show "mkdir $xdir"
+           $run mkdir "$xdir"
+           status=$?
+           if test $status -ne 0 && test ! -d "$xdir"; then
+             exit $status
+           fi
+           $show "(cd $xdir && $AR x $xabs)"
+           $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+           reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
+         done
+       fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs"
+
+      output="$obj"
+      eval cmds=\"$reload_cmds\"
+      IFS="${IFS=      }"; save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+       IFS="$save_ifs"
+       $show "$cmd"
+       $run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+       if test -n "$gentop"; then
+         $show "${rm}r $gentop"
+         $run ${rm}r $gentop
+       fi
+
+       exit 0
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+       if test -n "$gentop"; then
+         $show "${rm}r $gentop"
+         $run ${rm}r $gentop
+       fi
+
+       # Create an invalid libtool object if no PIC, so that we don't
+       # accidentally link it into a program.
+       $show "echo timestamp > $libobj"
+       $run eval "echo timestamp > $libobj" || exit $?
+       exit 0
+      fi
+
+      if test -n "$pic_flag"; then
+       # Only do commands if we really have different PIC objects.
+       reload_objs="$libobjs $reload_conv_objs"
+       output="$libobj"
+       eval cmds=\"$reload_cmds\"
+       IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+         IFS="$save_ifs"
+         $show "$cmd"
+         $run eval "$cmd" || exit $?
+       done
+       IFS="$save_ifs"
+      else
+       # Just create a symlink.
+       $show $rm $libobj
+       $run $rm $libobj
+       xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
+       if test "X$xdir" = "X$libobj"; then
+         xdir="."
+       else
+         xdir="$xdir"
+       fi
+       baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
+       oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+       $show "(cd $xdir && $LN_S $oldobj $baseobj)"
+       $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
+      fi
+
+      if test -n "$gentop"; then
+       $show "${rm}r $gentop"
+       $run ${rm}r $gentop
+      fi
+
+      exit 0
+      ;;
+
+    # Anything else should be a program.
+    *)
+      if test -n "$vinfo"; then
+       $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+       $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+       if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&
+          test "$dlopen_self_static" = unknown; then
+         $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+       fi 
+      fi
+    
+      if test -n "$rpath$xrpath"; then
+       # If the user specified any rpath flags, then add them.
+       for libdir in $rpath $xrpath; do
+         # This is the magic to use -rpath.
+         case "$compile_rpath " in
+         *" $libdir "*) ;;
+         *) compile_rpath="$compile_rpath $libdir" ;;
+         esac
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$finalize_rpath $libdir" ;;
+         esac
+       done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$perm_rpath " in
+         *" $libdir "*) ;;
+         *) perm_rpath="$perm_rpath $libdir" ;;
+         esac
+       fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$finalize_perm_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+         esac
+       fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$output_objdir" = "X$output"; then
+       output_objdir="$objdir"
+      else
+       output_objdir="$output_objdir/$objdir"
+      fi
+
+      # Create the binary in the object directory, then wrap it.
+      if test ! -d $output_objdir; then
+       $show "$mkdir $output_objdir"
+       $run $mkdir $output_objdir
+       status=$?
+       if test $status -ne 0 && test ! -d $output_objdir; then
+         exit $status
+       fi
+      fi
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+       # Transform all the library objects into standard objects.
+       compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       if test -n "$NM" && test -n "$global_symbol_pipe"; then
+         dlsyms="${outputname}S.c"
+       else
+         $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+       fi
+      fi
+
+      if test -n "$dlsyms"; then
+       case "$dlsyms" in
+       "") ;;
+       *.c)
+         # Discover the nlist of each of the dlfiles.
+         nlist="$output_objdir/${outputname}.nm"
+
+         $show "$rm $nlist ${nlist}S ${nlist}T"
+         $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+         # Parse the name list into a source file.
+         $show "creating $output_objdir/$dlsyms"
+
+         test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+         if test "$dlself" = yes; then
+           $show "generating symbol list for \`$output'"
+
+           test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+           # Add our own program objects to the symbol list.
+           progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+           for arg in $progfiles; do
+             $show "extracting global C symbols from \`$arg'"
+             $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+           done
+
+           if test -n "$exclude_expsyms"; then
+             $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+             $run eval '$mv "$nlist"T "$nlist"'
+           fi
+           
+           if test -n "$export_symbols_regex"; then
+             $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+             $run eval '$mv "$nlist"T "$nlist"'
+           fi
+
+           # Prepare the list of exported symbols
+           if test -z "$export_symbols"; then
+             export_symbols="$output_objdir/$output.exp"
+             $run $rm $export_symbols
+             $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+           else
+             $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
+             $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
+             $run eval 'mv "$nlist"T "$nlist"'
+           fi
+         fi
+
+         for arg in $dlprefiles; do
+           $show "extracting global C symbols from \`$arg'"
+           name=`echo "$arg" | sed -e 's%^.*/%%'`
+           $run eval 'echo ": $name " >> "$nlist"'
+           $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+         done
+
+         if test -z "$run"; then
+           # Make sure we have at least an empty file.
+           test -f "$nlist" || : > "$nlist"
+
+           if test -n "$exclude_expsyms"; then
+             egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+             $mv "$nlist"T "$nlist"
+           fi
+
+           # Try sorting and uniquifying the output.
+           if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
+             :
+           else
+             grep -v "^: " < "$nlist" > "$nlist"S
+           fi
+
+           if test -f "$nlist"S; then
+             eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+           else
+             echo '/* NONE */' >> "$output_objdir/$dlsyms"
+           fi
+
+           $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+           sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \
+               -e 's/^. \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr_t) \&\2},/p' \
+                 < "$nlist" >> "$output_objdir/$dlsyms"
+
+           $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr_t) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+         fi
+
+         pic_flag_for_symtable=
+         case "$host" in
+         # compiling the symbol table file with pic_flag works around
+         # a FreeBSD bug that causes programs to crash when -lm is
+         # linked before any other PIC object.  But we must not use
+         # pic_flag when linking with -static.  The problem exists in
+         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+         *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+           case "$compile_command " in
+           *" -static "*) ;;
+           *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
+           esac;;
+         *-*-hpux*)
+           case "$compile_command " in
+           *" -static "*) ;;
+           *) pic_flag_for_symtable=" $pic_flag -DPIC";;
+           esac
+         esac
+
+         # Now compile the dynamic symbol file.
+         $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+         $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+         # Clean up the generated files.
+         $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+         $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+         # Transform the symbol file into the correct name.
+         compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+         finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+         ;;
+       *)
+         $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+         exit 1
+         ;;
+       esac
+      else
+       # We keep going just in case the user didn't refer to
+       # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+       # really was required.
+
+       # Nullify the symbol file.
+       compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+       finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
+       # Replace the output file specification.
+       compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       link_command="$compile_command$compile_rpath"
+
+       # We have no uninstalled library dependencies, so finalize right now.
+       $show "$link_command"
+       $run eval "$link_command"
+       status=$?
+       
+       # Delete the generated files.
+       if test -n "$dlsyms"; then
+         $show "$rm $output_objdir/${outputname}S.${objext}"
+         $run $rm "$output_objdir/${outputname}S.${objext}"
+       fi
+
+       exit $status
+      fi
+
+      if test -n "$shlibpath_var"; then
+       # We should set the shlibpath_var
+       rpath=
+       for dir in $temp_rpath; do
+         case "$dir" in
+         [\\/]* | [A-Za-z]:[\\/]*)
+           # Absolute path.
+           rpath="$rpath$dir:"
+           ;;
+         *)
+           # Relative path: add a thisdir entry.
+           rpath="$rpath\$thisdir/$dir:"
+           ;;
+         esac
+       done
+       temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+       if test -n "$perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+       if test -n "$finalize_perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $finalize_perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+      fi
+
+      if test "$hardcode_action" = relink; then
+       # Fast installation is not supported
+       link_command="$compile_var$compile_command$compile_rpath"
+       relink_command="$finalize_var$finalize_command$finalize_rpath"
+       
+       $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+       $echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+       if test "$fast_install" != no; then
+         link_command="$finalize_var$compile_command$finalize_rpath"
+         if test "$fast_install" = yes; then
+           relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+         else
+           # fast_install is set to needless
+           relink_command=
+         fi
+       else
+         link_command="$compile_var$compile_command$compile_rpath"
+         relink_command="$finalize_var$finalize_command$finalize_rpath"
+       fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+      
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
+       case "$0" in
+       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
+       *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
+       esac
+       qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+       qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+       # win32 will think the script is a binary if it has
+       # a .exe suffix, so we strip it off here.
+       case $output in
+         *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
+       esac
+       $rm $output
+       trap "$rm $output; exit 1" 1 2 15
+
+       $echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  link_against_libtool_libs='$link_against_libtool_libs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+       $echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+       if test "$fast_install" = yes; then
+         echo >> $output "\
+  program=lt-'$outputname'
+  progdir=\"\$thisdir/$objdir\"
+  
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+         echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if (cd \"\$thisdir\" && eval \$relink_command); then :
+      else
+       $rm \"\$progdir/\$file\"
+       exit 1
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+       else
+         echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+       fi
+
+       echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+       # Export our shlibpath_var if we have one.
+       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+         $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+       fi
+
+       # fixup the dll searchpath if we need to.
+       if test -n "$dllsearchpath"; then
+         $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+       fi
+
+       $echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+       case $host in
+         # win32 systems need to use the prog path for dll
+         # lookup to work
+       *-*-cygwin*)
+         $echo >> $output "\
+      exec \$progdir/\$program \${1+\"\$@\"}
+"
+         ;;
+
+       # Backslashes separate directories on plain windows
+       *-*-mingw | *-*-os2*)
+         $echo >> $output "\
+      exec \$progdir\\\\\$program \${1+\"\$@\"}
+"
+         ;;
+
+       *)
+         $echo >> $output "\
+      # Export the path to the program.
+      PATH=\"\$progdir:\$PATH\"
+      export PATH
+
+      exec \$program \${1+\"\$@\"}
+"
+         ;;
+       esac
+       $echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+       chmod +x $output
+      fi
+      exit 0
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+       oldobjs="$libobjs_save"
+       addlibs="$convenience"
+       build_libtool_libs=no
+      else
+       if test "$build_libtool_libs" = module; then
+         oldobjs="$libobjs_save"
+         build_libtool_libs=no
+       else
+         oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
+       fi
+       addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+       gentop="$output_objdir/${outputname}x"
+       $show "${rm}r $gentop"
+       $run ${rm}r "$gentop"
+       $show "mkdir $gentop"
+       $run mkdir "$gentop"
+       status=$?
+       if test $status -ne 0 && test ! -d "$gentop"; then
+         exit $status
+       fi
+       generated="$generated $gentop"
+         
+       # Add in members from convenience archives.
+       for xlib in $addlibs; do
+         # Extract the objects.
+         case "$xlib" in
+         [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+         *) xabs=`pwd`"/$xlib" ;;
+         esac
+         xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+         xdir="$gentop/$xlib"
+
+         $show "${rm}r $xdir"
+         $run ${rm}r "$xdir"
+         $show "mkdir $xdir"
+         $run mkdir "$xdir"
+         status=$?
+         if test $status -ne 0 && test ! -d "$xdir"; then
+           exit $status
+         fi
+         $show "(cd $xdir && $AR x $xabs)"
+         $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+         oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
+       done
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       eval cmds=\"$old_archive_from_new_cmds\"
+      else
+       # Ensure that we have .o objects in place in case we decided
+       # not to build a shared library, and have fallen back to building
+       # static libs even though --disable-static was passed!
+       for oldobj in $oldobjs; do
+         if test ! -f $oldobj; then
+           xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
+           if test "X$xdir" = "X$oldobj"; then
+             xdir="."
+           else
+             xdir="$xdir"
+           fi
+           baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
+           obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
+           $show "(cd $xdir && ${LN_S} $obj $baseobj)"
+           $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
+         fi
+       done
+
+       eval cmds=\"$old_archive_cmds\"
+      fi
+      IFS="${IFS=      }"; save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+       IFS="$save_ifs"
+       $show "$cmd"
+       $run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case "$output" in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      if test -n "$xrpath"; then
+       temp_xrpath=
+       for libdir in $xrpath; do
+         temp_xrpath="$temp_xrpath -R$libdir"
+       done
+       dependency_libs="$temp_xrpath $dependency_libs"
+      fi
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+       for installed in no yes; do
+         if test "$installed" = yes; then
+           if test -z "$install_libdir"; then
+             break
+           fi
+           output="$output_objdir/$outputname"i
+         fi
+         $rm $output
+         $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$dlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'\
+"
+       done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $?
+      ;;
+    esac
+    exit 0
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case "$arg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
+       arg="\"$arg\""
+       ;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg="$nonopt"
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case "$arg" in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*)
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+       files="$files $dest"
+       dest="$arg"
+       continue
+      fi
+
+      case "$arg" in
+      -d) isdir=yes ;;
+      -f) prev="-f" ;;
+      -g) prev="-g" ;;
+      -m) prev="-m" ;;
+      -o) prev="-o" ;;
+      -s)
+       stripme=" -s"
+       continue
+       ;;
+      -*) ;;
+
+      *)
+       # If the previous option needed an argument, then skip it.
+       if test -n "$prev"; then
+         prev=
+       else
+         dest="$arg"
+         continue
+       fi
+       ;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case "$arg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
+       arg="\"$arg\""
+       ;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+       $echo "$modename: no file or destination specified" 1>&2
+      else
+       $echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test $# -gt 2; then
+       $echo "$modename: \`$dest' is not a directory" 1>&2
+       $echo "$help" 1>&2
+       exit 1
+      fi
+    fi
+    case "$destdir" in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+       case "$file" in
+       *.lo) ;;
+       *)
+         $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+         $echo "$help" 1>&2
+         exit 1
+         ;;
+       esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case "$file" in
+      *.a | *.lib)
+       # Do the static libraries later.
+       staticlibs="$staticlibs $file"
+       ;;
+
+      *.la)
+       # Check to see that this really is a libtool archive.
+       if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+       else
+         $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+         $echo "$help" 1>&2
+         exit 1
+       fi
+
+       library_names=
+       old_library=
+       # If there is no directory component, then add one.
+       case "$file" in
+       */* | *\\*) . $file ;;
+       *) . ./$file ;;
+       esac
+
+       # Add the libdir to current_libdirs if it is the destination.
+       if test "X$destdir" = "X$libdir"; then
+         case "$current_libdirs " in
+         *" $libdir "*) ;;
+         *) current_libdirs="$current_libdirs $libdir" ;;
+         esac
+       else
+         # Note the libdir as a future libdir.
+         case "$future_libdirs " in
+         *" $libdir "*) ;;
+         *) future_libdirs="$future_libdirs $libdir" ;;
+         esac
+       fi
+
+       dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
+       test "X$dir" = "X$file/" && dir=
+       dir="$dir$objdir"
+
+       # See the names of the shared library.
+       set dummy $library_names
+       if test -n "$2"; then
+         realname="$2"
+         shift
+         shift
+
+         # Install the shared library and build the symlinks.
+         $show "$install_prog $dir/$realname $destdir/$realname"
+         $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
+
+         if test $# -gt 0; then
+           # Delete the old symlinks, and create new ones.
+           for linkname
+           do
+             if test "$linkname" != "$realname"; then
+               $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+               $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+             fi
+           done
+         fi
+
+         # Do each command in the postinstall commands.
+         lib="$destdir/$realname"
+         eval cmds=\"$postinstall_cmds\"
+         IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'
+         for cmd in $cmds; do
+           IFS="$save_ifs"
+           $show "$cmd"
+           $run eval "$cmd" || exit $?
+         done
+         IFS="$save_ifs"
+       fi
+
+       # Install the pseudo-library for information purposes.
+       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+       instname="$dir/$name"i
+       $show "$install_prog $instname $destdir/$name"
+       $run eval "$install_prog $instname $destdir/$name" || exit $?
+
+       # Maybe install the static library, too.
+       test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+       ;;
+
+      *.lo)
+       # Install (i.e. copy) a libtool object.
+
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+         destfile="$destdir/$destfile"
+       fi
+
+       # Deduce the name of the destination old-style object file.
+       case "$destfile" in
+       *.lo)
+         staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+         ;;
+       *.o | *.obj)
+         staticdest="$destfile"
+         destfile=
+         ;;
+       *)
+         $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+         $echo "$help" 1>&2
+         exit 1
+         ;;
+       esac
+
+       # Install the libtool object if requested.
+       if test -n "$destfile"; then
+         $show "$install_prog $file $destfile"
+         $run eval "$install_prog $file $destfile" || exit $?
+       fi
+
+       # Install the old object if enabled.
+       if test "$build_old_libs" = yes; then
+         # Deduce the name of the old-style object file.
+         staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+         $show "$install_prog $staticobj $staticdest"
+         $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+       fi
+       exit 0
+       ;;
+
+      *)
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+         destfile="$destdir/$destfile"
+       fi
+
+       # Do a test to see if this is really a libtool program.
+       if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+         link_against_libtool_libs=
+         relink_command=
+
+         # If there is no directory component, then add one.
+         case "$file" in
+         */* | *\\*) . $file ;;
+         *) . ./$file ;;
+         esac
+
+         # Check the variables that should have been set.
+         if test -z "$link_against_libtool_libs"; then
+           $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
+           exit 1
+         fi
+
+         finalize=yes
+         for lib in $link_against_libtool_libs; do
+           # Check to see that each library is installed.
+           libdir=
+           if test -f "$lib"; then
+             # If there is no directory component, then add one.
+             case "$lib" in
+             */* | *\\*) . $lib ;;
+             *) . ./$lib ;;
+             esac
+           fi
+           libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
+           if test -n "$libdir" && test ! -f "$libfile"; then
+             $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+             finalize=no
+           fi
+         done
+
+         outputname=
+         if test "$fast_install" = no && test -n "$relink_command"; then
+           if test "$finalize" = yes && test -z "$run"; then
+             tmpdir="/tmp"
+             test -n "$TMPDIR" && tmpdir="$TMPDIR"
+              tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null`
+              if test $? = 0 ; then :
+              else
+                tmpdir="$tmpdir/libtool-$$"
+              fi
+             if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
+             else
+               $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
+               continue
+             fi
+             outputname="$tmpdir/$file"
+             # Replace the output file specification.
+             relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+             $show "$relink_command"
+             if $run eval "$relink_command"; then :
+             else
+               $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+               ${rm}r "$tmpdir"
+               continue
+             fi
+             file="$outputname"
+           else
+             $echo "$modename: warning: cannot relink \`$file'" 1>&2
+           fi
+         else
+           # Install the binary that we compiled earlier.
+           file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+         fi
+       fi
+
+       $show "$install_prog$stripme $file $destfile"
+       $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+       test -n "$outputname" && ${rm}r "$tmpdir"
+       ;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      # Do each command in the postinstall commands.
+      eval cmds=\"$old_postinstall_cmds\"
+      IFS="${IFS=      }"; save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+       IFS="$save_ifs"
+       $show "$cmd"
+       $run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec $SHELL $0 --finish$current_libdirs
+      exit 1
+    fi
+
+    exit 0
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+       libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+       if test -n "$finish_cmds"; then
+         # Do each command in the finish commands.
+         eval cmds=\"$finish_cmds\"
+         IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'
+         for cmd in $cmds; do
+           IFS="$save_ifs"
+           $show "$cmd"
+           $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+         done
+         IFS="$save_ifs"
+       fi
+       if test -n "$finish_eval"; then
+         # Do the single finish_eval.
+         eval cmds=\"$finish_eval\"
+         $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+       fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit 0
+
+    echo "----------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      echo "   $libdir"
+    done
+    echo
+    echo "If you ever happen to want to link against installed libraries"
+    echo "in a given directory, LIBDIR, you must either use libtool, and"
+    echo "specify the full pathname of the library, or use \`-LLIBDIR'"
+    echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    echo
+    echo "See any operating system documentation about shared libraries for"
+    echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    echo "----------------------------------------------------------------------"
+    exit 0
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit 1
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+       $echo "$modename: \`$file' is not a file" 1>&2
+       $echo "$help" 1>&2
+       exit 1
+      fi
+
+      dir=
+      case "$file" in
+      *.la)
+       # Check to see that this really is a libtool archive.
+       if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+       else
+         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+         $echo "$help" 1>&2
+         exit 1
+       fi
+
+       # Read the libtool library.
+       dlname=
+       library_names=
+
+       # If there is no directory component, then add one.
+       case "$file" in
+       */* | *\\*) . $file ;;
+       *) . ./$file ;;
+       esac
+
+       # Skip this library if it cannot be dlopened.
+       if test -z "$dlname"; then
+         # Warn if it was a shared library.
+         test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+         continue
+       fi
+
+       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+       test "X$dir" = "X$file" && dir=.
+
+       if test -f "$dir/$objdir/$dlname"; then
+         dir="$dir/$objdir"
+       else
+         $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+         exit 1
+       fi
+       ;;
+
+      *.lo)
+       # Just add the directory containing the .lo file.
+       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+       test "X$dir" = "X$file" && dir=.
+       ;;
+
+      *)
+       $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+       continue
+       ;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+       eval "$shlibpath_var=\"\$dir\""
+      else
+       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case "$file" in
+      -*) ;;
+      *)
+       # Do a test to see if this is really a libtool program.
+       if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+         # If there is no directory component, then add one.
+         case "$file" in
+         */* | *\\*) . $file ;;
+         *) . ./$file ;;
+         esac
+
+         # Transform arg to wrapped name.
+         file="$progdir/$program"
+       fi
+       ;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+        # Export the shlibpath_var.
+        eval "export $shlibpath_var"
+      fi
+
+      # Restore saved enviroment variables
+      if test "${save_LC_ALL+set}" = set; then
+       LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+       LANG="$save_LANG"; export LANG
+      fi
+
+      # Now actually exec the command.
+      eval "exec \$cmd$args"
+
+      $echo "$modename: cannot exec \$cmd$args"
+      exit 1
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+        eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+        $echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit 0
+    fi
+    ;;
+
+  # libtool uninstall mode
+  uninstall)
+    modename="$modename: uninstall"
+    rm="$nonopt"
+    files=
+
+    for arg
+    do
+      case "$arg" in
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$dir" = "X$file" && dir=.
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      rmfiles="$file"
+
+      case "$name" in
+      *.la)
+       # Possibly a libtool archive, so verify it.
+       if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+         . $dir/$name
+
+         # Delete the libtool libraries and symlinks.
+         for n in $library_names; do
+           rmfiles="$rmfiles $dir/$n"
+         done
+         test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
+
+         $show "$rm $rmfiles"
+         $run $rm $rmfiles
+
+         if test -n "$library_names"; then
+           # Do each command in the postuninstall commands.
+           eval cmds=\"$postuninstall_cmds\"
+           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             $show "$cmd"
+             $run eval "$cmd"
+           done
+           IFS="$save_ifs"
+         fi
+
+         if test -n "$old_library"; then
+           # Do each command in the old_postuninstall commands.
+           eval cmds=\"$old_postuninstall_cmds\"
+           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             $show "$cmd"
+             $run eval "$cmd"
+           done
+           IFS="$save_ifs"
+         fi
+
+         # FIXME: should reinstall the best remaining shared library.
+       fi
+       ;;
+
+      *.lo)
+       if test "$build_old_libs" = yes; then
+         oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
+         rmfiles="$rmfiles $dir/$oldobj"
+       fi
+       $show "$rm $rmfiles"
+       $run $rm $rmfiles
+       ;;
+
+      *)
+       $show "$rm $rmfiles"
+       $run $rm $rmfiles
+       ;;
+      esac
+    done
+    exit 0
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit 1
+    ;;
+  esac
+
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$generic_help" 1>&2
+  exit 1
+fi # test -z "$show_help"
+
+# We need to display help for each of the modes.
+case "$mode" in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --version         print version information
+
+MODE must be one of the following:
+
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE."
+  exit 0
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                   try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                   try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                   specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit 1
+  ;;
+esac
+
+echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit 0
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/salome_adm/unix/config_files/DEPRECATED/missing b/salome_adm/unix/config_files/DEPRECATED/missing
new file mode 100644 (file)
index 0000000..7789652
--- /dev/null
@@ -0,0 +1,190 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+case "$1" in
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing - GNU libit 0.0"
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+  aclocal)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`acinclude.m4' or \`configure.in'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`configure.in'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`acconfig.h' or \`configure.in'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+          sed 's/\.am$/.in/' |
+          while read f; do touch "$f"; done
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+       case "$LASTARG" in
+       *.y)
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+           if [ -f "$SRCFILE" ]; then
+                cp "$SRCFILE" y.tab.c
+           fi
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+           if [ -f "$SRCFILE" ]; then
+                cp "$SRCFILE" y.tab.h
+           fi
+         ;;
+       esac
+    fi
+    if [ ! -f y.tab.h ]; then
+       echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+       echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+       case "$LASTARG" in
+       *.l)
+           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+           if [ -f "$SRCFILE" ]; then
+                cp "$SRCFILE" lex.yy.c
+           fi
+         ;;
+       esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+       echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+    fi
+    touch $file
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+         system.  You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequirements for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
diff --git a/salome_adm/unix/config_files/DEPRECATED/mkinstalldirs b/salome_adm/unix/config_files/DEPRECATED/mkinstalldirs
new file mode 100755 (executable)
index 0000000..6b3b5fc
--- /dev/null
@@ -0,0 +1,40 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id$
+
+errstatus=0
+
+for file
+do
+   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+   shift
+
+   pathcomp=
+   for d
+   do
+     pathcomp="$pathcomp$d"
+     case "$pathcomp" in
+       -* ) pathcomp=./$pathcomp ;;
+     esac
+
+     if test ! -d "$pathcomp"; then
+        echo "mkdir $pathcomp"
+
+        mkdir "$pathcomp" || lasterr=$?
+
+        if test ! -d "$pathcomp"; then
+         errstatus=$lasterr
+        fi
+     fi
+
+     pathcomp="$pathcomp/"
+   done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/salome_adm/unix/config_files/Makefile.am b/salome_adm/unix/config_files/Makefile.am
new file mode 100644 (file)
index 0000000..fde1071
--- /dev/null
@@ -0,0 +1,65 @@
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+
+# The deprecated files are deprecated for the KERNEL but not for the
+# related modules (GUI, MED, ...). Some files have to be installed.
+DEPRECATED_FILES=\
+       DEPRECATED/ac_cc_warnings.m4 \
+       DEPRECATED/ac_cxx_bool.m4 \
+       DEPRECATED/ac_cxx_mutable.m4 \
+       DEPRECATED/ac_cxx_partial_specialization.m4 \
+       DEPRECATED/ac_cxx_typename.m4 \
+       DEPRECATED/check_mico.m4 \
+       DEPRECATED/check_pthreads.m4 \
+       DEPRECATED/config.sub \
+       DEPRECATED/config.guess \
+       DEPRECATED/install-sh \
+       DEPRECATED/libtool.m4 \
+       DEPRECATED/ltconfig \
+       DEPRECATED/ltmain.sh
+
+## The following scripts are required for modules not built with autotools
+#dist_salomem4_SCRIPTS=\
+#      compile \
+#      config.guess \
+#      config.sub \
+#      depcomp \
+#      install-sh \
+#      ltmain.sh \
+#      missing \
+#      py-compile
+
+dist_salomem4_DATA=\
+ac_cxx_depend_flag.m4 \
+ac_cxx_have_sstream.m4 \
+ac_cxx_namespaces.m4 \
+ac_cxx_option.m4 \
+ac_cxx_template_options.m4 \
+ac_cxx_use_std_iostream.m4 \
+ac_cxx_warnings.m4 \
+ac_linker_options.m4 \
+acx_pthread.m4 \
+check_Kernel.m4 \
+check_boost.m4 \
+check_cas.m4 \
+check_corba.m4 \
+check_cppunit.m4 \
+check_f77.m4 \
+check_hdf5.m4 \
+check_htmlgen.m4 \
+check_lam.m4 \
+check_lsf.m4 \
+check_mpi.m4 \
+check_mpich.m4 \
+check_omniorb.m4 \
+check_opengl.m4 \
+check_openpbs.m4 \
+check_qt.m4 \
+check_sockets.m4 \
+check_swig.m4 \
+check_withihm.m4 \
+enable_pthreads.m4 \
+production.m4 \
+pyembed.m4 \
+python.m4 \
+$(DEPRECATED_FILES)
diff --git a/salome_adm/unix/config_files/ac_cc_warnings.m4 b/salome_adm/unix/config_files/ac_cc_warnings.m4
deleted file mode 100644 (file)
index 9f3aa1a..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-dnl Synopsis :    AC_CC_WARNINGS([ANSI]) 
-dnl 
-dnl Version  :    1.1 (2000/12/31) 
-dnl 
-dnl Author   :    Ville Laurikari <vl@iki.fi> 
-dnl 
-dnl Description :
-dnl 
-dnl         Enables a reasonable set of warnings for the C compiler. 
-dnl         Optionally, if the first argument is nonempty, turns on 
-dnl         flags which enforce and/or enable proper ANSI C if such 
-dnl         flags are known to the compiler used. 
-dnl 
-dnl         Currently this macro knows about GCC, Solaris C compiler, 
-dnl         Digital Unix C compiler, C for AIX Compiler, HP-UX C
-dnl         compiler, and IRIX C compiler.
-
-AC_DEFUN([AC_CC_WARNINGS], [
-  ansi=$1
-  if test -z "$ansi"; then
-    msg="for C compiler warning flags"
-  else
-    msg="for C compiler warning and ANSI conformance flags"
-  fi
-  AC_CACHE_CHECK($msg, ac_cv_prog_cc_warnings, [
-    if test -n "$CC"; then
-      cat > conftest.c <<EOF
-int main(int argc, char **argv) { return 0; }
-EOF
-
-      dnl GCC
-      if test "$GCC" = "yes"; then
-        if test -z "$ansi"; then
-          ac_cv_prog_cc_warnings="-Wall"
-        else
-          ac_cv_prog_cc_warnings="-Wall -ansi -pedantic"
-        fi
-
-      dnl Solaris C compiler
-      elif $CC -flags 2>&1 | grep "Xc.*strict ANSI C" > /dev/null 2>&1 &&
-           $CC -c -v -Xc conftest.c > /dev/null 2>&1 &&
-           test -f conftest.o; then
-        if test -z "$ansi"; then
-          ac_cv_prog_cc_warnings="-v"
-        else
-          ac_cv_prog_cc_warnings="-v -Xc"
-        fi
-
-      dnl HP-UX C compiler
-      elif $CC > /dev/null 2>&1 &&
-           $CC -c -Aa +w1 conftest.c > /dev/null 2>&1 &&
-           test -f conftest.o; then
-        if test -z "$ansi"; then
-          ac_cv_prog_cc_warnings="+w1"
-        else
-          ac_cv_prog_cc_warnings="+w1 -Aa"
-        fi
-
-      dnl Digital Unix C compiler
-      elif ! $CC > /dev/null 2>&1 &&
-           $CC -c -verbose -w0 -warnprotos -std1 conftest.c > /dev/null 2>&1 &&
-           test -f conftest.o; then
-        if test -z "$ansi"; then
-          ac_cv_prog_cc_warnings="-verbose -w0 -warnprotos"
-        else
-          ac_cv_prog_cc_warnings="-verbose -w0 -warnprotos -std1"
-        fi
-
-      dnl C for AIX Compiler
-      elif $CC > /dev/null 2>&1 | grep AIX > /dev/null 2>&1 &&
-           $CC -c -qlanglvl=ansi -qinfo=all conftest.c > /dev/null 2>&1 &&
-           test -f conftest.o; then
-        if test -z "$ansi"; then
-          ac_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"
-        else
-          ac_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd -qlanglvl=ansi"
-        fi
-
-      dnl IRIX C compiler
-      elif $CC -fullwarn -ansi -ansiE > /dev/null 2>&1 &&
-           test -f conftest.o; then
-        if test -z "$ansi"; then
-          ac_cv_prog_cc_warnings="-fullwarn"
-        else
-          ac_cv_prog_cc_warnings="-fullwarn -ansi -ansiE"
-        fi
-
-      fi
-      rm -f conftest.*
-    fi
-    if test -n "$ac_cv_prog_cc_warnings"; then
-      CFLAGS="$CFLAGS $ac_cv_prog_cc_warnings"
-      CXXFLAGS="$CXXFLAGS $ac_cv_prog_cc_warnings"
-    else
-      ac_cv_prog_cc_warnings="unknown"
-    fi
-  ])
-])
diff --git a/salome_adm/unix/config_files/ac_cxx_bool.m4 b/salome_adm/unix/config_files/ac_cxx_bool.m4
deleted file mode 100644 (file)
index 69da63d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-dnl @synopsis AC_CXX_BOOL
-dnl
-dnl If the compiler recognizes bool as a separate built-in type,
-dnl define HAVE_BOOL. Note that a typedef is not a separate
-dnl type since you cannot overload a function such that it accepts either
-dnl the basic type or the typedef.
-dnl
-dnl @version $Id$
-dnl @author Luc Maisonobe
-dnl
-AC_DEFUN([AC_CXX_BOOL],
-[AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type,
-ac_cv_cxx_bool,
-[AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([
-int f(int  x){return 1;}
-int f(char x){return 1;}
-int f(bool x){return 1;}
-],[bool b = true; return f(b);],
- ac_cv_cxx_bool=yes, ac_cv_cxx_bool=no)
- AC_LANG_RESTORE
-])
-if test "$ac_cv_cxx_bool" = yes; then
-  AC_DEFINE(HAVE_BOOL,,[define if bool is a built-in type])
-fi
-])
diff --git a/salome_adm/unix/config_files/ac_cxx_mutable.m4 b/salome_adm/unix/config_files/ac_cxx_mutable.m4
deleted file mode 100644 (file)
index 3d87bac..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-dnl @synopsis AC_CXX_MUTABLE
-dnl
-dnl If the compiler allows modifying class data members flagged with
-dnl the mutable keyword even in const objects (for example in the
-dnl body of a const member function), define HAVE_MUTABLE.
-dnl
-dnl @version $Id$
-dnl @author Luc Maisonobe
-dnl
-AC_DEFUN([AC_CXX_MUTABLE],
-[AC_CACHE_CHECK(whether the compiler supports the mutable keyword,
-ac_cv_cxx_mutable,
-[AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([
-class A { mutable int i;
-          public:
-          int f (int n) const { i = n; return i; }
-        };
-],[A a; return a.f (1);],
- ac_cv_cxx_mutable=yes, ac_cv_cxx_mutable=no)
- AC_LANG_RESTORE
-])
-if test "$ac_cv_cxx_mutable" = yes; then
-  AC_DEFINE(HAVE_MUTABLE,,[define if the compiler supports the mutable keyword])
-fi
-])
index 72ea0ab112824338a063a7c3e6d063a015f86911..d1f43ea6aad3261cdfbf6536c5cc9ce06dbe2628 100644 (file)
@@ -32,13 +32,14 @@ int main() { return 0; }
 EOF
   $CXX $1 conftest.cxx > conftest.log 2>&1
   var=`echo $1 | sed -e "s, .*$,," | sed -e "s,^-,,"`
-  if ! grep -e $var conftest.log > /dev/null 2>&1 ; then
+#CCRT  if ! grep -e $var conftest.log > /dev/null 2>&1 ; then
+  if grep -e $var conftest.log > /dev/null 2>&1 ; then
+    AC_MSG_RESULT(no)
+    eval $4
+  else
     AC_MSG_RESULT(yes)
     $2="${$2} $1"
     eval $3
-  else
-    AC_MSG_RESULT(no)
-    eval $4
   fi
 ])
 
diff --git a/salome_adm/unix/config_files/ac_cxx_partial_specialization.m4 b/salome_adm/unix/config_files/ac_cxx_partial_specialization.m4
deleted file mode 100644 (file)
index 634d3c6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-dnl @synopsis AC_CXX_PARTIAL_SPECIALIZATION
-dnl
-dnl If the compiler supports partial specialization,
-dnl define HAVE_PARTIAL_SPECIALIZATION.
-dnl
-dnl @version $Id$
-dnl @author Luc Maisonobe
-dnl
-
-AC_DEFUN([AC_CXX_PARTIAL_SPECIALIZATION],
-[AC_CACHE_CHECK(whether the compiler supports partial specialization,
-ac_cv_cxx_partial_specialization,
-[AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([
-template<class T, int N> class A            { public : enum e { z = 0 }; };
-template<int N>          class A<double, N> { public : enum e { z = 1 }; };
-template<class T>        class A<T, 2>      { public : enum e { z = 2 }; };
-],[return (A<int,3>::z == 0) && (A<double,3>::z == 1) && (A<float,2>::z == 2);],
- ac_cv_cxx_partial_specialization=yes, ac_cv_cxx_partial_specialization=no)
- AC_LANG_RESTORE
-])
-if test "$ac_cv_cxx_partial_specialization" = yes; then
-  AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION,,
-            [define if the compiler supports partial specialization])
-fi
-])
diff --git a/salome_adm/unix/config_files/ac_cxx_typename.m4 b/salome_adm/unix/config_files/ac_cxx_typename.m4
deleted file mode 100644 (file)
index bb14246..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-ddnl @synopsis AC_CXX_TYPENAME
-dnl
-dnl If the compiler recognizes the typename keyword, define HAVE_TYPENAME.
-dnl
-dnl @version $Id$
-dnl @author Luc Maisonobe
-dnl
-AC_DEFUN([AC_CXX_TYPENAME],
-[AC_CACHE_CHECK(whether the compiler recognizes typename,
-ac_cv_cxx_typename,
-[AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([template<typename T>class X {public:X(){}};],
-[X<float> z; return 0;],
- ac_cv_cxx_typename=yes, ac_cv_cxx_typename=no)
- AC_LANG_RESTORE
-])
-if test "$ac_cv_cxx_typename" = yes; then
-  AC_DEFINE(HAVE_TYPENAME,,[define if the compiler recognizes typename])
-fi
-])
diff --git a/salome_adm/unix/config_files/acx_pthread.m4 b/salome_adm/unix/config_files/acx_pthread.m4
new file mode 100644 (file)
index 0000000..87c8686
--- /dev/null
@@ -0,0 +1,207 @@
+dnl Paul RASCLE: modification for Linux: -pthread required by boost...
+dnl
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_pthread.html
+dnl
+AC_DEFUN([ACX_PTHREAD], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_SAVE
+AC_LANG_C
+acx_pthread_ok=no
+
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on True64 or Sequent).
+# It gets checked for in the link test anyway.
+
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
+        save_CFLAGS="$CFLAGS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        save_LIBS="$LIBS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
+        AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
+        AC_MSG_RESULT($acx_pthread_ok)
+        if test x"$acx_pthread_ok" = xno; then
+                PTHREAD_LIBS=""
+                PTHREAD_CFLAGS=""
+        fi
+        LIBS="$save_LIBS"
+        CFLAGS="$save_CFLAGS"
+fi
+
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
+
+# Create a list of thread flags to try.  Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
+acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important.  Some notes on the
+# individual items follow:
+
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+#       other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
+# -pthreads: Solaris/gcc
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+#      doesn't hurt to check since this sometimes defines pthreads too;
+#      also defines -D_REENTRANT)
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
+
+case "${host_cpu}-${host_os}" in
+        *linux*)
+
+        # On linux "none" works, but boost requires -pthread, so, try first "-pthread"
+acx_pthread_flags="-pthread pthreads none -Kthread -kthread lthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+        ;;
+
+        *solaris*)
+
+        # On Solaris (at least, for some versions), libc contains stubbed
+        # (non-functional) versions of the pthreads routines, so link-based
+        # tests will erroneously succeed.  (We need to link with -pthread or
+        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
+        # a function called by this macro, so we could check for that, but
+        # who knows whether they'll stub that too in a future libc.)  So,
+        # we'll just look for -pthreads and -lpthread first:
+
+        acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags"
+        ;;
+esac
+
+if test x"$acx_pthread_ok" = xno; then
+for flag in $acx_pthread_flags; do
+
+        case $flag in
+                none)
+                AC_MSG_CHECKING([whether pthreads work without any flags])
+                ;;
+
+                -*)
+                AC_MSG_CHECKING([whether pthreads work with $flag])
+                PTHREAD_CFLAGS="$flag"
+                ;;
+
+               pthread-config)
+               AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no)
+               if test x"$acx_pthread_config" = xno; then continue; fi
+               PTHREAD_CFLAGS="`pthread-config --cflags`"
+               PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+               ;;
+
+                *)
+                AC_MSG_CHECKING([for the pthreads library -l$flag])
+                PTHREAD_LIBS="-l$flag"
+                ;;
+        esac
+
+        save_LIBS="$LIBS"
+        save_CFLAGS="$CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+        # Check for various functions.  We must include pthread.h,
+        # since some functions may be macros.  (On the Sequent, we
+        # need a special flag -Kthread to make this header compile.)
+        # We check for pthread_join because it is in -lpthread on IRIX
+        # while pthread_create is in libc.  We check for pthread_attr_init
+        # due to DEC craziness with -lpthreads.  We check for
+        # pthread_cleanup_push because it is one of the few pthread
+        # functions on Solaris that doesn't have a non-functional libc stub.
+        # We try pthread_create on general principles.
+        AC_TRY_LINK([#include <pthread.h>],
+                    [pthread_t th; pthread_join(th, 0);
+                     pthread_attr_init(0); pthread_cleanup_push(0, 0);
+                     pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
+                    [acx_pthread_ok=yes])
+
+        LIBS="$save_LIBS"
+        CFLAGS="$save_CFLAGS"
+
+        AC_MSG_RESULT($acx_pthread_ok)
+        if test "x$acx_pthread_ok" = xyes; then
+                break;
+        fi
+
+        PTHREAD_LIBS=""
+        PTHREAD_CFLAGS=""
+done
+fi
+
+# Various other checks:
+if test "x$acx_pthread_ok" = xyes; then
+        save_LIBS="$LIBS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        save_CFLAGS="$CFLAGS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+        # Detect AIX lossage: threads are created detached by default
+        # and the JOINABLE attribute has a nonstandard name (UNDETACHED).
+        AC_MSG_CHECKING([for joinable pthread attribute])
+        AC_TRY_LINK([#include <pthread.h>],
+                    [int attr=PTHREAD_CREATE_JOINABLE;],
+                    ok=PTHREAD_CREATE_JOINABLE, ok=unknown)
+        if test x"$ok" = xunknown; then
+                AC_TRY_LINK([#include <pthread.h>],
+                            [int attr=PTHREAD_CREATE_UNDETACHED;],
+                            ok=PTHREAD_CREATE_UNDETACHED, ok=unknown)
+        fi
+        if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then
+                AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok,
+                          [Define to the necessary symbol if this constant
+                           uses a non-standard name on your system.])
+        fi
+        AC_MSG_RESULT(${ok})
+        if test x"$ok" = xunknown; then
+                AC_MSG_WARN([we do not know how to create joinable pthreads])
+        fi
+
+        AC_MSG_CHECKING([if more special flags are required for pthreads])
+        flag=no
+        case "${host_cpu}-${host_os}" in
+                *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
+                *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
+        esac
+        AC_MSG_RESULT(${flag})
+        if test "x$flag" != xno; then
+                PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
+        fi
+
+        LIBS="$save_LIBS"
+        CFLAGS="$save_CFLAGS"
+
+        # More AIX lossage: must compile with cc_r
+        AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
+else
+        PTHREAD_CC="$CC"
+fi
+
+AC_SUBST(PTHREAD_LIBS)
+AC_SUBST(PTHREAD_CFLAGS)
+AC_SUBST(PTHREAD_CC)
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test x"$acx_pthread_ok" = xyes; then
+        ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
+        :
+else
+        acx_pthread_ok=no
+        $2
+fi
+AC_LANG_RESTORE
+])dnl ACX_PTHREAD
diff --git a/salome_adm/unix/config_files/check_Salome.m4 b/salome_adm/unix/config_files/check_Salome.m4
deleted file mode 100644 (file)
index ff12fd6..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#------------------------------------------------------------
-#  Check availability of Salome binary distribution
-#
-#  Author : Marc Tajchman (CEA, 2002)
-#------------------------------------------------------------
-
-AC_DEFUN([CHECK_SALOME],[
-
-AC_CHECKING(for Salome)
-
-Salome_ok=no
-
-AC_ARG_WITH(salome,
-           --with-salome=DIR root directory path of SALOME installation,
-           SALOME_DIR="$withval",SALOME_DIR="")
-
-if test "x$SALOME_DIR" == "x" ; then
-
-# no --with-salome-dir option used
-
-   if test "x$SALOME_ROOT_DIR" != "x" ; then
-
-    # SALOME_ROOT_DIR environment variable defined
-      SALOME_DIR=$SALOME_ROOT_DIR
-
-   else
-
-    # search Salome binaries in PATH variable
-      AC_PATH_PROG(TEMP, libMEDMEM_Swig.py)
-      if test "x$TEMP" != "x" ; then
-         SALOME_BIN_DIR=`dirname $TEMP`
-         SALOME_DIR=`dirname $SALOME_BIN_DIR`
-      fi
-      
-   fi
-# 
-fi
-
-if test -f ${SALOME_DIR}/bin/libMEDMEM_Swig.py  ; then
-   Salome_ok=yes
-   AC_MSG_RESULT(Using Salome distribution in ${SALOME_DIR})
-
-   if test "x$SALOME_ROOT_DIR" == "x" ; then
-      SALOME_ROOT_DIR=${SALOME_DIR}
-   fi
-   if test "x$SALOME_SITE_DIR" == "x" ; then
-      SALOME_SITE_DIR=${SALOME_ROOT_DIR}
-   fi
-   AC_SUBST(SALOME_ROOT_DIR)
-   AC_SUBST(SALOME_SITE_DIR)
-
-else
-   AC_MSG_WARN("Cannot find compiled Salome distribution")
-fi
-  
-AC_MSG_RESULT(for Salome: $Salome_ok)
-])dnl
index 5d63bc4a05d256845843cc9b4027c5cb0cb76a47..37ff78d4f2484352371a3d9af704b70faf98752e 100644 (file)
@@ -23,67 +23,117 @@ AC_DEFUN([CHECK_BOOST],[
 
 AC_CHECKING(for BOOST Library)
 
+AC_REQUIRE([ENABLE_PTHREADS])dnl
+
 AC_LANG_SAVE
 AC_LANG_CPLUSPLUS
 
-AC_SUBST(BOOST_CPPFLAGS)
 BOOST_CPPFLAGS=""
-
-AC_SUBST(BOOST_LIBS)
+BOOST_LIBSUFFIX="-mt"
 BOOST_LIBS=""
 
-AC_SUBST(BOOST_LIBTHREAD)
-BOOST_LIBTHREAD=""
+AC_CHECKING(for BOOST location)
+AC_ARG_WITH(boost,
+   [AC_HELP_STRING([--with-boost=DIR],[root directory path to BOOST library installation])],
+   [BOOSTDIR="$withval"
+    AC_MSG_RESULT("select $withval as path to BOOST library")
+   ])
 
-boost_ok=no
+AC_MSG_RESULT(\$BOOSTDIR = ${BOOSTDIR})
 
-if test -z ${BOOSTDIR}; then
-  AC_CHECK_HEADER(boost/shared_ptr.hpp,boost_ok=yes,boost_ok=no)
-  if test boost_ok = no ; then
-    AC_MSG_WARN(You must provide BOOSTDIR variable)
-  fi
-else
-  AC_MSG_RESULT(\$BOOSTDIR = ${BOOSTDIR})
+CPPFLAGS_old="${CPPFLAGS}"
+LIBS_old=$LIBS
 
-  dnl BOOST headers
-  AC_CHECKING(for boost/shared_ptr.hpp header file)
-  CPPFLAGS_old="${CPPFLAGS}"
+if test "x${BOOSTDIR}" != "x" ; then
   BOOST_CPPFLAGS="-I${BOOSTDIR}/include"
-  CPPFLAGS="${CPPFLAGS} ${BOOST_CPPFLAGS}"
-
-  AC_CHECK_HEADER(boost/shared_ptr.hpp,boost_ok=yes,boost_ok=no)
-
-  CPPFLAGS="${CPPFLAGS_old}"
-
-  if test "x${boost_ok}" = "xyes" ; then
-    AC_MSG_RESULT(\$BOOST_CPPFLAGS = ${BOOST_CPPFLAGS})
-    dnl BOOST libs
-    AC_CHECKING(for libboost_thread-mt.so library file)
-    AC_CHECK_FILE(${BOOSTDIR}/lib/libboost_thread-mt.so,boost_ok=yes,boost_ok=no)
-    if test "x${boost_ok}" = "xyes" ; then
-      BOOST_LIBTHREAD="libboost_thread-mt.so"
-      AC_MSG_RESULT(\$BOOST_LIBTHREAD = ${BOOST_LIBTHREAD})
-    else
-      AC_CHECKING(for libboost_thread.so library file)
-      AC_CHECK_FILE(${BOOSTDIR}/lib/libboost_thread.so,boost_ok=yes,boost_ok=no)
-      if test "x${boost_ok}" = "xyes" ; then
-        BOOST_LIBTHREAD="libboost_thread.so"
-        AC_MSG_RESULT(\$BOOST_LIBTHREAD = ${BOOST_LIBTHREAD})
-      fi
+  BOOST_LIBS="-L${BOOSTDIR}/lib"
+fi
+
+boost_ok=no
+boost_headers_ok=no
+boost_binaries_ok=no
+
+dnl BOOST headers
+AC_CHECKING(for BOOST headers)
+CPPFLAGS="${CPPFLAGS_old} ${BOOST_CPPFLAGS}"
+
+boost_include_dir_ok=yes
+if test "x${BOOSTDIR}" != "x" ; then
+  AC_CHECK_FILE(${BOOSTDIR}/include/boost/shared_ptr.hpp,
+                boost_include_dir_ok=yes,
+                boost_include_dir_ok=no)
+fi
+
+if test "x${boost_include_dir_ok}" = "xyes" ; then
+  AC_TRY_COMPILE([#include <boost/shared_ptr.hpp>],
+                 [boost::shared_ptr<int>(new int)],
+                 boost_headers_ok=yes,
+                 boost_headers_ok=no)
+fi
+
+if test "x${boost_headers_ok}" = "xno" ; then
+  BOOST_CPPFLAGS="BOOST_CPPFLAGS_NOT_DEFINED"
+else
+  AC_MSG_RESULT(\$BOOST_CPPFLAGS = ${BOOST_CPPFLAGS})
+fi
+AC_MSG_RESULT(for boost headers: $boost_headers_ok)
+
+if test "x${boost_headers_ok}" = "xyes" ; then
+  dnl BOOST binaries
+  AC_CHECKING(for BOOST binaries)
+  boost_lib_dir_ok=yes
+  if test "x${BOOSTDIR}" != "x" ; then
+    AC_CHECK_FILE(${BOOSTDIR}/lib/libboost_thread${BOOST_LIBSUFFIX}.so,
+                  boost_lib_dir_ok=yes,
+                  boost_lib_dir_ok=no)
+    if test "x${boost_lib_dir_ok}" = "xno" ; then
+      BOOST_LIBSUFFIX=""
+      AC_CHECK_FILE(${BOOSTDIR}/lib/libboost_thread${BOOST_LIBSUFFIX}.so,
+                    boost_lib_dir_ok=yes,
+                    boost_lib_dir_ok=no)
     fi
-    if test "x${boost_ok}" = "xyes" ; then
-      if test "x${BOOSTDIR}" = "x/usr" ; then
-        BOOST_LIBS=""
-      else
-        BOOST_LIBS="-L${BOOSTDIR}/lib"
-      fi
-      AC_MSG_RESULT(\$BOOST_LIBS = ${BOOST_LIBS})
+  fi
+  if test "x${boost_lib_dir_ok}" = "xyes" ; then
+    LIBS="${LIBS_old} ${BOOST_LIBS} -lboost_thread${BOOST_LIBSUFFIX}"
+    AC_TRY_LINK([#include <boost/thread/thread.hpp>],
+                [struct TBody{ void operator()(){} }; boost::thread(TBody())],
+                boost_binaries_ok=yes,
+                boost_binaries_ok=no)
+    if test "x${boost_binaries_ok}" = "xno" ; then
+      BOOST_LIBSUFFIX=""
+      LIBS="${LIBS_old} ${BOOST_LIBS} -lboost_thread${BOOST_LIBSUFFIX}"
+      AC_TRY_LINK([#include <boost/thread/thread.hpp>],
+                  [struct TBody{ void operator()(){} }; boost::thread(TBody())],
+                  boost_binaries_ok=yes,
+                  boost_binaries_ok=no)
     fi
   fi
 fi
 
+if test "x${boost_binaries_ok}" = "xno" ; then
+  BOOST_LIBS="BOOST_LIBS_NOT_FOUND"
+  BOOST_LIBSUFFIX="-not-defined"
+else
+  AC_MSG_RESULT(\$BOOST_LIBSUFFIX = ${BOOST_LIBSUFFIX})
+  AC_MSG_RESULT(\$BOOST_LIBS = ${BOOST_LIBS})
+fi
+AC_MSG_RESULT(for boost binaries: $boost_binaries_ok)
+
+CPPFLAGS="${CPPFLAGS_old}"
+LIBS="${LIBS_old}"
+
+if test "x${boost_headers_ok}" = "xyes" ; then
+  if test "x${boost_binaries_ok}" = "xyes" ; then
+    boost_ok=yes
+  fi
+fi
+
 AC_MSG_RESULT(for boost: $boost_ok)
 
+AC_SUBST(BOOST_CPPFLAGS)
+AC_SUBST(BOOST_LIBSUFFIX)
+AC_SUBST(BOOST_LIBS)
+
 AC_LANG_RESTORE
 
 ])dnl
index 0d1eb1653573af6474cd90c5bc73c2eb20dc87f9..2db76b8753ba1dba215a459582afb36ca9484bf7 100644 (file)
@@ -42,13 +42,11 @@ AC_SUBST(CAS_LDFLAGS)
 AC_SUBST(CAS_LDPATH)
 AC_SUBST(CAS_STDPLUGIN)
 
-OWN_CONFIG_H=no
-
 CAS_CPPFLAGS=""
 CAS_CXXFLAGS=""
 CAS_LDFLAGS=""
 occ_ok=no
-own_config_h=no
+config_h=no
 
 dnl libraries directory location
 case $host_os in
@@ -77,7 +75,7 @@ esac
 
 AC_MSG_CHECKING(for OpenCascade directories)
 
-if test -z $CASROOT; then
+if test -z "$CASROOT"; then
   AC_MSG_RESULT(CASROOT not defined)
   for d in `echo $LD_LIBRARY_PATH | sed -e "s/:/ /g"` ; do
     if test -f $d/libTKernel.so ; then
@@ -103,7 +101,7 @@ fi
 
 
 dnl were is OCC ?
-if test -z $CASROOT; then
+if test -z "$CASROOT"; then
   AC_MSG_WARN(You must provide CASROOT variable : see OCC installation manual)
 else
   occ_ok=yes
@@ -145,48 +143,25 @@ case $host_os in
 esac
   CPPFLAGS="$CPPFLAGS $CAS_CPPFLAGS"
 
-  if test -n $KERNEL_ROOT_DIR; then
-      if test -d $KERNEL_ROOT_DIR/include/salome; then
-          CAS_CPPFLAGS="$CAS_CPPFLAGS -I$KERNEL_ROOT_DIR/include/salome"
-         CPPFLAGS="$CPPFLAGS -I$KERNEL_ROOT_DIR/include/salome"
-      fi
-  fi
-  CAS_CPPFLAGS="$CAS_CPPFLAGS -I${ROOT_BUILDDIR}/include/salome"
-  CPPFLAGS="$CPPFLAGS -I${ROOT_BUILDDIR}/salome_adm/unix"
-
-  echo
   echo
   echo testing config.h
-  echo
-  echo
 
-  AC_CHECK_HEADER(config.h, own_config_h=no, [
-       echo
-       echo
-       echo "config.h file not found! Generating it..."
-       echo
-       echo
-       mv confdefs.h backup_confdefs.h
-       ${ROOT_SRCDIR}/make_config
-       rm -rf ${ROOT_BUILDDIR}/*.log
-       rm -rf ${ROOT_BUILDDIR}/*.status
-       mv backup_confdefs.h confdefs.h
-       rm -f backup_confdefs.h
-       own_config_h=yes
-       echo
-       echo
+  AC_CHECK_HEADER(config.h, config_h=yes, [
+       echo "config.h file not found!"
   ])
 
-  if test "x$own_config_h" = xyes ; then
-    OWN_CONFIG_H=yes
+  if test "x$config_h" = xno ; then
+      AC_MSG_WARN(config.h file not found)
+      dnl There is no consequence for SALOME building because
+      dnl this file is not used. SALOME uses SALOMEconfig.h instead!
+  else
+      AC_MSG_RESULT(config.h file ok)    
   fi
 
   AC_CHECK_HEADER(Standard_Type.hxx,occ_ok=yes ,occ_ok=no)
 
 fi
 
-AC_SUBST(OWN_CONFIG_H)
-
 if test "x$occ_ok" = xyes ; then
 
   AC_MSG_CHECKING(for OpenCascade libraries)
index 10c91812da6a5328131298de1a5ebe2a1f061458..9de130c26bd2796d0b935ed4b928738abb3776a6 100644 (file)
@@ -8,18 +8,18 @@ cppunit_ok=yes
 dnl were is cppunit ?
 
 AC_ARG_WITH(cppunit,
-    [  --with-cppunit=DIR     directory path to CPPUNIT installation ],
+    [AC_HELP_STRING([--with-cppunit=DIR],[directory path to CPPUNIT installation])],
     [CPPUNITHOME="$withval"
       AC_MSG_RESULT("select $withval as path to CPPUNIT")
     ])
 
 AC_ARG_WITH(cppunit_inc,
-    [  --with-cppunit_inc=DIR   directory path to CPPUNIT includes ],
+    [AC_HELP_STRING([--with-cppunit_inc=DIR],[directory path to CPPUNIT includes])],
     [CPPUNIT_INCLUDES="$withval"
       AC_MSG_RESULT("select $withval as path to CPPUNIT includes")
     ])
 
-if test -z $CPPUNITHOME; then
+if test -z "$CPPUNITHOME"; then
   AC_MSG_RESULT(CPPUNITHOME not defined)
   exits_ok=no  
   if test "x$exits_ok" = "xno"; then
@@ -43,12 +43,12 @@ if test -z $CPPUNITHOME; then
      done
   fi
   if test "x$exits_ok" = "xyes"; then
-     if test -z $CPPUNIT_INCLUDES; then
+     if test -z "$CPPUNIT_INCLUDES"; then
         CPPUNIT_INCLUDES=$CPPUNITHOME"/include"
      fi
   fi
 else
-  if test -z $CPPUNIT_INCLUDES; then
+  if test -z "$CPPUNIT_INCLUDES"; then
      CPPUNIT_INCLUDES="$CPPUNITHOME/include"
   fi           
 fi
@@ -96,13 +96,13 @@ else
     AC_SUBST(CPPUNIT_INCLUDES)
     AC_SUBST(CPPUNIT_LIBS)
     AC_SUBST(cppunit_ok)
-
     AC_MSG_RESULT(yes)
   fi
-
 fi
 
+AM_CONDITIONAL(CPPUNIT_IS_OK, [test x"$cppunit_ok" = xyes])
+
 AC_LANG_RESTORE
 
 ])dnl
-dnl
\ No newline at end of file
+dnl
index b20db13ac474e0ce1918f5e64413c51e6117c7d4..4d200e8f3a5e0d57da012842fc6b7514d9c3c56a 100644 (file)
@@ -25,7 +25,7 @@ AC_REQUIRE([AC_PROG_CPP])dnl
 AC_CHECKING(for HDF5)
 
 AC_ARG_WITH(hdf5,
-    [  --with-hdf5=DIR                 root directory path to hdf5 installation ],
+    [AC_HELP_STRING([--with-hdf5=DIR],[root directory path to hdf5 installation])],
     [HDF5HOME="$withval"
       AC_MSG_RESULT("select $withval as path to hdf5")
     ])
index 85c8dca84c637ba6dfa628bf0b9cffe10f0a7be2..d8bcb0cdcc512c1f1fe58c256467c4230a852083 100644 (file)
@@ -41,5 +41,18 @@ if test "x$PDFLATEX" = "x" ; then
 fi
 AC_SUBST(PDFLATEX)
 
+rst2html_ok=yes
+dnl were is rst2html ?
+AC_PATH_PROG(RST2HTML,rst2html) 
+if test "x$RST2HTML" = "x"; then
+  AC_PATH_PROG(RST2HTML,rst2html.py)
+fi
+
+if test "x$RST2HTML" = "x"; then
+  AC_MSG_WARN(rst2html not found)
+  rst2html_ok=no
+fi
+AC_SUBST(RST2HTML)
+
 ])dnl
 dnl
diff --git a/salome_adm/unix/config_files/check_java.m4 b/salome_adm/unix/config_files/check_java.m4
deleted file mode 100644 (file)
index c03e9f7..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-AC_DEFUN([CHECK_JAVA],[
-dnl AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
-dnl AC_REQUIRE([AC_PROG_CPP])dnl
-
-AC_CHECKING(for JAVA)
-
-JAVA_INCLUDES=""
-JAVA_LIBS=""
-JAVA_LDPATH=""
-
-java_ok=no
-
-if test -z $JAVAHOME
-then
-   AC_MSG_WARN(define JAVAHOME variable to use Java)
-else
-   java_ok=yes
-fi
-
-if  test "x$java_ok" = "xyes"
-then
-   AC_EXEEXT
-   AC_CHECK_PROG(JAVA, java$EXEEXT,found)
-   if  test "x$JAVA" = "x"
-   then
-     java_ok=no
-   fi
-
-   AC_CHECK_PROG(JAVAC, javac$EXEEXT,found)
-   if  test "x$JAVAC" = "x"
-   then
-     java_ok=no
-   fi
-fi
-
-if  test "x$java_ok" = "xyes"
-then
-    version=`$JAVA -version 2>&1 | grep "java version"`
-    case "$version" in
-      *1.1.*)
-          AC_MSG_RESULT(using jdk1.1 version - jdk1.4 required)
-         java_ok=no;;
-      *1.2*)
-          AC_MSG_RESULT(using jdk1.2 version - jdk1.4 required)
-         java_ok=no;;
-      *1.3*)
-          AC_MSG_RESULT(using jdk1.3 version - jdk1.4 required)
-         java_ok=no;;
-      *1.4*)
-          AC_MSG_RESULT(using jdk1.4 version) ;;
-    esac
-fi
-
-if  test "x$java_ok" = "xyes"
-then
-dnl java headers
-  LOCAL_INCLUDES=" -I${JAVAHOME}/include  -I${JAVAHOME}/include/linux"
-  CPPFLAGS_old="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES"
-  AC_CHECK_HEADER(jni.h,java_ok=yes ,java_ok=no)
-
-  CPPFLAGS="$CPPFLAGS_old"
-fi
-
-if  test "x$java_ok" = "xyes"
-then
-dnl libjava library
-  LOCAL_LIBS="-L${JAVAHOME}/jre/lib/i386 -ljava -L${JAVAHOME}/jre/lib/i386/client -ljvm -lverify"
-  LIBS_old="$LIBS"
-  LIBS="$LIBS $LOCAL_LIBS"
-
-  AC_CHECK_LIB(jvm,JNI_CreateJavaVM,java_ok=yes,java_ok=no)
-
-  LIBS="$LIBS_old"
-fi
-
-if  test "x$java_ok" = "xyes"
-then
-  JAVA_INCLUDES="$LOCAL_INCLUDES"
-  JAVA_LIBS="$LOCAL_LIBS"
-fi
-
-AC_SUBST(JAVA_INCLUDES)
-AC_SUBST(JAVA_LIBS)
-AC_SUBST(JAVA_LDPATH)
-
-AC_MSG_RESULT(for java: $java_ok)
-
-])dnl
-dnl
index 4a9941e2c98fe05d3d15087442300a9d80224609..e2d03b7e067ba50903c40cd0488a7efb6efc07eb 100644 (file)
@@ -25,13 +25,14 @@ AC_DEFUN([CHECK_LAM],[
 AC_REQUIRE([AC_PROG_CC])dnl
 
 AC_ARG_WITH(lam,
-           --with-lam=DIR root directory path of LAM installation,
-           WITHLAM="yes",WITHLAM="no")
+  [AC_HELP_STRING([--with-lam=DIR],[root directory path of LAM installation])],
+  WITHLAM="yes",WITHLAM="no")
 
 MPI_INCLUDES=""
 MPI_LIBS=""
 if test "$WITHLAM" = yes; then
 
+  MPIREQUESTED="yes"
   echo
   echo ---------------------------------------------
   echo testing lam
diff --git a/salome_adm/unix/config_files/check_local.m4 b/salome_adm/unix/config_files/check_local.m4
new file mode 100755 (executable)
index 0000000..6727408
--- /dev/null
@@ -0,0 +1,69 @@
+# Check for Local
+AC_DEFUN([CHECK_LOCAL],
+[
+ dnl AC_ARG_VAR([LOCAL], [])
+ AC_ARG_WITH([local], 
+             AC_HELP_STRING([--with-local],
+                            [tell configure script to use local submission. Default is --with-local.]),
+             [],
+             [withval=yes])
+
+ AC_MSG_CHECKING([for Local])
+
+ if test "x$withval" = "xyes"
+ then
+   WITH_LOCAL=yes
+
+   AC_MSG_RESULT([$withval])
+
+   AC_ARG_VAR([RM], [A path to a rm-like command])
+   AC_PATH_PROG([RM], [rm], [/bin/false])
+   AC_DEFINE_UNQUOTED(RM, "$RM", [A path to a rm-like command])
+
+   AC_ARG_VAR([SH], [A path to a sh-like command])
+   AC_PATH_PROG([SH], [sh], [/bin/false])
+   AC_DEFINE_UNQUOTED(SH, "$SH", [A path to a sh-like command])
+   AC_ARG_VAR([CP], [A path to a cp-like command])
+   AC_PATH_PROG([CP],  [cp],  [/bin/false])
+   AC_DEFINE_UNQUOTED(CP, "$CP", [A path to a cp-like command])
+
+   AC_ARG_VAR([RSH], [A path to a rsh-like command])
+   AC_PATH_PROG([RSH], [rsh], [/bin/false])
+   AC_DEFINE_UNQUOTED(RSH, "$RSH", [A path to a rsh-like command])
+   AC_ARG_VAR([RCP], [A path to a rcp-like command])
+   AC_PATH_PROG([RCP],  [rcp],  [/bin/false])
+   AC_DEFINE_UNQUOTED(RCP, "$RCP", [A path to a rcp-like command])
+
+   AC_ARG_VAR([SSH], [A path to a ssh-like command])
+   AC_PATH_PROG([SSH], [ssh], [/bin/false])
+   AC_DEFINE_UNQUOTED(SSH, "$SSH", [A path to a ssh-like command])
+   AC_ARG_VAR([SCP], [A path to a scp-like command])
+   AC_PATH_PROG([SCP],  [scp],  [/bin/false])
+   AC_DEFINE_UNQUOTED(SCP, "$SCP", [A path to a scp-like command])
+
+
+ else
+   WITH_LOCAL=no
+
+   AC_MSG_RESULT([no])
+
+ fi
+
+ AM_CONDITIONAL(WITH_LOCAL, test $WITH_LOCAL = yes)
+
+ localbatch_ok=$WITH_LOCAL
+ AC_SUBST(WITH_LOCAL)
+ AC_SUBST(RM)
+ AC_SUBST(SH)
+ AC_SUBST(CP)
+ AC_SUBST(RSH)
+ AC_SUBST(RCP)
+ AC_SUBST(SSH)
+ AC_SUBST(SCP)
+
+ dnl _CS_gbo Pour forcer l'utilisation du config.h, inclu
+ dnl par les fichiers Batch_BatchManager_Local_*.cxx 
+ dnl OWN_CONFIG_H=yes
+ dnl AC_SUBST(OWN_CONFIG_H)
+])
+
index a172d477d3f7e96d4d1a7ad52be2ace5627aa5fc..a4faddb3c2bb9f193ad8971c95f4a301f720b3b6 100755 (executable)
@@ -72,7 +72,7 @@ AC_DEFUN([CHECK_LSF],
 
  fi
 
dnl AM_CONDITIONAL(WITH_LSF, test $WITH_LSF = 1)
AM_CONDITIONAL(WITH_LSF, test $WITH_LSF = yes)
 
  lsf_ok=$WITH_LSF
  if test $lsf_ok = no ; then
diff --git a/salome_adm/unix/config_files/check_mico.m4 b/salome_adm/unix/config_files/check_mico.m4
deleted file mode 100644 (file)
index 5d97e2a..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-
-AC_DEFUN([CHECK_MICO],[
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_CXX])dnl
-AC_REQUIRE([AC_PROG_CPP])dnl
-AC_REQUIRE([AC_PROG_CXXCPP])dnl
-
-AC_CHECKING(for mico)
-mico_ok=yes
-
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-
-AC_PATH_PROG(MICOD, micod)
-if test "x$MICOD" = "x"
-then
-  mico_ok=no
-  AC_MSG_RESULT(mico binaries not in PATH variable)
-else
-  mico_ok=yes
-fi
-
-if  test "x$mico_ok" = "xyes"
-then
-  AC_SUBST(MICO_IDL)
-
-  MICO_BIN=`echo ${MICOD} | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-  MICO_LIB=`echo ${MICO_BIN} | sed -e "s,bin,lib,"`
-  MICO_ROOT=`echo ${MICO_BIN}  | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-  AC_SUBST(MICO_ROOT)
-
-  MICO_IDL=${MICO_BIN}/idl
-  AC_SUBST(MICO_IDL)
-
-  MICO_INCLUDES="-I$MICO_ROOT/include"
-  AC_SUBST(MICO_INCLUDES)
-
-  MICO_VERSION=`sed -n -e 's/.define *MICO_VERSION *\"\([[^\"]]*\)\"/\1/p' $MICO_ROOT/include/mico/version.h`
-  AC_SUBST(MICO_VERSION)
-  AC_MSG_RESULT(using mico version $MICO_VERSION)
-
-  MICO_CXXFLAGS="-ftemplate-depth-42 -fpermissive"
-  AC_SUBST(MICO_CXXFLAGS)
-
-  CXXFLAGS_old=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS $MICO_CXXFLAGS $MICO_INCLUDES"
-
-  AC_MSG_CHECKING(include of CORBA.h)
-  AC_TRY_COMPILE(
-#include "CORBA.h"
-, ,mico_ok=yes ,mico_ok=no)
-
-  if  test "x$mico_ok" = "xno"
-  then
-    AC_MSG_RESULT(CORBA.h not found in mico installation)
-  else
-    AC_MSG_RESULT(yes)
-  fi
-
-  CXXFLAGS=$CXXFLAGS_old
-
-fi
-
-if test "x$mico_ok" = "xyes" 
-then
-  if test "x$MICO_LIB" = "x/usr/lib"
-  then
-    MICO_LDFLAGS=""
-  else
-    MICO_LDFLAGS="-L$MICO_LIB"
-  fi
-
-  LIBS_old=$LIBS
-  MICO_LIBS="$MICO_LDFLAGS -lmico$MICO_VERSION -ldl"
-  AC_SUBST(MICO_LIBS)
-
-  LIBS="$MICO_LIBS $LIBS"
-  CXXFLAGS_old=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS $MICO_CXXFLAGS $MICO_INCLUDES"
-
-  AC_MSG_CHECKING(whether we can link with mico)
-  AC_TRY_LINK(
-#include "CORBA.h"
-,CORBA::ORB_var orb,
-    mico_ok=yes,mico_ok=no)
-
-  if test "x$mico_ok" = "xno" 
-  then
-    AC_MSG_RESULT(mico library linking failed)
-    mico_ok=no
-  else
-    AC_MSG_RESULT(yes)
-  fi
-
-  CXXFLAGS=$CXXFLAGS_old
-  LIBS=$LIBS_old
-fi
-
-
-if test "x$mico_ok" = "xyes" 
-then
-
-  MICO_IDLCXXFLAGS="-bcxx -I$MICO_ROOT/idl"
-  AC_SUBST(MICO_IDLCXXFLAGS)
-  AC_SUBST(MICO_IDLPYFLAGS)
-
-  MICO_IDL_CLN_H=.hh
-  MICO_IDL_CLN_CXX=SK.cc
-  MICO_IDL_CLN_OBJ=SK.o 
-  AC_SUBST(MICO_IDL_CLN_H)
-  AC_SUBST(MICO_IDL_CLN_CXX)
-  AC_SUBST(MICO_IDL_CLN_OBJ)
-
-  MICO_IDL_SRV_H=.hh
-  MICO_IDL_SRV_CXX=SK.cc
-  MICO_IDL_SRV_OBJ=SK.o
-  AC_SUBST(MICO_IDL_SRV_H)
-  AC_SUBST(MICO_IDL_SRV_CXX)
-  AC_SUBST(MICO_IDL_SRV_OBJ)
-
-  MICO_IDL_TIE_H=
-  MICO_IDL_TIE_CXX=
-  AC_SUBST(MICO_IDL_TIE_H)
-  AC_SUBST(MICO_IDL_TIE_CXX)
-  
-  AC_DEFINE(MICO)
-
-  CORBA_HAVE_POA=1
-  AC_DEFINE(CORBA_HAVE_POA)
-
-fi
-
-AC_LANG_RESTORE
-
-AC_MSG_RESULT(for mico: $mico_ok)
-
-])dnl
-dnl
index e8255a2e482ea4bd414468c9661f3354006cd8ac..57b796b729d46a609821b9e5c0134ef5f76d9a8b 100644 (file)
@@ -25,12 +25,14 @@ AC_DEFUN([CHECK_MPI],[
 AC_REQUIRE([AC_PROG_CC])dnl
 
 AC_ARG_WITH(mpi,
-           --with-mpi=DIR root directory path of MPICH installation,
-           WITHMPI="yes",WITHMPI="no")
+   [AC_HELP_STRING([--with-mpi=DIR],[root directory path of MPICH installation])],
+   MPIREQUESTED="yes",MPIREQUESTED="no")
 
 MPI_INCLUDES=""
 MPI_LIBS=""
-if test "$WITHMPI" = yes; then
+WITHMPI=no
+mpi_ok=no
+if test x"$MPIREQUESTED" = xyes; then
 
   echo
   echo ---------------------------------------------
@@ -96,7 +98,7 @@ dnl
 
 fi
 
-if test "$WITHMPI2" = "yes";then
+if test x$WITHMPI2 = xyes; then
   CPPFLAGS="-DHAVE_MPI2 $CPPFLAGS"
   CORBA_IDLCXXFLAGS="-DHAVE_MPI2 $CORBA_IDLCXXFLAGS"
   CORBA_IDLPYFLAGS="-DHAVE_MPI2 $CORBA_IDLPYFLAGS"
@@ -106,4 +108,5 @@ AC_SUBST(WITHMPI)
 AC_SUBST(MPI_INCLUDES)
 AC_SUBST(MPI_LIBS)
 AC_SUBST(mpi_ok)
+AM_CONDITIONAL(MPI_IS_OK, [test x"$mpi_ok" = xyes])
 ])dnl
index c5971aa35220357ed5215b58a4305fec9f7d40f3..732ff94bcc4c7ae40a3ba727eb59c93e53e51183 100644 (file)
@@ -25,13 +25,14 @@ AC_DEFUN([CHECK_MPICH],[
 AC_REQUIRE([AC_PROG_CC])dnl
 
 AC_ARG_WITH(mpich,
-           --with-mpich=DIR root directory path of MPICH installation,
-           WITHMPICH="yes",WITHMPICH="no")
+  [AC_HELP_STRING([--with-mpich=DIR],[root directory path of MPICH installation])],
+  WITHMPICH="yes",WITHMPICH="no")
 
 MPI_INCLUDES=""
 MPI_LIBS=""
 if test "$WITHMPICH" = yes; then
 
+  MPIREQUESTED="yes"
   echo
   echo ---------------------------------------------
   echo testing mpich
diff --git a/salome_adm/unix/config_files/check_msg2qm.m4 b/salome_adm/unix/config_files/check_msg2qm.m4
deleted file mode 100755 (executable)
index 8d0c547..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-# Check availability of Qt's msg2qm tool binary distribution
-#
-# Author : Jerome Roy (CEA, 2003)
-#
-
-AC_DEFUN([CHECK_MSG2QM],[
-
-AC_CHECKING(for msg2qm)
-
-msg2qm_ok=no
-
-AC_ARG_WITH(msg2qm,
-           [  --with-msg2qm=DIR               root directory path of MSG2QM installation],
-           MSG2QM_DIR="$withval",MSG2QM_DIR="")
-
-if test "x$MSG2QM_DIR" == "x" ; then
-
-# no --with-MSG2QM-dir option used
-
-   if test "x$MSG2QM_ROOT" != "x" ; then
-
-    # MSG2QM_ROOT environment variable defined
-      MSG2QM_DIR=$MSG2QM_ROOT
-
-   else
-
-    # search MSG2QM binaries in PATH variable
-      AC_PATH_PROG(TEMP, msg2qm)
-      if test "x$TEMP" != "x" ; then
-         MSG2QM_DIR=`dirname $TEMP`
-      fi
-      
-   fi
-# 
-fi
-
-# look for msg2qm in ${MSG2QM_DIR} directory
-if test -f ${MSG2QM_DIR}/msg2qm ; then
-   msg2qm_ok=yes
-   MSG2QM="${MSG2QM_DIR}/msg2qm"
-   AC_MSG_RESULT(Using MSG2QM executable in ${MSG2QM_DIR})
-else
-   # if not found, look for msg2qm in ${MSG2QM_DIR}/bin directory
-   if test -f ${MSG2QM_DIR}/bin/msg2qm ; then
-      msg2qm_ok=yes
-      MSG2QM="${MSG2QM_DIR}/bin/msg2qm"
-      AC_MSG_RESULT(Using MSG2QM executable in ${MSG2QM_DIR}/bin)
-   else            
-      AC_MSG_WARN("Cannot find MSG2QM executable")
-   fi
-fi
-
-AC_SUBST(MSG2QM)
-AC_MSG_RESULT(for MSG2QM: $msg2qm_ok)
-])dnl
index 7a6b6fd6dd8416103438511d68c22247d6dd81a5..392a70aa05caa11513e79e038a48436d6318af09 100644 (file)
@@ -70,6 +70,12 @@ then
       ;;
   esac
   case $build_os in
+    osf*)
+      AC_DEFINE(__osf1__)
+      __OSVERSION__=5
+      AC_DEFINE(__OSVERSION__)
+      OMNIORB_CXXFLAGS="$OMNIORB_CXXFLAGS -D__osf1__"
+      ;;
     solaris*)
       AC_DEFINE(__sunos__)
       __OSVERSION__=5
index dd43d25a03a6b873d0ddee362a62704078b2bb61..bb549fac2cfbefb716db06a557edf00f3a1b48b9 100644 (file)
@@ -23,12 +23,12 @@ AC_DEFUN([CHECK_OPENGL],[
 AC_REQUIRE([AC_PROG_CC])dnl
 AC_REQUIRE([AC_PROG_CPP])dnl
 AC_ARG_WITH(opengl,
-   [  --with-opengl=DIR root directory path of OpenGL installation ],
-   [
-      opengl_dir="$withval"
-      local_opengl=yes
-    ], [
-      dirs="/usr/lib /usr/local/lib /opt/graphics/OpenGL/lib /usr/openwin/lib /usr/X11R6/lib"
+  [AC_HELP_STRING([--with-opengl=DIR],[root directory path of OpenGL installation])],
+  [
+    opengl_dir="$withval"
+    local_opengl=yes
+  ], [
+    dirs="/usr/lib /usr/local/lib /opt/graphics/OpenGL/lib /usr/openwin/lib /usr/X11R6/lib"
     ])dnl
 
 AC_CHECKING(for OpenGL)
index 01454588660c6f0357742cb8a877cd1678054fb9..977aa776d6e018d3015036213bc8fe73b947281a 100644 (file)
@@ -61,5 +61,7 @@ AC_DEFUN([CHECK_OPENPBS],
  fi
  AC_SUBST(WITHOPENPBS)
 
+ AM_CONDITIONAL(WITH_OPENPBS, test $WITHOPENPBS = yes)
+
 ])
 
diff --git a/salome_adm/unix/config_files/check_pthreads.m4 b/salome_adm/unix/config_files/check_pthreads.m4
deleted file mode 100644 (file)
index d503388..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-#@synonpsis CHECK_PTHREADS
-dnl  check for pthreads system interfaces.
-dnl  set CFLAGS_PTHREADS,  CXXFLAGS_PTHREADS and LIBS_PTHREADS to
-dnl  flags to compiler flags for multithread program compilation (if exists),
-dnl  and library, if one required.
-dnl
-dnl@author   (C) Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>, 1998
-dnl@id $Id$
-dnl ----------------------------------------------------------------
-dnl CHECK_PTHREADS
-AC_DEFUN([CHECK_PTHREADS],[
-AC_CXX_OPTION(-pthread,CPPFLAGS,flag=yes,flag=no)
-
-if test $flag = no; then
-  AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
-  AC_CHECK_HEADER(pthread.h,AC_DEFINE(HAVE_PTHREAD_H))
-  AC_CHECK_LIB(posix4,nanosleep, LIBS_PTHREADS="-lposix4",LIBS_PTHREADS="")
-  AC_CHECK_LIB(pthread,pthread_mutex_lock, 
-               LIBS_PTHREADS="-lpthread $LIBS_PTHREADS",LIBS_PTHREADS="")
-else
-  LDFLAGS="-pthread $LDFLAGS"
-fi
-
-if test $flag = no && x$LIBS_PTHREADS = x; then
-  threads_ok=no
-else
-  threads_ok=yes
-fi
-])dnl
-dnl
-dnl
diff --git a/salome_adm/unix/config_files/check_pyqt.m4 b/salome_adm/unix/config_files/check_pyqt.m4
deleted file mode 100644 (file)
index ee024ef..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-dnl Copyright (C) 2003  CEA/DEN, EDF R&D
-
-AC_DEFUN([CHECK_PYQT],[
-AC_REQUIRE([CHECK_PYTHON])dnl
-AC_REQUIRE([CHECK_QT])dnl
-AC_REQUIRE([CHECK_SIP])dnl
-
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-
-AC_ARG_WITH(pyqt,
-    [  --with-pyqt=DIR      root directory path to PyQt installation ],
-    [PYQTDIR="$withval"
-      AC_MSG_RESULT("select $withval as path to PyQt")
-    ])
-
-AC_ARG_WITH(pyqt_sips,
-    [  --with-pyqt_sips=DIR      a directory path to PyQt sips installation ],
-    [PYQT_SIPS="$withval"
-      AC_MSG_RESULT("select $withval as path to PyQt sips")
-    ])
-
-
-AC_ARG_WITH(pyuic,
-    [  --with-pyuic=EXEC pyuic executable ],
-    [PYUIC="$withval"
-      AC_MSG_RESULT("select $withval as pyqt executable")
-    ])
-
-AC_CHECKING(for pyqt)
-
-pyqt_ok=yes
-
-dnl look for pyuic
-pyqt_uic_ok=no
-if test "x$PYUIC" != x; then
-  dnl try withval value
-  AC_CHECK_FILE($PYUIC,pyqt_uic_ok=yes,pyqt_uic_ok=no)
-fi
-if test "x$pyqt_uic_ok" == "xno"; then
-  dnl try ${PYQTDIR}
-  if test "x${PYQTDIR}" != "x"; then
-    if test -d ${PYQTDIR} ; then
-      AC_CHECK_FILE(${PYQTDIR}/pyuic,pyqt_uic_ok=yes,pyqt_uic_ok=no)
-      if test "x$pyqt_uic_ok" == "xyes"; then
-        PYUIC="${PYQTDIR}/pyuic"
-      fi
-    fi
-  fi   
-fi
-if test "x$pyqt_uic_ok" == "xno"; then
-  dnl try ${SIPDIR}
-  if test "x${SIPDIR}" != "x"; then
-    if test -d ${SIPDIR} ; then
-      AC_CHECK_FILE(${SIPDIR}/pyuic,pyqt_uic_ok=yes,pyqt_uic_ok=no)
-      if test "x$pyqt_uic_ok" == "xyes"; then
-        PYUIC="${SIPDIR}/pyuic"
-      fi
-    fi
-  fi   
-fi
-if test "x$pyqt_uic_ok" == "xno"; then
-  dnl try ${PYTHONHOME}/bin
-  if test "x${PYTHONHOME}" != "x"; then
-    if test -d ${PYTHONHOME}/bin ; then
-      AC_CHECK_FILE(${PYTHONHOME}/bin/pyuic,pyqt_uic_ok=yes,pyqt_uic_ok=no)
-      if test "x$pyqt_uic_ok" == "xyes"; then
-        PYUIC="${PYTHONHOME}/bin/pyuic"
-      fi
-    fi
-  fi   
-fi
-if test "x$pyqt_uic_ok" == "xno"; then
-  dnl try /usr/bin
-  AC_CHECK_FILE(/usr/bin/pyuic,pyqt_uic_ok=yes,pyqt_uic_ok=no)
-  if test "x$pyqt_uic_ok" == "xyes"; then
-    PYUIC="/usr/bin/pyuic"
-  fi
-fi
-if test "x$pyqt_uic_ok" == "xno"; then
-  pyqt_ok=no
-fi
-
-dnl look for PyQt libs
-pyqt_lib_ok=no
-if test "x${PYQTDIR}" != "x"; then
-  dnl try {PYQTDIR}
-  AC_CHECK_FILE(${PYQTDIR}/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-  if test "x$pyqt_lib_ok" == "xyes"; then
-    if test "x${PYQTDIR}" = "x/usr/lib"
-    then
-      PYQT_LIBS="-lqtcmodule"
-    else
-      PYQT_LIBS="-L${PYQTDIR} -lqtcmodule"
-    fi
-  else 
-    AC_CHECK_FILE(${PYQTDIR}/qt.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-    if test "x$pyqt_lib_ok" == "xyes"; then
-      if test "x${PYQTDIR}" = "x/usr/lib"
-      then
-        PYQT_LIBS=""
-      else
-        PYQT_LIBS="-L${PYQTDIR}"
-      fi
-    fi
-  fi
-  if test "x$pyqt_lib_ok" == "xno"; then
-    dnl try {PYQTDIR}/lib
-    if test -d {PYQTDIR}/lib; then
-      AC_CHECK_FILE(${PYQTDIR}/lib/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-      if test "x$pyqt_lib_ok" == "xyes"; then
-        PYQT_LIBS="-L${PYQTDIR}/lib -lqtcmodule"
-      else 
-        AC_CHECK_FILE(${PYQTDIR}/lib/qt.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-        if test "x$pyqt_lib_ok" == "xyes"; then
-          PYQT_LIBS="-L${PYQTDIR}/lib"
-        fi
-      fi
-    fi
-  fi
-  if test "x$pyqt_lib_ok" == "xno"; then
-    dnl try {PYQTDIR}/lib/python${PYTHON_VERSION}/site-packages
-    if test -d {PYQTDIR}/lib/python${PYTHON_VERSION}/site-packages; then
-      AC_CHECK_FILE(${PYQTDIR}/lib/python${PYTHON_VERSION}/site-packages/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-      if test "x$pyqt_lib_ok" == "xyes"; then
-        PYQT_LIBS="-L${PYQTDIR}/lib/python${PYTHON_VERSION}/site-packages -lqtcmodule"
-      else 
-        AC_CHECK_FILE(${PYQTDIR}/lib/python${PYTHON_VERSION}/site-packages/qt.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-        if test "x$pyqt_lib_ok" == "xyes"; then
-          PYQT_LIBS="-L${PYQTDIR}/lib/python${PYTHON_VERSION}/site-packages"
-        fi
-      fi
-    fi
-  fi
-fi
-if test "x$pyqt_lib_ok" == "xno"; then
-  dnl try ${SIPDIR}
-  if test "x${SIPDIR}" != "x"; then
-    if test -d ${SIPDIR} ; then
-      AC_CHECK_FILE(${SIPDIR}/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-      if test "x$pyqt_lib_ok" == "xyes"; then
-        if test "x${SIPDIR}" = "x/usr/lib"
-        then
-          PYQT_LIBS="-lqtcmodule"
-        else
-          PYQT_LIBS="-L${SIPDIR} -lqtcmodule"
-        fi
-      else 
-        AC_CHECK_FILE(${SIPDIR}/qt.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-        if test "x$pyqt_lib_ok" == "xyes"; then
-          if test "x${SIPDIR}" = "x/usr/lib"
-          then
-            PYQT_LIBS=""
-          else
-            PYQT_LIBS="-L${SIPDIR}"
-          fi
-        fi
-      fi
-    fi
-  fi
-fi
-if test "x$pyqt_lib_ok" == "xno"; then
-  dnl try ${PYTHONHOME}/lib/python${PYTHON_VERSION}/site-packages
-  if test "x${PYTHONHOME}" != "x"; then
-    if test -d ${PYTHONHOME}/lib/python${PYTHON_VERSION}/site-packages ; then
-      AC_CHECK_FILE(${PYTHONHOME}/lib/python${PYTHON_VERSION}/site-packages/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-      if test "x$pyqt_lib_ok" == "xyes"; then
-        PYQT_LIBS="-L${PYTHONHOME}/lib/python${PYTHON_VERSION}/site-packages -lqtcmodule"
-      else 
-        AC_CHECK_FILE(${PYTHONHOME}/lib/python${PYTHON_VERSION}/site-packages/qt.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-        if test "x$pyqt_lib_ok" == "xyes"; then
-          PYQT_LIBS="-L${PYTHONHOME}/lib/python${PYTHON_VERSION}/site-packages"
-        fi
-      fi
-    fi
-  fi   
-fi
-if test "x$pyqt_lib_ok" == "xno"; then
-  dnl try /usr/lib/python${PYTHON_VERSION}/site-packages
-  AC_CHECK_FILE(/usr/lib/python${PYTHON_VERSION}/site-packages/libqtcmodule.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-  if test "x$pyqt_lib_ok" == "xyes"; then
-    PYQT_LIBS="-L/usr/lib/python${PYTHON_VERSION}/site-packages -lqtcmodule"
-  else 
-    AC_CHECK_FILE(/usr/lib/python${PYTHON_VERSION}/site-packages/qt.so,pyqt_lib_ok=yes,pyqt_lib_ok=no)
-    if test "x$pyqt_lib_ok" == "xyes"; then
-      PYQT_LIBS="-L/usr/lib/python${PYTHON_VERSION}/site-packages"
-    fi
-  fi
-fi
-if test "x$pyqt_lib_ok" == "xno"; then
-  pyqt_ok=no
-fi
-
-dnl look for PyQt sips
-pyqt_sips_ok=no
-dnl try ${PYQT_SIPS} or ${PYQT_SIPS}/qt
-if test "x${PYQT_SIPS}" != "x"; then
-  AC_CHECK_FILE(${PYQT_SIPS}/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-  if test "x$pyqt_sips_ok" == "xno"; then
-    AC_CHECK_FILE(${PYQT_SIPS}/qt/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-    if test "x$pyqt_sips_ok" == "xyes"; then
-      PYQT_SIPS="${PYQT_SIPS}/qt"
-    fi
-  fi
-fi
-if test "x$pyqt_sips_ok" == "xno"; then
-  dnl try ${PYQTDIR}/sip
-  if test "x${PYQTDIR}" != "x"; then
-    if test -d ${PYQTDIR}/sip ; then
-      AC_CHECK_FILE(${PYQTDIR}/sip/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-      if test "x$pyqt_sips_ok" == "xyes"; then
-        PYQT_SIPS="${PYQTDIR}/sip"
-      else
-        AC_CHECK_FILE(${PYQTDIR}/sip/qt/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-        if test "x$pyqt_sips_ok" == "xyes"; then
-          PYQT_SIPS="${PYQTDIR}/sip/qt"
-        fi
-      fi
-    fi
-  fi
-fi
-if test "x$pyqt_sips_ok" == "xno"; then
-  dnl try ${SIPDIR}/sip
-  if test "x${SIPDIR}" != "x"; then
-    if test -d ${SIPDIR}/sip ; then
-      AC_CHECK_FILE(${SIPDIR}/sip/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-      if test "x$pyqt_sips_ok" == "xyes"; then
-        PYQT_SIPS="${SIPDIR}/sip"
-      else
-        AC_CHECK_FILE(${SIPDIR}/sip/qt/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-        if test "x$pyqt_sips_ok" == "xyes"; then
-          PYQT_SIPS="${SIPDIR}/sip/qt"
-        fi
-      fi
-    fi
-  fi
-fi
-if test "x$pyqt_sips_ok" == "xno"; then
-  dnl try /usr/share/sip
-  if test -d /usr/share/sip ; then
-    AC_CHECK_FILE(/usr/share/sip/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-    if test "x$pyqt_sips_ok" == "xyes"; then
-      PYQT_SIPS="/usr/share/sip"
-    else
-      AC_CHECK_FILE(/usr/share/sip/qt/qglobal.sip,pyqt_sips_ok=yes,pyqt_sips_ok=no)
-      if test "x$pyqt_sips_ok" == "xyes"; then
-        PYQT_SIPS="/usr/share/sip/qt"
-      fi
-    fi
-  fi
-fi
-if test "x$pyqt_sips_ok" == "xno"; then
-  pyqt_ok=no
-else
-  PYQT_INCLUDES="-I$PYQT_SIPS"
-  
-  dnl Additional sip flags required for correct wrappers compilation
-  AC_MSG_CHECKING(which qt classes should be excluded)
-
-  PYQT_SIPFLAGS=""
-
-  CXXFLAGS_old=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS $QT_INCLUDES"
-  LIBS_old=$LIBS
-  LIBS="$LIBS $QT_LIBS"
-
-  AC_TRY_COMPILE([#include <qcdestyle.h>],
-                 [new QCDEStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_CDE")
-  AC_TRY_COMPILE([#include <qinterlacestyle.h>],
-                 [new QInterlaceStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_INTERLACE")
-  AC_TRY_COMPILE([#include <qmotifstyle.h>],
-                 [new QMotifStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_MOTIF")
-  AC_TRY_COMPILE([#include <qmotifplusstyle.h>],
-                 [new QMotifPlusStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_MOTIFPLUS")
-  AC_TRY_COMPILE([#include <qplatinumstyle.h>],
-                 [new QPlatinumStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_PLATINUM")
-  AC_TRY_COMPILE([#include <qsgistyle.h>],
-                 [new QSGIStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_SGI")
-  AC_TRY_COMPILE([#include <qwindowsstyle.h>],
-                 [new QWindowsStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_WINDOWS")
-  AC_TRY_COMPILE([#include <qwindowsxpstyle.h>],
-                 [new QWindowsXPStyle();],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_STYLE_WINDOWSXP")
-
-  LIBS="$LIBS -lqassistantclient"
-  AC_TRY_LINK([#include <qassistantclient.h>],
-              [new QAssistantClient("foo");],,PYQT_SIPFLAGS="$PYQT_SIPFLAGS -x Qt_ASSISTANTCLIENT")
-
-  AC_MSG_RESULT(done)
-
-  CXXFLAGS=$CXXFLAGS_old
-  LIBS=$LIBS_old
-fi
-
-AC_SUBST(PYQT_INCLUDES)
-AC_SUBST(PYQT_LIBS)
-AC_SUBST(PYQT_SIPS)
-AC_SUBST(PYUIC)
-AC_SUBST(PYQT_SIPFLAGS)
-
-AC_LANG_RESTORE
-
-AC_MSG_RESULT(for pyqt: $pyqt_ok)
-
-])dnl
-dnl
-
-
index ab2869c21b1cc31c76d888a91a7d219ff72715fe..3fe9ad7ea4a7973c99b2c2625fbf18a346c01717 100644 (file)
@@ -160,6 +160,7 @@ AC_SUBST(UIC)
 
 AC_SUBST(QT_ROOT)
 AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_MT_INCLUDES)
 AC_SUBST(QT_LIBS)
 AC_SUBST(QT_MT_LIBS)
 AC_SUBST(QT_VERS)
diff --git a/salome_adm/unix/config_files/check_qwt.m4 b/salome_adm/unix/config_files/check_qwt.m4
deleted file mode 100644 (file)
index 13bf909..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-dnl Copyright (C) 2003  CEA/DEN, EDF R&D
-
-AC_DEFUN([CHECK_QWT],[
-AC_REQUIRE([CHECK_QT])dnl
-
-AC_CHECKING(for qwt)
-
-qwt_ok=yes
-
-dnl were is qwt ?
-
-AC_ARG_WITH(qwt,
-    [  --with-qwt=DIR     directory path to QWT installation ],
-    [QWTHOME="$withval"
-      AC_MSG_RESULT("select $withval as path to QWT")
-    ])
-
-AC_ARG_WITH(qwt_inc,
-    [  --with-qwt_inc=DIR   directory path to QWT includes ],
-    [QWT_INCLUDES="$withval"
-      AC_MSG_RESULT("select $withval as path to QWT includes")
-    ])
-
-if test -z $QWTHOME; then
-  AC_MSG_RESULT(QWTHOME not defined)
-  exits_ok=no  
-  if test "x$exits_ok" = "xno"; then
-     for d in /usr/local /usr ; do
-        AC_CHECK_FILE(${d}/lib/libqwt.so,exits_ok=yes,exits_ok=no)
-        if test "x$exits_ok" = "xyes"; then
-           QWTHOME=$d
-           AC_MSG_RESULT(libqwt.so detected in $d/lib)
-        fi
-     done
-  fi
-  if test "x$exits_ok" = "xno"; then
-     for d in `echo $LD_LIBRARY_PATH | sed -e "s/:/ /g"` ; do
-        if test -f $d/libqwt.so ; then
-           AC_MSG_RESULT(libqwt.so detected in $d)
-           QWTHOME=$d
-           QWTHOME=`echo ${QWTHOME} | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-           exits_ok=yes
-           break
-        fi
-     done
-  fi
-  if test "x$exits_ok" = "xyes"; then
-     if test -z $QWT_INCLUDES; then
-        QWT_INCLUDES=$QWTHOME"/include/qwt"
-        if test ! -f $QWT_INCLUDES/qwt.h ; then
-          QWT_INCLUDES=$QWTHOME"/include"
-        fi
-        if test ! -f $QWT_INCLUDES/qwt.h ; then
-          QWT_INCLUDES=/usr/lib/qt3/include/qwt
-        fi
-     fi
-  fi
-else
-  if test -z $QWT_INCLUDES; then
-     QWT_INCLUDES="$QWTHOME/include"
-  fi           
-fi
-
-if test "x$qwt_ok" = xno -o ! -d "$QWTHOME" ; then
-  AC_MSG_RESULT(no)
-  AC_MSG_WARN(qwt not found)
-  qwt_ok=no
-else
-   AC_LANG_SAVE
-   AC_LANG_CPLUSPLUS
-   CPPFLAGS_old=$CPPFLAGS
-   CPPFLAGS="$CPPFLAGS -I$QWT_INCLUDES"
-   CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
-
-   AC_CHECK_HEADER(qwt.h,qwt_ok=yes,qwt_ok=no) 
-
-   CPPFLAGS=$CPPFLAGS_old
-
-   if test "x$qwt_ok" = xno ; then
-     AC_MSG_RESULT(no)
-     AC_MSG_WARN(qwt not found)
-  else
-     qwt_ok=yes
-  fi
-
-if  test "x$qwt_ok" = "xyes"
-then
-  AC_MSG_CHECKING(linking qwt library)
-  LIBS_old=$LIBS
-  if test "x$QTDIR" = "x/usr"
-  then
-    LIBS="$LIBS -lqt-mt"
-  else
-    LIBS="$LIBS -L$QTDIR/lib -lqt-mt"
-  fi
-  if test "x$QWTHOME" = "x/usr"
-  then
-    LIBS="$LIBS -lqwt"
-  else
-    LIBS="$LIBS -L$QWTHOME/lib -lqwt"
-  fi
-
-  CXXFLAGS_old=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS $QT_INCLUDES -I$QWT_INCLUDES"
-
-  AC_CACHE_VAL(salome_cv_lib_qwt,[
-    AC_TRY_LINK(
-#include <qapplication.h>
-#include <qwt_plot.h>
-,   int n;
-    char **s;
-    QApplication a(n, s);
-    QwtPlot* p;
-    a.setMainWidget(p);
-    a.exec();,
-    eval "salome_cv_lib_qwt=yes",eval "salome_cv_lib_qwt=no")
-  ])
-  qwt_ok="$salome_cv_lib_qwt"
-
-  if  test "x$qwt_ok" = "xno"
-  then
-    AC_MSG_RESULT(unable to link with qwt library)
-    AC_MSG_RESULT(QWTHOME environment variable may be wrong)
-  else
-    QWT_INCLUDES="-I$QWT_INCLUDES"
-    if test "x$QWTHOME" = "x/usr"
-    then
-      QWT_LIBS=" -lqwt"
-    else
-      QWT_LIBS="-L$QWTHOME/lib -lqwt"
-    fi
-
-    AC_SUBST(QWT_INCLUDES)
-    AC_SUBST(QWT_LIBS)
-
-    AC_MSG_RESULT(yes)
-  fi
-
-  LIBS=$LIBS_old
-  CXXFLAGS=$CXXFLAGS_old
-
-fi
-
-
-  AC_LANG_RESTORE
-
-fi
-
-
-])dnl
-dnl
diff --git a/salome_adm/unix/config_files/check_sip.m4 b/salome_adm/unix/config_files/check_sip.m4
deleted file mode 100644 (file)
index 245f238..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-dnl Copyright (C) 2003  CEA/DEN, EDF R&D
-
-AC_DEFUN([CHECK_SIP],[
-AC_REQUIRE([CHECK_PYTHON])dnl
-AC_REQUIRE([CHECK_QT])dnl
-
-sip_ok=yes
-
-AC_ARG_WITH(sip,
-    [  --with-sip=EXEC sip executable ],
-    [SIP="$withval"
-      AC_MSG_RESULT("select $withval as sip executable")
-    ], [
-      AC_PATH_PROG(SIP, sip)
-    ])
-
-if test "x$SIP" = "x" ; then
-    sip_ok=no
-    AC_MSG_RESULT(sip not in PATH variable)
-else
-    version=`$SIP -V`
-    AC_MSG_RESULT(sip version is $version)
-    case "$version" in
-         3.2*)
-           SIP_VERS=v3_old ;;
-         3.3*)
-           SIP_VERS=v3_old ;;
-         3.4*)
-           SIP_VERS=v3_old ;;
-         3.5*)
-           SIP_VERS=v3_old ;;
-         3.6*)
-           SIP_VERS=v3_old ;;
-         3.7*)
-           SIP_VERS=v3_old ;;
-         3.8*)
-           SIP_VERS=v3_old ;;
-         3.9*)
-           SIP_VERS=v3_old ;;
-         3.10*)
-           SIP_VERS=v3_new ;;
-         4.1*)
-           SIP_VERS=v4_old ;;
-         4.2*)
-           SIP_VERS=v4_new ;;
-         *)
-           AC_MSG_RESULT(sip version $version not supported)
-           SIP_VERS=unsupported ;;
-    esac
-
-    sip_ok=no
-    dnl Search sip.h file
-    if test "x$SIPDIR" != "x" ; then
-        dnl look for sip.h in ${SIPDIR}
-        AC_CHECK_FILE(${SIPDIR}/sip.h,sip_ok=yes,sip_ok=no)
-       if test "x$sip_ok" == "xyes" ; then
-           SIP_INCLUDES="-I${SIPDIR}"
-       fi
-        if test "x$sip_ok" == "xno" ; then
-            dnl look for sip.h in ${SIPDIR}/include/python${PYTHON_VERSION}
-           if test -d ${SIPDIR}/include/python${PYTHON_VERSION} ; then
-               AC_CHECK_FILE(${SIPDIR}/include/python${PYTHON_VERSION}/sip.h,sip_ok=yes,sip_ok=no)
-               if test "x$sip_ok" == "xyes" ; then
-                   SIP_INCLUDES="-I${SIPDIR}/include/python${PYTHON_VERSION}"
-               fi
-           fi
-       fi
-    fi
-    if test "x$sip_ok" == "xno" ; then
-        dnl look for sip.h in ${PYTHON_PREFIX}/include/python${PYTHON_VERSION}
-       if test -d ${PYTHON_PREFIX}/include/python${PYTHON_VERSION} ; then
-            AC_CHECK_FILE(${PYTHON_PREFIX}/include/python${PYTHON_VERSION}/sip.h,sip_ok=yes,sip_ok=no)
-           if test "x$sip_ok" == "xyes" ; then
-               SIP_INCLUDES="${PYTHON_INCLUDES}"
-            fi
-       fi
-    fi
-    if test "x$sip_ok" == "xno" ; then
-        dnl look for sip.h in /usr/include/python${PYTHON_VERSION}
-       if test -d /usr/include/python${PYTHON_VERSION} ; then
-            AC_CHECK_FILE(/usr/include/python${PYTHON_VERSION}/sip.h,sip_ok=yes,sip_ok=no)
-           if test "x$sip_ok" == "xyes" ; then
-               SIP_INCLUDES="/usr/include/python${PYTHON_VERSION}"
-            fi
-       fi
-    fi
-       
-    dnl Search (lib)sip.so file
-    sip_lib_ok=no
-    if test "x$SIPDIR" != "x" ; then
-        dnl look for (lib)sip.so in ${SIPDIR}
-        AC_CHECK_FILE(${SIPDIR}/libsip.so,sip_lib_ok=yes,sip_lib_ok=no)
-       if test "x$sip_lib_ok" == "xyes" ; then
-            if test "x${SIPDIR}" = "x/usr/lib"
-            then
-              SIP_LIBS="-lsip"
-            else
-              SIP_LIBS="-L${SIPDIR} -lsip"
-            fi
-       else
-           AC_CHECK_FILE(${SIPDIR}/sip.so,sip_lib_ok=yes,sip_lib_ok=no)
-           if test "x$sip_lib_ok" == "xyes" ; then
-              if test "x${SIPDIR}" = "x/usr/lib"
-              then
-                SIP_LIBS=""
-              else
-                SIP_LIBS="-L${SIPDIR}"
-              fi
-           fi
-       fi
-
-        if test "x$sip_lib_ok" == "xno" ; then
-            dnl look for (lib)sip.so in ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
-           if test -d ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages ; then
-               AC_CHECK_FILE(${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages/libsip.so,sip_lib_ok=yes,sip_lib_ok=no)
-               if test "x$sip_lib_ok" == "xyes" ; then
-                   SIP_LIBS="-L${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages -lsip"
-               else
-                   AC_CHECK_FILE(${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages/sip.so,sip_lib_ok=yes,sip_lib_ok=no)
-                   if test "x$sip_lib_ok" == "xyes" ; then
-                       SIP_LIBS="-L${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages"
-                   fi
-               fi
-           fi
-       fi
-    fi
-    if test "x$sip_lib_ok" == "xno" ; then
-        dnl look for (lib)sip.so in ${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/site-packages
-       if test -d ${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/site-packages ; then
-            AC_CHECK_FILE(${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/site-packages/libsip.so,sip_lib_ok=yes,sip_lib_ok=no)
-           if test "x$sip_lib_ok" == "xyes" ; then
-               SIP_LIBS="-L${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/site-packages -lsip"
-           else
-               AC_CHECK_FILE(${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/site-packages/sip.so,sip_lib_ok=yes,sip_lib_ok=no)
-                if test "x$sip_lib_ok" == "xyes" ; then
-                   SIP_LIBS="-L${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"
-                fi
-           fi
-       fi
-    fi
-    if test "x$sip_lib_ok" == "xno" ; then
-        dnl look for (lib)sip.so in /usr/lib/python${PYTHON_VERSION}/site-packages
-       if test -d /usr/lib/python${PYTHON_VERSION}/site-packages ; then
-            AC_CHECK_FILE(/usr/lib/python${PYTHON_VERSION}/site-packages/libsip.so,sip_lib_ok=yes,sip_lib_ok=no)
-           if test "x$sip_lib_ok" == "xyes" ; then
-               SIP_LIBS="-L$/usr/lib/python${PYTHON_VERSION}/site-packages -lsip"
-           else
-               AC_CHECK_FILE(/usr/lib/python${PYTHON_VERSION}/site-packages/sip.so,sip_lib_ok=yes,sip_lib_ok=no)
-                if test "x$sip_lib_ok" == "xyes" ; then
-                   SIP_LIBS="-L/usr/lib/python${PYTHON_VERSION}/site-packages"
-               fi
-            fi
-       fi
-    fi
-    if test "x$sip_lib_ok" == "xno" ; then
-        sip_ok=no
-    fi
-fi
-
-AC_SUBST(SIP)
-AC_SUBST(SIP_INCLUDES)
-AC_SUBST(SIP_LIBS)
-AC_SUBST(SIP_VERS)
-
-AC_MSG_RESULT(for sip: $sip_ok)
-
-])dnl
-dnl
index 10408c009575de98a5fcdbd43595b2173d82b05a..db9d234e9ec7f95808e8782f441809e4a5cbee28 100644 (file)
@@ -26,7 +26,7 @@ AC_REQUIRE([CHECK_PYTHON])dnl
 swig_ok=yes
 
 AC_ARG_WITH(swig,
-    [  --with-swig=EXEC swig executable ],
+    [AC_HELP_STRING([--with-swig=EXEC],[swig executable])],
     [SWIG="$withval"
       AC_MSG_RESULT("select $withval as swig executable")
     ], [
diff --git a/salome_adm/unix/config_files/check_vtk.m4 b/salome_adm/unix/config_files/check_vtk.m4
deleted file mode 100644 (file)
index df9245b..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-dnl 
-dnl  This library is free software; you can redistribute it and/or 
-dnl  modify it under the terms of the GNU Lesser General Public 
-dnl  License as published by the Free Software Foundation; either 
-dnl  version 2.1 of the License. 
-dnl 
-dnl  This library is distributed in the hope that it will be useful, 
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-dnl  Lesser General Public License for more details. 
-dnl 
-dnl  You should have received a copy of the GNU Lesser General Public 
-dnl  License along with this library; if not, write to the Free Software 
-dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-dnl 
-dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-dnl
-dnl
-dnl
-
-AC_DEFUN([CHECK_VTK],[
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_CXX])dnl
-AC_REQUIRE([AC_PROG_CPP])dnl
-AC_REQUIRE([AC_PROG_CXXCPP])dnl
-
-AC_CHECKING(for VTK)
-
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-
-AC_SUBST(VTK_INCLUDES)
-AC_SUBST(VTK_LIBS)
-AC_SUBST(VTKPY_MODULES)
-
-VTK_INCLUDES=""
-VTK_LIBS=""
-VTKPY_MODULES=""
-
-vtk_ok=no
-
-AC_PATH_X
-
-if test "x$OpenGL_ok" != "xyes"
-then
-   AC_MSG_WARN(vtk needs OpenGL correct configuration, check configure output)
-fi
-
-if test "x$x_libraries" != "x"
-then
-   LXLIB="-L$x_libraries"
-else
-   LXLIB=""
-fi
-
-if test "x$x_libraries" = "x/usr/lib"
-then
-   LXLIB=""
-fi
-
-if test "x$x_libraries" = "x/usr/lib"
-then
-   LXLIB=""
-fi
-
-if test "x$x_libraries" = "x/usr/lib"
-then
-   LXLIB=""
-fi
-
-LOCAL_INCLUDES="$OGL_INCLUDES"
-LOCAL_LIBS="-lvtkCommon -lvtkGraphics -lvtkImaging -lvtkFiltering -lvtkIO -lvtkRendering -lvtkHybrid $OGL_LIBS $LXLIB -lX11 -lXt"
-TRY_LINK_LIBS="-lvtkCommon $OGL_LIBS $LXLIB -lX11 -lXt"
-
-if test -z $VTKHOME
-then 
-   AC_MSG_WARN(undefined VTKHOME variable which specify where vtk was compiled)
-   if test -f /usr/include/vtk/vtkPlane.h ; then
-      AC_MSG_RESULT(trying /usr)
-      VTKHOME="/usr"
-   fi
-fi
-
-if test ! -z $VTKHOME
-then
-   LOCAL_INCLUDES="-I$VTKHOME/include/vtk $LOCAL_INCLUDES"
-   LOCAL_LIBS="-L$VTKHOME/lib/vtk $LOCAL_LIBS"
-   TRY_LINK_LIBS="-L$VTKHOME/lib/vtk $TRY_LINK_LIBS"
-fi
-
-dnl vtk headers
-CPPFLAGS_old="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES"
-
-AC_CHECK_HEADER(vtkPlane.h,vtk_ok="yes",vtk_ok="no")
-
- CPPFLAGS="$CPPFLAGS_old"
-
- if  test "x$vtk_ok" = "xyes"
- then
-   VTK_INCLUDES="$LOCAL_INCLUDES"
-
- dnl vtk libraries
-
-   AC_MSG_CHECKING(linking VTK library)
-
-  LIBS_old="$LIBS"
-#  LIBS="$LIBS $TRY_LINK_LIBS"
-  LIBS="$LIBS $LOCAL_LIBS"
-  CPPFLAGS_old="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $VTK_INCLUDES"
-
- dnl  VTKPY_MODULES="$VTKHOME/python"
-
-   AC_CACHE_VAL(salome_cv_lib_vtk,[
-     AC_TRY_LINK(
-#include "vtkPlane.h"
-,   vtkPlane *p = vtkPlane::New();,
-    eval "salome_cv_lib_vtk=yes",eval "salome_cv_lib_vtk=no")
-  ])
-  vtk_ok="$salome_cv_lib_vtk"
-  LIBS="$LIBS_old"
-  CPPFLAGS="$CPPFLAGS_old"
-
-fi
-
-if  test "x$vtk_ok" = "xno"
-then
-  AC_MSG_RESULT("no")
-  AC_MSG_WARN(unable to link with vtk library)
-else
-  AC_MSG_RESULT("yes")
-  VTK_LIBS="$LOCAL_LIBS"
-  VTK_MT_LIBS="$LOCAL_LIBS"
-fi
-
-AC_MSG_RESULT("for vtk: $vtk_ok")
-
-AC_LANG_RESTORE
-
-# Save cache
-AC_CACHE_SAVE
-
-])dnl
-
-
diff --git a/salome_adm/unix/config_files/config.guess b/salome_adm/unix/config_files/config.guess
deleted file mode 100755 (executable)
index 0ce538b..0000000
+++ /dev/null
@@ -1,1183 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
-#   Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
-
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
-  if test x"$HOST_CC" != x; then
-    CC_FOR_BUILD="$HOST_CC"
-  else
-    if test x"$CC" != x; then
-      CC_FOR_BUILD="$CC"
-    else
-      CC_FOR_BUILD=cc
-    fi
-  fi
-fi
-
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-       PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-       # Netbsd (nbsd) targets should (where applicable) match one or
-       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-       # switched to ELF, *-*-netbsd* would select the old
-       # object file format.  This provides both forward
-       # compatibility and a consistent mechanism for selecting the
-       # object file format.
-       # Determine the machine/vendor (is the vendor relevant).
-       case "${UNAME_MACHINE}" in
-           amiga) machine=m68k-cbm ;;
-           arm32) machine=arm-unknown ;;
-           atari*) machine=m68k-atari ;;
-           sun3*) machine=m68k-sun ;;
-           mac68k) machine=m68k-apple ;;
-           macppc) machine=powerpc-apple ;;
-           hp3[0-9][05]) machine=m68k-hp ;;
-           ibmrt|romp-ibm) machine=romp-ibm ;;
-           *) machine=${UNAME_MACHINE}-unknown ;;
-       esac
-       # The Operating System including object format.
-       if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-               | grep __ELF__ >/dev/null
-       then
-           # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-           # Return netbsd for either.  FIX?
-           os=netbsd
-       else
-           os=netbsdelf
-       fi
-       # The OS release
-       release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-       # contains redundant information, the shorter form:
-       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
-       exit 0 ;;
-    alpha:OSF1:*:*)
-       if test $UNAME_RELEASE = "V4.0"; then
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-       fi
-       # A Vn.n version is a released version.
-       # A Tn.n version is a released field test version.
-       # A Xn.n version is an unreleased experimental baselevel.
-       # 1.2 uses "1.2" for uname -r.
-       cat <<EOF >$dummy.s
-       .data
-\$Lformat:
-       .byte 37,100,45,37,120,10,0     # "%d-%x\n"
-
-       .text
-       .globl main
-       .align 4
-       .ent main
-main:
-       .frame \$30,16,\$26,0
-       ldgp \$29,0(\$27)
-       .prologue 1
-       .long 0x47e03d80 # implver \$0
-       lda \$2,-1
-       .long 0x47e20c21 # amask \$2,\$1
-       lda \$16,\$Lformat
-       mov \$0,\$17
-       not \$1,\$18
-       jsr \$26,printf
-       ldgp \$29,0(\$26)
-       mov 0,\$16
-       jsr \$26,exit
-       .end main
-EOF
-       $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-       if test "$?" = 0 ; then
-               case `./$dummy` in
-                       0-0)
-                               UNAME_MACHINE="alpha"
-                               ;;
-                       1-0)
-                               UNAME_MACHINE="alphaev5"
-                               ;;
-                       1-1)
-                               UNAME_MACHINE="alphaev56"
-                               ;;
-                       1-101)
-                               UNAME_MACHINE="alphapca56"
-                               ;;
-                       2-303)
-                               UNAME_MACHINE="alphaev6"
-                               ;;
-                       2-307)
-                               UNAME_MACHINE="alphaev67"
-                               ;;
-               esac
-       fi
-       rm -f $dummy.s $dummy
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit 0 ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit 0 ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit 0 ;;
-    Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-cbm-sysv4
-       exit 0;;
-    amiga:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
-       exit 0 ;;
-    arc64:OpenBSD:*:*)
-       echo mips64el-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    arc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    hkmips:OpenBSD:*:*)
-       echo mips-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    pmax:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    sgi:OpenBSD:*:*)
-       echo mips-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit 0 ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
-       exit 0;;
-    SR2?01:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit 0;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit 0 ;;
-    NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit 0 ;;
-    sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit 0 ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit 0 ;;
-    i86pc:SunOS:5.*:*)
-       echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit 0 ;;
-    sun4*:SunOS:6*:*)
-       # According to config.sub, this is the proper way to canonicalize
-       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-       # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit 0 ;;
-    sun4*:SunOS:*:*)
-       case "`/usr/bin/arch -k`" in
-           Series*|S4*)
-               UNAME_RELEASE=`uname -v`
-               ;;
-       esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-       exit 0 ;;
-    sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
-       exit 0 ;;
-    sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-       case "`/bin/arch`" in
-           sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
-               ;;
-           sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
-               ;;
-       esac
-       exit 0 ;;
-    aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
-       exit 0 ;;
-    atari*:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-       exit 0 ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-       exit 0 ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit 0 ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
-    sun3*:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mac68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-       echo m88k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
-       exit 0 ;;
-    RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit 0 ;;
-    RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
-       exit 0 ;;
-    VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
-       exit 0 ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
-       exit 0 ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-       sed 's/^        //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-       #if defined (host_mips) && defined (MIPSEB)
-       #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-       #endif
-       #endif
-         exit (-1);
-       }
-EOF
-       $CC_FOR_BUILD $dummy.c -o $dummy \
-         && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-         && rm $dummy.c $dummy && exit 0
-       rm -f $dummy.c $dummy
-       echo mips-mips-riscos${UNAME_RELEASE}
-       exit 0 ;;
-    Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit 0 ;;
-    m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit 0 ;;
-    m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit 0 ;;
-    m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit 0 ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-       then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
-           then
-               echo m88k-dg-dgux${UNAME_RELEASE}
-           else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
-           fi
-       else
-           echo i586-dg-dgux${UNAME_RELEASE}
-       fi
-       exit 0 ;;
-    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit 0 ;;
-    M88*:*:R3*:*)
-       # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit 0 ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit 0 ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit 0 ;;
-    *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-       exit 0 ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-       exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i?86:AIX:*:*)
-       echo i386-ibm-aix
-       exit 0 ;;
-    *:AIX:2:3)
-       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               sed 's/^                //' << EOF >$dummy.c
-               #include <sys/systemcfg.h>
-
-               main()
-                       {
-                       if (!__power_pc())
-                               exit(1);
-                       puts("powerpc-ibm-aix3.2.5");
-                       exit(0);
-                       }
-EOF
-               $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-               rm -f $dummy.c $dummy
-               echo rs6000-ibm-aix3.2.5
-       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
-       else
-               echo rs6000-ibm-aix3.2
-       fi
-       exit 0 ;;
-    *:AIX:*:4)
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
-               IBM_ARCH=rs6000
-       else
-               IBM_ARCH=powerpc
-       fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=4.${UNAME_RELEASE}
-       fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-       exit 0 ;;
-    *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit 0 ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-       echo romp-ibm-bsd4.4
-       exit 0 ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-       exit 0 ;;                           # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit 0 ;;
-    DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit 0 ;;
-    9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit 0 ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit 0 ;;
-    9000/[34678]??:HP-UX:*:*)
-       case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
-           9000/[678][0-9][0-9])
-              sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-               {
-               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-               case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-                   switch (bits)
-                       {
-                       case 64: puts ("hppa2.0w"); break;
-                       case 32: puts ("hppa2.0n"); break;
-                       default: puts ("hppa2.0"); break;
-                       } break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-                   puts ("hppa2.0"); break;
-              #endif
-               default: puts ("hppa1.0"); break;
-               }
-                  exit (0);
-              }
-EOF
-       (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-       rm -f $dummy.c $dummy
-       esac
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit 0 ;;
-    3050*:HI-UX:*:*)
-       sed 's/^        //' << EOF >$dummy.c
-       #include <unistd.h>
-       int
-       main ()
-       {
-         long cpu = sysconf (_SC_CPU_VERSION);
-         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-            results, however.  */
-         if (CPU_IS_PA_RISC (cpu))
-           {
-             switch (cpu)
-               {
-                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-                 default: puts ("hppa-hitachi-hiuxwe2"); break;
-               }
-           }
-         else if (CPU_IS_HP_MC68K (cpu))
-           puts ("m68k-hitachi-hiuxwe2");
-         else puts ("unknown-hitachi-hiuxwe2");
-         exit (0);
-       }
-EOF
-       $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-       rm -f $dummy.c $dummy
-       echo unknown-hitachi-hiuxwe2
-       exit 0 ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-       echo hppa1.1-hp-bsd
-       exit 0 ;;
-    9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit 0 ;;
-    *9??*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit 0 ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-       echo hppa1.1-hp-osf
-       exit 0 ;;
-    hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit 0 ;;
-    i?86:OSF1:*:*)
-       if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
-       else
-           echo ${UNAME_MACHINE}-unknown-osf1
-       fi
-       exit 0 ;;
-    parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit 0 ;;
-    hppa*:OpenBSD:*:*)
-       echo hppa-unknown-openbsd
-       exit 0 ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-        exit 0 ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-        exit 0 ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-        exit 0 ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-        exit 0 ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-        exit 0 ;;
-    CRAY*X-MP:*:*:*)
-       echo xmp-cray-unicos
-        exit 0 ;;
-    CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE}
-       exit 0 ;;
-    CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-       exit 0 ;;
-    CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit 0 ;;
-    CRAY*T3E:*:*:*)
-       echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit 0 ;;
-    CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit 0 ;;
-    CRAY-2:*:*:*)
-       echo cray2-cray-unicos
-        exit 0 ;;
-    F300:UNIX_System_V:*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
-    F301:UNIX_System_V:*:*)
-       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
-       exit 0 ;;
-    hp300:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-       exit 0 ;;
-    sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
-       exit 0 ;;
-    *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-       exit 0 ;;
-    *:FreeBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit 0 ;;
-    *:OpenBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-       exit 0 ;;
-    i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
-       exit 0 ;;
-    i*:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
-       exit 0 ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i386-pc-interix
-       exit 0 ;;
-    i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
-       exit 0 ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
-       exit 0 ;;
-    prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit 0 ;;
-    *:GNU:*:*)
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-       exit 0 ;;
-    *:Linux:*:*)
-
-       # The BFD linker knows what the default object file format is, so
-       # first see if it will tell us. cd to the root directory to prevent
-       # problems with other programs or directories called `ld' in the path.
-       ld_help_string=`cd /; ld --help 2>&1`
-       ld_supported_emulations=`echo $ld_help_string \
-                        | sed -ne '/supported emulations:/!d
-                                   s/[         ][      ]*/ /g
-                                   s/.*supported emulations: *//
-                                   s/ .*//
-                                   p'`
-        case "$ld_supported_emulations" in
-         *ia64)
-               echo "${UNAME_MACHINE}-unknown-linux"
-               exit 0
-               ;;
-         i?86linux)
-               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-               exit 0
-               ;;
-         elf_i?86)
-               echo "${UNAME_MACHINE}-pc-linux"
-               exit 0
-               ;;
-         i?86coff)
-               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-               exit 0
-               ;;
-         sparclinux)
-               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-               exit 0
-               ;;
-         armlinux)
-               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-               exit 0
-               ;;
-         elf32arm*)
-               echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
-               exit 0
-               ;;
-         armelf_linux*)
-               echo "${UNAME_MACHINE}-unknown-linux-gnu"
-               exit 0
-               ;;
-         m68klinux)
-               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-               exit 0
-               ;;
-         elf32ppc | elf32ppclinux)
-               # Determine Lib Version
-               cat >$dummy.c <<EOF
-#include <features.h>
-#if defined(__GLIBC__)
-extern char __libc_version[];
-extern char __libc_release[];
-#endif
-main(argc, argv)
-     int argc;
-     char *argv[];
-{
-#if defined(__GLIBC__)
-  printf("%s %s\n", __libc_version, __libc_release);
-#else
-  printf("unkown\n");
-#endif
-  return 0;
-}
-EOF
-               LIBC=""
-               $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
-               if test "$?" = 0 ; then
-                       ./$dummy | grep 1\.99 > /dev/null
-                       if test "$?" = 0 ; then
-                               LIBC="libc1"
-                       fi
-               fi
-               rm -f $dummy.c $dummy
-               echo powerpc-unknown-linux-gnu${LIBC}
-               exit 0
-               ;;
-       esac
-
-       if test "${UNAME_MACHINE}" = "alpha" ; then
-               cat <<EOF >$dummy.s
-                       .data
-               \$Lformat:
-                       .byte 37,100,45,37,120,10,0     # "%d-%x\n"
-
-                       .text
-                       .globl main
-                       .align 4
-                       .ent main
-               main:
-                       .frame \$30,16,\$26,0
-                       ldgp \$29,0(\$27)
-                       .prologue 1
-                       .long 0x47e03d80 # implver \$0
-                       lda \$2,-1
-                       .long 0x47e20c21 # amask \$2,\$1
-                       lda \$16,\$Lformat
-                       mov \$0,\$17
-                       not \$1,\$18
-                       jsr \$26,printf
-                       ldgp \$29,0(\$26)
-                       mov 0,\$16
-                       jsr \$26,exit
-                       .end main
-EOF
-               LIBC=""
-               $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-               if test "$?" = 0 ; then
-                       case `./$dummy` in
-                       0-0)
-                               UNAME_MACHINE="alpha"
-                               ;;
-                       1-0)
-                               UNAME_MACHINE="alphaev5"
-                               ;;
-                       1-1)
-                               UNAME_MACHINE="alphaev56"
-                               ;;
-                       1-101)
-                               UNAME_MACHINE="alphapca56"
-                               ;;
-                       2-303)
-                               UNAME_MACHINE="alphaev6"
-                               ;;
-                       2-307)
-                               UNAME_MACHINE="alphaev67"
-                               ;;
-                       esac
-
-                       objdump --private-headers $dummy | \
-                         grep ld.so.1 > /dev/null
-                       if test "$?" = 0 ; then
-                               LIBC="libc1"
-                       fi
-               fi
-               rm -f $dummy.s $dummy
-               echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
-       elif test "${UNAME_MACHINE}" = "mips" ; then
-         cat >$dummy.c <<EOF
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __MIPSEB__
-  printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
-  printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-         $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-         rm -f $dummy.c $dummy
-       elif test "${UNAME_MACHINE}" = "s390"; then
-         echo s390-ibm-linux && exit 0
-       else
-         # Either a pre-BFD a.out linker (linux-gnuoldld)
-         # or one that does not give us useful --help.
-         # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
-         # If ld does not provide *any* "supported emulations:"
-         # that means it is gnuoldld.
-         echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
-         test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-
-         case "${UNAME_MACHINE}" in
-         i?86)
-           VENDOR=pc;
-           ;;
-         *)
-           VENDOR=unknown;
-           ;;
-         esac
-         # Determine whether the default compiler is a.out or elf
-         cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-#  if __GLIBC__ >= 2
-    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-#  else
-    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-#  endif
-# else
-   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
-  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-         $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-         rm -f $dummy.c $dummy
-       fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
-# are messed up and put the nodename in both sysname and nodename.
-    i?86:DYNIX/ptx:4*:*)
-       echo i386-sequent-sysv4
-       exit 0 ;;
-    i?86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-       # I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit 0 ;;
-    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-       else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-       fi
-       exit 0 ;;
-    i?86:*:5:7*)
-        # Fixed at (any) Pentium or better
-        UNAME_MACHINE=i586
-        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
-           echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
-       else
-           echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-       fi
-       exit 0 ;;
-    i?86:*:3.2:*)
-       if test -f /usr/options/cb.name; then
-               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-       elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
-                       && UNAME_MACHINE=i586
-               (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-       else
-               echo ${UNAME_MACHINE}-pc-sysv32
-       fi
-       exit 0 ;;
-    i?86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit 0 ;;
-    pc:*:*:*)
-       # Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-       echo i386-pc-msdosdjgpp
-        exit 0 ;;
-    Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit 0 ;;
-    paragon:*:*:*)
-       echo i860-intel-osf1
-       exit 0 ;;
-    i860:*:4.*:*) # i860-SVR4
-       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-       else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-       fi
-       exit 0 ;;
-    mini*:CTIX:SYS*5:*)
-       # "miniframe"
-       echo m68010-convergent-sysv
-       exit 0 ;;
-    M68*:*:R3V[567]*:*)
-       test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
-       OS_REL=''
-       test -r /etc/.relid \
-       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && echo i486-ncr-sysv4.3${OS_REL} && exit 0
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
-    mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit 0 ;;
-    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
-    TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
-    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
-    SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
-       exit 0 ;;
-    RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit 0 ;;
-    RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit 0 ;;
-    *:SINIX-*:*:*)
-       if uname -p 2>/dev/null >/dev/null ; then
-               UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
-       else
-               echo ns32k-sni-sysv
-       fi
-       exit 0 ;;
-    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                           # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit 0 ;;
-    *:UNIX_System_V:4*:FTX*)
-       # From Gerald Hewes <hewes@openmarket.com>.
-       # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit 0 ;;
-    *:*:*:FTX*)
-       # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit 0 ;;
-    mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
-       exit 0 ;;
-    news*:NEWS-OS:*:6*)
-       echo mips-sony-newsos6
-       exit 0 ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
-       else
-               echo mips-unknown-sysv${UNAME_RELEASE}
-       fi
-        exit 0 ;;
-    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit 0 ;;
-    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit 0 ;;
-    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit 0 ;;
-    SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
-       exit 0 ;;
-    SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
-       exit 0 ;;
-    Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
-       exit 0 ;;
-    *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-       exit 0 ;;
-    *:Darwin:*:*)
-       echo `uname -p`-apple-darwin${UNAME_RELEASE}
-       exit 0 ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       if test "${UNAME_MACHINE}" = "x86pc"; then
-               UNAME_MACHINE=pc
-       fi
-       echo `uname -p`-${UNAME_MACHINE}-nto-qnx
-       exit 0 ;;
-    *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit 0 ;;
-    NSR-W:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
-       exit 0 ;;
-    BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit 0 ;;
-    DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-       exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-         ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
-  printf ("vax-dec-bsd\n"); exit (0);
-#else
-  printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit 0 ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit 0 ;;
-    c34*)
-       echo c34-convex-bsd
-       exit 0 ;;
-    c38*)
-       echo c38-convex-bsd
-       exit 0 ;;
-    c4*)
-       echo c4-convex-bsd
-       exit 0 ;;
-    esac
-fi
-
-#echo '(Unable to guess system type)' 1>&2
-
-exit 1
diff --git a/salome_adm/unix/config_files/config.sub b/salome_adm/unix/config_files/config.sub
deleted file mode 100755 (executable)
index c8e7785..0000000
+++ /dev/null
@@ -1,1268 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
-#   Free Software Foundation, Inc.
-#
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-if [ x$1 = x ]
-then
-       echo Configuration name missing. 1>&2
-       echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
-       echo "or     $0 ALIAS" 1>&2
-       echo where ALIAS is a recognized configuration type. 1>&2
-       exit 1
-fi
-
-# First pass through any local machine types.
-case $1 in
-       *local*)
-               echo $1
-               exit 0
-               ;;
-       *)
-       ;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple)
-               os=
-               basic_machine=$1
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*)
-               os=-lynxos
-               ;;
-       -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-               ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
-               ;;
-       -psos*)
-               os=-psos
-               ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
-               | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
-               | 580 | i960 | h8300 \
-               | x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
-               | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-               | hppa64 \
-               | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
-               | alphaev6[78] \
-               | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
-               | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
-               | mips64orion | mips64orionel | mipstx39 | mipstx39el \
-               | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
-               | mips64vr5000 | miprs64vr5000el | mcore \
-               | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
-               | thumb | d10v | fr30 | avr)
-               basic_machine=$basic_machine-unknown
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
-               ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i[34567]86)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-       # Recognize the basic CPU types with company name.
-       # FIXME: clean up the formatting here.
-       vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
-             | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
-             | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-             | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
-             | xmp-* | ymp-* \
-             | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
-             | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
-             | hppa2.0n-* | hppa64-* \
-             | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
-             | alphaev6[78]-* \
-             | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
-             | clipper-* | orion-* \
-             | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
-             | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
-             | mips64el-* | mips64orion-* | mips64orionel-* \
-             | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
-             | mipstx39-* | mipstx39el-* | mcore-* \
-             | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
-             | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
-             | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
-             | bs2000-*)
-               ;;
-       # Recognize the various machine names and aliases which stand
-       # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-unknown
-               os=-bsd
-               ;;
-       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
-               ;;
-       3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-cbm
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-cbm
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-cbm
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | ymp)
-               basic_machine=ymp-cray
-               os=-unicos
-               ;;
-       cray2)
-               basic_machine=cray2-cray
-               os=-unicos
-               ;;
-       [ctj]90-cray)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
-               ;;
-       delta | 3300 | motorola-3300 | motorola-delta \
-             | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
-               ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2* | dpx2*-bull)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
-               ;;
-       encore | umax | mmax)
-               basic_machine=ns32k-encore
-               ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
-               ;;
-       fx2800)
-               basic_machine=i860-alliant
-               ;;
-       genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
-               ;;
-       hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
-               ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
-               ;;
-       hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k78[0-9] | hp78[0-9])
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
-               ;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-       i[34567]86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
-               ;;
-       i[34567]86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
-               ;;
-       i[34567]86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv
-               ;;
-       i[34567]86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
-               ;;
-       i386-vsta | vsta)
-               basic_machine=i386-unknown
-               os=-vsta
-               ;;
-       i386-go32 | go32)
-               basic_machine=i386-unknown
-               os=-go32
-               ;;
-       i386-mingw32 | mingw32)
-               basic_machine=i386-unknown
-               os=-mingw32
-               ;;
-       iris | iris4d)
-               basic_machine=mips-sgi
-               case $os in
-                   -irix*)
-                       ;;
-                   *)
-                       os=-irix4
-                       ;;
-               esac
-               ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mipsel*-linux*)
-               basic_machine=mipsel-unknown
-               os=-linux-gnu
-               ;;
-       mips*-linux*)
-               basic_machine=mips-unknown
-               os=-linux-gnu
-               ;;
-       mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       mmix*)
-               basic_machine=mmix-knuth
-               os=-mmixware
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       msdos)
-               basic_machine=i386-unknown
-               os=-msdos
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
-               ;;
-       news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
-               ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next )
-               basic_machine=m68k-next
-               case $os in
-                   -nextstep* )
-                       ;;
-                   -ns2*)
-                     os=-nextstep2
-                       ;;
-                   *)
-                     os=-nextstep3
-                       ;;
-               esac
-               ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       np1)
-               basic_machine=np1-gould
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
-               ;;
-       op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
-               ;;
-       pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       pbd)
-               basic_machine=sparc-tti
-               ;;
-       pbb)
-               basic_machine=m68k-tti
-               ;;
-        pc532 | pc532-*)
-               basic_machine=ns32k-pc532
-               ;;
-       pentium | p5 | k5 | k6 | nexen)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexen-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pn)
-               basic_machine=pn-gould
-               ;;
-       power)  basic_machine=rs6000-ibm
-               ;;
-       ppc)    basic_machine=powerpc-unknown
-               ;;
-       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ps2)
-               basic_machine=i386-ibm
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       rm[46]00)
-               basic_machine=mips-siemens
-               ;;
-       rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       sequent)
-               basic_machine=i386-sequent
-               ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
-               ;;
-       sparclite-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
-               ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
-               ;;
-       spur)
-               basic_machine=spur-unknown
-               ;;
-       st2000)
-               basic_machine=m68k-tandem
-               ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
-               ;;
-       sun2)
-               basic_machine=m68000-sun
-               ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
-               ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
-               ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
-               ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
-               ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
-               ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
-               ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
-               ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
-               ;;
-       sun4)
-               basic_machine=sparc-sun
-               ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
-               ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
-               ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
-               ;;
-       t3e)
-               basic_machine=t3e-cray
-               os=-unicos
-               ;;
-       tx39)
-               basic_machine=mipstx39-unknown
-               ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
-               ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
-               ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
-               ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
-               ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
-               ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
-               ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
-               ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
-               ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
-               ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
-               ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
-               ;;
-       xmp)
-               basic_machine=xmp-cray
-               os=-unicos
-               ;;
-        xps | xps100)
-               basic_machine=xps100-honeywell
-               ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
-               ;;
-       none)
-               basic_machine=none-none
-               os=-none
-               ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
-               ;;
-       op50n)
-               basic_machine=hppa1.1-oki
-               ;;
-       op60c)
-               basic_machine=hppa1.1-oki
-               ;;
-       mips)
-               if [ x$os = x-linux-gnu ]; then
-                       basic_machine=mips-unknown
-               else
-                       basic_machine=mips-mips
-               fi
-               ;;
-       romp)
-               basic_machine=romp-ibm
-               ;;
-       rs6000)
-               basic_machine=rs6000-ibm
-               ;;
-       vax)
-               basic_machine=vax-dec
-               ;;
-       pdp11)
-               basic_machine=pdp11-dec
-               ;;
-       we32k)
-               basic_machine=we32k-att
-               ;;
-       sparc | sparcv9)
-               basic_machine=sparc-sun
-               ;;
-        cydra)
-               basic_machine=cydra-cydrome
-               ;;
-       orion)
-               basic_machine=orion-highlevel
-               ;;
-       orion105)
-               basic_machine=clipper-highlevel
-               ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
-               ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
-               ;;
-       c4x*)
-               basic_machine=c4x-none
-               os=-coff
-               ;;
-       *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-               ;;
-       *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-               ;;
-       *)
-               ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
-               ;;
-       -solaris)
-               os=-solaris2
-               ;;
-       -svr4*)
-               os=-sysv4
-               ;;
-       -unixware*)
-               os=-sysv4.2uw
-               ;;
-       -gnu/linux*)
-               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-               ;;
-       # First accept the basic system types.
-       # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-             | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit*)
-       # Remember, each alternative MUST END IN *, to match a version number.
-               ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i[34567]86-*)
-                       ;;
-                   *)
-                       os=-nto$os
-                       ;;
-               esac
-               ;;
-       -nto*)
-               os=-nto-qnx
-               ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-               ;;
-       -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
-               ;;
-       -linux*)
-               os=`echo $os | sed -e 's|linux|linux-gnu|'`
-               ;;
-       -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
-               ;;
-       -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
-               ;;
-       -opened*)
-               os=-openedition
-               ;;
-       -wince*)
-               os=-wince
-               ;;
-       -osfrose*)
-               os=-osfrose
-               ;;
-       -osf*)
-               os=-osf
-               ;;
-       -utek*)
-               os=-bsd
-               ;;
-       -dynix*)
-               os=-bsd
-               ;;
-       -acis*)
-               os=-aos
-               ;;
-       -386bsd)
-               os=-bsd
-               ;;
-       -ctix* | -uts*)
-               os=-sysv
-               ;;
-       -ns2 )
-               os=-nextstep2
-               ;;
-       -nsk)
-               os=-nsk
-               ;;
-       # Preserve the version number of sinix5.
-       -sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
-               ;;
-       -sinix*)
-               os=-sysv4
-               ;;
-       -triton*)
-               os=-sysv3
-               ;;
-       -oss*)
-               os=-sysv3
-               ;;
-       -svr4)
-               os=-sysv4
-               ;;
-       -svr3)
-               os=-sysv3
-               ;;
-       -sysvr4)
-               os=-sysv4
-               ;;
-       # This must come after -sysvr4.
-       -sysv*)
-               ;;
-       -ose*)
-               os=-ose
-               ;;
-       -es1800*)
-               os=-ose
-               ;;
-       -xenix)
-               os=-xenix
-               ;;
-        -*mint | -*MiNT)
-               os=-mint
-               ;;
-       -none)
-               ;;
-       *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-       *-acorn)
-               os=-riscix1.2
-               ;;
-       arm*-rebel)
-               os=-linux
-               ;;
-       arm*-semi)
-               os=-aout
-               ;;
-        pdp11-*)
-               os=-none
-               ;;
-       *-dec | vax-*)
-               os=-ultrix4.2
-               ;;
-       m68*-apollo)
-               os=-domain
-               ;;
-       i386-sun)
-               os=-sunos4.0.2
-               ;;
-       m68000-sun)
-               os=-sunos3
-               # This also exists in the configure program, but was not the
-               # default.
-               # os=-sunos4
-               ;;
-       m68*-cisco)
-               os=-aout
-               ;;
-       mips*-cisco)
-               os=-elf
-               ;;
-       mips*-*)
-               os=-elf
-               ;;
-       *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
-               ;;
-       sparc-* | *-sun)
-               os=-sunos4.1.1
-               ;;
-       *-be)
-               os=-beos
-               ;;
-       *-ibm)
-               os=-aix
-               ;;
-       *-wec)
-               os=-proelf
-               ;;
-       *-winbond)
-               os=-proelf
-               ;;
-       *-oki)
-               os=-proelf
-               ;;
-       *-hp)
-               os=-hpux
-               ;;
-       *-hitachi)
-               os=-hiux
-               ;;
-       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
-               ;;
-       *-cbm)
-               os=-amigaos
-               ;;
-       *-dg)
-               os=-dgux
-               ;;
-       *-dolphin)
-               os=-sysv3
-               ;;
-       m68k-ccur)
-               os=-rtu
-               ;;
-       m88k-omron*)
-               os=-luna
-               ;;
-       *-next )
-               os=-nextstep
-               ;;
-       *-sequent)
-               os=-ptx
-               ;;
-       *-crds)
-               os=-unos
-               ;;
-       *-ns)
-               os=-genix
-               ;;
-       i370-*)
-               os=-mvs
-               ;;
-       *-next)
-               os=-nextstep3
-               ;;
-        *-gould)
-               os=-sysv
-               ;;
-        *-highlevel)
-               os=-bsd
-               ;;
-       *-encore)
-               os=-bsd
-               ;;
-        *-sgi)
-               os=-irix
-               ;;
-        *-siemens)
-               os=-sysv4
-               ;;
-       *-masscomp)
-               os=-rtu
-               ;;
-       f301-fujitsu)
-               os=-uxpv
-               ;;
-       *-rom68k)
-               os=-coff
-               ;;
-       *-*bug)
-               os=-coff
-               ;;
-       *-apple)
-               os=-macos
-               ;;
-       *-atari*)
-               os=-mint
-               ;;
-       *)
-               os=-none
-               ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
-               case $os in
-                       -riscix*)
-                               vendor=acorn
-                               ;;
-                       -sunos*)
-                               vendor=sun
-                               ;;
-                       -aix*)
-                               vendor=ibm
-                               ;;
-                       -beos*)
-                               vendor=be
-                               ;;
-                       -hpux*)
-                               vendor=hp
-                               ;;
-                       -mpeix*)
-                               vendor=hp
-                               ;;
-                       -hiux*)
-                               vendor=hitachi
-                               ;;
-                       -unos*)
-                               vendor=crds
-                               ;;
-                       -dgux*)
-                               vendor=dg
-                               ;;
-                       -luna*)
-                               vendor=omron
-                               ;;
-                       -genix*)
-                               vendor=ns
-                               ;;
-                       -mvs* | -opened*)
-                               vendor=ibm
-                               ;;
-                       -ptx*)
-                               vendor=sequent
-                               ;;
-                       -vxsim* | -vxworks*)
-                               vendor=wrs
-                               ;;
-                       -aux*)
-                               vendor=apple
-                               ;;
-                       -hms*)
-                               vendor=hitachi
-                               ;;
-                       -mpw* | -macos*)
-                               vendor=apple
-                               ;;
-                       -*mint | -*MiNT)
-                               vendor=atari
-                               ;;
-               esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-               ;;
-esac
-
-echo $basic_machine$os
index 45652fbb5c4de4b247b1044a42f7a7befc5823ac..37f878bc67a10fbb2c430172540ead8f4b5bd5ba 100644 (file)
@@ -25,17 +25,22 @@ dnl modify CFLAGS, CXXFLAGS and LIBS for compiling pthread-based programs.
 dnl
 dnl@author  (C) Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>, 1998, 2000
 dnl@id  $Id$
+dnl Modified to use acx_pthread.m4 from GNU Autoconf Macro Archive
 dnl
-dnl
+
 AC_DEFUN([ENABLE_PTHREADS],[
-AC_REQUIRE([CHECK_PTHREADS])
+AC_REQUIRE([ACX_PTHREAD])
 
-if test -z "$enable_pthreads_done"
-then
- CFLAGS="$CFLAGS $CFLAGS_PTHREADS"
- CXXFLAGS="$CXXFLAGS $CXXFLAGS_PTHREADS"
- LIBS="$LIBS $LIBS_PTHREADS"
+if test x"$enable_pthreads_done" != xyes; then
+  if test x"$acx_pthread_ok" = xyes; then
+    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
+    LIBS="$LIBS $PTHREAD_LIBS"
+    threads_ok=yes
+  else
+    threads_ok=no
+  fi
+  enable_pthreads_done=yes
 fi
-enable_pthreads_done=yes
 ])dnl
 dnl
diff --git a/salome_adm/unix/config_files/install-sh b/salome_adm/unix/config_files/install-sh
deleted file mode 100755 (executable)
index 56ccb7b..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh
-
-chmodParams=""
-dirParams=""
-dirPath=""
-args=""
-
-while [ x"$1" != x ]; do
-if test $# != "1"; then
-case $1 in
--c) shift;
-continue;;
-
--d) dirParams="yes"
-shift;
-continue;;
-
--m) shift;
-chmodParams=$1
-shift;
-continue;;
-
-*) args="$args $1"
-shift;
-continue;;
-esac
-else
-dirPath=$1
-fi
-shift;
-done
-
-if test x$dirParams = "xyes"; then
-mkdir -p $dirPath
-else
-cp $args $dirPath
-for arg in $args; do
-myArg=`basename $arg`
-if test x$chmodParams != x; then
-if test -d $dirPath; then
-chmod $chmodParams $dirPath/$myArg
-else
-chmod $chmodParams $dirPath
-fi
-else
-if test -d $dirPath; then
-chmod a+x $dirPath/$myArg
-else
-chmod a+x $dirPath
-fi
-fi
-done
-fi
-
diff --git a/salome_adm/unix/config_files/libtool.m4 b/salome_adm/unix/config_files/libtool.m4
deleted file mode 100644 (file)
index f285453..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
-## Copyright (C) 1996-1999, 2000 Free Software Foundation, Inc.
-## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-##
-## As a special exception to the GNU General Public License, if you
-## distribute this file as part of a program that contains a
-## configuration script generated by Autoconf, you may include it under
-## the same distribution terms that you use for the rest of that program.
-
-# serial 40 AC_PROG_LIBTOOL
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-
-# Save cache, so that ltconfig can load it
-AC_CACHE_SAVE
-
-# Actually configure libtool.  ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
-LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
-DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags $ac_aux_dir/ltmain.sh $lt_target \
-|| AC_MSG_ERROR([libtool configure failed])
-
-# Reload cache, that may have been modified by ltconfig
-AC_CACHE_LOAD
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-])
-
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.13)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_RANLIB])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-dnl
-
-case "$target" in
-NONE) lt_target="$host" ;;
-*) lt_target="$target" ;;
-esac
-
-# Check for any special flags to pass to ltconfig.
-#
-# the following will cause an existing older ltconfig to fail, so
-# we ignore this at the expense of the cache file... Checking this 
-# will just take longer ... bummer!
-#libtool_flags="--cache-file=$cache_file"
-#
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
-[libtool_flags="$libtool_flags --enable-dlopen"])
-ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
-[libtool_flags="$libtool_flags --enable-win32-dll"])
-AC_ARG_ENABLE(libtool-lock,
-  [  --disable-libtool-lock  avoid locking (might break parallel builds)])
-test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
-test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$lt_target" in
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case "`/usr/bin/file conftest.o`" in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-
-ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw*)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-])
-esac
-])
-
-# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
-
-# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
-
-# AC_ENABLE_SHARED - implement the --enable-shared flag
-# Usage: AC_ENABLE_SHARED[(DEFAULT)]
-#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
-#   `yes'.
-AC_DEFUN([AC_ENABLE_SHARED], [dnl
-define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(shared,
-changequote(<<, >>)dnl
-<<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
-  enable_shared=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_shared=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac],
-enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
-])
-
-# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)])
-
-# AC_ENABLE_STATIC - implement the --enable-static flag
-# Usage: AC_ENABLE_STATIC[(DEFAULT)]
-#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
-#   `yes'.
-AC_DEFUN([AC_ENABLE_STATIC], [dnl
-define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(static,
-changequote(<<, >>)dnl
-<<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
-  enable_static=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_static=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac],
-enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
-])
-
-# AC_DISABLE_STATIC - set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)])
-
-
-# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
-# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
-#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
-#   `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL], [dnl
-define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(fast-install,
-changequote(<<, >>)dnl
-<<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
-  enable_fast_install=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_fast_install=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac],
-enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
-])
-
-# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)])
-
-# AC_PROG_LD - find the path to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  ac_prog=`($CC -print-prog-name=ld) 2>&5`
-  case "$ac_prog" in
-    # Accept absolute paths.
-changequote(,)dnl
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-changequote([,])dnl
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(ac_cv_path_LD,
-[if test -z "$LD"; then
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      ac_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-       test "$with_gnu_ld" != no && break
-      else
-       test "$with_gnu_ld" != yes && break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])
-
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-  ac_cv_prog_gnu_ld=yes
-else
-  ac_cv_prog_gnu_ld=no
-fi])
-])
-
-# AC_PROG_NM - find the path to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_MSG_CHECKING([for BSD-compatible nm])
-AC_CACHE_VAL(ac_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  ac_cv_path_NM="$NM"
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
-      # Check to see if the nm accepts a BSD-compat flag.
-      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-      #   nm: unknown option "B" ignored
-      if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-       ac_cv_path_NM="$ac_dir/nm -B"
-       break
-      elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-       ac_cv_path_NM="$ac_dir/nm -p"
-       break
-      else
-       ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
-       continue # so that we can try to find one that supports BSD flags
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi])
-NM="$ac_cv_path_NM"
-AC_MSG_RESULT([$NM])
-])
-
-# AC_CHECK_LIBM - check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case "$lt_target" in
-*-*-beos* | *-*-cygwin*)
-  # These system don't have libm
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, main, LIBM="-lm")
-  ;;
-esac
-])
-
-# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl convenience library and INCLTDL to the include flags for
-# the libltdl header and adds --enable-ltdl-convenience to the
-# configure arguments.  Note that LIBLTDL and INCLTDL are not
-# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
-# provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
-# with '${top_builddir}/' and INCLTDL will be prefixed with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  case "$enable_ltdl_convenience" in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-])
-
-# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl installable library and INCLTDL to the include flags for
-# the libltdl header and adds --enable-ltdl-install to the configure
-# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
-# AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
-# libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
-# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
-# with '${top_srcdir}/' (note the single quotes!).  If your package is
-# not flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  AC_CHECK_LIB(ltdl, main,
-  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
-  [if test x"$enable_ltdl_install" = xno; then
-     AC_MSG_WARN([libltdl not installed, but installation disabled])
-   else
-     enable_ltdl_install=yes
-   fi
-  ])
-  if test x"$enable_ltdl_install" = x"yes"; then
-    ac_configure_args="$ac_configure_args --enable-ltdl-install"
-    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  else
-    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-    LIBLTDL="-lltdl"
-    INCLTDL=
-  fi
-])
-
-dnl old names
-AC_DEFUN([AM_PROG_LIBTOOL], [indir([AC_PROG_LIBTOOL])])dnl
-AC_DEFUN([AM_ENABLE_SHARED], [indir([AC_ENABLE_SHARED], $@)])dnl
-AC_DEFUN([AM_ENABLE_STATIC], [indir([AC_ENABLE_STATIC], $@)])dnl
-AC_DEFUN([AM_DISABLE_SHARED], [indir([AC_DISABLE_SHARED], $@)])dnl
-AC_DEFUN([AM_DISABLE_STATIC], [indir([AC_DISABLE_STATIC], $@)])dnl
-AC_DEFUN([AM_PROG_LD], [indir([AC_PROG_LD])])dnl
-AC_DEFUN([AM_PROG_NM], [indir([AC_PROG_NM])])dnl
-
-dnl This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])dnl
diff --git a/salome_adm/unix/config_files/ltconfig b/salome_adm/unix/config_files/ltconfig
deleted file mode 100755 (executable)
index c14d83c..0000000
+++ /dev/null
@@ -1,3114 +0,0 @@
-#! /bin/sh
-
-# ltconfig - Create a system-specific libtool.
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A lot of this script is taken from autoconf-2.10.
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-echo=echo
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec "$SHELL" "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# Find the correct PATH separator.  Usually this is `:', but
-# DJGPP uses `;' like DOS.
-if test "X${PATH_SEPARATOR+set}" != Xset; then
-  UNAME=${UNAME-`uname 2>/dev/null`}
-  case X$UNAME in
-    *-DOS) PATH_SEPARATOR=';' ;;
-    *)     PATH_SEPARATOR=':' ;;
-  esac
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-if test "X${echo_test_string+set}" != Xset; then
-  # find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
-   test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH /usr/ucb; do
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-        test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running ltconfig again with it.
-      ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
-    else
-      # Try using printf.
-      echo='printf "%s\n"'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-        test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-       # Cool, printf works
-       :
-      elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-          test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-       CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
-       export CONFIG_SHELL
-       SHELL="$CONFIG_SHELL"
-       export SHELL
-       echo="$CONFIG_SHELL $0 --fallback-echo"
-      elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-          test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-       echo="$CONFIG_SHELL $0 --fallback-echo"
-      else
-       # maybe with a smaller string...
-       prev=:
-
-       for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-         if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
-           break
-         fi
-         prev="$cmd"
-       done
-
-       if test "$prev" != 'sed 50q "$0"'; then
-         echo_test_string=`eval $prev`
-         export echo_test_string
-         exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
-       else
-         # Oops.  We lost completely, so just stick with echo.
-         echo=echo
-       fi
-      fi
-    fi
-  fi
-fi
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# The name of this program.
-progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
-
-# Constants:
-PROGRAM=ltconfig
-PACKAGE=libtool
-VERSION=1.3.5
-TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-rm="rm -f"
-
-help="Try \`$progname --help' for more information."
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-enable_shared=yes
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-enable_static=yes
-enable_fast_install=yes
-enable_dlopen=unknown
-enable_win32_dll=no
-ltmain=
-silent=
-srcdir=
-ac_config_guess=
-ac_config_sub=
-host=
-nonopt=
-ofile="$default_ofile"
-verify_host=yes
-with_gcc=no
-with_gnu_ld=no
-need_locks=yes
-ac_ext=c
-objext=o
-libext=a
-exeext=
-cache_file=
-
-old_AR="$AR"
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-old_CPPFLAGS="$CPPFLAGS"
-old_LDFLAGS="$LDFLAGS"
-old_LD="$LD"
-old_LN_S="$LN_S"
-old_LIBS="$LIBS"
-old_NM="$NM"
-old_RANLIB="$RANLIB"
-old_DLLTOOL="$DLLTOOL"
-old_OBJDUMP="$OBJDUMP"
-old_AS="$AS"
-
-# Parse the command line options.
-args=
-prev=
-for option
-do
-  case "$option" in
-  -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    eval "$prev=\$option"
-    prev=
-    continue
-  fi
-
-  case "$option" in
-  --help) cat <<EOM
-Usage: $progname [OPTION]... [HOST [LTMAIN]]
-
-Generate a system-specific libtool script.
-
-    --debug                enable verbose shell tracing
-    --disable-shared       do not build shared libraries
-    --disable-static       do not build static libraries
-    --disable-fast-install do not optimize for fast installation
-    --enable-dlopen        enable dlopen support
-    --enable-win32-dll     enable building dlls on win32 hosts
-    --help                 display this help and exit
-    --no-verify            do not verify that HOST is a valid host type
--o, --output=FILE          specify the output file [default=$default_ofile]
-    --quiet                same as \`--silent'
-    --silent               do not print informational messages
-    --srcdir=DIR           find \`config.guess' in DIR
-    --version              output version information and exit
-    --with-gcc             assume that the GNU C compiler will be used
-    --with-gnu-ld          assume that the C compiler uses the GNU linker
-    --disable-lock         disable file locking
-    --cache-file=FILE      configure cache file
-
-LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
-that provides basic libtool functionality.
-
-HOST is the canonical host system name [default=guessed].
-EOM
-  exit 0
-  ;;
-
-  --debug)
-    echo "$progname: enabling shell trace mode"
-    set -x
-    ;;
-
-  --disable-shared) enable_shared=no ;;
-
-  --disable-static) enable_static=no ;;
-
-  --disable-fast-install) enable_fast_install=no ;;
-
-  --enable-dlopen) enable_dlopen=yes ;;
-
-  --enable-win32-dll) enable_win32_dll=yes ;;
-
-  --quiet | --silent) silent=yes ;;
-
-  --srcdir) prev=srcdir ;;
-  --srcdir=*) srcdir="$optarg" ;;
-
-  --no-verify) verify_host=no ;;
-
-  --output | -o) prev=ofile ;;
-  --output=*) ofile="$optarg" ;;
-
-  --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
-
-  --with-gcc) with_gcc=yes ;;
-  --with-gnu-ld) with_gnu_ld=yes ;;
-
-  --disable-lock) need_locks=no ;;
-
-  --cache-file=*) cache_file="$optarg" ;;
-
-  -*)
-    echo "$progname: unrecognized option \`$option'" 1>&2
-    echo "$help" 1>&2
-    exit 1
-    ;;
-
-  *)
-    if test -z "$ltmain"; then
-      ltmain="$option"
-    elif test -z "$host"; then
-# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
-#      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
-#        echo "$progname: warning \`$option' is not a valid host type" 1>&2
-#      fi
-      host="$option"
-    else
-      echo "$progname: too many arguments" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-done
-
-if test -z "$ltmain"; then
-  echo "$progname: you must specify a LTMAIN file" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-if test ! -f "$ltmain"; then
-  echo "$progname: \`$ltmain' does not exist" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-# Quote any args containing shell metacharacters.
-ltconfig_args=
-for arg
-do
-  case "$arg" in
-  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ltconfig_args="$ltconfig_args '$arg'" ;;
-  *) ltconfig_args="$ltconfig_args $arg" ;;
-  esac
-done
-
-# A relevant subset of AC_INIT.
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 compiler messages saved in config.log
-# 6 checking for... messages and results
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>>./config.log
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
-if test "X${LANG+set}"   = Xset; then LANG=C;   export LANG;   fi
-
-if test -n "$cache_file" && test -r "$cache_file"; then
-  echo "loading cache $cache_file within ltconfig"
-  . $cache_file
-fi
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='       '
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-if test -z "$srcdir"; then
-  # Assume the source directory is the same one as the path to LTMAIN.
-  srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
-  test "$srcdir" = "$ltmain" && srcdir=.
-fi
-
-trap "$rm conftest*; exit 1" 1 2 15
-if test "$verify_host" = yes; then
-  # Check for config.guess and config.sub.
-  ac_aux_dir=
-  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-    if test -f $ac_dir/config.guess; then
-      ac_aux_dir=$ac_dir
-      break
-    fi
-  done
-  if test -z "$ac_aux_dir"; then
-    echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-  ac_config_guess=$ac_aux_dir/config.guess
-  ac_config_sub=$ac_aux_dir/config.sub
-
-  # Make sure we can run config.sub.
-  if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
-  else
-    echo "$progname: cannot run $ac_config_sub" 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-
-  echo $ac_n "checking host system type""... $ac_c" 1>&6
-
-  host_alias=$host
-  case "$host_alias" in
-  "")
-    if host_alias=`$SHELL $ac_config_guess`; then :
-    else
-      echo "$progname: cannot guess host type; you must specify one" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-  host=`$SHELL $ac_config_sub $host_alias`
-  echo "$ac_t$host" 1>&6
-
-  # Make sure the host verified.
-  test -z "$host" && exit 1
-
-elif test -z "$host"; then
-  echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
-  echo "$help" 1>&2
-  exit 1
-else
-  host_alias=$host
-fi
-
-# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
-case "$host_os" in
-linux-gnu*) ;;
-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
-esac
-
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-case "$host_os" in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR cru $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-# Set a sane default for `AR'.
-test -z "$AR" && AR=ar
-
-# Set a sane default for `OBJDUMP'.
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-# If RANLIB is not set, then run the test.
-if test "${RANLIB+set}" != "set"; then
-  result=no
-
-  echo $ac_n "checking for ranlib... $ac_c" 1>&6
-  IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH; do
-    test -z "$dir" && dir=.
-    if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
-      RANLIB="ranlib"
-      result="ranlib"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  echo "$ac_t$result" 1>&6
-fi
-
-if test -n "$RANLIB"; then
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
-fi
-
-# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$AS" && AS=as
-
-# Check to see if we are using GCC.
-if test "$with_gcc" != yes || test -z "$CC"; then
-  # If CC is not set, then try to find GCC or a usable CC.
-  if test -z "$CC"; then
-    echo $ac_n "checking for gcc... $ac_c" 1>&6
-    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
-       CC="gcc"
-       break
-      fi
-    done
-    IFS="$save_ifs"
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-  fi
-
-  # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
-  if test -z "$CC"; then
-    echo $ac_n "checking for cc... $ac_c" 1>&6
-    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    cc_rejected=no
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
-       if test "$dir/cc" = "/usr/ucb/cc"; then
-         cc_rejected=yes
-         continue
-       fi
-       CC="cc"
-       break
-      fi
-    done
-    IFS="$save_ifs"
-    if test $cc_rejected = yes; then
-      # We found a bogon in the path, so make sure we never use it.
-      set dummy $CC
-      shift
-      if test $# -gt 0; then
-       # We chose a different compiler from the bogus one.
-       # However, it has the same name, so the bogon will be chosen
-       # first if we set CC to just the name; use the full file name.
-       shift
-       set dummy "$dir/cc" "$@"
-       shift
-       CC="$@"
-      fi
-    fi
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-
-    if test -z "$CC"; then
-      echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
-      exit 1
-    fi
-  fi
-
-  # Now see if the compiler is really GCC.
-  with_gcc=no
-  echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
-  echo "$progname:581: checking whether we are using GNU C" >&5
-
-  $rm conftest.c
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-    with_gcc=yes
-  fi
-  $rm conftest.c
-  echo "$ac_t$with_gcc" 1>&6
-fi
-
-# Allow CC to be a program name with arguments.
-set dummy $CC
-compiler="$2"
-
-echo $ac_n "checking for object suffix... $ac_c" 1>&6
-$rm conftest*
-echo 'int i = 1;' > conftest.c
-echo "$progname:603: checking for object suffix" >& 5
-if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
-  # Append any warnings to the config.log.
-  cat conftest.err 1>&5
-
-  for ac_file in conftest.*; do
-    case $ac_file in
-    *.c) ;;
-    *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
-    esac
-  done
-else
-  cat conftest.err 1>&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.c >&5
-fi
-$rm conftest*
-echo "$ac_t$objext" 1>&6
-
-echo $ac_n "checking for executable suffix... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_cv_exeext="no"
-  $rm conftest*
-  echo 'main () { return 0; }' > conftest.c
-  echo "$progname:629: checking for executable suffix" >& 5
-  if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-
-    for ac_file in conftest.*; do
-      case $ac_file in
-      *.c | *.err | *.$objext ) ;;
-      *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
-      esac
-    done
-  else
-    cat conftest.err 1>&5
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest*
-fi
-if test "X$ac_cv_exeext" = Xno; then
-  exeext=""
-else
-  exeext="$ac_cv_exeext"
-fi
-echo "$ac_t$ac_cv_exeext" 1>&6
-
-echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
-pic_flag=
-special_shlib_compile_flags=
-wl=
-link_static_flag=
-no_builtin_flag=
-
-if test "$with_gcc" = yes; then
-  wl='-Wl,'
-  link_static_flag='-static'
-
-  case "$host_os" in
-  beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
-    # PIC is the default for these OSes.
-    ;;
-  aix*)
-    # Below there is a dirty hack to force normal static linking with -ldl
-    # The problem is because libdl dynamically linked with both libc and
-    # libC (AIX C++ library), which obviously doesn't included in libraries
-    # list by gcc. This cause undefined symbols with -static flags.
-    # This hack allows C programs to be linked with "-static -ldl", but
-    # we not sure about C++ programs.
-    link_static_flag="$link_static_flag ${wl}-lC"
-    ;;
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-  amigaos*)
-    # FIXME: we need at least 68020 code to build shared libraries, but
-    # adding the `-m68020' flag to GCC prevents building anything better,
-    # like `-m68040'.
-    pic_flag='-m68020 -resident32 -malways-restore-a4'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec; then
-       pic_flag=-Kconform_pic
-    fi
-    ;;
-  *)
-    pic_flag='-fPIC'
-    ;;
-  esac
-else
-  # PORTME Check for PIC flags for the system compiler.
-  case "$host_os" in
-  aix3* | aix4*)
-    # All AIX code is PIC.
-    link_static_flag='-bnso -bI:/lib/syscalls.exp'
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    # Is there a better link_static_flag that works with the bundled CC?
-    wl='-Wl,'
-    link_static_flag="${wl}-a ${wl}archive"
-    pic_flag='+Z'
-    ;;
-
-  irix5* | irix6*)
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    # PIC (with -KPIC) is the default.
-    ;;
-
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-
-  osf3* | osf4* | osf5*)
-    # All OSF/1 code is PIC.
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    ;;
-
-  sco3.2v5*)
-    pic_flag='-Kpic'
-    link_static_flag='-dn'
-    special_shlib_compile_flags='-belf'
-    ;;
-
-  solaris*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  sunos4*)
-    pic_flag='-PIC'
-    link_static_flag='-Bstatic'
-    wl='-Qoption ld '
-    ;;
-
-  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  uts4*)
-    pic_flag='-pic'
-    link_static_flag='-Bstatic'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec ;then
-      pic_flag='-Kconform_pic'
-      link_static_flag='-Bstatic'
-    fi
-    ;;
-  *)
-    can_build_shared=no
-    ;;
-  esac
-fi
-
-if test -n "$pic_flag"; then
-  echo "$ac_t$pic_flag" 1>&6
-
-  # Check to make sure the pic_flag actually works.
-  echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $pic_flag -DPIC"
-  echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
-  if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-    
-    case "$host_os" in
-    hpux9* | hpux10* | hpux11*)
-      # On HP-UX, both CC and GCC only warn that PIC is supported... then they
-      # create non-PIC objects.  So, if there were any warnings, we assume that
-      # PIC is not supported.
-      if test -s conftest.err; then
-       echo "$ac_t"no 1>&6
-       can_build_shared=no
-       pic_flag=
-      else
-       echo "$ac_t"yes 1>&6
-       pic_flag=" $pic_flag"
-      fi
-      ;;
-    *)
-      echo "$ac_t"yes 1>&6
-      pic_flag=" $pic_flag"
-      ;;
-    esac
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    can_build_shared=no
-    pic_flag=
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  echo "$ac_t"none 1>&6
-fi
-
-# Check to see if options -o and -c are simultaneously supported by compiler
-echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
-$rm -r conftest 2>/dev/null
-mkdir conftest
-cd conftest
-$rm conftest*
-echo "int some_variable = 0;" > conftest.c
-mkdir out
-# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
-# that will create temporary files in the current directory regardless of
-# the output directory.  Thus, making CWD read-only will cause this test
-# to fail, enabling locking or at least warning the user not to do parallel
-# builds.
-chmod -w .
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -o out/conftest2.o"
-echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
-if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
-
-  # The compiler can only warn and ignore the option if not recognized
-  # So say no if there are warnings
-    if test -s out/conftest.err; then
-      echo "$ac_t"no 1>&6
-      compiler_c_o=no
-    else
-      echo "$ac_t"yes 1>&6
-      compiler_c_o=yes
-    fi
-else
-  # Append any errors to the config.log.
-  cat out/conftest.err 1>&5
-  compiler_c_o=no
-  echo "$ac_t"no 1>&6
-fi
-CFLAGS="$save_CFLAGS"
-chmod u+w .
-$rm conftest* out/*
-rmdir out
-cd ..
-rmdir conftest
-$rm -r conftest 2>/dev/null
-
-if test x"$compiler_c_o" = x"yes"; then
-  # Check to see if we can write to a .lo
-  echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -c -o conftest.lo"
-  echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
-if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-       echo "$ac_t"no 1>&6
-       compiler_o_lo=no
-      else
-       echo "$ac_t"yes 1>&6
-       compiler_o_lo=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_o_lo=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  compiler_o_lo=no
-fi
-
-# Check to see if we can do hard links to lock some files if needed
-hard_links="nottested"
-if test "$compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$ac_t$hard_links" 1>&6
-  $rm conftest*
-  if test "$hard_links" = no; then
-    echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-if test "$with_gcc" = yes; then
-  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
-  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
-  echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-  if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-       echo "$ac_t"no 1>&6
-       compiler_rtti_exceptions=no
-      else
-       echo "$ac_t"yes 1>&6
-       compiler_rtti_exceptions=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_rtti_exceptions=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-
-  if test "$compiler_rtti_exceptions" = "yes"; then
-    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
-  else
-    no_builtin_flag=' -fno-builtin'
-  fi
-  
-fi
-
-# Check for any special shared library compilation flags.
-if test -n "$special_shlib_compile_flags"; then
-  echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
-  if echo "$old_CC $old_CFLAGS " | egrep -e "[         ]$special_shlib_compile_flags[  ]" >/dev/null; then :
-  else
-    echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
-    can_build_shared=no
-  fi
-fi
-
-echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
-$rm conftest*
-echo 'main(){return(0);}' > conftest.c
-save_LDFLAGS="$LDFLAGS"
-LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  echo "$ac_t$link_static_flag" 1>&6
-else
-  echo "$ac_t"none 1>&6
-  link_static_flag=
-fi
-LDFLAGS="$save_LDFLAGS"
-$rm conftest*
-
-if test -z "$LN_S"; then
-  # Check to see if we can use ln -s, or we need hard links.
-  echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
-  $rm conftest.dat
-  if ln -s X conftest.dat 2>/dev/null; then
-    $rm conftest.dat
-    LN_S="ln -s"
-  else
-    LN_S=ln
-  fi
-  if test "$LN_S" = "ln -s"; then
-    echo "$ac_t"yes 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-fi
-
-# Make sure LD is an absolute path.
-if test -z "$LD"; then
-  ac_prog=ld
-  if test "$with_gcc" = yes; then
-    # Check if gcc -print-prog-name=ld gives a path.
-    echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
-    echo "$progname:991: checking for ld used by GCC" >&5
-    ac_prog=`($CC -print-prog-name=ld) 2>&5`
-    case "$ac_prog" in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-    "")
-      # If it fails, then pretend we are not using GCC.
-      ac_prog=ld
-      ;;
-    *)
-      # If it is relative, then search for the first ld in PATH.
-      with_gnu_ld=unknown
-      ;;
-    esac
-  elif test "$with_gnu_ld" = yes; then
-    echo $ac_n "checking for GNU ld... $ac_c" 1>&6
-    echo "$progname:1015: checking for GNU ld" >&5
-  else
-    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-    echo "$progname:1018: checking for non-GNU ld" >&5
-  fi
-
-  if test -z "$LD"; then
-    IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-       LD="$ac_dir/$ac_prog"
-       # Check to see if the program is GNU ld.  I'd rather use --version,
-       # but apparently some GNU ld's only accept -v.
-       # Break only if it was the GNU/non-GNU ld that we prefer.
-       if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-         test "$with_gnu_ld" != no && break
-       else
-         test "$with_gnu_ld" != yes && break
-       fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-  fi
-
-  if test -n "$LD"; then
-    echo "$ac_t$LD" 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-
-  if test -z "$LD"; then
-    echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
-    exit 1
-  fi
-fi
-
-# Check to see if it really is or is not GNU ld.
-echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
-# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-  with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-echo "$ac_t$with_gnu_ld" 1>&6
-
-# See if the linker supports building shared libraries.
-echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
-
-allow_undefined_flag=
-no_undefined_flag=
-need_lib_prefix=unknown
-need_version=unknown
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-archive_cmds=
-archive_expsym_cmds=
-old_archive_from_new_cmds=
-export_dynamic_flag_spec=
-whole_archive_flag_spec=
-thread_safe_flag_spec=
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-hardcode_shlibpath_var=unsupported
-runpath_var=
-always_export_symbols=no
-export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
-# include_expsyms should be a list of space-separated symbols to be *always*
-# included in the symbol list
-include_expsyms=
-# exclude_expsyms can be an egrep regular expression of symbols to exclude
-# it will be wrapped by ` (' and `)$', so one must not match beginning or
-# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-# as well as any symbol that contains `d'.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-# platforms (ab)use it in PIC code, but their linkers get confused if
-# the symbol is explicitly referenced.  Since portable code cannot
-# rely on this symbol name, it's probably fine to never include it in
-# preloaded symbol tables.
-
-case "$host_os" in
-cygwin* | mingw*)
-  # FIXME: the MSVC++ port hasn't been tested in a loooong time
-  # When not using gcc, we currently assume that we are using
-  # Microsoft Visual C++.
-  if test "$with_gcc" != yes; then
-    with_gnu_ld=no
-  fi
-  ;;
-
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # If archive_cmds runs LD, not CC, wlarc should be empty
-  wlarc='${wl}'
-
-  # See if GNU ld supports shared libraries.
-  case "$host_os" in
-  aix3* | aix4*)
-    # On AIX, the GNU linker is very broken
-    ld_shlibs=no
-    cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-    ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-
-    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-    # that the semantics of dynamic libraries on AmigaOS, at least up
-    # to version 4, is to share data among multiple programs linked
-    # with the same dynamic library.  Since this doesn't match the
-    # behavior of shared libraries on other platforms, we can use
-    # them.
-    ld_shlibs=no
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      allow_undefined_flag=unsupported
-      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-
-  cygwin* | mingw*)
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec='-L$libdir'
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-
-    # Extract the symbol export list from an `--export-all' def file,
-    # then regenerate the def file from the symbol export list, so that
-    # the compiled dll only exports the symbol export list.
-    # Be careful not to strip the DATA tag left by newer dlltools.
-    export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs $convenience~
-      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
-
-    # If DATA tags from a recent dlltool are present, honour them!
-    archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
-      _lt_hint=1;
-      cat $export_symbols | while read symbol; do
-        set dummy \$symbol;
-        case \$# in
-          2) echo "    \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
-          *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
-        esac;
-       _lt_hint=`expr 1 + \$_lt_hint`;
-      done~
-      test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
-
-      old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' 
-    ;;
-
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
-      # can we support soname and/or expsyms with a.out? -oliva
-    fi
-    ;;
-
-  solaris* | sysv5*)
-    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
-      ld_shlibs=no
-      cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;      
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    wlarc=
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-  esac
-
-  if test "$ld_shlibs" = yes; then
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    case $host_os in
-    cygwin* | mingw*)
-      # dlltool doesn't understand --whole-archive et. al.
-      whole_archive_flag_spec=
-      ;;
-    *)
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
-        whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-        whole_archive_flag_spec=
-      fi
-      ;;
-    esac
-  fi
-else
-  # PORTME fill in a description of your system's linker (not GNU ld)
-  case "$host_os" in
-  aix3*)
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-    archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
-    # Note: this linker hardcodes the directories in LIBPATH if there
-    # are no directories specified by -L.
-    hardcode_minus_L=yes
-    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
-      # Neither direct hardcoding nor static linking is supported with a
-      # broken collect2.
-      hardcode_direct=unsupported
-    fi
-    ;;
-
-  aix4*)
-    hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
-    hardcode_libdir_separator=':'
-    if test "$with_gcc" = yes; then
-      collect2name=`${CC} -print-prog-name=collect2`
-      if test -f "$collect2name" && \
-        strings "$collect2name" | grep resolve_lib_name >/dev/null
-      then
-       # We have reworked collect2
-       hardcode_direct=yes
-      else
-       # We have old collect2
-       hardcode_direct=unsupported
-       # It fails to find uninstalled libraries when the uninstalled
-       # path is not listed in the libpath.  Setting hardcode_minus_L
-       # to unsupported forces relinking
-       hardcode_minus_L=yes
-       hardcode_libdir_flag_spec='-L$libdir'
-       hardcode_libdir_separator=
-      fi
-      shared_flag='-shared'
-    else
-      shared_flag='${wl}-bM:SRE'
-      hardcode_direct=yes
-    fi
-    allow_undefined_flag=' ${wl}-berok'
-    archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
-    archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
-    case "$host_os" in aix4.[01]|aix4.[01].*)
-      # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
-      always_export_symbols=yes ;;
-    esac
-   ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    # see comment about different semantics on the GNU ld section
-    ld_shlibs=no
-    ;;
-
-  cygwin* | mingw*)
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec=' '
-    allow_undefined_flag=unsupported
-    # Tell ltmain to make .lib files, not .a files.
-    libext=lib
-    # FIXME: Setting linknames here is a bad hack.
-    archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-    # The linker will automatically build a .lib file if we build a DLL.
-    old_archive_from_new_cmds='true'
-    # FIXME: Should let the user specify the lib program.
-    old_archive_cmds='lib /OUT:$oldlib$oldobjs'
-    fix_srcfile_path='`cygpath -w $srcfile`'
-    ;;
-
-  freebsd1*)
-    ld_shlibs=no
-    ;;
-
-  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-  # support.  Future versions do this automatically, but an explicit c++rt0.o
-  # does not break anything, and helps significantly (at the cost of a little
-  # extra space).
-  freebsd2.2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-  freebsd2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
-    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    case "$host_os" in
-    hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
-    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;;
-    esac
-    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-    hardcode_libdir_separator=:
-    hardcode_direct=yes
-    hardcode_minus_L=yes # Not in the search PATH, but as the default
-                        # location of the library.
-    export_dynamic_flag_spec='${wl}-E'
-    ;;
-
-  irix5* | irix6*)
-    if test "$with_gcc" = yes; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'  # a.out
-    else
-      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts'      # ELF
-    fi
-    hardcode_libdir_flag_spec='${wl}-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  os2*)
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    allow_undefined_flag=unsupported
-    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
-    old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
-    ;;
-
-  osf3*)
-    if test "$with_gcc" = yes; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      allow_undefined_flag=' -expect_unresolved \*'
-      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  osf4* | osf5*)  # As osf3* with the addition of the -msym flag
-    if test "$with_gcc" = yes; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      allow_undefined_flag=' -expect_unresolved \*'
-      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-  rhapsody*)
-    archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flags_spec='-L$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-                                       
-  sco3.2v5*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    runpath_var=LD_RUN_PATH
-    hardcode_runpath_var=yes
-    ;;
-
-  solaris*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_shlibpath_var=no
-    case "$host_os" in
-    solaris2.[0-5] | solaris2.[0-5].*) ;;
-    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
-    esac
-    ;;
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4)
-    if test "x$host_vendor" = xsequent; then
-      # Use $CC to link under sequent, because it throws in some extra .o 
-      # files that make .init and .fini sections work.
-      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts'
-    else
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    fi
-    runpath_var='LD_RUN_PATH'
-    hardcode_shlibpath_var=no
-    hardcode_direct=no #Motorola manual says yes, but my tests say they lie 
-    ;;  
-
-  sysv4.3*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    export_dynamic_flag_spec='-Bexport'
-    ;;
-
-  sysv5*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec=
-    hardcode_shlibpath_var=no
-    runpath_var='LD_RUN_PATH'
-    ;;
-
-  uts4*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  dgux*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4*MP*)
-    if test -d /usr/nec; then
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-      hardcode_shlibpath_var=no
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ld_shlibs=yes
-    fi
-    ;;
-
-  sysv4.2uw2*)
-    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts'
-    hardcode_direct=yes
-    hardcode_minus_L=no
-    hardcode_shlibpath_var=no
-    hardcode_runpath_var=yes
-    runpath_var=LD_RUN_PATH
-    ;;
-
-  unixware7*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    runpath_var='LD_RUN_PATH'
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    ld_shlibs=no
-    ;;
-  esac
-fi
-echo "$ac_t$ld_shlibs" 1>&6
-test "$ld_shlibs" = no && can_build_shared=no
-
-if test -z "$NM"; then
-  echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
-  case "$NM" in
-  [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path.
-  *)
-    IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-         NM="$ac_dir/nm -B"
-         break
-       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-         NM="$ac_dir/nm -p"
-         break
-       else
-         NM=${NM="$ac_dir/nm"} # keep the first match, but
-         continue # so that we can try to find one that supports BSD flags
-       fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-    test -z "$NM" && NM=nm
-    ;;
-  esac
-  echo "$ac_t$NM" 1>&6
-fi
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
-  ;;
-irix*)
-  symcode='[BCDEGRST]'
-  ;;
-solaris*)
-  symcode='[BDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
-  symcode='[ABCDGISTW]'
-fi
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Write the raw and C identifiers.
-  global_symbol_pipe="sed -n -e 's/^.*[        ]\($symcode\)[  ][      ]*\($ac_symprfx\)$sympat$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-  $rm conftest*
-  cat > conftest.c <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  echo "$progname:1653: checking if global_symbol_pipe works" >&5
-  if { (eval echo $progname:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { echo "$progname:1657: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
-
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
-       if egrep ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-         # Now generate the symbol file.
-         eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
-
-         cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
-         sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
-         cat <<\EOF >> conftest.c
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-         # Now try linking the two files.
-         mv conftest.$objext conftstm.$objext
-         save_LIBS="$LIBS"
-         save_CFLAGS="$CFLAGS"
-         LIBS="conftstm.$objext"
-         CFLAGS="$CFLAGS$no_builtin_flag"
-         if { (eval echo $progname:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-           pipe_works=yes
-         else
-           echo "$progname: failed program was:" >&5
-           cat conftest.c >&5
-         fi
-         LIBS="$save_LIBS"
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    global_symbol_pipe=
-  fi
-done
-if test "$pipe_works" = yes; then
-  echo "${ac_t}ok" 1>&6
-else
-  echo "${ac_t}failed" 1>&6
-fi
-
-if test -z "$global_symbol_pipe"; then
-  global_symbol_to_cdecl=
-fi
-
-# Check hardcoding attributes.
-echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var"; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$hardcode_shlibpath_var" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-echo "$ac_t$hardcode_action" 1>&6
-
-
-reload_flag=
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
-# PORTME Some linkers may need a different reload flag.
-reload_flag='-r'
-echo "$ac_t$reload_flag" 1>&6
-test -n "$reload_flag" && reload_flag=" $reload_flag"
-
-# PORTME Fill in your ld.so characteristics
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-file_magic_cmd=
-file_magic_test_file=
-deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [regex]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given egrep regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
-case "$host_os" in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}.so$major'
-  ;;
-
-aix4*)
-  version_type=linux
-  # AIX has no versioning support, so currently we can not hardcode correct
-  # soname into executable. Probably we can add versioning support to
-  # collect2, so additional links can be useful in future.
-  # We preserve .a as extension for shared libraries though AIX4.2
-  # and later linker supports .so
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
-  shlibpath_var=LIBPATH
-  deplibs_check_method=pass_all
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}.so'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  deplibs_check_method=pass_all
-  lt_cv_dlopen="load_add_on"
-  lt_cv_dlopen_libs=
-  lt_cv_dlopen_self=yes
-  ;;
-
-bsdi4*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  export_dynamic_flag_spec=-rdynamic
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw*)
-  version_type=windows
-  need_version=no
-  need_lib_prefix=no
-  if test "$with_gcc" = yes; then
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
-  else
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
-  fi
-  dynamic_linker='Win32 ld.exe'
-  deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  file_magic_cmd='${OBJDUMP} -f'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  lt_cv_dlopen="LoadLibrary"
-  lt_cv_dlopen_libs=
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-  
-freebsd*)
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
-  version_type=freebsd-$objformat
-  case "$version_type" in
-    freebsd-elf*)
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      deplibs_check_method=unknown
-      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_os" in
-  freebsd2* | freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  *) # from 3.2 on
-    shlibpath_overrides_runpath=no
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  dynamic_linker="$host_os dld.sl"
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  shlibpath_var=SHLIB_PATH
-  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
-  soname_spec='${libname}${release}.sl$major'
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  case "$host_os" in
-  hpux10.20*)
-    # TODO:  Does this work for hpux-11 too?
-    deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    file_magic_cmd=/usr/bin/file
-    file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-irix5* | irix6*)
-  version_type=irix
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}.so.$major'
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
-  case "$host_os" in
-  irix5*)
-    libsuff= shlibsuff=
-    # this will be overridden with pass_all, but let us keep it just in case
-    deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
-    ;;
-  *)
-    case "$LD" in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=`echo /lib${libsuff}/libc.so*`
-  deplibs_check_method='pass_all'
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  deplibs_check_method=pass_all
-
-  if test -f /lib/ld.so.1; then
-    dynamic_linker='GNU ld.so'
-  else
-    # Only the GNU ld.so supports shared libraries on MkLinux.
-    case "$host_cpu" in
-    powerpc*) dynamic_linker=no ;;
-    *) dynamic_linker='Linux ld.so' ;;
-    esac
-  fi
-  ;;
-
-netbsd*)
-  version_type=sunos
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
-    soname_spec='${libname}${release}.so$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-openbsd*)
-  version_type=sunos
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-    need_version=no
-  fi
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-os2*)
-  libname_spec='$name'
-  need_lib_prefix=no
-  library_names_spec='$libname.dll $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_version=no
-  soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  # this will be overridden with pass_all, but let us keep it just in case
-  deplibs_check_method='file_magic COFF format alpha shared library'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  deplibs_check_method='pass_all'
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rhapsody*)
-  version_type=sunos
-  library_names_spec='${libname}.so'
-  soname_spec='${libname}.so'
-  shlibpath_var=DYLD_LIBRARY_PATH
-  deplibs_check_method=pass_all
-  ;;
-
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}.so$major'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/lib/libc.so
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_vendor" in
-    sequent)
-      file_magic_cmd='/bin/file'
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-      ;;
-    ncr)
-      deplibs_check_method='pass_all'
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      ;;
-  esac
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-    soname_spec='$libname.so.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-echo "$ac_t$dynamic_linker" 1>&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-# Report the final consequences.
-echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
-
-# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
-# configure.in, otherwise build static only libraries.
-case "$host_os" in
-cygwin* | mingw* | os2*)
-  if test x$can_build_shared = xyes; then
-    test x$enable_win32_dll = xno && can_build_shared=no
-    echo "checking if package supports dlls... $can_build_shared" 1>&6
-  fi
-;;
-esac
-
-if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
-  case "$deplibs_check_method" in
-  "file_magic "*)
-    file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
-    if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-       egrep "$file_magic_regex" > /dev/null; then
-      :
-    else
-      cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
-    fi ;;
-  esac
-fi
-
-echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix4*)
-  test "$enable_shared" = yes && enable_static=no
-  ;;
-esac
-
-echo "$ac_t$enable_shared" 1>&6
-
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-
-echo "checking whether to build static libraries... $enable_static" 1>&6
-
-if test "$hardcode_action" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-echo $ac_n "checking for objdir... $ac_c" 1>&6
-rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-echo "$ac_t$objdir" 1>&6
-
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
-  lt_cv_dlopen=no lt_cv_dlopen_libs=
-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "$progname:2248: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2256 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "$progname:2288: checking for dlopen" >&5
-if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2293 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-dlopen();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "$progname:2335: checking for dld_link in -ldld" >&5
-ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2343 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link();
-
-int main() {
-dld_link()
-; return 0; }
-EOF
-if { (eval echo $progname:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "$progname:2375: checking for shl_load" >&5
-if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2380 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-shl_load();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "$progname:2423: checking for shl_load in -ldld" >&5
-ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2431 "ltconfig"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load();
-
-int main() {
-shl_load()
-; return 0; }
-EOF
-if { (eval echo $progname:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-fi
-
-    
-fi
-
-  
-fi
-
-
-fi
-
-fi
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  fi
-
-  case "$lt_cv_dlopen" in
-  dlopen)
-for ac_hdr in dlfcn.h; do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "$progname:2488: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2493 "ltconfig"
-#include <$ac_hdr>
-int fnord = 0;
-EOF
-ac_try="$ac_compile >/dev/null 2>conftest.out"
-{ (eval echo $progname:2498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-    if test "x$ac_cv_header_dlfcn_h" = xyes; then
-      CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-    fi
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-  echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2526: checking whether a program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self=cross
-  else
-    cat > conftest.c <<EOF
-#line 2534 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL   RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL  DL_GLOBAL
-# else
-#  define LTDL_GLOBAL  0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW     RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW    DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW   RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW  DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW  0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-              if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self" 1>&6
-
-  if test "$lt_cv_dlopen_self" = yes; then
-    LDFLAGS="$LDFLAGS $link_static_flag"
-  echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2599: checking whether a statically linked program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self_static=cross
-  else
-    cat > conftest.c <<EOF
-#line 2607 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL   RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL  DL_GLOBAL
-# else
-#  define LTDL_GLOBAL  0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW     RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW    DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW   RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW  DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW  0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-    if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self_static=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self_static=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
-fi
-    ;;
-  esac
-
-  case "$lt_cv_dlopen_self" in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case "$lt_cv_dlopen_self_static" in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-# Copy echo and quote the copy, instead of the original, because it is
-# used later.
-ltecho="$echo"
-if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   ltecho="$CONFIG_SHELL \$0 --fallback-echo"
-fi
-LTSHELL="$SHELL"
-
-LTCONFIG_VERSION="$VERSION"
-
-# Only quote variables if we're using ltmain.sh.
-case "$ltmain" in
-*.sh)
-  # Now quote all the things that may contain metacharacters.
-  for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \
-    AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
-    reload_flag reload_cmds wl \
-    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
-    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
-    library_names_spec soname_spec \
-    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
-    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \
-    file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \
-    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
-    hardcode_libdir_flag_spec hardcode_libdir_separator  \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
-
-    case "$var" in
-    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case "$ltecho" in
-  *'\$0 --fallback-echo"')
-    ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-  trap "$rm \"$ofile\"; exit 1" 1 2 15
-  echo "creating $ofile"
-  $rm "$ofile"
-  cat <<EOF > "$ofile"
-#! $SHELL
-
-# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
-#
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="sed -e s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-### BEGIN LIBTOOL CONFIG
-EOF
-  cfgfile="$ofile"
-  ;;
-
-*)
-  # Double-quote the variables that need it (for aesthetics).
-  for var in old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do
-    eval "$var=\\\"\$var\\\""
-  done
-
-  # Just create a config file.
-  cfgfile="$ofile.cfg"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  echo "creating $cfgfile"
-  $rm "$cfgfile"
-  cat <<EOF > "$cfgfile"
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-EOF
-  ;;
-esac
-
-cat <<EOF >> "$cfgfile"
-# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
-# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
-# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\
-# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\
-#   $0$ltconfig_args
-#
-# Compiler and other test output produced by $progname, useful for
-# debugging $progname, is in ./config.log if it exists.
-
-# The version of $progname that generated this script.
-LTCONFIG_VERSION=$LTCONFIG_VERSION
-
-# Shell to use when invoking shell scripts.
-SHELL=$LTSHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-
-# An echo program that does not interpret backslashes.
-echo=$ltecho
-
-# The archiver.
-AR=$AR
-
-# The default C compiler.
-CC=$CC
-
-# The linker used to build libraries.
-LD=$LD
-
-# Whether we need hard or soft links.
-LN_S=$LN_S
-
-# A BSD-compatible nm program.
-NM=$NM
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$reload_flag
-reload_cmds=$reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$wl
-
-# Object file suffix (normally "o").
-objext="$objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$pic_flag
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$compiler_c_o
-
-# Can we write directly to a .lo ?
-compiler_o_lo=$compiler_o_lo
-
-# Must we lock files when doing compilation ?
-need_locks=$need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$link_static_flag
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$RANLIB
-old_archive_cmds=$old_archive_cmds
-old_postinstall_cmds=$old_postinstall_cmds
-old_postuninstall_cmds=$old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$old_archive_from_new_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$archive_cmds
-archive_expsym_cmds=$archive_expsym_cmds
-postinstall_cmds=$postinstall_cmds
-postuninstall_cmds=$postuninstall_cmds
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$global_symbol_to_cdecl
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$include_expsyms
-
-EOF
-
-case "$ltmain" in
-*.sh)
-  echo '### END LIBTOOL CONFIG' >> "$ofile"
-  echo >> "$ofile"
-  case "$host_os" in
-  aix3*)
-    cat <<\EOF >> "$ofile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # Append the ltmain.sh script.
-  sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-
-  chmod +x "$ofile"
-  ;;
-
-*)
-  # Compile the libtool program.
-  echo "FIXME: would compile $ltmain"
-  ;;
-esac
-
-test -n "$cache_file" || exit 0
-
-# AC_CACHE_SAVE
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-exit 0
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/salome_adm/unix/config_files/ltmain.sh b/salome_adm/unix/config_files/ltmain.sh
deleted file mode 100644 (file)
index 251394b..0000000
+++ /dev/null
@@ -1,4028 +0,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun ltconfig.
-#
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell, and then maybe $echo will work.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# The name of this program.
-progname=`$echo "$0" | sed 's%^.*/%%'`
-modename="$progname"
-
-# Constants.
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.3.5
-TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-SP2NL='tr \040 \012'
-NL2SP='tr \015\012 \040\040'
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
-  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
-  save_LANG="$LANG"; LANG=C; export LANG
-fi
-
-if test "$LTCONFIG_VERSION" != "$VERSION"; then
-  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
-  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit 1
-fi
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  echo "$modename: not configured to build any kind of library" 1>&2
-  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit 1
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-
-# Parse our command line options once, thoroughly.
-while test $# -gt 0
-do
-  arg="$1"
-  shift
-
-  case "$arg" in
-  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    case "$prev" in
-    execute_dlfiles)
-      eval "$prev=\"\$$prev \$arg\""
-      ;;
-    *)
-      eval "$prev=\$arg"
-      ;;
-    esac
-
-    prev=
-    prevopt=
-    continue
-  fi
-
-  # Have we seen a non-optional argument yet?
-  case "$arg" in
-  --help)
-    show_help=yes
-    ;;
-
-  --version)
-    echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
-    exit 0
-    ;;
-
-  --config)
-    sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
-    exit 0
-    ;;
-
-  --debug)
-    echo "$progname: enabling shell trace mode"
-    set -x
-    ;;
-
-  --dry-run | -n)
-    run=:
-    ;;
-
-  --features)
-    echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-    exit 0
-    ;;
-
-  --finish) mode="finish" ;;
-
-  --mode) prevopt="--mode" prev=mode ;;
-  --mode=*) mode="$optarg" ;;
-
-  --quiet | --silent)
-    show=:
-    ;;
-
-  -dlopen)
-    prevopt="-dlopen"
-    prev=execute_dlfiles
-    ;;
-
-  -*)
-    $echo "$modename: unrecognized option \`$arg'" 1>&2
-    $echo "$help" 1>&2
-    exit 1
-    ;;
-
-  *)
-    nonopt="$arg"
-    break
-    ;;
-  esac
-done
-
-if test -n "$prevopt"; then
-  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
-  $echo "$help" 1>&2
-  exit 1
-fi
-
-if test -z "$show_help"; then
-
-  # Infer the operation mode.
-  if test -z "$mode"; then
-    case "$nonopt" in
-    *cc | *++ | gcc* | *-gcc*)
-      mode=link
-      for arg
-      do
-       case "$arg" in
-       -c)
-          mode=compile
-          break
-          ;;
-       esac
-      done
-      ;;
-    *db | *dbx | *strace | *truss)
-      mode=execute
-      ;;
-    *install*|cp|mv)
-      mode=install
-      ;;
-    *rm)
-      mode=uninstall
-      ;;
-    *)
-      # If we have no mode, but dlfiles were specified, then do execute mode.
-      test -n "$execute_dlfiles" && mode=execute
-
-      # Just use the default operation mode.
-      if test -z "$mode"; then
-       if test -n "$nonopt"; then
-         $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-       else
-         $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-       fi
-      fi
-      ;;
-    esac
-  fi
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
-    $echo "$help" 1>&2
-    exit 1
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$modename --help --mode=$mode' for more information."
-
-  # These modes are in order of execution frequency so that they run quickly.
-  case "$mode" in
-  # libtool compile mode
-  compile)
-    modename="$modename: compile"
-    # Get the compilation command and the source file.
-    base_compile=
-    lastarg=
-    srcfile="$nonopt"
-    suppress_output=
-
-    user_target=no
-    for arg
-    do
-      # Accept any command-line options.
-      case "$arg" in
-      -o)
-       if test "$user_target" != "no"; then
-         $echo "$modename: you cannot specify \`-o' more than once" 1>&2
-         exit 1
-       fi
-       user_target=next
-       ;;
-
-      -static)
-       build_old_libs=yes
-       continue
-       ;;
-      esac
-
-      case "$user_target" in
-      next)
-       # The next one is the -o target name
-       user_target=yes
-       continue
-       ;;
-      yes)
-       # We got the output file
-       user_target=set
-       libobj="$arg"
-       continue
-       ;;
-      esac
-
-      # Accept the current argument as the source file.
-      lastarg="$srcfile"
-      srcfile="$arg"
-
-      # Aesthetically quote the previous argument.
-
-      # Backslashify any backslashes, double quotes, and dollar signs.
-      # These are the only characters that are still specially
-      # interpreted inside of double-quoted scrings.
-      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
-      # Double-quote args containing other shell metacharacters.
-      # Many Bourne shells cannot handle close brackets correctly in scan
-      # sets, so we specify it separately.
-      case "$lastarg" in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
-       lastarg="\"$lastarg\""
-       ;;
-      esac
-
-      # Add the previous argument to base_compile.
-      if test -z "$base_compile"; then
-       base_compile="$lastarg"
-      else
-       base_compile="$base_compile $lastarg"
-      fi
-    done
-
-    case "$user_target" in
-    set)
-      ;;
-    no)
-      # Get the name of the library object.
-      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
-      ;;
-    *)
-      $echo "$modename: you must specify a target with \`-o'" 1>&2
-      exit 1
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    xform='[cCFSfmso]'
-    case "$libobj" in
-    *.ada) xform=ada ;;
-    *.adb) xform=adb ;;
-    *.ads) xform=ads ;;
-    *.asm) xform=asm ;;
-    *.c++) xform=c++ ;;
-    *.cc) xform=cc ;;
-    *.cpp) xform=cpp ;;
-    *.cxx) xform=cxx ;;
-    *.f90) xform=f90 ;;
-    *.for) xform=for ;;
-    esac
-
-    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
-    case "$libobj" in
-    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
-    *)
-      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-      exit 1
-      ;;
-    esac
-
-    if test -z "$base_compile"; then
-      $echo "$modename: you must specify a compilation command" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $libobj"
-    else
-      removelist="$libobj"
-    fi
-
-    $run $rm $removelist
-    trap "$run $rm $removelist; exit 1" 1 2 15
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$run $rm $removelist; exit 1" 1 2 15
-    else
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until ln "$0" "$lockfile" 2>/dev/null; do
-       $show "Waiting for $lockfile to be removed"
-       sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-       echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $run $rm $removelist
-       exit 1
-      fi
-      echo $srcfile > "$lockfile"
-    fi
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      # All platforms use -DPIC, to notify preprocessed assembler code.
-      command="$base_compile $srcfile $pic_flag -DPIC"
-      if test "$build_old_libs" = yes; then
-       lo_libobj="$libobj"
-       dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
-       if test "X$dir" = "X$libobj"; then
-         dir="$objdir"
-       else
-         dir="$dir/$objdir"
-       fi
-       libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
-
-       if test -d "$dir"; then
-         $show "$rm $libobj"
-         $run $rm $libobj
-       else
-         $show "$mkdir $dir"
-         $run $mkdir $dir
-         status=$?
-         if test $status -ne 0 && test ! -d $dir; then
-           exit $status
-         fi
-       fi
-      fi
-      if test "$compiler_o_lo" = yes; then
-       output_obj="$libobj"
-       command="$command -o $output_obj"
-      elif test "$compiler_c_o" = yes; then
-       output_obj="$obj"
-       command="$command -o $output_obj"
-      fi
-
-      $run $rm "$output_obj"
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-       test -n "$output_obj" && $run $rm $removelist
-       exit 1
-      fi
-
-      if test "$need_locks" = warn &&
-        test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
-       echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $run $rm $removelist
-       exit 1
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test x"$output_obj" != x"$libobj"; then
-       $show "$mv $output_obj $libobj"
-       if $run $mv $output_obj $libobj; then :
-       else
-         error=$?
-         $run $rm $removelist
-         exit $error
-       fi
-      fi
-
-      # If we have no pic_flag, then copy the object into place and finish.
-      if test -z "$pic_flag" && test "$build_old_libs" = yes; then
-       # Rename the .lo from within objdir to obj
-       if test -f $obj; then
-         $show $rm $obj
-         $run $rm $obj
-       fi
-
-       $show "$mv $libobj $obj"
-       if $run $mv $libobj $obj; then :
-       else
-         error=$?
-         $run $rm $removelist
-         exit $error
-       fi
-
-       xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-       if test "X$xdir" = "X$obj"; then
-         xdir="."
-       else
-         xdir="$xdir"
-       fi
-       baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
-       libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
-       # Now arrange that obj and lo_libobj become the same file
-       $show "(cd $xdir && $LN_S $baseobj $libobj)"
-       if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
-         exit 0
-       else
-         error=$?
-         $run $rm $removelist
-         exit $error
-       fi
-      fi
-
-      # Allow error messages only from the first compilation.
-      suppress_output=' >/dev/null 2>&1'
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      command="$base_compile $srcfile"
-      if test "$compiler_c_o" = yes; then
-       command="$command -o $obj"
-       output_obj="$obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      $run $rm "$output_obj"
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-       $run $rm $removelist
-       exit 1
-      fi
-
-      if test "$need_locks" = warn &&
-        test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
-       echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $run $rm $removelist
-       exit 1
-      fi
-
-      # Just move the object if needed
-      if test x"$output_obj" != x"$obj"; then
-       $show "$mv $output_obj $obj"
-       if $run $mv $output_obj $obj; then :
-       else
-         error=$?
-         $run $rm $removelist
-         exit $error
-       fi
-      fi
-
-      # Create an invalid libtool object if no PIC, so that we do not
-      # accidentally link it into a program.
-      if test "$build_libtool_libs" != yes; then
-       $show "echo timestamp > $libobj"
-       $run eval "echo timestamp > \$libobj" || exit $?
-      else
-       # Move the .lo from within objdir
-       $show "$mv $libobj $lo_libobj"
-       if $run $mv $libobj $lo_libobj; then :
-       else
-         error=$?
-         $run $rm $removelist
-         exit $error
-       fi
-      fi
-    fi
-
-    # Unlock the critical section if it was locked
-    if test "$need_locks" != no; then
-      $rm "$lockfile"
-    fi
-
-    exit 0
-    ;;
-
-  # libtool link mode
-  link)
-    modename="$modename: link"
-    case "$host" in
-    *-*-cygwin* | *-*-mingw* | *-*-os2*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invokation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-
-      # This is a source program that is used to create dlls on Windows
-      # Don't remove nor modify the starting and closing comments
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# #  ifdef __CYGWIN32__
-# #    define __CYGWIN__ __CYGWIN32__
-# #  endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-#   __hDllInstance_base = hInst;
-#   return TRUE;
-# }
-# /* ltdll.c ends here */
-      # This is a source program that is used to create import libraries
-      # on Windows for dlls which lack them. Don't remove nor modify the
-      # starting and closing comments
-# /* impgen.c starts here */
-# /*   Copyright (C) 1999 Free Software Foundation, Inc.
-# 
-#  This file is part of GNU libtool.
-# 
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2 of the License, or
-#  (at your option) any later version.
-# 
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-# 
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#  */
-# 
-#  #include <stdio.h>          /* for printf() */
-#  #include <unistd.h>         /* for open(), lseek(), read() */
-#  #include <fcntl.h>          /* for O_RDONLY, O_BINARY */
-#  #include <string.h>         /* for strdup() */
-# 
-#  static unsigned int
-#  pe_get16 (fd, offset)
-#       int fd;
-#       int offset;
-#  {
-#    unsigned char b[2];
-#    lseek (fd, offset, SEEK_SET);
-#    read (fd, b, 2);
-#    return b[0] + (b[1]<<8);
-#  }
-# 
-#  static unsigned int
-#  pe_get32 (fd, offset)
-#      int fd;
-#      int offset;
-#  {
-#    unsigned char b[4];
-#    lseek (fd, offset, SEEK_SET);
-#    read (fd, b, 4);
-#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
-#  }
-# 
-#  static unsigned int
-#  pe_as32 (ptr)
-#       void *ptr;
-#  {
-#    unsigned char *b = ptr;
-#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
-#  }
-# 
-#  int
-#  main (argc, argv)
-#      int argc;
-#      char *argv[];
-#  {
-#      int dll;
-#      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
-#      unsigned long export_rva, export_size, nsections, secptr, expptr;
-#      unsigned long name_rvas, nexp;
-#      unsigned char *expdata, *erva;
-#      char *filename, *dll_name;
-# 
-#      filename = argv[1];
-# 
-#      dll = open(filename, O_RDONLY|O_BINARY);
-#      if (!dll)
-#      return 1;
-# 
-#      dll_name = filename;
-#    
-#      for (i=0; filename[i]; i++)
-#      if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
-#          dll_name = filename + i +1;
-# 
-#      pe_header_offset = pe_get32 (dll, 0x3c);
-#      opthdr_ofs = pe_header_offset + 4 + 20;
-#      num_entries = pe_get32 (dll, opthdr_ofs + 92);
-# 
-#      if (num_entries < 1) /* no exports */
-#      return 1;
-# 
-#      export_rva = pe_get32 (dll, opthdr_ofs + 96);
-#      export_size = pe_get32 (dll, opthdr_ofs + 100);
-#      nsections = pe_get16 (dll, pe_header_offset + 4 +2);
-#      secptr = (pe_header_offset + 4 + 20 +
-#            pe_get16 (dll, pe_header_offset + 4 + 16));
-# 
-#      expptr = 0;
-#      for (i = 0; i < nsections; i++)
-#      {
-#      char sname[8];
-#      unsigned long secptr1 = secptr + 40 * i;
-#      unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
-#      unsigned long vsize = pe_get32 (dll, secptr1 + 16);
-#      unsigned long fptr = pe_get32 (dll, secptr1 + 20);
-#      lseek(dll, secptr1, SEEK_SET);
-#      read(dll, sname, 8);
-#      if (vaddr <= export_rva && vaddr+vsize > export_rva)
-#      {
-#          expptr = fptr + (export_rva - vaddr);
-#          if (export_rva + export_size > vaddr + vsize)
-#              export_size = vsize - (export_rva - vaddr);
-#          break;
-#      }
-#      }
-# 
-#      expdata = (unsigned char*)malloc(export_size);
-#      lseek (dll, expptr, SEEK_SET);
-#      read (dll, expdata, export_size);
-#      erva = expdata - export_rva;
-# 
-#      nexp = pe_as32 (expdata+24);
-#      name_rvas = pe_as32 (expdata+32);
-# 
-#      printf ("EXPORTS\n");
-#      for (i = 0; i<nexp; i++)
-#      {
-#      unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
-#      printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
-#      }
-# 
-#      return 0;
-#  }
-# /* impgen.c ends here */
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    compile_command="$nonopt"
-    finalize_command="$nonopt"
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    linkopts=
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-    else
-      lib_search_path=
-    fi
-    # now prepend the system-specific ones
-    eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-    
-    avoid_version=no
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    link_against_libtool_libs=
-    ltlibs=
-    module=no
-    objs=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case "$arg" in
-      -all-static | -static)
-       if test "X$arg" = "X-all-static"; then
-         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-           $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
-         fi
-         if test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-       else
-         if test -z "$pic_flag" && test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-       fi
-       build_libtool_libs=no
-       build_old_libs=yes
-       prefer_static_libs=yes
-       break
-       ;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test $# -gt 0; do
-      arg="$1"
-      shift
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-       case "$prev" in
-       output)
-         compile_command="$compile_command @OUTPUT@"
-         finalize_command="$finalize_command @OUTPUT@"
-         ;;
-       esac
-
-       case "$prev" in
-       dlfiles|dlprefiles)
-         if test "$preload" = no; then
-           # Add the symbol object into the linking commands.
-           compile_command="$compile_command @SYMFILE@"
-           finalize_command="$finalize_command @SYMFILE@"
-           preload=yes
-         fi
-         case "$arg" in
-         *.la | *.lo) ;;  # We handle these cases below.
-         force)
-           if test "$dlself" = no; then
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         self)
-           if test "$prev" = dlprefiles; then
-             dlself=yes
-           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-             dlself=yes
-           else
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         *)
-           if test "$prev" = dlfiles; then
-             dlfiles="$dlfiles $arg"
-           else
-             dlprefiles="$dlprefiles $arg"
-           fi
-           prev=
-           ;;
-         esac
-         ;;
-       expsyms)
-         export_symbols="$arg"
-         if test ! -f "$arg"; then
-           $echo "$modename: symbol file \`$arg' does not exist"
-           exit 1
-         fi
-         prev=
-         continue
-         ;;
-       expsyms_regex)
-         export_symbols_regex="$arg"
-         prev=
-         continue
-         ;;
-       release)
-         release="-$arg"
-         prev=
-         continue
-         ;;
-       rpath | xrpath)
-         # We need an absolute path.
-         case "$arg" in
-         [\\/]* | [A-Za-z]:[\\/]*) ;;
-         *)
-           $echo "$modename: only absolute run-paths are allowed" 1>&2
-           exit 1
-           ;;
-         esac
-         if test "$prev" = rpath; then
-           case "$rpath " in
-           *" $arg "*) ;;
-           *) rpath="$rpath $arg" ;;
-           esac
-         else
-           case "$xrpath " in
-           *" $arg "*) ;;
-           *) xrpath="$xrpath $arg" ;;
-           esac
-         fi
-         prev=
-         continue
-         ;;
-       *)
-         eval "$prev=\"\$arg\""
-         prev=
-         continue
-         ;;
-       esac
-      fi
-
-      prevarg="$arg"
-
-      case "$arg" in
-      -all-static)
-       if test -n "$link_static_flag"; then
-         compile_command="$compile_command $link_static_flag"
-         finalize_command="$finalize_command $link_static_flag"
-       fi
-       continue
-       ;;
-
-      -allow-undefined)
-       # FIXME: remove this flag sometime in the future.
-       $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
-       continue
-       ;;
-
-      -avoid-version)
-       avoid_version=yes
-       continue
-       ;;
-
-      -dlopen)
-       prev=dlfiles
-       continue
-       ;;
-
-      -dlpreopen)
-       prev=dlprefiles
-       continue
-       ;;
-
-      -export-dynamic)
-       export_dynamic=yes
-       continue
-       ;;
-
-      -export-symbols | -export-symbols-regex)
-       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-         $echo "$modename: not more than one -exported-symbols argument allowed"
-         exit 1
-       fi
-       if test "X$arg" = "X-export-symbols"; then
-         prev=expsyms
-       else
-         prev=expsyms_regex
-       fi
-       continue
-       ;;
-
-      -L*)
-       dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
-       # We need an absolute path.
-       case "$dir" in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       *)
-         absdir=`cd "$dir" && pwd`
-         if test -z "$absdir"; then
-           $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-           $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-           absdir="$dir"
-         fi
-         dir="$absdir"
-         ;;
-       esac
-       case " $deplibs " in
-       *" $arg "*) ;;
-       *) deplibs="$deplibs $arg";;
-       esac
-       case " $lib_search_path " in
-       *" $dir "*) ;;
-       *) lib_search_path="$lib_search_path $dir";;
-       esac
-       case "$host" in
-       *-*-cygwin* | *-*-mingw* | *-*-os2*)
-         dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
-         case ":$dllsearchpath:" in
-         ::) dllsearchpath="$dllsearchdir";;
-         *":$dllsearchdir:"*) ;;
-         *) dllsearchpath="$dllsearchpath:$dllsearchdir";;
-         esac
-         ;;
-       esac
-       ;;
-
-      -l*)
-       if test "$arg" = "-lc"; then
-         case "$host" in
-         *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
-           # These systems don't actually have c library (as such)
-           continue
-           ;;
-         esac
-       elif test "$arg" = "-lm"; then
-         case "$host" in
-         *-*-cygwin* | *-*-beos*)
-           # These systems don't actually have math library (as such)
-           continue
-           ;;
-         esac
-       fi
-       deplibs="$deplibs $arg"
-       ;;
-
-      -module)
-       module=yes
-       continue
-       ;;
-
-      -no-undefined)
-       allow_undefined=no
-       continue
-       ;;
-
-      -o) prev=output ;;
-
-      -release)
-       prev=release
-       continue
-       ;;
-
-      -rpath)
-       prev=rpath
-       continue
-       ;;
-
-      -R)
-       prev=xrpath
-       continue
-       ;;
-
-      -R*)
-       dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
-       # We need an absolute path.
-       case "$dir" in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       *)
-         $echo "$modename: only absolute run-paths are allowed" 1>&2
-         exit 1
-         ;;
-       esac
-       case "$xrpath " in
-       *" $dir "*) ;;
-       *) xrpath="$xrpath $dir" ;;
-       esac
-       continue
-       ;;
-
-      -static)
-       # If we have no pic_flag, then this is the same as -all-static.
-       if test -z "$pic_flag" && test -n "$link_static_flag"; then
-         compile_command="$compile_command $link_static_flag"
-         finalize_command="$finalize_command $link_static_flag"
-       fi
-       continue
-       ;;
-
-      -thread-safe)
-       thread_safe=yes
-       continue
-       ;;
-
-      -version-info)
-       prev=vinfo
-       continue
-       ;;
-
-      # Some other compiler flag.
-      -* | +*)
-       # Unknown arguments in both finalize_command and compile_command need
-       # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-       case "$arg" in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
-         arg="\"$arg\""
-         ;;
-       esac
-       ;;
-
-      *.o | *.obj | *.a | *.lib)
-       # A standard object.
-       objs="$objs $arg"
-       ;;
-
-      *.lo)
-       # A library object.
-       if test "$prev" = dlfiles; then
-         dlfiles="$dlfiles $arg"
-         if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then
-           prev=
-           continue
-         else
-           # If libtool objects are unsupported, then we need to preload.
-           prev=dlprefiles
-         fi
-       fi
-
-       if test "$prev" = dlprefiles; then
-         # Preload the old-style object.
-         dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
-         prev=
-       fi
-       libobjs="$libobjs $arg"
-       ;;
-
-      *.la)
-       # A libtool-controlled library.
-
-       dlname=
-       libdir=
-       library_names=
-       old_library=
-
-       # Check to see that this really is a libtool archive.
-       if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-       else
-         $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
-         exit 1
-       fi
-
-       # If the library was installed with an old release of libtool,
-       # it will not redefine variable installed.
-       installed=yes
-
-       # Read the .la file
-       # If there is no directory component, then add one.
-       case "$arg" in
-       */* | *\\*) . $arg ;;
-       *) . ./$arg ;;
-       esac
-
-       # Get the name of the library we link against.
-       linklib=
-       for l in $old_library $library_names; do
-         linklib="$l"
-       done
-
-       if test -z "$linklib"; then
-         $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
-         exit 1
-       fi
-
-       # Find the relevant object directory and library name.
-       name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
-
-       if test "X$installed" = Xyes; then
-         dir="$libdir"
-       else
-         dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-         if test "X$dir" = "X$arg"; then
-           dir="$objdir"
-         else
-           dir="$dir/$objdir"
-         fi
-       fi
-
-       if test -n "$dependency_libs"; then
-         # Extract -R and -L from dependency_libs
-         temp_deplibs=
-         for deplib in $dependency_libs; do
-           case "$deplib" in
-           -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
-                case " $rpath $xrpath " in
-                *" $temp_xrpath "*) ;;
-                *) xrpath="$xrpath $temp_xrpath";;
-                esac;;
-           -L*) case "$compile_command $temp_deplibs " in
-                *" $deplib "*) ;;
-                *) temp_deplibs="$temp_deplibs $deplib";;
-                esac
-                temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-                case " $lib_search_path " in
-                *" $temp_dir "*) ;;
-                *) lib_search_path="$lib_search_path $temp_dir";;
-                esac
-                ;;
-           *) temp_deplibs="$temp_deplibs $deplib";;
-           esac
-         done
-         dependency_libs="$temp_deplibs"
-       fi
-
-       if test -z "$libdir"; then
-         # It is a libtool convenience library, so add in its objects.
-         convenience="$convenience $dir/$old_library"
-         old_convenience="$old_convenience $dir/$old_library"
-         deplibs="$deplibs$dependency_libs"
-         compile_command="$compile_command $dir/$old_library$dependency_libs"
-         finalize_command="$finalize_command $dir/$old_library$dependency_libs"
-         continue
-       fi
-
-       # This library was specified with -dlopen.
-       if test "$prev" = dlfiles; then
-         dlfiles="$dlfiles $arg"
-         if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then
-           # If there is no dlname, no dlopen support or we're linking statically,
-           # we need to preload.
-           prev=dlprefiles
-         else
-           # We should not create a dependency on this library, but we
-           # may need any libraries it requires.
-           compile_command="$compile_command$dependency_libs"
-           finalize_command="$finalize_command$dependency_libs"
-           prev=
-           continue
-         fi
-       fi
-
-       # The library was specified with -dlpreopen.
-       if test "$prev" = dlprefiles; then
-         # Prefer using a static library (so that no silly _DYNAMIC symbols
-         # are required to link).
-         if test -n "$old_library"; then
-           dlprefiles="$dlprefiles $dir/$old_library"
-         else
-           dlprefiles="$dlprefiles $dir/$linklib"
-         fi
-         prev=
-       fi
-
-       if test -n "$library_names" &&
-          { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
-         link_against_libtool_libs="$link_against_libtool_libs $arg"
-         if test -n "$shlibpath_var"; then
-           # Make sure the rpath contains only unique directories.
-           case "$temp_rpath " in
-           *" $dir "*) ;;
-           *) temp_rpath="$temp_rpath $dir" ;;
-           esac
-         fi
-
-         # We need an absolute path.
-         case "$dir" in
-         [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-         *)
-           absdir=`cd "$dir" && pwd`
-           if test -z "$absdir"; then
-             $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-             $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-             absdir="$dir"
-           fi
-           ;;
-         esac
-         
-         # This is the magic to use -rpath.
-         # Skip directories that are in the system default run-time
-         # search path, unless they have been requested with -R.
-         case " $sys_lib_dlsearch_path " in
-         *" $absdir "*) ;;
-         *)
-           case "$compile_rpath " in
-           *" $absdir "*) ;;
-           *) compile_rpath="$compile_rpath $absdir" 
-           esac
-           ;;
-         esac
-
-         case " $sys_lib_dlsearch_path " in
-         *" $libdir "*) ;;
-         *)
-           case "$finalize_rpath " in
-           *" $libdir "*) ;;
-           *) finalize_rpath="$finalize_rpath $libdir"
-           esac
-           ;;
-         esac
-
-         lib_linked=yes
-         case "$hardcode_action" in
-         immediate | unsupported)
-           if test "$hardcode_direct" = no; then
-             compile_command="$compile_command $dir/$linklib"
-             deplibs="$deplibs $dir/$linklib"
-             case "$host" in
-             *-*-cygwin* | *-*-mingw* | *-*-os2*)
-               dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
-               if test -n "$dllsearchpath"; then
-                 dllsearchpath="$dllsearchpath:$dllsearchdir"
-               else
-                 dllsearchpath="$dllsearchdir"
-               fi
-               ;;
-             esac
-           elif test "$hardcode_minus_L" = no; then
-             case "$host" in
-             *-*-sunos*)
-               compile_shlibpath="$compile_shlibpath$dir:"
-               ;;
-             esac
-             case "$compile_command " in
-             *" -L$dir "*) ;;
-             *) compile_command="$compile_command -L$dir";;
-             esac
-             compile_command="$compile_command -l$name"
-             deplibs="$deplibs -L$dir -l$name"
-           elif test "$hardcode_shlibpath_var" = no; then
-             case ":$compile_shlibpath:" in
-             *":$dir:"*) ;;
-             *) compile_shlibpath="$compile_shlibpath$dir:";;
-             esac
-             compile_command="$compile_command -l$name"
-             deplibs="$deplibs -l$name"
-           else
-             lib_linked=no
-           fi
-           ;;
-
-         relink)
-           if test "$hardcode_direct" = yes; then
-             compile_command="$compile_command $absdir/$linklib"
-             deplibs="$deplibs $absdir/$linklib"
-           elif test "$hardcode_minus_L" = yes; then
-             case "$compile_command " in
-             *" -L$absdir "*) ;;
-             *) compile_command="$compile_command -L$absdir";;
-             esac
-             compile_command="$compile_command -l$name"
-             deplibs="$deplibs -L$absdir -l$name"
-           elif test "$hardcode_shlibpath_var" = yes; then
-             case ":$compile_shlibpath:" in
-             *":$absdir:"*) ;;
-             *) compile_shlibpath="$compile_shlibpath$absdir:";;
-             esac
-             compile_command="$compile_command -l$name"
-             deplibs="$deplibs -l$name"
-           else
-             lib_linked=no
-           fi
-           ;;
-
-         *)
-           lib_linked=no
-           ;;
-         esac
-
-         if test "$lib_linked" != yes; then
-           $echo "$modename: configuration error: unsupported hardcode properties"
-           exit 1
-         fi
-
-         # Finalize command for both is simple: just hardcode it.
-         if test "$hardcode_direct" = yes; then
-           finalize_command="$finalize_command $libdir/$linklib"
-         elif test "$hardcode_minus_L" = yes; then
-           case "$finalize_command " in
-           *" -L$libdir "*) ;;
-           *) finalize_command="$finalize_command -L$libdir";;
-           esac
-           finalize_command="$finalize_command -l$name"
-         elif test "$hardcode_shlibpath_var" = yes; then
-           case ":$finalize_shlibpath:" in
-           *":$libdir:"*) ;;
-           *) finalize_shlibpath="$finalize_shlibpath$libdir:";;
-           esac
-           finalize_command="$finalize_command -l$name"
-         else
-           # We cannot seem to hardcode it, guess we'll fake it.
-           case "$finalize_command " in
-           *" -L$dir "*) ;;
-           *) finalize_command="$finalize_command -L$libdir";;
-           esac
-           finalize_command="$finalize_command -l$name"
-         fi
-       else
-         # Transform directly to old archives if we don't build new libraries.
-         if test -n "$pic_flag" && test -z "$old_library"; then
-           $echo "$modename: cannot find static library for \`$arg'" 1>&2
-           exit 1
-         fi
-
-         # Here we assume that one of hardcode_direct or hardcode_minus_L
-         # is not unsupported.  This is valid on all known static and
-         # shared platforms.
-         if test "$hardcode_direct" != unsupported; then
-           test -n "$old_library" && linklib="$old_library"
-           compile_command="$compile_command $dir/$linklib"
-           finalize_command="$finalize_command $dir/$linklib"
-         else
-           case "$compile_command " in
-           *" -L$dir "*) ;;
-           *) compile_command="$compile_command -L$dir";;
-           esac
-           compile_command="$compile_command -l$name"
-           case "$finalize_command " in
-           *" -L$dir "*) ;;
-           *) finalize_command="$finalize_command -L$dir";;
-           esac
-           finalize_command="$finalize_command -l$name"
-         fi
-       fi
-
-       # Add in any libraries that this one depends upon.
-       compile_command="$compile_command$dependency_libs"
-       finalize_command="$finalize_command$dependency_libs"
-       continue
-       ;;
-
-      # Some other compiler argument.
-      *)
-       # Unknown arguments in both finalize_command and compile_command need
-       # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-       case "$arg" in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
-         arg="\"$arg\""
-         ;;
-       esac
-       ;;
-      esac
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-       compile_command="$compile_command $arg"
-       finalize_command="$finalize_command $arg"
-      fi
-    done
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
-    libobjs_save="$libobjs"
-
-    case "$output" in
-    "")
-      $echo "$modename: you must specify an output file" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-      ;;
-
-    *.a | *.lib)
-      if test -n "$link_against_libtool_libs"; then
-       $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
-       exit 1
-      fi
-
-      if test -n "$deplibs"; then
-       $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-       $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-       $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-       $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$release"; then
-       $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-       $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
-      fi
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      ;;
-
-    *.la)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case "$outputname" in
-      lib*)
-       name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-       eval libname=\"$libname_spec\"
-       ;;
-      *)
-       if test "$module" = no; then
-         $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
-         $echo "$help" 1>&2
-         exit 1
-       fi
-       if test "$need_lib_prefix" != no; then
-         # Add the "lib" prefix for modules if required
-         name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-         eval libname=\"$libname_spec\"
-       else
-         libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-       fi
-       ;;
-      esac
-
-      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$output_objdir" = "X$output"; then
-       output_objdir="$objdir"
-      else
-       output_objdir="$output_objdir/$objdir"
-      fi
-
-      if test -n "$objs"; then
-       $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
-       exit 1
-      fi
-
-      # How the heck are we supposed to write a wrapper for a shared library?
-      if test -n "$link_against_libtool_libs"; then
-        $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
-        exit 1
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
-      fi
-
-      set dummy $rpath
-      if test $# -gt 2; then
-       $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
-      fi
-      install_libdir="$2"
-
-      oldlibs=
-      if test -z "$rpath"; then
-       if test "$build_libtool_libs" = yes; then
-         # Building a libtool convenience library.
-         libext=al
-         oldlibs="$output_objdir/$libname.$libext $oldlibs"
-         build_libtool_libs=convenience
-         build_old_libs=yes
-       fi
-       dependency_libs="$deplibs"
-
-       if test -n "$vinfo"; then
-         $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
-       fi
-
-       if test -n "$release"; then
-         $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
-       fi
-      else
-
-       # Parse the version information argument.
-       IFS="${IFS=     }"; save_ifs="$IFS"; IFS=':'
-       set dummy $vinfo 0 0 0
-       IFS="$save_ifs"
-
-       if test -n "$8"; then
-         $echo "$modename: too many parameters to \`-version-info'" 1>&2
-         $echo "$help" 1>&2
-         exit 1
-       fi
-
-       current="$2"
-       revision="$3"
-       age="$4"
-
-       # Check that each of the things are valid numbers.
-       case "$current" in
-       [0-9]*) ;;
-       *)
-         $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit 1
-         ;;
-       esac
-
-       case "$revision" in
-       [0-9]*) ;;
-       *)
-         $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit 1
-         ;;
-       esac
-
-       case "$age" in
-       [0-9]*) ;;
-       *)
-         $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit 1
-         ;;
-       esac
-
-       if test $age -gt $current; then
-         $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit 1
-       fi
-
-       # Calculate the version variables.
-       major=
-       versuffix=
-       verstring=
-       case "$version_type" in
-       none) ;;
-
-       irix)
-         major=`expr $current - $age + 1`
-         versuffix="$major.$revision"
-         verstring="sgi$major.$revision"
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$revision
-         while test $loop != 0; do
-           iface=`expr $revision - $loop`
-           loop=`expr $loop - 1`
-           verstring="sgi$major.$iface:$verstring"
-         done
-         ;;
-
-       linux)
-         major=.`expr $current - $age`
-         versuffix="$major.$age.$revision"
-         ;;
-
-       osf)
-         major=`expr $current - $age`
-         versuffix=".$current.$age.$revision"
-         verstring="$current.$age.$revision"
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$age
-         while test $loop != 0; do
-           iface=`expr $current - $loop`
-           loop=`expr $loop - 1`
-           verstring="$verstring:${iface}.0"
-         done
-
-         # Make executables depend on our current version.
-         verstring="$verstring:${current}.0"
-         ;;
-
-       sunos)
-         major=".$current"
-         versuffix=".$current.$revision"
-         ;;
-
-       freebsd-aout)
-         major=".$current"
-         versuffix=".$current.$revision";
-         ;;
-
-       freebsd-elf)
-         major=".$current"
-         versuffix=".$current";
-         ;;
-
-       windows)
-         # Like Linux, but with '-' rather than '.', since we only
-         # want one extension on Windows 95.
-         major=`expr $current - $age`
-         versuffix="-$major-$age-$revision"
-         ;;
-
-       *)
-         $echo "$modename: unknown library version type \`$version_type'" 1>&2
-         echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-         exit 1
-         ;;
-       esac
-
-       # Clear the version info if we defaulted, and they specified a release.
-       if test -z "$vinfo" && test -n "$release"; then
-         major=
-         verstring="0.0"
-         if test "$need_version" = no; then
-           versuffix=
-         else
-           versuffix=".0.0"
-         fi
-       fi
-
-       # Remove version info from name if versioning should be avoided
-       if test "$avoid_version" = yes && test "$need_version" = no; then
-         major=
-         versuffix=
-         verstring=""
-       fi
-       
-       # Check to see if the archive will have undefined symbols.
-       if test "$allow_undefined" = yes; then
-         if test "$allow_undefined_flag" = unsupported; then
-           $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
-           build_libtool_libs=no
-           build_old_libs=yes
-         fi
-       else
-         # Don't allow undefined symbols.
-         allow_undefined_flag="$no_undefined_flag"
-       fi
-
-       dependency_libs="$deplibs"
-       case "$host" in
-       *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
-         # these systems don't actually have a c library (as such)!
-         ;;
-        *-*-rhapsody*)
-         # rhapsody is a little odd...
-         deplibs="$deplibs -framework System"
-         ;;
-       *)
-         # Add libc to deplibs on all other systems.
-         deplibs="$deplibs -lc"
-         ;;
-       esac
-      fi
-
-      # Create the output directory, or remove our outputs if we need to.
-      if test -d $output_objdir; then
-       $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
-       $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
-      else
-       $show "$mkdir $output_objdir"
-       $run $mkdir $output_objdir
-       status=$?
-       if test $status -ne 0 && test ! -d $output_objdir; then
-         exit $status
-       fi
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-       oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-       # Transform .lo files to .o files.
-       oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
-      fi
-
-      if test "$build_libtool_libs" = yes; then
-       # Transform deplibs into only deplibs that can be linked in shared.
-       name_save=$name
-       libname_save=$libname
-       release_save=$release
-       versuffix_save=$versuffix
-       major_save=$major
-       # I'm not sure if I'm treating the release correctly.  I think
-       # release should show up in the -l (ie -lgmp5) so we don't want to
-       # add it in twice.  Is that correct?
-       release=""
-       versuffix=""
-       major=""
-       newdeplibs=
-       droppeddeps=no
-       case "$deplibs_check_method" in
-       pass_all)
-         # Don't check for shared/static.  Everything works.
-         # This might be a little naive.  We might want to check
-         # whether the library exists or not.  But this is on
-         # osf3 & osf4 and I'm not really sure... Just
-         # implementing what was already the behaviour.
-         newdeplibs=$deplibs
-         ;;
-       test_compile)
-         # This code stresses the "libraries are programs" paradigm to its
-         # limits. Maybe even breaks it.  We compile a program, linking it
-         # against the deplibs as a proxy for the library.  Then we can check
-         # whether they linked in statically or dynamically with ldd.
-         $rm conftest.c
-         cat > conftest.c <<EOF
-         int main() { return 0; }
-EOF
-         $rm conftest
-         $CC -o conftest conftest.c $deplibs
-         if test $? -eq 0 ; then
-           ldd_output=`ldd conftest`
-           for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
-             # If $name is empty we are operating on a -L argument.
-             if test "$name" != "" ; then
-               libname=`eval \\$echo \"$libname_spec\"`
-               deplib_matches=`eval \\$echo \"$library_names_spec\"`
-               set dummy $deplib_matches
-               deplib_match=$2
-               if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-                 newdeplibs="$newdeplibs $i"
-               else
-                 droppeddeps=yes
-                 echo
-                 echo "*** Warning: This library needs some functionality provided by $i."
-                 echo "*** I have the capability to make that library automatically link in when"
-                 echo "*** you link to this library.  But I can only do this if you have a"
-                 echo "*** shared version of the library, which you do not appear to have."
-               fi
-             else
-               newdeplibs="$newdeplibs $i"
-             fi
-           done
-         else
-           # Error occured in the first compile.  Let's try to salvage the situation:
-           # Compile a seperate program for each library.
-           for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
-            # If $name is empty we are operating on a -L argument.
-             if test "$name" != "" ; then
-               $rm conftest
-               $CC -o conftest conftest.c $i
-               # Did it work?
-               if test $? -eq 0 ; then
-                 ldd_output=`ldd conftest`
-                 libname=`eval \\$echo \"$libname_spec\"`
-                 deplib_matches=`eval \\$echo \"$library_names_spec\"`
-                 set dummy $deplib_matches
-                 deplib_match=$2
-                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-                   newdeplibs="$newdeplibs $i"
-                 else
-                   droppeddeps=yes
-                   echo
-                   echo "*** Warning: This library needs some functionality provided by $i."
-                   echo "*** I have the capability to make that library automatically link in when"
-                   echo "*** you link to this library.  But I can only do this if you have a"
-                   echo "*** shared version of the library, which you do not appear to have."
-                 fi
-               else
-                 droppeddeps=yes
-                 echo
-                 echo "*** Warning!  Library $i is needed by this library but I was not able to"
-                 echo "***  make it link in!  You will probably need to install it or some"
-                 echo "*** library that it depends on before this library will be fully"
-                 echo "*** functional.  Installing it before continuing would be even better."
-               fi
-             else
-               newdeplibs="$newdeplibs $i"
-             fi
-           done
-         fi
-         ;;
-       file_magic*)
-         set dummy $deplibs_check_method
-         file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`"
-         for a_deplib in $deplibs; do
-           name="`expr $a_deplib : '-l\(.*\)'`"
-           # If $name is empty we are operating on a -L argument.
-           if test "$name" != "" ; then
-             libname=`eval \\$echo \"$libname_spec\"`
-             for i in $lib_search_path; do
-                   potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-                   for potent_lib in $potential_libs; do
-                     # Follow soft links.
-                     if ls -lLd "$potent_lib" 2>/dev/null \
-                        | grep " -> " >/dev/null; then
-                       continue 
-                     fi
-                     # The statement above tries to avoid entering an
-                     # endless loop below, in case of cyclic links.
-                     # We might still enter an endless loop, since a link
-                     # loop can be closed while we follow links,
-                     # but so what?
-                     potlib="$potent_lib"
-                     while test -h "$potlib" 2>/dev/null; do
-                       potliblink=`ls -ld $potlib | sed 's/.* -> //'`
-                       case "$potliblink" in
-                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-                       *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-                       esac
-                     done
-                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-                        | sed 10q \
-                        | egrep "$file_magic_regex" > /dev/null; then
-                       newdeplibs="$newdeplibs $a_deplib"
-                       a_deplib=""
-                       break 2
-                     fi
-                   done
-             done
-             if test -n "$a_deplib" ; then
-               droppeddeps=yes
-               echo
-               echo "*** Warning: This library needs some functionality provided by $a_deplib."
-               echo "*** I have the capability to make that library automatically link in when"
-               echo "*** you link to this library.  But I can only do this if you have a"
-               echo "*** shared version of the library, which you do not appear to have."
-             fi
-           else
-             # Add a -L argument.
-             newdeplibs="$newdeplibs $a_deplib"
-           fi
-         done # Gone through all deplibs.
-         ;;
-       none | unknown | *)
-         newdeplibs=""
-         if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
-              -e 's/ -[LR][^ ]*//g' -e 's/[    ]//g' |
-            grep . >/dev/null; then
-           echo
-           if test "X$deplibs_check_method" = "Xnone"; then
-             echo "*** Warning: inter-library dependencies are not supported in this platform."
-           else
-             echo "*** Warning: inter-library dependencies are not known to be supported."
-           fi
-           echo "*** All declared inter-library dependencies are being dropped."
-           droppeddeps=yes
-         fi
-         ;;
-       esac
-       versuffix=$versuffix_save
-       major=$major_save
-       release=$release_save
-       libname=$libname_save
-       name=$name_save
-
-       if test "$droppeddeps" = yes; then
-         if test "$module" = yes; then
-           echo
-           echo "*** Warning: libtool could not satisfy all declared inter-library"
-           echo "*** dependencies of module $libname.  Therefore, libtool will create"
-           echo "*** a static module, that should work as long as the dlopening"
-           echo "*** application is linked with the -dlopen flag."
-           if test -z "$global_symbol_pipe"; then
-             echo
-             echo "*** However, this would only work if libtool was able to extract symbol"
-             echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-             echo "*** not find such a program.  So, this module is probably useless."
-             echo "*** \`nm' from GNU binutils and a full rebuild may help."
-           fi
-           if test "$build_old_libs" = no; then
-             oldlibs="$output_objdir/$libname.$libext"
-             build_libtool_libs=module
-             build_old_libs=yes
-           else
-             build_libtool_libs=no
-           fi
-         else
-           echo "*** The inter-library dependencies that have been dropped here will be"
-           echo "*** automatically added whenever a program is linked with this library"
-           echo "*** or is declared to -dlopen it."
-         fi
-       fi
-       # Done checking deplibs!
-       deplibs=$newdeplibs
-      fi
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-      
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-       # Get the real and link names of the library.
-       eval library_names=\"$library_names_spec\"
-       set dummy $library_names
-       realname="$2"
-       shift; shift
-
-       if test -n "$soname_spec"; then
-         eval soname=\"$soname_spec\"
-       else
-         soname="$realname"
-       fi
-
-       lib="$output_objdir/$realname"
-       for link
-       do
-         linknames="$linknames $link"
-       done
-
-       # Ensure that we have .o objects for linkers which dislike .lo
-       # (e.g. aix) in case we are running --disable-static
-       for obj in $libobjs; do
-         xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-         if test "X$xdir" = "X$obj"; then
-           xdir="."
-         else
-           xdir="$xdir"
-         fi
-         baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-         oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
-         if test ! -f $xdir/$oldobj; then
-           $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
-           $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
-         fi
-       done
-
-       # Use standard objects if they are pic
-       test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
-       # Prepare the list of exported symbols
-       if test -z "$export_symbols"; then
-         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-           $show "generating symbol list for \`$libname.la'"
-           export_symbols="$output_objdir/$libname.exp"
-           $run $rm $export_symbols
-           eval cmds=\"$export_symbols_cmds\"
-           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
-           for cmd in $cmds; do
-             IFS="$save_ifs"
-             $show "$cmd"
-             $run eval "$cmd" || exit $?
-           done
-           IFS="$save_ifs"
-           if test -n "$export_symbols_regex"; then
-             $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-             $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-             $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-             $run eval '$mv "${export_symbols}T" "$export_symbols"'
-           fi
-         fi
-       fi
-
-       if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
-       fi
-
-       if test -n "$convenience"; then
-         if test -n "$whole_archive_flag_spec"; then
-           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-         else
-           gentop="$output_objdir/${outputname}x"
-           $show "${rm}r $gentop"
-           $run ${rm}r "$gentop"
-           $show "mkdir $gentop"
-           $run mkdir "$gentop"
-           status=$?
-           if test $status -ne 0 && test ! -d "$gentop"; then
-             exit $status
-           fi
-           generated="$generated $gentop"
-
-           for xlib in $convenience; do
-             # Extract the objects.
-             case "$xlib" in
-             [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-             *) xabs=`pwd`"/$xlib" ;;
-             esac
-             xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-             xdir="$gentop/$xlib"
-
-             $show "${rm}r $xdir"
-             $run ${rm}r "$xdir"
-             $show "mkdir $xdir"
-             $run mkdir "$xdir"
-             status=$?
-             if test $status -ne 0 && test ! -d "$xdir"; then
-               exit $status
-             fi
-             $show "(cd $xdir && $AR x $xabs)"
-             $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-             libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
-           done
-         fi
-       fi
-
-       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-         eval flag=\"$thread_safe_flag_spec\"
-         linkopts="$linkopts $flag"
-       fi
-
-       # Do each of the archive commands.
-       if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-         eval cmds=\"$archive_expsym_cmds\"
-       else
-         eval cmds=\"$archive_cmds\"
-       fi
-       IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'
-       for cmd in $cmds; do
-         IFS="$save_ifs"
-         $show "$cmd"
-         $run eval "$cmd" || exit $?
-       done
-       IFS="$save_ifs"
-
-       # Create links to the real library.
-       for linkname in $linknames; do
-         if test "$realname" != "$linkname"; then
-           $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
-           $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
-         fi
-       done
-
-       # If -module or -export-dynamic was specified, set the dlname.
-       if test "$module" = yes || test "$export_dynamic" = yes; then
-         # On all known operating systems, these are identical.
-         dlname="$soname"
-       fi
-      fi
-      ;;
-
-    *.lo | *.o | *.obj)
-      if test -n "$link_against_libtool_libs"; then
-       $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
-       exit 1
-      fi
-
-      if test -n "$deplibs"; then
-       $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-       $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-       $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-       $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$release"; then
-       $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
-      fi
-
-      case "$output" in
-      *.lo)
-       if test -n "$objs"; then
-         $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
-         exit 1
-       fi
-       libobj="$output"
-       obj=`$echo "X$output" | $Xsed -e "$lo2o"`
-       ;;
-      *)
-       libobj=
-       obj="$output"
-       ;;
-      esac
-
-      # Delete the old objects.
-      $run $rm $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec
-      wl= 
-
-      if test -n "$convenience"; then
-       if test -n "$whole_archive_flag_spec"; then
-         eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
-       else
-         gentop="$output_objdir/${obj}x"
-         $show "${rm}r $gentop"
-         $run ${rm}r "$gentop"
-         $show "mkdir $gentop"
-         $run mkdir "$gentop"
-         status=$?
-         if test $status -ne 0 && test ! -d "$gentop"; then
-           exit $status
-         fi
-         generated="$generated $gentop"
-
-         for xlib in $convenience; do
-           # Extract the objects.
-           case "$xlib" in
-           [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-           *) xabs=`pwd`"/$xlib" ;;
-           esac
-           xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-           xdir="$gentop/$xlib"
-
-           $show "${rm}r $xdir"
-           $run ${rm}r "$xdir"
-           $show "mkdir $xdir"
-           $run mkdir "$xdir"
-           status=$?
-           if test $status -ne 0 && test ! -d "$xdir"; then
-             exit $status
-           fi
-           $show "(cd $xdir && $AR x $xabs)"
-           $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-           reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
-         done
-       fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs"
-
-      output="$obj"
-      eval cmds=\"$reload_cmds\"
-      IFS="${IFS=      }"; save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-       IFS="$save_ifs"
-       $show "$cmd"
-       $run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-       if test -n "$gentop"; then
-         $show "${rm}r $gentop"
-         $run ${rm}r $gentop
-       fi
-
-       exit 0
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-       if test -n "$gentop"; then
-         $show "${rm}r $gentop"
-         $run ${rm}r $gentop
-       fi
-
-       # Create an invalid libtool object if no PIC, so that we don't
-       # accidentally link it into a program.
-       $show "echo timestamp > $libobj"
-       $run eval "echo timestamp > $libobj" || exit $?
-       exit 0
-      fi
-
-      if test -n "$pic_flag"; then
-       # Only do commands if we really have different PIC objects.
-       reload_objs="$libobjs $reload_conv_objs"
-       output="$libobj"
-       eval cmds=\"$reload_cmds\"
-       IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'
-       for cmd in $cmds; do
-         IFS="$save_ifs"
-         $show "$cmd"
-         $run eval "$cmd" || exit $?
-       done
-       IFS="$save_ifs"
-      else
-       # Just create a symlink.
-       $show $rm $libobj
-       $run $rm $libobj
-       xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
-       if test "X$xdir" = "X$libobj"; then
-         xdir="."
-       else
-         xdir="$xdir"
-       fi
-       baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
-       oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
-       $show "(cd $xdir && $LN_S $oldobj $baseobj)"
-       $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
-      fi
-
-      if test -n "$gentop"; then
-       $show "${rm}r $gentop"
-       $run ${rm}r $gentop
-      fi
-
-      exit 0
-      ;;
-
-    # Anything else should be a program.
-    *)
-      if test -n "$vinfo"; then
-       $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
-      fi
-
-      if test -n "$release"; then
-       $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
-      fi
-
-      if test "$preload" = yes; then
-       if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&
-          test "$dlopen_self_static" = unknown; then
-         $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
-       fi 
-      fi
-    
-      if test -n "$rpath$xrpath"; then
-       # If the user specified any rpath flags, then add them.
-       for libdir in $rpath $xrpath; do
-         # This is the magic to use -rpath.
-         case "$compile_rpath " in
-         *" $libdir "*) ;;
-         *) compile_rpath="$compile_rpath $libdir" ;;
-         esac
-         case "$finalize_rpath " in
-         *" $libdir "*) ;;
-         *) finalize_rpath="$finalize_rpath $libdir" ;;
-         esac
-       done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
-           else
-             # Just accumulate the unique libdirs.
-             case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           rpath="$rpath $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$perm_rpath " in
-         *" $libdir "*) ;;
-         *) perm_rpath="$perm_rpath $libdir" ;;
-         esac
-       fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
-           else
-             # Just accumulate the unique libdirs.
-             case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           rpath="$rpath $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$finalize_perm_rpath " in
-         *" $libdir "*) ;;
-         *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-         esac
-       fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$output_objdir" = "X$output"; then
-       output_objdir="$objdir"
-      else
-       output_objdir="$output_objdir/$objdir"
-      fi
-
-      # Create the binary in the object directory, then wrap it.
-      if test ! -d $output_objdir; then
-       $show "$mkdir $output_objdir"
-       $run $mkdir $output_objdir
-       status=$?
-       if test $status -ne 0 && test ! -d $output_objdir; then
-         exit $status
-       fi
-      fi
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-       # Transform all the library objects into standard objects.
-       compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-       finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      dlsyms=
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       if test -n "$NM" && test -n "$global_symbol_pipe"; then
-         dlsyms="${outputname}S.c"
-       else
-         $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
-       fi
-      fi
-
-      if test -n "$dlsyms"; then
-       case "$dlsyms" in
-       "") ;;
-       *.c)
-         # Discover the nlist of each of the dlfiles.
-         nlist="$output_objdir/${outputname}.nm"
-
-         $show "$rm $nlist ${nlist}S ${nlist}T"
-         $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
-         # Parse the name list into a source file.
-         $show "creating $output_objdir/$dlsyms"
-
-         test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
-         if test "$dlself" = yes; then
-           $show "generating symbol list for \`$output'"
-
-           test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
-           # Add our own program objects to the symbol list.
-           progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-           for arg in $progfiles; do
-             $show "extracting global C symbols from \`$arg'"
-             $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-           done
-
-           if test -n "$exclude_expsyms"; then
-             $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-             $run eval '$mv "$nlist"T "$nlist"'
-           fi
-           
-           if test -n "$export_symbols_regex"; then
-             $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-             $run eval '$mv "$nlist"T "$nlist"'
-           fi
-
-           # Prepare the list of exported symbols
-           if test -z "$export_symbols"; then
-             export_symbols="$output_objdir/$output.exp"
-             $run $rm $export_symbols
-             $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-           else
-             $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
-             $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
-             $run eval 'mv "$nlist"T "$nlist"'
-           fi
-         fi
-
-         for arg in $dlprefiles; do
-           $show "extracting global C symbols from \`$arg'"
-           name=`echo "$arg" | sed -e 's%^.*/%%'`
-           $run eval 'echo ": $name " >> "$nlist"'
-           $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-         done
-
-         if test -z "$run"; then
-           # Make sure we have at least an empty file.
-           test -f "$nlist" || : > "$nlist"
-
-           if test -n "$exclude_expsyms"; then
-             egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-             $mv "$nlist"T "$nlist"
-           fi
-
-           # Try sorting and uniquifying the output.
-           if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
-             :
-           else
-             grep -v "^: " < "$nlist" > "$nlist"S
-           fi
-
-           if test -f "$nlist"S; then
-             eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
-           else
-             echo '/* NONE */' >> "$output_objdir/$dlsyms"
-           fi
-
-           $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
-           sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \
-               -e 's/^. \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr_t) \&\2},/p' \
-                 < "$nlist" >> "$output_objdir/$dlsyms"
-
-           $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr_t) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-         fi
-
-         pic_flag_for_symtable=
-         case "$host" in
-         # compiling the symbol table file with pic_flag works around
-         # a FreeBSD bug that causes programs to crash when -lm is
-         # linked before any other PIC object.  But we must not use
-         # pic_flag when linking with -static.  The problem exists in
-         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-         *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-           case "$compile_command " in
-           *" -static "*) ;;
-           *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
-           esac;;
-         *-*-hpux*)
-           case "$compile_command " in
-           *" -static "*) ;;
-           *) pic_flag_for_symtable=" $pic_flag -DPIC";;
-           esac
-         esac
-
-         # Now compile the dynamic symbol file.
-         $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-         $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
-         # Clean up the generated files.
-         $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
-         $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
-         # Transform the symbol file into the correct name.
-         compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-         finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-         ;;
-       *)
-         $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
-         exit 1
-         ;;
-       esac
-      else
-       # We keep going just in case the user didn't refer to
-       # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-       # really was required.
-
-       # Nullify the symbol file.
-       compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-       finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
-      fi
-
-      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
-       # Replace the output file specification.
-       compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-       link_command="$compile_command$compile_rpath"
-
-       # We have no uninstalled library dependencies, so finalize right now.
-       $show "$link_command"
-       $run eval "$link_command"
-       status=$?
-       
-       # Delete the generated files.
-       if test -n "$dlsyms"; then
-         $show "$rm $output_objdir/${outputname}S.${objext}"
-         $run $rm "$output_objdir/${outputname}S.${objext}"
-       fi
-
-       exit $status
-      fi
-
-      if test -n "$shlibpath_var"; then
-       # We should set the shlibpath_var
-       rpath=
-       for dir in $temp_rpath; do
-         case "$dir" in
-         [\\/]* | [A-Za-z]:[\\/]*)
-           # Absolute path.
-           rpath="$rpath$dir:"
-           ;;
-         *)
-           # Relative path: add a thisdir entry.
-           rpath="$rpath\$thisdir/$dir:"
-           ;;
-         esac
-       done
-       temp_rpath="$rpath"
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-       if test -n "$perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $perm_rpath; do
-           rpath="$rpath$dir:"
-         done
-         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-       if test -n "$finalize_perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $finalize_perm_rpath; do
-           rpath="$rpath$dir:"
-         done
-         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-      fi
-
-      if test "$hardcode_action" = relink; then
-       # Fast installation is not supported
-       link_command="$compile_var$compile_command$compile_rpath"
-       relink_command="$finalize_var$finalize_command$finalize_rpath"
-       
-       $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
-       $echo "$modename: \`$output' will be relinked during installation" 1>&2
-      else
-       if test "$fast_install" != no; then
-         link_command="$finalize_var$compile_command$finalize_rpath"
-         if test "$fast_install" = yes; then
-           relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
-         else
-           # fast_install is set to needless
-           relink_command=
-         fi
-       else
-         link_command="$compile_var$compile_command$compile_rpath"
-         relink_command="$finalize_var$finalize_command$finalize_rpath"
-       fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-      
-      # Delete the old output files.
-      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      $show "$link_command"
-      $run eval "$link_command" || exit $?
-
-      # Now create the wrapper script.
-      $show "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $echo for shipping.
-      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
-       case "$0" in
-       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
-       *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
-       esac
-       qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-       qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if our run command is non-null.
-      if test -z "$run"; then
-       # win32 will think the script is a binary if it has
-       # a .exe suffix, so we strip it off here.
-       case $output in
-         *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
-       esac
-       $rm $output
-       trap "$rm $output; exit 1" 1 2 15
-
-       $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
-  link_against_libtool_libs='$link_against_libtool_libs'
-else
-  # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    echo=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$echo works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$echo will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-       $echo >> $output "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
-  done
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-       if test "$fast_install" = yes; then
-         echo >> $output "\
-  program=lt-'$outputname'
-  progdir=\"\$thisdir/$objdir\"
-  
-  if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $mkdir \"\$progdir\"
-    else
-      $rm \"\$progdir/\$file\"
-    fi"
-
-         echo >> $output "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if (cd \"\$thisdir\" && eval \$relink_command); then :
-      else
-       $rm \"\$progdir/\$file\"
-       exit 1
-      fi
-    fi
-
-    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $rm \"\$progdir/\$program\";
-      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $rm \"\$progdir/\$file\"
-  fi"
-       else
-         echo >> $output "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-       fi
-
-       echo >> $output "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-       # Export our shlibpath_var if we have one.
-       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-         $echo >> $output "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-       fi
-
-       # fixup the dll searchpath if we need to.
-       if test -n "$dllsearchpath"; then
-         $echo >> $output "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-       fi
-
-       $echo >> $output "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-"
-       case $host in
-         # win32 systems need to use the prog path for dll
-         # lookup to work
-       *-*-cygwin*)
-         $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
-"
-         ;;
-
-       # Backslashes separate directories on plain windows
-       *-*-mingw | *-*-os2*)
-         $echo >> $output "\
-      exec \$progdir\\\\\$program \${1+\"\$@\"}
-"
-         ;;
-
-       *)
-         $echo >> $output "\
-      # Export the path to the program.
-      PATH=\"\$progdir:\$PATH\"
-      export PATH
-
-      exec \$program \${1+\"\$@\"}
-"
-         ;;
-       esac
-       $echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
-      exit 1
-    fi
-  else
-    # The program doesn't exist.
-    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
-    \$echo \"This script is just a wrapper for \$program.\" 1>&2
-    echo \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-       chmod +x $output
-      fi
-      exit 0
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-       oldobjs="$libobjs_save"
-       addlibs="$convenience"
-       build_libtool_libs=no
-      else
-       if test "$build_libtool_libs" = module; then
-         oldobjs="$libobjs_save"
-         build_libtool_libs=no
-       else
-         oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
-       fi
-       addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-       gentop="$output_objdir/${outputname}x"
-       $show "${rm}r $gentop"
-       $run ${rm}r "$gentop"
-       $show "mkdir $gentop"
-       $run mkdir "$gentop"
-       status=$?
-       if test $status -ne 0 && test ! -d "$gentop"; then
-         exit $status
-       fi
-       generated="$generated $gentop"
-         
-       # Add in members from convenience archives.
-       for xlib in $addlibs; do
-         # Extract the objects.
-         case "$xlib" in
-         [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-         *) xabs=`pwd`"/$xlib" ;;
-         esac
-         xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-         xdir="$gentop/$xlib"
-
-         $show "${rm}r $xdir"
-         $run ${rm}r "$xdir"
-         $show "mkdir $xdir"
-         $run mkdir "$xdir"
-         status=$?
-         if test $status -ne 0 && test ! -d "$xdir"; then
-           exit $status
-         fi
-         $show "(cd $xdir && $AR x $xabs)"
-         $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-         oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
-       done
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-       eval cmds=\"$old_archive_from_new_cmds\"
-      else
-       # Ensure that we have .o objects in place in case we decided
-       # not to build a shared library, and have fallen back to building
-       # static libs even though --disable-static was passed!
-       for oldobj in $oldobjs; do
-         if test ! -f $oldobj; then
-           xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
-           if test "X$xdir" = "X$oldobj"; then
-             xdir="."
-           else
-             xdir="$xdir"
-           fi
-           baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
-           obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
-           $show "(cd $xdir && ${LN_S} $obj $baseobj)"
-           $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
-         fi
-       done
-
-       eval cmds=\"$old_archive_cmds\"
-      fi
-      IFS="${IFS=      }"; save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-       IFS="$save_ifs"
-       $show "$cmd"
-       $run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$generated"; then
-      $show "${rm}r$generated"
-      $run ${rm}r$generated
-    fi
-
-    # Now create the libtool archive.
-    case "$output" in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      $show "creating $output"
-
-      if test -n "$xrpath"; then
-       temp_xrpath=
-       for libdir in $xrpath; do
-         temp_xrpath="$temp_xrpath -R$libdir"
-       done
-       dependency_libs="$temp_xrpath $dependency_libs"
-      fi
-
-      # Only create the output if not a dry run.
-      if test -z "$run"; then
-       for installed in no yes; do
-         if test "$installed" = yes; then
-           if test -z "$install_libdir"; then
-             break
-           fi
-           output="$output_objdir/$outputname"i
-         fi
-         $rm $output
-         $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$dlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'\
-"
-       done
-      fi
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
-      $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $?
-      ;;
-    esac
-    exit 0
-    ;;
-
-  # libtool install mode
-  install)
-    modename="$modename: install"
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
-      # Aesthetically quote it.
-      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      case "$arg" in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
-       arg="\"$arg\""
-       ;;
-      esac
-      install_prog="$arg "
-      arg="$1"
-      shift
-    else
-      install_prog=
-      arg="$nonopt"
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    case "$arg" in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*)
-      arg="\"$arg\""
-      ;;
-    esac
-    install_prog="$install_prog$arg"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-       files="$files $dest"
-       dest="$arg"
-       continue
-      fi
-
-      case "$arg" in
-      -d) isdir=yes ;;
-      -f) prev="-f" ;;
-      -g) prev="-g" ;;
-      -m) prev="-m" ;;
-      -o) prev="-o" ;;
-      -s)
-       stripme=" -s"
-       continue
-       ;;
-      -*) ;;
-
-      *)
-       # If the previous option needed an argument, then skip it.
-       if test -n "$prev"; then
-         prev=
-       else
-         dest="$arg"
-         continue
-       fi
-       ;;
-      esac
-
-      # Aesthetically quote the argument.
-      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      case "$arg" in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
-       arg="\"$arg\""
-       ;;
-      esac
-      install_prog="$install_prog $arg"
-    done
-
-    if test -z "$install_prog"; then
-      $echo "$modename: you must specify an install program" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prev' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-       $echo "$modename: no file or destination specified" 1>&2
-      else
-       $echo "$modename: you must specify a destination" 1>&2
-      fi
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    # Strip any trailing slash from the destination.
-    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files
-      if test $# -gt 2; then
-       $echo "$modename: \`$dest' is not a directory" 1>&2
-       $echo "$help" 1>&2
-       exit 1
-      fi
-    fi
-    case "$destdir" in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-       case "$file" in
-       *.lo) ;;
-       *)
-         $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
-         $echo "$help" 1>&2
-         exit 1
-         ;;
-       esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case "$file" in
-      *.a | *.lib)
-       # Do the static libraries later.
-       staticlibs="$staticlibs $file"
-       ;;
-
-      *.la)
-       # Check to see that this really is a libtool archive.
-       if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-       else
-         $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
-         $echo "$help" 1>&2
-         exit 1
-       fi
-
-       library_names=
-       old_library=
-       # If there is no directory component, then add one.
-       case "$file" in
-       */* | *\\*) . $file ;;
-       *) . ./$file ;;
-       esac
-
-       # Add the libdir to current_libdirs if it is the destination.
-       if test "X$destdir" = "X$libdir"; then
-         case "$current_libdirs " in
-         *" $libdir "*) ;;
-         *) current_libdirs="$current_libdirs $libdir" ;;
-         esac
-       else
-         # Note the libdir as a future libdir.
-         case "$future_libdirs " in
-         *" $libdir "*) ;;
-         *) future_libdirs="$future_libdirs $libdir" ;;
-         esac
-       fi
-
-       dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
-       test "X$dir" = "X$file/" && dir=
-       dir="$dir$objdir"
-
-       # See the names of the shared library.
-       set dummy $library_names
-       if test -n "$2"; then
-         realname="$2"
-         shift
-         shift
-
-         # Install the shared library and build the symlinks.
-         $show "$install_prog $dir/$realname $destdir/$realname"
-         $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
-
-         if test $# -gt 0; then
-           # Delete the old symlinks, and create new ones.
-           for linkname
-           do
-             if test "$linkname" != "$realname"; then
-               $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-               $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-             fi
-           done
-         fi
-
-         # Do each command in the postinstall commands.
-         lib="$destdir/$realname"
-         eval cmds=\"$postinstall_cmds\"
-         IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'
-         for cmd in $cmds; do
-           IFS="$save_ifs"
-           $show "$cmd"
-           $run eval "$cmd" || exit $?
-         done
-         IFS="$save_ifs"
-       fi
-
-       # Install the pseudo-library for information purposes.
-       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-       instname="$dir/$name"i
-       $show "$install_prog $instname $destdir/$name"
-       $run eval "$install_prog $instname $destdir/$name" || exit $?
-
-       # Maybe install the static library, too.
-       test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-       ;;
-
-      *.lo)
-       # Install (i.e. copy) a libtool object.
-
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile="$destdir/$destname"
-       else
-         destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-         destfile="$destdir/$destfile"
-       fi
-
-       # Deduce the name of the destination old-style object file.
-       case "$destfile" in
-       *.lo)
-         staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
-         ;;
-       *.o | *.obj)
-         staticdest="$destfile"
-         destfile=
-         ;;
-       *)
-         $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
-         $echo "$help" 1>&2
-         exit 1
-         ;;
-       esac
-
-       # Install the libtool object if requested.
-       if test -n "$destfile"; then
-         $show "$install_prog $file $destfile"
-         $run eval "$install_prog $file $destfile" || exit $?
-       fi
-
-       # Install the old object if enabled.
-       if test "$build_old_libs" = yes; then
-         # Deduce the name of the old-style object file.
-         staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
-         $show "$install_prog $staticobj $staticdest"
-         $run eval "$install_prog \$staticobj \$staticdest" || exit $?
-       fi
-       exit 0
-       ;;
-
-      *)
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile="$destdir/$destname"
-       else
-         destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-         destfile="$destdir/$destfile"
-       fi
-
-       # Do a test to see if this is really a libtool program.
-       if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-         link_against_libtool_libs=
-         relink_command=
-
-         # If there is no directory component, then add one.
-         case "$file" in
-         */* | *\\*) . $file ;;
-         *) . ./$file ;;
-         esac
-
-         # Check the variables that should have been set.
-         if test -z "$link_against_libtool_libs"; then
-           $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
-           exit 1
-         fi
-
-         finalize=yes
-         for lib in $link_against_libtool_libs; do
-           # Check to see that each library is installed.
-           libdir=
-           if test -f "$lib"; then
-             # If there is no directory component, then add one.
-             case "$lib" in
-             */* | *\\*) . $lib ;;
-             *) . ./$lib ;;
-             esac
-           fi
-           libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
-           if test -n "$libdir" && test ! -f "$libfile"; then
-             $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-             finalize=no
-           fi
-         done
-
-         outputname=
-         if test "$fast_install" = no && test -n "$relink_command"; then
-           if test "$finalize" = yes && test -z "$run"; then
-             tmpdir="/tmp"
-             test -n "$TMPDIR" && tmpdir="$TMPDIR"
-              tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null`
-              if test $? = 0 ; then :
-              else
-                tmpdir="$tmpdir/libtool-$$"
-              fi
-             if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
-             else
-               $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
-               continue
-             fi
-             outputname="$tmpdir/$file"
-             # Replace the output file specification.
-             relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
-             $show "$relink_command"
-             if $run eval "$relink_command"; then :
-             else
-               $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-               ${rm}r "$tmpdir"
-               continue
-             fi
-             file="$outputname"
-           else
-             $echo "$modename: warning: cannot relink \`$file'" 1>&2
-           fi
-         else
-           # Install the binary that we compiled earlier.
-           file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-         fi
-       fi
-
-       $show "$install_prog$stripme $file $destfile"
-       $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
-       test -n "$outputname" && ${rm}r "$tmpdir"
-       ;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      $show "$install_prog $file $oldlib"
-      $run eval "$install_prog \$file \$oldlib" || exit $?
-
-      # Do each command in the postinstall commands.
-      eval cmds=\"$old_postinstall_cmds\"
-      IFS="${IFS=      }"; save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-       IFS="$save_ifs"
-       $show "$cmd"
-       $run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$future_libdirs"; then
-      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
-    fi
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec $SHELL $0 --finish$current_libdirs
-      exit 1
-    fi
-
-    exit 0
-    ;;
-
-  # libtool finish mode
-  finish)
-    modename="$modename: finish"
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-       libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-       if test -n "$finish_cmds"; then
-         # Do each command in the finish commands.
-         eval cmds=\"$finish_cmds\"
-         IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'
-         for cmd in $cmds; do
-           IFS="$save_ifs"
-           $show "$cmd"
-           $run eval "$cmd" || admincmds="$admincmds
-       $cmd"
-         done
-         IFS="$save_ifs"
-       fi
-       if test -n "$finish_eval"; then
-         # Do the single finish_eval.
-         eval cmds=\"$finish_eval\"
-         $run eval "$cmds" || admincmds="$admincmds
-       $cmds"
-       fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    test "$show" = : && exit 0
-
-    echo "----------------------------------------------------------------------"
-    echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      echo "   $libdir"
-    done
-    echo
-    echo "If you ever happen to want to link against installed libraries"
-    echo "in a given directory, LIBDIR, you must either use libtool, and"
-    echo "specify the full pathname of the library, or use \`-LLIBDIR'"
-    echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      echo "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      echo "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    echo
-    echo "See any operating system documentation about shared libraries for"
-    echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    echo "----------------------------------------------------------------------"
-    exit 0
-    ;;
-
-  # libtool execute mode
-  execute)
-    modename="$modename: execute"
-
-    # The first argument is the command name.
-    cmd="$nonopt"
-    if test -z "$cmd"; then
-      $echo "$modename: you must specify a COMMAND" 1>&2
-      $echo "$help"
-      exit 1
-    fi
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      if test ! -f "$file"; then
-       $echo "$modename: \`$file' is not a file" 1>&2
-       $echo "$help" 1>&2
-       exit 1
-      fi
-
-      dir=
-      case "$file" in
-      *.la)
-       # Check to see that this really is a libtool archive.
-       if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-       else
-         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-         $echo "$help" 1>&2
-         exit 1
-       fi
-
-       # Read the libtool library.
-       dlname=
-       library_names=
-
-       # If there is no directory component, then add one.
-       case "$file" in
-       */* | *\\*) . $file ;;
-       *) . ./$file ;;
-       esac
-
-       # Skip this library if it cannot be dlopened.
-       if test -z "$dlname"; then
-         # Warn if it was a shared library.
-         test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
-         continue
-       fi
-
-       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-       test "X$dir" = "X$file" && dir=.
-
-       if test -f "$dir/$objdir/$dlname"; then
-         dir="$dir/$objdir"
-       else
-         $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-         exit 1
-       fi
-       ;;
-
-      *.lo)
-       # Just add the directory containing the .lo file.
-       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-       test "X$dir" = "X$file" && dir=.
-       ;;
-
-      *)
-       $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
-       continue
-       ;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-       eval "$shlibpath_var=\"\$dir\""
-      else
-       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case "$file" in
-      -*) ;;
-      *)
-       # Do a test to see if this is really a libtool program.
-       if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-         # If there is no directory component, then add one.
-         case "$file" in
-         */* | *\\*) . $file ;;
-         *) . ./$file ;;
-         esac
-
-         # Transform arg to wrapped name.
-         file="$progdir/$program"
-       fi
-       ;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
-      args="$args \"$file\""
-    done
-
-    if test -z "$run"; then
-      if test -n "$shlibpath_var"; then
-        # Export the shlibpath_var.
-        eval "export $shlibpath_var"
-      fi
-
-      # Restore saved enviroment variables
-      if test "${save_LC_ALL+set}" = set; then
-       LC_ALL="$save_LC_ALL"; export LC_ALL
-      fi
-      if test "${save_LANG+set}" = set; then
-       LANG="$save_LANG"; export LANG
-      fi
-
-      # Now actually exec the command.
-      eval "exec \$cmd$args"
-
-      $echo "$modename: cannot exec \$cmd$args"
-      exit 1
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-        eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
-        $echo "export $shlibpath_var"
-      fi
-      $echo "$cmd$args"
-      exit 0
-    fi
-    ;;
-
-  # libtool uninstall mode
-  uninstall)
-    modename="$modename: uninstall"
-    rm="$nonopt"
-    files=
-
-    for arg
-    do
-      case "$arg" in
-      -*) rm="$rm $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    if test -z "$rm"; then
-      $echo "$modename: you must specify an RM program" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    for file in $files; do
-      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$dir" = "X$file" && dir=.
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      rmfiles="$file"
-
-      case "$name" in
-      *.la)
-       # Possibly a libtool archive, so verify it.
-       if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-         . $dir/$name
-
-         # Delete the libtool libraries and symlinks.
-         for n in $library_names; do
-           rmfiles="$rmfiles $dir/$n"
-         done
-         test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
-
-         $show "$rm $rmfiles"
-         $run $rm $rmfiles
-
-         if test -n "$library_names"; then
-           # Do each command in the postuninstall commands.
-           eval cmds=\"$postuninstall_cmds\"
-           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
-           for cmd in $cmds; do
-             IFS="$save_ifs"
-             $show "$cmd"
-             $run eval "$cmd"
-           done
-           IFS="$save_ifs"
-         fi
-
-         if test -n "$old_library"; then
-           # Do each command in the old_postuninstall commands.
-           eval cmds=\"$old_postuninstall_cmds\"
-           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
-           for cmd in $cmds; do
-             IFS="$save_ifs"
-             $show "$cmd"
-             $run eval "$cmd"
-           done
-           IFS="$save_ifs"
-         fi
-
-         # FIXME: should reinstall the best remaining shared library.
-       fi
-       ;;
-
-      *.lo)
-       if test "$build_old_libs" = yes; then
-         oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
-         rmfiles="$rmfiles $dir/$oldobj"
-       fi
-       $show "$rm $rmfiles"
-       $run $rm $rmfiles
-       ;;
-
-      *)
-       $show "$rm $rmfiles"
-       $run $rm $rmfiles
-       ;;
-      esac
-    done
-    exit 0
-    ;;
-
-  "")
-    $echo "$modename: you must specify a MODE" 1>&2
-    $echo "$generic_help" 1>&2
-    exit 1
-    ;;
-  esac
-
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$generic_help" 1>&2
-  exit 1
-fi # test -z "$show_help"
-
-# We need to display help for each of the modes.
-case "$mode" in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
-    --config          show all configuration variables
-    --debug           enable verbose shell tracing
--n, --dry-run         display commands without modifying any files
-    --features        display basic configuration information and exit
-    --finish          same as \`--mode=finish'
-    --help            display this help message and exit
-    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
-    --quiet           same as \`--silent'
-    --silent          don't print informational messages
-    --version         print version information
-
-MODE must be one of the following:
-
-      compile         compile a source file into a libtool object
-      execute         automatically set library path, then run a program
-      finish          complete the installation of libtool libraries
-      install         install libraries or executables
-      link            create a library or an executable
-      uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE."
-  exit 0
-  ;;
-
-compile)
-  $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -static           always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-  ;;
-
-execute)
-  $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-  ;;
-
-finish)
-  $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-  ;;
-
-install)
-  $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-  ;;
-
-link)
-  $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                   try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                   try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                   specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-  ;;
-
-uninstall)
-  $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-*)
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$help" 1>&2
-  exit 1
-  ;;
-esac
-
-echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit 0
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/salome_adm/unix/config_files/missing b/salome_adm/unix/config_files/missing
deleted file mode 100644 (file)
index 7789652..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-case "$1" in
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing - GNU libit 0.0"
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-  aclocal)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acinclude.m4' or \`configure.in'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`configure.in'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acconfig.h' or \`configure.in'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case "$f" in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  bison|yacc)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-       case "$LASTARG" in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if [ -f "$SRCFILE" ]; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if [ -f "$SRCFILE" ]; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if [ ! -f y.tab.h ]; then
-       echo >y.tab.h
-    fi
-    if [ ! -f y.tab.c ]; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex|flex)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-       case "$LASTARG" in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if [ -f "$SRCFILE" ]; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if [ ! -f lex.yy.c ]; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  makeinfo)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
-    fi
-    touch $file
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequirements for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
diff --git a/salome_adm/unix/config_files/mkinstalldirs b/salome_adm/unix/config_files/mkinstalldirs
deleted file mode 100755 (executable)
index 6b3b5fc..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id$
-
-errstatus=0
-
-for file
-do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-        echo "mkdir $pathcomp"
-
-        mkdir "$pathcomp" || lasterr=$?
-
-        if test ! -d "$pathcomp"; then
-         errstatus=$lasterr
-        fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
index a8013e2902753a125469f1dfb1c27a2821e49c5f..240f6ec0d15e3790e83a3b30e1b184d606f324c0 100644 (file)
@@ -37,7 +37,7 @@ dnl a `module'.
 AC_DEFUN([CHECK_PYTHON],
  [
   AC_ARG_WITH(python,
-   [  --with-python=DIR root directory path of python installation ],
+   [AC_HELP_STRING([--with-python=DIR],[root directory path of python installation])],
    [PYTHON="$withval/bin/python"
     AC_MSG_RESULT("select python distribution in $withval")
    ], [
@@ -79,20 +79,20 @@ AC_DEFUN([CHECK_PYTHON],
 
   AC_SUBST(PYTHON_SITE)
   AC_ARG_WITH(python-site,
-[  --with-python-site=DIR          Use DIR for installing platform independent
-                                  Python site-packages],
+    [AC_HELP_STRING([--with-python-site=DIR],
+       [Use DIR for installing platform independent Python site-packages])],
 
 dnl modification : by default, we install python script in salome root tree
 
 dnl [PYTHON_SITE="$withval"
 dnl python_site_given=yes],
 dnl [PYTHON_SITE=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
-dnl python_site_given=no])
+dnl python_site_given=no]
 
-[PYTHON_SITE="$withval"
-python_site_given=yes],
-[PYTHON_SITE=$prefix"/lib/python"$PYTHON_VERSION/site-packages
-python_site_given=no])
+   [PYTHON_SITE="$withval"
+    python_site_given=yes],
+   [PYTHON_SITE=$prefix"/lib/python"$PYTHON_VERSION/site-packages
+    python_site_given=no])
 
   AC_SUBST(PYTHON_SITE_PACKAGE)
   PYTHON_SITE_PACKAGE=$PYTHON_SITE/$PACKAGE
@@ -103,14 +103,14 @@ python_site_given=no])
 
   AC_SUBST(PYTHON_SITE_EXEC)
   AC_ARG_WITH(python-site-exec,
-[  --with-python-site-exec=DIR     Use DIR for installing platform dependent
-                                  Python site-packages],
-[PYTHON_SITE_EXEC="$withval"],
-[if test "$python_site_given" = yes; then
-  PYTHON_SITE_EXEC=$PYTHON_SITE
-else
-  PYTHON_SITE_EXEC=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
-fi])
+    [AC_HELP_STRING([--with-python-site-exec=DIR],
+                    [Use DIR for installing platform dependent Python site-packages])],
+    [PYTHON_SITE_EXEC="$withval"],
+    [if test "$python_site_given" = yes; then
+       PYTHON_SITE_EXEC=$PYTHON_SITE
+     else
+       PYTHON_SITE_EXEC=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
+     fi])
 
   dnl Set up the install directory
   ifelse($1, classes,
diff --git a/salome_adm/unix/depend.in b/salome_adm/unix/depend.in
deleted file mode 100644 (file)
index 080bf9a..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-##                                                             -*- makefile -*-
-
-## We keep a list of dependencies in `.depend' for each of the source
-## files on which it depends.  When one of the source files is modified
-## we remove its record from .depend and regenerate its dependencies,
-## tacking them onto the end of .depend.  By including the .depend file
-## into the makefile, we're telling make that the makefile depends on
-## the dependency list in the .depend file.
-##
-## This is as fast as the `.d' method described in the GNU make manual
-## for automatic dependencies, but has the added advantage that all
-## dependencies are stored in one place.  The advantage over the
-## `makedepend' program is that only those files that are out of date
-## have dependency information rebuilt, and the Makefile is not
-## modified.
-##
-## This is also where tracing information is updated.  The $(TRACE)
-## program is run on each source file to make sure that the H5TRACE()
-## macros are up to date.  If they are then the file is not modified,
-## otherwise the file is changed and a backup is saved by appending a
-## tilde to the file name.
-##
-$(srcdir)/Dependencies: .depend
-       @if test "$(srcdir)" != "."; then                                     \
-           echo '## This file is machine generated on GNU systems.' >$@;     \
-           echo '## Only temporary changes may be made here.' >>$@;          \
-           echo >>$@;                                                        \
-           perl -p $(top_srcdir)/bin/distdep .depend >>$@;                   \
-       else                                                                  \
-           echo 'Dependencies cannot be built when $$srcdir == $$builddir';  \
-       fi
-
-depend:.depend
-
-# when use the path as regexp, prevent taking "." for "any symbol"
-srcdir_re = $(subst .,[.],$(srcdir))
-top_srcdir_re = $(subst .,[.],$(top_srcdir))
-top_builddir_re = $(subst .,[.],$(top_builddir))
-
-# we had Makefile target, because we want Makefile rebuild before include .depend
-.depend: $(LIB_DEP) $(TEST_SRC) $(BIN_DEP)
-       @touch .depend
-       @for dep in X $? ; do                                                 \
-          if [ $$dep != "X" ]; then                                          \
-          if [ $$dep != "Makefile" ]; then                                   \
-             case "$$dep" in                                                 \
-                *.c)                                                         \
-                   echo Building dependencies for $$dep;                     \
-                   obj=`basename $$dep .c`.lo;                               \
-                   sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@;   \
-                   $(CC) $(C_DEPEND_FLAG) $(CPPFLAGS) $$dep 2>/dev/null |    \
-                        sed 's% $(srcdir_re)/% $$(srcdir)/%g' |                      \
-                        sed 's% $(top_srcdir_re)/% $$(top_srcdir)/%g' |              \
-                        sed 's% $(top_builddir_re)/% $$(top_builddir)/%g' |      \
-                       sed 's/\.o/.lo/' >>$@;                                \
-                   ;;                                                        \
-                *.cc)                                                        \
-                   echo Building dependencies for $$dep;                     \
-                   obj=`basename $$dep .cc`.lo;                              \
-                   sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@;   \
-                   $(CXX) $(CXX_DEPEND_FLAG) $(CXXFLAGS) $(CPPFLAGS) $$dep 2>/dev/null | \
-                        sed 's% $(srcdir_re)/% $$(srcdir)/%g' |                      \
-                        sed 's% $(top_srcdir_re)/% $$(top_srcdir)/%g' |              \
-                        sed 's% $(top_builddir_re)/% $$(top_builddir)/%g' |      \
-                       sed 's/\.o/.lo/' >>$@;                                \
-                   ;;                                                        \
-                *.cxx)                                                       \
-                   echo Building dependencies for $$dep;                     \
-                   obj=`basename $$dep .cxx`.lo;                             \
-                   sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@;   \
-                   $(CXX) $(CXX_DEPEND_FLAG) $(CXXFLAGS) $(CPPFLAGS) $$dep 2>/dev/null | \
-                        sed 's% $(srcdir_re)/% $$(srcdir)/%g' |                      \
-                        sed 's% $(top_srcdir_re)/% $$(top_srcdir)/%g' |              \
-                        sed 's% $(top_builddir_re)/% $$(top_builddir)/%g' |      \
-                       sed 's/\.o/.lo/' >>$@;                                \
-                   ;;                                                        \
-             esac;                                                           \
-          fi;                                                                \
-          fi;                                                                \
-       done;
-
-
--include .depend
-
-# idl depend
--include $(top_builddir)/idl/.depidl
-
-
diff --git a/salome_adm/unix/envScript.in b/salome_adm/unix/envScript.in
deleted file mode 100644 (file)
index eaa6984..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-
-DIR=`pwd`
-EXEC_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
-cd $EXEC_DIR/..
-SALOME_HOME_DIR=`pwd`
-cd $EXEC_DIR
-
-export SALOME_HOME_DIR      
-export SALOME_SRC_DIR=@ROOT_SRCDIR@
-export ORB_HOME_DIR=@CORBA_ROOT@
-
-export LD_LIBRARY_PATH=${SALOME_HOME_DIR}/lib:${LD_LIBRARY_PATH}
-
-# echo $SALOME_HOME_DIR = SALOME_HOME_DIR
-# echo $SALOME_SRC_DIR = SALOME_SRC_DIR
-
-PYVTK_PATH=@VTKPY_MODULES@
-export PYTHONPATH=${PYTHONPATH}:${SALOME_HOME_DIR}/idl:${SALOME_HOME_DIR}/bin:${SALOME_HOME_DIR}/lib:${PYVTK_PATH}:${EXEC_DIR}
-
-MICORC=/dev/null
-export MICORC
-
diff --git a/salome_adm/unix/make_commence.in b/salome_adm/unix/make_commence.in
deleted file mode 100644 (file)
index d1b9616..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-# common directories to put headerfiles
-inc_builddir=$(top_builddir)/include/salome
-
-@SET_MAKE@
-# Modifcation B. Secher portage sur osf
-SHELL=@SHELL@
-
-# header missing
-
-HAVE_SSTREAM=@HAVE_SSTREAM@
-
-
-LIBS=@LIBS@ 
-LIBSFORBIN=@LIBS@
-# LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome -Xlinker -rpath-link -Xlinker -L$(top_builddir)/lib/salome
-LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome
-LDFLAGSFORBIN=@LDFLAGS@ -L$(top_builddir)/lib/salome
-# add libstdc++ to link c++ library with libtool !
-LDFLAGS+= @STDLIB@
-LDFLAGSFORBIN+= @STDLIB@
-
-#CP=@CP@
-
-# CPP
-
-CPP=@CPP@
-CXXCPP=@CXXCPP@
-CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
-
-# C
-
-CC = @CC@
-CFLAGS = @CFLAGS@
-C_DEPEND_FLAG = @C_DEPEND_FLAG@
-
-# C++
-
-CXX = @CXX@
-CXXFLAGS = @CXXFLAGS@
-CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@
-
-# BOOST Library
-
-BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
-BOOST_LIBS = @BOOST_LIBS@
-BOOST_LIBTHREAD = @BOOST_LIBTHREAD@
-
-# OpenPBS
-
-OPENPBS_INCLUDES = @OPENPBS_INCLUDES@
-OPENPBS_LIBDIR   = @OPENPBS_LIBDIR@
-OPENPBS_LIBS     = @OPENPBS_LIBS@
-
-# LSF
-
-LSF_INCLUDES = @LSF_INCLUDES@
-LSF_LIBDIR   = @LSF_LDFLAGS@
-LSF_LIBS     = @LSF_LIBS@
-
-# CPPUNIT
-
-CPPUNIT_INCLUDES = @CPPUNIT_INCLUDES@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-
-# JAVA
-
-#JAVA_INCLUDES = @JAVA_INCLUDES@
-#JAVA_LIBS = @JAVA_LIBS@
-#JAVA_LDPATH = @JAVA_LDPATH@
-
-# PYTHON
-
-PYTHON = @PYTHON@
-PYTHONHOME = @PYTHONHOME@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_VERSION = @PYTHON_VERSION@
-PYTHON_SITE = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages
-PYTHON_SITE_INSTALL = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome
-# QT
-
-QT_ROOT = @QT_ROOT@
-QT_INCLUDES = @QT_INCLUDES@
-QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT
-QT_LIBS = @QT_LIBS@
-QT_MT_LIBS = @QT_MT_LIBS@
-QT_VERS = @QT_VERS@
-
-MOC = @MOC@
-UIC = @UIC@
-
-# msg2qm
-MSG2QM = @MSG2QM@
-
-#QWT
-
-QWT_INCLUDES=@QWT_INCLUDES@
-QWT_LIBS=@QWT_LIBS@
-
-# SIP
-SIP = @SIP@
-SIP_INCLUDES = @SIP_INCLUDES@
-SIP_LIBS = @SIP_LIBS@
-SIP_VERS = @SIP_VERS@
-
-# PYQT
-PYQT_SIPS = @PYQT_SIPS@
-PYQT_LIBS = @PYQT_LIBS@
-PYQT_INCLUDES = @PYQT_INCLUDES@
-PYUIC = @PYUIC@
-PYQT_SIPFLAGS = @PYQT_SIPFLAGS@
-
-# openGL
-OGL_INCLUDES=@OGL_INCLUDES@
-OGL_LIBS=@OGL_LIBS@
-
-# VTK
-VTK_INCLUDES=@VTK_INCLUDES@
-VTK_LIBS=@VTK_LIBS@
-
-# HDF5
-
-HDF5_INCLUDES=@HDF5_INCLUDES@
-HDF5_LIBS=@HDF5_LIBS@
-HDF5_MT_LIBS=@HDF5_MT_LIBS@
-
-# OpenCasCade
-
-OCC_INCLUDES=@CAS_CPPFLAGS@
-OCC_CXXFLAGS=@CAS_CXXFLAGS@
-
-#OCC_KERNEL_LIBS=@CAS_KERNEL@
-#OCC_OCAF_LIBS=@CAS_OCAF@
-#OCC_VIEWER_LIBS=@CAS_VIEWER@
-#OCC_MODELER_LIBS=@CAS_MODELER@
-#OCC_DATAEXCHANGE_LIBS=@CAS_DATAEXCHANGE@
-#OCC_LIBS=@CAS_LDFLAGS@
-CAS_KERNEL=@CAS_KERNEL@
-CAS_MATH=@CAS_MATH@
-CAS_OCAF=@CAS_OCAF@
-CAS_OCAFVIS=@CAS_OCAFVIS@
-CAS_TKTopAlgo=@CAS_TKTopAlgo@
-CAS_VIEWER=@CAS_VIEWER@
-CAS_MODELER=@CAS_MODELER@
-CAS_DATAEXCHANGE=@CAS_DATAEXCHANGE@
-CAS_LDPATH=@CAS_LDPATH@
-
-# MPI
-
-MPI_INCLUDES=@MPI_INCLUDES@
-MPI_LIBS=@MPI_LIBS@
-
-# Swig C++ Python
-
-SWIG       = @SWIG@
-SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
-
-# OMNIORB
-
-OMNIORB_ROOT        = @OMNIORB_ROOT@
-OMNIORB_INCLUDES    = @OMNIORB_INCLUDES@
-OMNIORB_LIBS        = @OMNIORB_LIBS@
-OMNIORB_CXXFLAGS    = @OMNIORB_CXXFLAGS@
-
-OMNIORB_IDL         = @OMNIORB_IDL@
-OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
-OMNIORB_IDLPYFLAGS  = @OMNIORB_IDLPYFLAGS@ -I$(top_builddir)/salome/idl
-
-OMNIORB_IDL_CLN_H   = @OMNIORB_IDL_CLN_H@
-OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@
-OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@
-
-OMNIORB_IDL_SRV_H   = @OMNIORB_IDL_SRV_H@
-OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@
-OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@
-
-# Default ORB
-
-CORBA_ROOT        = @CORBA_ROOT@
-CORBA_INCLUDES    = @CORBA_INCLUDES@
-CORBA_LIBS        = @CORBA_LIBS@
-CORBA_CXXFLAGS    = @CORBA_CXXFLAGS@
-
-IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_builddir)/salome/idl
-IDLPYFLAGS  = @IDLPYFLAGS@
-
-IDL = @IDL@
-
-IDL_CLN_H   = @IDL_CLN_H@
-IDL_CLN_CXX = @IDL_CLN_CXX@
-IDL_CLN_OBJ = @IDL_CLN_OBJ@
-
-IDL_SRV_H   = @IDL_SRV_H@
-IDL_SRV_CXX = @IDL_SRV_CXX@
-IDL_SRV_OBJ = @IDL_SRV_OBJ@
-
-CPPFLAGS+= $(CORBA_INCLUDES) 
-CXXFLAGS+= $(CORBA_CXXFLAGS)
-
-# add corba libs when link salome application ! 
-#LDFLAGS+= $(CORBA_LIBS)
-LIBS+=$(CORBA_LIBS)
-LIBSFORBIN+=$(CORBA_LIBS)
-
-DOXYGEN = @DOXYGEN@
-
-## Shared libraries
-#LT_STATIC_EXEC=@LT_STATIC_EXEC@
-#DYNAMIC_DIRS=@DYNAMIC_DIRS@
-LT_LIB=libtool
-LT=$(top_builddir)/libtool
-LT_COMPILE=$(LT) --mode=compile $(CC)
-LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir)
-LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS)
-LT_RUN=$(LT) --mode=execute
-LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
-LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
-LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
-
-INSTALL=@INSTALL@
-INSTALL_PROGRAM=@INSTALL_PROGRAM@
-INSTALL_DATA=@INSTALL_DATA@
-
-# create a symbolic link (or a copie ?)
-LN_S=@LN_S@
-
-## Installation points
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-bindir=@bindir@/salome
-libdir=@libdir@/salome
-# warning : if user give this path in configure we could have salome/salome :-(
-includedir=@includedir@/salome
-datadir=@datadir@/salome
-idldir=${prefix}/idl/salome
-sharedpydir=@libdir@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
-incmakedir=${prefix}/salome_adm/unix
-
-docdir=${prefix}/doc/salome
-
-#
-# begin of package rules
-#
-
-.PHONY: all lib bin inc resources data docs tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean
-
-.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm
-
-all:
-       $(MAKE) inc
-       $(MAKE) depend_idl
-       $(MAKE) depend
-       $(MAKE) lib
-       $(MAKE) bin
-       $(MAKE) resources
-       $(MAKE) data
-
-#
-# add target to build administrative files
-#
-
-Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in
-       cd $(top_builddir) ; ./config.status
-
-$(top_builddir)/config.status: $(top_srcdir)/configure
-       cd $(top_builddir) ; ./config.status --recheck
-
-# VPATH contain $(srcdir), so make configure is good in top_srcdir and we must add target configure otherwise :-)
-ifneq ($(top_srcdir),$(srcdir))
-configure: $(top_srcdir)/configure
-endif
-
-$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
-       cd $(top_srcdir) ; autoconf
-
-$(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base
-       cd $(top_srcdir) && ./build_configure
-
-
-ACLOCAL_SRC = \
-ac_cxx_bool.m4                    check_corba.m4     check_vtk.m4      \
-ac_cxx_depend_flag.m4             check_hdf5.m4      enable_pthreads.m4        \
-ac_cxx_mutable.m4                 check_mico.m4      libtool.m4                \
-ac_cxx_namespaces.m4              check_omniorb.m4   pyembed.m4                \
-ac_cxx_partial_specialization.m4  check_opengl.m4    python.m4         \
-ac_cxx_typename.m4                check_pthreads.m4  check_cas.m4      \
-ac_cc_warnings.m4                 check_qt.m4        check_swig.m4      \
-check_boost.m4 
-
-$(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%)
-       cd $(top_srcdir) ; aclocal --acdir=adm_local/unix/config_files -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files
diff --git a/salome_adm/unix/make_common_starter.am b/salome_adm/unix/make_common_starter.am
new file mode 100644 (file)
index 0000000..c19d256
--- /dev/null
@@ -0,0 +1,30 @@
+#
+# ============================================================
+# This file defines the common definitions used in several
+# Makefile. This file must be included, if needed, by the file
+# Makefile.am.
+# ============================================================
+#
+
+# Standard directory for installation
+salomeincludedir   = $(includedir)/@PACKAGE@
+libdir             = $(prefix)/lib/@PACKAGE@
+bindir             = $(prefix)/bin/@PACKAGE@
+salomescriptdir    = $(bindir)
+
+# Directory for installing idl files
+salomeidldir       = $(prefix)/idl/@PACKAGE@
+
+# Directory for installing resource files
+salomeresdir       = $(prefix)/share/@PACKAGE@/resources
+
+# Directories for installing admin files
+salomeadmdir       = $(prefix)/salome_adm
+salomeadmuxdir     = $(salomeadmdir)/unix
+salomem4dir        = $(salomeadmdir)/unix/config_files
+
+# Shared modules installation directory
+sharedpkgpythondir =$(pkgpythondir)/shared_modules
+
+# Documentation directory
+docdir             = $(datadir)/doc/@PACKAGE@
diff --git a/salome_adm/unix/make_conclude.in b/salome_adm/unix/make_conclude.in
deleted file mode 100644 (file)
index d5d4a5d..0000000
+++ /dev/null
@@ -1,394 +0,0 @@
-#=======================================================================
-# This section of this makefile comes from the file 
-# 'adm/unix/make_conclude' which was generated with config.status
-# from file adm/unix/make_conclude.in
-#=======================================================================
-# -* Makefile *- 
-#
-# Authors : Patrick GOLDBRONN (CEA) - Marc Tajchman (CEA)
-# Date : 6/07/2001
-# $Header$
-#
-
-# ORB Specifics rules
-@CORBA@
-
-# transform idl reference in appropriate obj file
-LIB_CLIENT_SRC = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX))
-LIB_SERVER_SRC = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_CXX))
-LIB_MOC_SRC = $(LIB_MOC:%.h=%_moc.cxx)
-LIB_SRC+=$(LIB_MOC_SRC)
-LIB_SWIG_SRC = $(SWIG_DEF:%.i=%_wrap.cxx)
-LIB_DEP= $(LIB_SRC) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(LIB_SWIG_SRC)
-LIB_CLIENT_OBJ = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ))
-LIB_SERVER_OBJ = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ))
-
-# transform c file in appropriate libtool obj file (.c, .cc and .cxx)
-LIB_OBJ_C   = $(patsubst %.c,   %.lo, $(filter %.c, $(LIB_SRC))) 
-LIB_OBJ_CC  = $(patsubst %.cc,  %.lo, $(filter %.cc, $(LIB_SRC))) 
-LIB_OBJ_CXX = $(patsubst %.cxx, %.lo, $(filter %.cxx, $(LIB_SRC))) 
-LIB_SWIG_OBJ = $(LIB_SWIG_SRC:%.cxx=%.lo)
-LIB_OBJ_F    = $(patsubst %.f,   %.lo, $(filter %.f, $(LIB_SRC))) 
-
-# all libtool obj file in library
-LIB_OBJ = $(LIB_OBJ_CXX) $(LIB_OBJ_CC) $(LIB_OBJ_C) $(LIB_CLIENT_OBJ:%.o=%.lo) $(LIB_SERVER_OBJ:%.o=%.lo) $(LIB_SWIG_OBJ) $(LIB_OBJ_F)
-
-# LIB_BUILD = $(LIB:%.la=$(top_builddir)/lib/salome/%.la)
-LIB_BUILD = $(patsubst %.la, $(top_builddir)/lib/salome/%.la, $(filter %.la, $(LIB)))
-LIB_BUILD_A = $(patsubst %.a, $(top_builddir)/lib/salome/%.a, $(filter %.a, $(LIB)))
-LIB_BUILD_SO = $(patsubst %.so, $(top_builddir)/lib/salome/%.so, $(filter %.so, $(LIB)))
-
-ifneq ($(findstring cmodule.la,$(filter %.la, $(LIB))),)
-LIB_SWIG = $(patsubst %cmodule.la,%.so, $(filter %.la, $(LIB)))
-else
-LIB_SWIG = 
-endif
-
-lib: $(LIB_BUILD) $(LIB_BUILD_SO) $(LIB_CLIENT_PY)
-# we don't build static library !
-
-$(LIB_BUILD): $(top_builddir)/lib/salome/%.la: %.la
-       -$(RM) $@
-       -$(RM) $(patsubst %.la, %.so, $@)
-       -$(RM) $(patsubst %.la, %.a, $@)
-       ln -sf $(CURDIR)/$< $@ || true
-       ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<) \
-             $(patsubst %.la, %.so, $@) || true
-       ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<).0 \
-             $(patsubst %.la, %.so, $@).0 || true
-
-       if ! test -z $(LIB_SWIG) ; then \
-          ln -sf $(patsubst %.la,%.so, $(CURDIR)/.libs/$<) $(top_builddir)/lib/salome/_$(LIB_SWIG) || true;\
-       fi;
-
-$(LIB_BUILD_A): $(top_builddir)/lib/salome/%.a: %.a
-       -$(RM) $@
-       ln -sf $(CURDIR)/$< $@ || true
-
-$(LIB_BUILD_SO): $(top_builddir)/lib/salome/%.so: %.so
-       -$(RM) $@
-       ln -sf $(CURDIR)/$< $@ || true
-
-$(LIB): $(LIB_OBJ)
-       @$(LT) --mode=link $(CXX) -shared -rpath $(libdir) -o $@ $(CXXFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS)
-
-# transform idl reference in appropriate obj file
-BIN_CLIENT_SRC = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX))
-BIN_SERVER_SRC = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_CXX))
-BIN_MOC_SRC = $(BIN_MOC:%.h=%_moc.cxx)
-BIN_SRC+=$(BIN_MOC_SRC)
-BIN_DEP=$(BIN:%=%.cxx) $(BIN_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC)
-
-BIN_CLIENT_OBJ = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ))
-BIN_SERVER_OBJ = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ)) 
-# transform c file in appropriate libtool obj file (.c)
-BIN_OBJ_C =  $(patsubst %.c,  %.o, $(filter %.c, $(BIN_SRC)))
-# transform c++ file in appropriate libtool obj file (.cc and .cxx)
-BIN_OBJ_CC = $(patsubst %.cc,  %.o, $(filter %.cc, $(BIN_SRC)))
-BIN_OBJ_CXX = $(patsubst %.cxx,  %.o, $(filter %.cxx, $(BIN_SRC)))
-# all obj file in bin target
-BIN_OBJ = $(BIN_OBJ_CC) $(BIN_OBJ_CXX) $(BIN_OBJ_C) $(BIN_CLIENT_OBJ) $(BIN_SERVER_OBJ) 
-
-bin: $(BIN:%=$(top_builddir)/bin/salome/%) $(BIN) $(LIB) pyscripts sharedpyscripts
-
-BIN_LIB=$(LIB:lib%.la=-l%)
-
-$(BIN:%=$(top_builddir)/bin/salome/%) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%): $(top_builddir)/bin/salome/%: %
-       -$(RM) $@
-       ln -sf $(CURDIR)/$< $@
-
-$(BIN) $(TEST_PROGS): %: %.lo $(BIN_OBJ)
-       $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(BIN_LIB) $(LDFLAGSFORBIN) $(LIBSFORBIN)
-
-# copy python scripts in $(top_builddir)/bin/salome
-#
-
-UI_FILES = $(notdir $(wildcard $(srcdir)/*.ui))
-UI_PY_FILES_PY = $(patsubst %.ui, %.py, $(UI_FILES))
-UI_PY_FILES = $(filter-out $(EXPORT_PYSCRIPTS) ,$(UI_PY_FILES_PY))
-
-DEST_PYSCRIPTS = $(EXPORT_PYSCRIPTS:%=$(top_builddir)/bin/salome/%)
-DEST_UI_PY_FILES = $(UI_PY_FILES:%=$(top_builddir)/bin/salome/%)
-pyscripts: $(DEST_PYSCRIPTS) $(UI_PY_FILES) $(DEST_UI_PY_FILES)
-$(DEST_PYSCRIPTS): $(top_builddir)/bin/salome/%: %
-       cp -f $< $@
-
-# generate generic python scripts from *.ui files
-#
-$(UI_PY_FILES): %.py: %.ui
-       $(PYUIC) $< -o $@
-
-# copy ui-generated python scripts in $(top_builddir)/bin
-#
-$(DEST_UI_PY_FILES): $(top_builddir)/bin/salome/%: %
-       cp -f $< $@
-
-# copy pyqt files in $(PYTHON_SHARED_SITE)
-#
-PYTHON_SHARED_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
-
-$(PYTHON_SHARED_SITE):
-       $(INSTALL) -d  $@
-
-DEST_SHAREDPYSCRIPTS = $(EXPORT_SHAREDPYSCRIPTS:%=$(PYTHON_SHARED_SITE)/%)
-sharedpyscripts: $(PYTHON_SHARED_SITE) $(DEST_SHAREDPYSCRIPTS)
-$(DEST_SHAREDPYSCRIPTS): $(PYTHON_SHARED_SITE)/%: %
-       cp -f $< $@
-
-check: test
-
-tests: test
-
-test: $(LIB) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%) 
-
-
-# copy header file in $(inc_builddir)
-#
-DEST_HEADERS = $(EXPORT_HEADERS:%=$(inc_builddir)/%)
-inc: $(DEST_HEADERS)
-$(DEST_HEADERS): $(inc_builddir)/%: %
-       cp -f $< $@
-
-# build resources file (icons and messages) : .qm file from .po file
-RESOURCES_FILES_ALL := $(notdir $(wildcard $(srcdir)/resources/*))
-RESOURCES_FILES_ALL := $(filter-out CVS, $(RESOURCES_FILES_ALL))
-RESOURCES_FILES_ALL := $(filter-out %.po, $(RESOURCES_FILES_ALL))
-RESOURCES_FILES ?= $(RESOURCES_FILES_ALL)
-
-resources: resources-po resources-cp 
-
-resources-po: $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm)
-
-resources-cp: $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%)
-
-$(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%): $(top_builddir)/share/salome/resources/% : %
-       cp -fr $< $@;
-
-# Make installation directories if they don't exist.
-$(libdir) $(includedir) $(bindir) $(datadir) $(idldir) $(sharedpydir):
-       $(INSTALL) -d $@ && chmod 755 $@
-
-# Install the library, the public header files, and programs.
-install: $(LIB) $(BIN) $(TEST_PROGS) $(libdir) $(includedir) $(bindir) $(datadir) $(idldir) install-python install-sharedpyqt install-qm install-res
-       @for f in X $(LIB); do                                                \
-          if test $$f != X; then                                             \
-             ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1);                  \
-          fi;                                                                \
-       done
-       @if ! test -z $(LIB_SWIG) ; then                                      \
-         (cd $(libdir); ln -sf $(patsubst %.so, %cmodule.so, $(LIB_SWIG)) _$(LIB_SWIG)  || true); \
-        fi;                                                                  
-       @for f in X $(BIN); do                                                \
-          if test $$f != X; then                                             \
-            ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1);                  \
-          fi;                                                                \
-       done
-# Install tests programmes in bindir
-       @for f in X $(TEST_PROGS); do                                         \
-          if test $$f != X; then                                             \
-            ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1);                  \
-          fi;                                                                \
-       done
-# Install exported includes in includedir
-       @for f in X $(EXPORT_HEADERS:%=$(srcdir)/%); do                       \
-          if test $$f != X; then                                             \
-            (cp -p -f $$f $(includedir) || exit 1);                          \
-          fi;                                                                \
-       done
-
-# Install python script in $(bindir)
-install-python: $(bindir) $(EXPORT_PYSCRIPTS:%=install-%) $(UI_PY_FILES:%=install-%)
-
-$(UI_PY_FILES:%=install-%): install-%: %
-       $(INSTALL_PROGRAM) $< $(bindir)/.
-
-$(EXPORT_PYSCRIPTS:%=install-%): install-%: %
-       $(INSTALL_PROGRAM) $< $(bindir)/.
-
-#install-python: $(bindir) $(EXPORT_PYSCRIPTS)
-#      @for f in X $(EXPORT_PYSCRIPTS); do                           \
-#         if test $$f != X; then                                     \
-#           ($(INSTALL_PROGRAM) $$f $(bindir)/. || exit 1);          \
-#         fi;                                                        \
-#      done
-
-# Install pyqt script in $(install-sharedpyqt)
-install-sharedpyqt: $(sharedpydir) $(EXPORT_SHAREDPYSCRIPTS:%=install-%) 
-
-$(EXPORT_SHAREDPYSCRIPTS:%=install-%): install-%: %
-       $(INSTALL_PROGRAM) $< $(sharedpydir)/.
-
-
-# generic rule to install .qm files :
-install-qm: resources
-       $(INSTALL) -d $(datadir)/resources
-       @for f in X $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm); do \
-          if test $$f != X; then                                                        \
-            ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1);                     \
-          fi;                                                                           \
-       done
-
-# generic rule to install resources files (png, ini ...):
-install-res: resources
-       $(INSTALL) -d $(datadir)/resources
-       @for f in X $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%); do \
-          if test $$f != X; then                                                        \
-            ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1);                     \
-          fi;                                                                           \
-       done  
-
-# Removes those things that `make install' (would have) installed.
-uninstall:
-       @if test "X$(LIB)" != X; then                                         \
-          for f in $(LIB); do                                                \
-             $(LT_UNINSTALL) $(libdir)/$$f;                                  \
-          done;                                                              \
-       fi
-       @if test "X$(BIN)" != X; then                                         \
-          for f in $(BIN); do                                                \
-             $(LT_UNINSTALL) $(bindir)/$$f;                                  \
-          done;                                                              \
-       fi
-       @for f in X $(TEST_PROGS); do                                         \
-          if test $$f != X; then                                             \
-            $(LT_UNINSTALL) $(bindir)/$$f;                                   \
-          fi;                                                                \
-       done
-# Uninstall exported includes in includedir
-       @for f in X $(EXPORT_HEADERS); do                                     \
-          if test $$f != X; then                                             \
-            $(LT_UNINSTALL) $(includedir)/$$f;                               \
-          fi;                                                                \
-       done
-# Uninstall python script in $(bindir)
-       @for f in X $(EXPORT_PYSCRIPTS); do                                   \
-          if test $$f != X; then                                             \
-            $(LT_UNINSTALL) $(bindir)/$$f ;                  \
-          fi;                                                                \
-       done
-
-# Uninstall python script in $(bindir)
-       @for f in X $(UI_PY_FILES); do                                        \
-          if test $$f != X; then                                             \
-            $(LT_UNINSTALL) $(bindir)/$$f ;                  \
-          fi;                                                                \
-       done
-
-# Uninstall pyqt script in $(sharedpydir)
-       @for f in X $(EXPORT_SHAREDPYSCRIPTS); do                                     \
-          if test $$f != X; then                                             \
-            $(LT_UNINSTALL) $(sharedpydir)/$$f ;                     \
-          fi;                                                                \
-       done
-
-# Uninstall qm files
-       @for f in X $(PO_FILES:%.po=%.qm); do         \
-          if test $$f != X; then                                             \
-            $(LT_UNINSTALL) $(datadir)/resources/$$f ;                       \
-          fi;                                                                \
-       done
-
-# remove all dependencies files
-#
-cleandep:
-       -$(RM) .dep*
-
-# Removes temporary files without removing the final target files.  That is,
-# remove things like object files but not libraries or executables.
-#
-mostlyclean: cleandep
-       -$(RM) $(LIB_OBJ) $(LIB_OBJ:.lo=.o)
-       -$(RM) $(BIN_OBJ) $(BIN:%=%.o)
-       -$(RM) $(TEST_OBJ) $(TEST_OBJ:.lo=.o)
-       -$(RM) $(PROG_OBJ) $(PROG_OBJ:.lo=.o) $(MOSTLYCLEAN)
-
-# Like `mostlyclean' except it also removes the final targets: things like
-# libraries and executables.  This target doesn't remove any file that
-# is part of the SALOME distribution.
-#
-clean: mostlyclean
-       -$(RM) $(LIB) $(TEST_PROGS) $(BIN) $(CLEAN)
-       -$(RM) TAGS *~ *# core *.core 
-       -$(RM) -r .libs
-       -$(RM) $(top_builddir)/lib/salome/$(LIB)
-       -$(RM) $(patsubst %,$(top_builddir)/bin/salome/%, $(BIN))
-       -$(RM) $(patsubst %.la, %.so, $(top_builddir)/lib/salome/$(LIB))
-       -$(RM) $(patsubst %.la, %.a, $(top_builddir)/lib/salome/$(LIB))
-# remove idl generated files (sources)
-       -$(RM) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC)
-# remove idl generated files (headers)
-       -$(RM)  $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_H))
-       -$(RM)  $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_H))
-       -$(RM) $(LIB_MOC_SRC) $(BIN_MOC_SRC)
-       -$(RM) $(LIB_SWIG_SRC)
-
-# Like `clean' except it also removes files that were created by running
-# configure.  If you've unpacked the source and built without creating
-# any other files, then `make distclean' will leave only the files that were
-# in the distribution.
-#
-distclean: clean
-       #remove qm file !
-       -$(RM) $(PO_FILES:%.po=%.qm) $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/%.qm)
-       #remove include files
-       -$(RM) $(DEST_HEADERS)
-       -$(RM) $(DISTCLEAN) *.bak *.old *.new .dep*
-       @if test -f $(srcdir)/Makefile.in; then                               \
-          (@SETX@; $(RM) Makefile);                                          \
-       fi
-
-
-#implicits rules
-.cc.o:
-       $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
-
-.cc.lo:
-       $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
-
-.cxx.o:
-       $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
-
-.cxx.lo:
-       $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
-
-.c.o:
-       $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-.c.lo:
-       $(LT_COMPILE) $(CFLAGS) $(CPPFLAGS) -c $<
-
-.f.o:
-       $(FC) $(FFLAGS) -c $< -o $@
-
-.f.lo:
-       $(LT) --mode=compile $(FC) $(FFLAGS) -c $<
-
-.ui.h:
-       $(UIC) -o $@  $<
-
-.ui.cxx:
-       $(UIC) -o $@ -i $*.h $<
-
-#pattern rules
-%_moc.cxx : %.h
-       $(MOC) $< -o $@
-
-%_wrap.cxx : %.i
-       $(SWIG) $(SWIG_FLAGS) -o $@ $<
-
-$(top_builddir)/share/salome/resources/%.qm: %.po
-       $(MSG2QM) $< $@ ; \
-
-#------------------------------------------------------------------------------
-# The following section of this makefile contains dependencies between the
-# source files and the header files.  If GNU make and GCC are being used then
-# the dependencies are in the form of rules that cause the information to
-# be kept updated automatically.  Otherwise the dependencies are listed
-# explicitly and come from the `.distdep' files in the various directories.
-# These files are part of the distribution and are generated automatically on
-# GNU/GCC systems.
-#------------------------------------------------------------------------------
-
-@DEPEND@
diff --git a/salome_adm/unix/make_module.in b/salome_adm/unix/make_module.in
deleted file mode 100644 (file)
index fdf28b1..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-# generic rule to put in top module Makefile 
-# (for example with module SALOME, SALOME/Makefile.in and SALOME/src/Makefile.in)
-
-# build all lib in all subdir
-lib:$(SUBDIRS:%=lib_%)
-
-$(SUBDIRS:%=lib_%):lib_%:%
-       cd $< ; $(MAKE) lib
-
-# build all bin in all subdir
-bin:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-# launch check in all subdir
-check: tests
-tests:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-# copy all header files in common directory
-inc:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-exportinc:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-# copy all idl files in common directory
-idl:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-dep: depend
-
-depend:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-# copy all resources files in common directory
-RESOURCES_FILES_ALL := $(notdir $(wildcard $(srcdir)/resources/*))
-RESOURCES_FILES_ALL := $(filter-out CVS, $(RESOURCES_FILES_ALL))
-RESOURCES_FILES_ALL := $(filter-out %.po, $(RESOURCES_FILES_ALL))
-RESOURCES_FILES ?= $(RESOURCES_FILES_ALL)
-
-resources: $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%)
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-$(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%): $(top_builddir)/share/salome/resources/% : %
-       cp -fr $< $@;
-
-#data:
-#      @if test "X$(top_builddir)" = "X."; then                                                         \
-#      ((cd examples && $(MAKE) $@) || exit 1);                         \
-#      fi;
-# Commented because we need not to make docs when we make BUILD        
-# docs:        
-#      @if test "X$(top_builddir)" = "X."; then \
-#      ((cd doc && $(MAKE) $@) || exit 1); \
-#      fi;     
-
-install: install-resources
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-       @if test "X$(top_builddir)" = "X."; then        \
-          $(LT) --mode=finish $(libdir) ;              \
-       fi
-
-uninstall: uninstall-resources
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-cleandep:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-mostlyclean:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-
-clean:
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-       -$(RM) .depend *~ *% core *.core *.bak *.new *.old
-
-distclean: clean
-       @@SETX@; for d in $(SUBDIRS); do        \
-          (cd $$d && $(MAKE) $@) || exit 1;    \
-       done
-       -$(RM) $(RESOURCES_FILES:%=$(top_builddir)/share/salome/resources/%)
-       -$(RM) Makefile
-
-install-resources:
-# one resources directory for all salome modules
-       $(INSTALL) -d $(datadir)/resources
-       for f in X $(RESOURCES_FILES:%=$(srcdir)/resources/%); do \
-          if test $$f != X; then                                                        \
-            ($(INSTALL_DATA) $$f $(datadir)/resources/. || exit 1);                     \
-          fi;                                                                           \
-       done
-
-# Uninstall resources files
-uninstall-resources:
-       @for f in X $(RESOURCES_FILES); do            \
-          if test $$f != X; then                                             \
-            $(LT_UNINSTALL) $(datadir)/resources/$$f ;                       \
-          fi;                                                                \
-       done
-
diff --git a/salome_adm/unix/make_omniorb.in b/salome_adm/unix/make_omniorb.in
deleted file mode 100644 (file)
index c92e682..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#=======================================================================
-# Begin specific part to omniorb 
-# (include from file adm/unix/make_omniorb generated by 
-# adm/unix/make_omniorb.in)
-#=======================================================================
-# -* Makefile *- 
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 29/06/2001
-# $Header$
-#
-
-# Client and server object are the same with omniorb
-# There are one header file and one source file generate
-
-#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ))
-
-# dependancies between idl and it's generated files
-%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_builddir}/idl/%.idl
-       $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
-
-# dependncies between idl files
-depend_idl: .depidl
-
-# we use cpp to generate dependencies between idl files.
-# we change cpp output to keep only idl file and transform it to get a suitable rule
-.depidl: $(IDL_FILES)
-       @touch $@
-       @for dep in $? dummy; do \
-         if [ $$dep != "dummy" ]; then \
-           echo Building dependencies for $$dep; \
-           basedep=`basename $$dep .idl`; \
-           header="$$basedep"$(IDL_CLN_H); \
-           sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
-           $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \
-           sed `echo "s%$$basedep\\.idl%$$header:%g"` | \
-           sed 's% $(srcdir)/% %g' | \
-           sed 's% $(top_srcdir)/% %g' | \
-           sed 's% $(top_builddir)/% %g' | \
-           sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \
-           sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \
-           echo ''  >>$@; \
-         fi; \
-       done ;
-
--include .depidl
-
-#=======================================================================
-# End specific part to omniorb 
-#=======================================================================
diff --git a/salome_adm/unix/sstream.in b/salome_adm/unix/sstream.in
deleted file mode 100644 (file)
index 323bbed..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 2000 Free Software Foundation
-
-This file is part of the GNU IO Library.  This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Magnus Fromreide (magfr@lysator.liu.se). */
-
-#ifndef __SSTREAM__
-#define __SSTREAM__
-
-#include <string>
-#include <iostream.h>
-#include <streambuf.h>
-
-namespace std
-{
-  class stringbuf : public streambuf
-  {
-  public:
-    typedef char       char_type;
-    typedef int                int_type;
-    typedef streampos  pos_type;
-    typedef streamoff  off_type;
-
-    explicit stringbuf(int which=ios::in|ios::out) :
-      streambuf(which), buf(), mode(static_cast<ios::open_mode>(which)),
-      rpos(0), bufsize(1)
-    { }
-       
-    explicit stringbuf(const std::string &s, int which=ios::in|ios::out) :
-      streambuf(which), buf(s), mode(static_cast<ios::open_mode>(which)),
-      bufsize(1)
-    {
-      if(mode & ios::in)
-       {
-         setg(&defbuf, &defbuf + bufsize, &defbuf + bufsize);
-       }
-      if(mode & ios::out)
-       {
-         setp(&defbuf, &defbuf + bufsize);
-       }
-      rpos = (mode & ios::ate ? s.size() : 0);
-    }
-       
-    std::string str() const
-    {
-      const_cast<stringbuf*>(this)->sync();  // Sigh, really ugly hack
-      return buf;
-    };
-
-    void str(const std::string& s)
-    {
-      buf = s;
-      if(mode & ios::in)
-       {
-         gbump(egptr() - gptr());
-       }
-      if(mode & ios::out)
-       {
-         pbump(pbase() - pptr());
-       }
-      rpos = (mode & ios::ate ? s.size() : 0);
-    }
-
-  protected:
-    inline virtual int sync();
-    inline virtual int overflow(int = EOF);
-    inline virtual int underflow();
-  private:
-    std::string                        buf;
-    ios::open_mode             mode;
-    std::string::size_type     rpos;
-    streamsize                 bufsize;
-    char                       defbuf;
-  };
-
-  class stringstreambase : virtual public ios {
-  protected:
-    stringbuf __my_sb;
-  public:
-    std::string str() const
-    {
-      return dynamic_cast<stringbuf*>(_strbuf)->str();
-    }
-    void str(const std::string& s)
-    {
-      clear();
-      dynamic_cast<stringbuf*>(_strbuf)->str(s);
-    }
-       
-    stringbuf* rdbuf()
-    {
-      return &__my_sb;
-    }
-  protected:
-    stringstreambase(int which) :
-      __my_sb(which)
-    {
-      init (&__my_sb);
-    }
-       
-    stringstreambase(const std::string& s, int which) :
-      __my_sb(s, which)
-    {
-      init (&__my_sb);
-    }
-  };
-    
-  class istringstream : public stringstreambase, public istream {
-  public:
-    istringstream(int which=ios::in) :
-      stringstreambase(which)
-    { }
-       
-    istringstream(const std::string& s, int which=ios::in) :
-      stringstreambase(s, which)
-    { }
-  };
-    
-  class ostringstream : public stringstreambase, public ostream {
-  public:
-    ostringstream(int which=ios::out) :
-      stringstreambase(which)
-    { }
-       
-    ostringstream(const std::string& s, int which=ios::out) :
-      stringstreambase(s, which)
-    { }
-  };
-    
-  class stringstream : public stringstreambase, public iostream {
-  public:
-    stringstream(int which=ios::in|ios::out) :
-      stringstreambase(which)
-    { }
-    
-    stringstream(const std::string &s, int which=ios::in|ios::out) :
-      stringstreambase(s, which)
-    { }
-  };
-}
-
-inline int std::stringbuf::sync()
-{
-  if((mode & ios::out) == 0)
-    return EOF;
-
-  streamsize n = pptr() - pbase();
-  if(n)
-    {
-      buf.replace(rpos, std::string::npos, pbase(), n);
-      if(buf.size() - rpos != n)
-       return EOF;
-      rpos += n;
-      pbump(-n);
-      gbump(egptr() - gptr());
-    }
-  return 0;
-}
-
-inline int std::stringbuf::overflow(int ch)
-{
-  if((mode & ios::out) == 0)
-    return EOF;
-
-  streamsize n = pptr() - pbase();
-
-  if(n && sync())
-    return EOF;
-
-  if(ch != EOF)
-    {
-      std::string::size_type oldSize = buf.size();
-      
-      buf.replace(rpos, std::string::npos, ch);
-      if(buf.size() - oldSize != 1)
-       return EOF;
-      ++rpos;
-    }
-  return 0;
-}
-
-inline int std::stringbuf::underflow()
-{
-  sync();
-  if((mode & ios::in) == 0)
-    {
-      return EOF;
-    }
-  if(rpos >= buf.size())
-    {
-      return EOF;
-    }
-  
-  std::string::size_type n = egptr() - eback();
-  std::string::size_type s;
-
-  s = buf.copy(eback(), n, rpos);
-  pbump(pbase() - pptr());
-  gbump(eback() - gptr());
-  int res = (0377 & buf[rpos]);
-  rpos += s;
-  return res;
-}
-
-#endif /* not __STRSTREAM__ */
index 91585a2ae1d1a92b4162e9f6b4c195575bfcde75..39d190bd880d00e84565d197bb4e73a652d8482d 100644 (file)
@@ -37,7 +37,9 @@ using namespace std;
 void HouseKeeping();
 
 std::list<PROTECTED_DELETE*> PROTECTED_DELETE::_objList;
-pthread_mutex_t PROTECTED_DELETE::_listMutex;
+//CCRT
+pthread_mutex_t PROTECTED_DELETE::_listMutex = PTHREAD_MUTEX_INITIALIZER ;
+//pthread_mutex_t PROTECTED_DELETE::_listMutex ;
 
 std::list<GENERIC_DESTRUCTOR*> *GENERIC_DESTRUCTOR::Destructors = 0;
 static bool atExitSingletonDone = false ;
diff --git a/src/Basics/Makefile.am b/src/Basics/Makefile.am
new file mode 100644 (file)
index 0000000..0203ea7
--- /dev/null
@@ -0,0 +1,38 @@
+#  Basics: General purpose C++ 
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.in
+#  Author : Paul RASCLE (EDF)
+#  Module : SALOME
+#  $Header$
+
+salomeincludedir            = $(includedir)/@PACKAGE@
+salomeinclude_HEADERS       = BasicsGenericDestructor.hxx
+
+libdir                      = $(prefix)/lib/@PACKAGE@
+lib_LTLIBRARIES             = libSALOMEBasics.la
+libSALOMEBasics_la_SOURCES  = \
+       BasicsGenericDestructor.cxx \
+       BasicsGenericDestructor.hxx
+libSALOMEBasics_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSALOMEBasics_la_CPPFLAGS = @CPPFLAGS@ 
diff --git a/src/Basics/Makefile.in b/src/Basics/Makefile.in
deleted file mode 100644 (file)
index 6125814..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#  Basics: General purpose C++ 
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= \
- BasicsGenericDestructor.hxx 
-
-EXPORT_PYSCRIPTS = 
-
-# Libraries targets
-
-LIB = libSALOMEBasics.la 
-LIB_SRC = BasicsGenericDestructor.cxx
-
-LIBS= @LIBS@ 
-#LDFLAGS+= 
-
-
-@CONCLUDE@
diff --git a/src/Basics/Test/Makefile.am b/src/Basics/Test/Makefile.am
new file mode 100644 (file)
index 0000000..c8353fd
--- /dev/null
@@ -0,0 +1,39 @@
+#  Basics:  General purpose C++
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = BasicMainTest.hxx
+# This include file defines the minimal source file for all test
+# program. It provides the common main function. 
diff --git a/src/Basics/Test/Makefile.in b/src/Basics/Test/Makefile.in
deleted file mode 100644 (file)
index c98aadb..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#  Basics:  General purpose C++
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= BasicMainTest.hxx
-
-EXPORT_PYSCRIPTS =
-
-# Libraries targets
-
-LIB =
-LIB_SRC =
-
-# Executables targets
-
-BIN =
-BIN_SRC = 
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGS+=
-
-LDFLAGSFORBIN+=
-
-@CONCLUDE@
diff --git a/src/Batch/Batch_BatchManager_Local.cxx b/src/Batch/Batch_BatchManager_Local.cxx
new file mode 100644 (file)
index 0000000..0161ed7
--- /dev/null
@@ -0,0 +1,774 @@
+/*
+ * BatchManager_Local.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <cstdlib>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <ctime>
+#include <unistd.h>
+#include <pthread.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include "Batch_IOMutex.hxx"
+#include "Batch_BatchManager_Local.hxx"
+
+namespace Batch {
+
+
+  // Constructeur
+  BatchManager_Local::BatchManager_Local(const FactBatchManager * parent, const char * host) throw(InvalidArgumentException,ConnexionFailureException) : BatchManager(parent, host), _connect(0), _threads_mutex(), _threads(), _thread_id_id_association_mutex(), _thread_id_id_association_cond(), _thread_id_id_association()
+  {
+    pthread_mutex_init(&_threads_mutex, NULL);
+    pthread_mutex_init(&_thread_id_id_association_mutex, NULL);
+    pthread_cond_init(&_thread_id_id_association_cond, NULL);
+  }
+
+  // Destructeur
+  BatchManager_Local::~BatchManager_Local()
+  {
+    pthread_mutex_destroy(&_threads_mutex);
+    pthread_mutex_destroy(&_thread_id_id_association_mutex);
+    pthread_cond_destroy(&_thread_id_id_association_cond);
+  }
+
+  // Methode pour le controle des jobs : soumet un job au gestionnaire
+  const JobId BatchManager_Local::submitJob(const Job & job)
+  {
+    Job_Local jobLocal = job;
+
+    pthread_t thread_id = submit(jobLocal);
+
+    ostringstream oss;
+    oss << getIdByThread_id(thread_id);
+
+    JobId id(this, oss.str());
+
+    return id;
+  }
+
+  // Methode pour le controle des jobs : retire un job du gestionnaire
+  void BatchManager_Local::deleteJob(const JobId & jobid)
+  {
+    Id id;
+
+    istringstream iss(jobid.getReference());
+    iss >> id;
+
+    // On retrouve le thread_id du thread
+    pthread_t thread_id;
+
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_threads_mutex);
+    if (_threads.find(id) != _threads.end()) 
+      thread_id = _threads[id].thread_id;
+    pthread_mutex_unlock(&_threads_mutex);
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+
+    cancel(thread_id);
+  }
+   
+  // Methode pour le controle des jobs : suspend un job en file d'attente
+  void BatchManager_Local::holdJob(const JobId & jobid)
+  {
+    Id id;
+    istringstream iss(jobid.getReference());
+    iss >> id;
+
+    UNDER_LOCK( cout << "BatchManager is sending HOLD command to the thread " << id << endl );
+
+    // On introduit une commande dans la queue du thread
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_threads_mutex);
+    if (_threads.find(id) != _threads.end()) 
+      _threads[id].command_queue.push(HOLD);
+    pthread_mutex_unlock(&_threads_mutex);
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+  }
+
+  // Methode pour le controle des jobs : relache un job suspendu
+  void BatchManager_Local::releaseJob(const JobId & jobid)
+  {
+    Id id;
+    istringstream iss(jobid.getReference());
+    iss >> id;
+
+    UNDER_LOCK( cout << "BatchManager is sending RELEASE command to the thread " << id << endl );
+
+    // On introduit une commande dans la queue du thread
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_threads_mutex);
+    if (_threads.find(id) != _threads.end()) 
+      _threads[id].command_queue.push(RELEASE);
+    pthread_mutex_unlock(&_threads_mutex);
+     // @@@ --------> SECTION CRITIQUE <-------- @@@
+ }
+
+
+  // Methode pour le controle des jobs : modifie un job en file d'attente
+  void BatchManager_Local::alterJob(const JobId & jobid, const Parametre & param, const Environnement & env)
+  {
+  }
+
+  // Methode pour le controle des jobs : modifie un job en file d'attente
+  void BatchManager_Local::alterJob(const JobId & jobid, const Parametre & param)
+  {
+    alterJob(jobid, param, Environnement());
+  }
+
+  // Methode pour le controle des jobs : modifie un job en file d'attente
+  void BatchManager_Local::alterJob(const JobId & jobid, const Environnement & env)
+  {
+    alterJob(jobid, Parametre(), env);
+  }
+
+
+
+  // Methode pour le controle des jobs : renvoie l'etat du job
+  JobInfo BatchManager_Local::queryJob(const JobId & jobid)
+  {
+    Id id;
+    istringstream iss(jobid.getReference());
+    iss >> id;
+
+    Parametre param;
+    Environnement env;
+
+    //UNDER_LOCK( cout << "JobInfo BatchManager_Local::queryJob(const JobId & jobid) : AVANT section critique" << endl );
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_threads_mutex);
+    param = _threads[id].param;
+    env   = _threads[id].env;
+    pthread_mutex_unlock(&_threads_mutex);
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    //UNDER_LOCK( cout << "JobInfo BatchManager_Local::queryJob(const JobId & jobid) : APRES section critique" << endl );
+
+    JobInfo_Local ji(param, env);
+    return ji;
+  }
+
+
+
+  // Methode pour le controle des jobs : teste si un job est present en machine
+  bool BatchManager_Local::isRunning(const JobId & jobid)
+  {
+    Id id;
+    istringstream iss(jobid.getReference());
+    iss >> id;
+
+    Status status;
+
+    //UNDER_LOCK( cout << "JobInfo BatchManager_Local::queryJob(const JobId & jobid) : AVANT section critique" << endl );
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_threads_mutex);
+    status = _threads[id].status;
+    pthread_mutex_unlock(&_threads_mutex);
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    //UNDER_LOCK( cout << "JobInfo BatchManager_Local::queryJob(const JobId & jobid) : APRES section critique" << endl );
+
+    return (status == RUNNING);
+  }
+
+
+  // Methode d'execution d'un job
+  pthread_t BatchManager_Local::submit(const Job_Local & job)
+  {
+    // L'id du thread a creer
+    pthread_t thread_id = 0;
+
+    // Les attributs du thread a sa creation
+    pthread_attr_t thread_attr;
+    pthread_attr_init(&thread_attr);
+    pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
+
+    ThreadAdapter * p_ta = new ThreadAdapter(*this, job);
+
+    // Creation du thread qui va executer la commande systeme qu'on lui passe
+    int rc = pthread_create(&thread_id, 
+                           &thread_attr, 
+                           &ThreadAdapter::run, 
+                           static_cast<void *>(p_ta));
+    if (rc) {
+    }
+
+    // Liberation des zones memoire maintenant inutiles occupees par les attributs du thread
+    pthread_attr_destroy(&thread_attr);
+
+    return thread_id;
+  }
+
+
+  // Methode de destruction d'un job
+  void BatchManager_Local::cancel(pthread_t thread_id)
+  {
+    pthread_cancel(thread_id);
+  }
+
+
+  // Fabrique un identifiant unique pour les threads puisque le thread_id n'est pas unique 
+  // au cours du temps (il peut etre reutilise lorsqu'un thread se termine)
+  // ATTENTION : cette methode est uniquement protegee par la section critique de l'association
+  // Thread_id / Id (_thread_id_id_association_mutex)
+  BatchManager_Local::Id BatchManager_Local::nextId() 
+  {
+    static Id id = 0;
+    Id nextId = id++;
+    //UNDER_LOCK( cout << "BatchManager_Local::Id BatchManager_Local::nextId() : Id = " << nextId << endl );
+    return nextId;
+  }
+
+
+  // Retourne l'Id enregistre dans l'association Thread_id / Id et le detruit immediatement
+  BatchManager_Local::Id BatchManager_Local::getIdByThread_id(pthread_t thread_id)
+  {
+    Id id = -1;
+
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_thread_id_id_association_mutex);
+    while (_thread_id_id_association.find(thread_id) == _thread_id_id_association.end()) 
+      pthread_cond_wait(&_thread_id_id_association_cond, &_thread_id_id_association_mutex);
+
+    id = _thread_id_id_association[thread_id];
+    _thread_id_id_association.erase(thread_id);
+    
+    pthread_mutex_unlock(&_thread_id_id_association_mutex);
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+
+    //UNDER_LOCK( cout << "BatchManager_Local::Id BatchManager_Local::getIdByThread_id(pthread_t thread_id) : Id = " << id << " - thread_id = " << thread_id << endl );
+    return id;
+  }
+
+
+  // Associe un Thread_id a un Id nouvellement cree
+  BatchManager_Local::Id BatchManager_Local::registerThread_id(pthread_t thread_id) 
+  {
+    Id id = -1;
+
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_thread_id_id_association_mutex);
+    if (_thread_id_id_association.find(thread_id) == _thread_id_id_association.end()) {
+      id = _thread_id_id_association[thread_id] = nextId();
+      pthread_cond_signal(&_thread_id_id_association_cond);
+
+    } else {
+      UNDER_LOCK( cerr << "ERROR : Pthread Inconstency. Two threads own the same thread_id." << endl );
+    }
+    pthread_mutex_unlock(&_thread_id_id_association_mutex);
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+
+    //UNDER_LOCK( cout << "BatchManager_Local::Id BatchManager_Local::registerThread_id(pthread_t thread_id) : Id = " << id << " - thread_id = " << thread_id << endl );
+    return id;
+  }
+
+
+  // Constructeur de la classe ThreadAdapter
+  BatchManager_Local::ThreadAdapter::ThreadAdapter(BatchManager_Local & bm, const Job_Local & job) :
+    _bm(bm), _job(job)
+  {
+    // Nothing to do
+  }
+
+
+
+  // Methode d'execution du thread
+  void * BatchManager_Local::ThreadAdapter::run(void * arg)
+  {
+    // On bloque tous les signaux pour ce thread
+    sigset_t setmask;
+    sigfillset(&setmask);
+    pthread_sigmask(SIG_BLOCK, &setmask, NULL);
+
+    
+    // On autorise la terminaison differee du thread
+    // (ces valeurs sont les valeurs par defaut mais on les force par precaution)
+    pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,  NULL);
+    pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
+
+    // On enregistre la fonction de suppression du fils en cas d'arret du thread
+    // Cette fontion sera automatiquement appelee lorsqu'une demande d'annulation
+    // sera prise en compte par pthread_testcancel()
+    pid_t child;
+    pthread_cleanup_push(BatchManager_Local::kill_child_on_exit, static_cast<void *> (&child));
+    pthread_cleanup_push(BatchManager_Local::delete_on_exit, arg);
+
+    ThreadAdapter * p_ta = static_cast<ThreadAdapter *>(arg);
+
+
+
+
+    // Le code retour cumule (ORed) de tous les appels
+    // Nul en cas de reussite de l'ensemble des operations
+    int rc = 0;
+
+    // Cette table contient la liste des fichiers a detruire a la fin du processus
+    std::vector<string> files_to_delete;
+
+
+
+    // On copie les fichiers d'entree pour le fils
+    const Parametre param   = p_ta->_job.getParametre();
+    Parametre::const_iterator it;
+
+    // On initialise la variable workdir a la valeur du Current Working Directory
+    char * cwd = new char [PATH_MAX];
+    getcwd(cwd, PATH_MAX);
+    string workdir = cwd;
+    delete [] cwd;
+
+    if ( (it = param.find(WORKDIR)) != param.end() ) {
+      workdir = static_cast<string>( (*it).second );
+    }
+
+    string executionhost = string(param[EXECUTIONHOST]);
+
+    if ( (it = param.find(INFILE)) != param.end() ) {
+      Versatile V = (*it).second;
+      Versatile::iterator Vit;
+
+      for(Vit=V.begin(); Vit!=V.end(); Vit++) {
+       CoupleType cpt  = *static_cast< CoupleType * >(*Vit);
+       Couple cp       = cpt;
+       string local    = cp.getLocal();
+       string remote   = cp.getRemote();
+
+       string copy_cmd = p_ta->getBatchManager().copy_command("", local, executionhost, workdir + "/" + remote);
+       UNDER_LOCK( cout << "Copying : " << copy_cmd << endl );
+
+       if (system(copy_cmd.c_str()) ) {
+         // Echec de la copie
+         rc |= 1;
+       } else {
+         // On enregistre le fichier comme etant a detruire
+         files_to_delete.push_back(workdir + "/" + remote);
+       }
+
+      }
+    }
+
+
+
+
+
+    // On forke/exec un nouveau process pour pouvoir controler le fils
+    // (plus finement qu'avec un appel system)
+    // int rc = system(commande.c_str());
+    child = fork();
+    if (child < 0) { // erreur
+      UNDER_LOCK( cerr << "Fork impossible (rc=" << child << ")" << endl );
+
+    } else if (child > 0) { // pere
+      p_ta->pere(child);
+
+    } else { // fils
+      p_ta->fils();
+    }
+
+
+
+
+    // On copie les fichiers de sortie du fils
+    if ( (it = param.find(OUTFILE)) != param.end() ) {
+      Versatile V = (*it).second;
+      Versatile::iterator Vit;
+
+      for(Vit=V.begin(); Vit!=V.end(); Vit++) {
+       CoupleType cpt  = *static_cast< CoupleType * >(*Vit);
+       Couple cp       = cpt;
+       string local    = cp.getLocal();
+       string remote   = cp.getRemote();
+
+       string copy_cmd = p_ta->getBatchManager().copy_command(executionhost, workdir + "/" + remote, "", local);
+       UNDER_LOCK( cout << "Copying : " << copy_cmd << endl );
+
+       if (system(copy_cmd.c_str()) ) {
+         // Echec de la copie
+         rc |= 1;
+       } else {
+         // On enregistre le fichier comme etant a detruire
+         files_to_delete.push_back(workdir + "/" + remote);
+       }
+
+      }
+    }
+
+
+
+
+    // On efface les fichiers d'entree et de sortie du fils si les copies precedentes ont reussi
+    // ou si la creation du fils n'a pu avoir lieu
+    if ( (rc == 0) || (child < 0) ) {
+      std::vector<string>::const_iterator it;
+      for(it=files_to_delete.begin(); it!=files_to_delete.end(); it++) {
+       string remove_cmd = p_ta->getBatchManager().remove_command(executionhost, *it);
+       UNDER_LOCK( cout << "Removing : " << remove_cmd << endl );
+       system(remove_cmd.c_str());
+      }
+    }
+
+
+
+    // On retire la fonction de nettoyage de la memoire
+    pthread_cleanup_pop(0);
+
+    // On retire la fonction de suppression du fils
+    pthread_cleanup_pop(0);
+
+
+
+    // On invoque la fonction de nettoyage de la memoire
+    delete_on_exit(arg);
+
+    UNDER_LOCK( cout << "Father is leaving" << endl );
+    pthread_exit(NULL);
+
+    return NULL;
+  }
+
+
+
+
+  void BatchManager_Local::ThreadAdapter::pere(pid_t child)
+  {
+    time_t child_starttime = time(NULL);
+
+    // On enregistre le fils dans la table des threads
+    pthread_t thread_id = pthread_self();
+    Id id = _bm.registerThread_id(thread_id);
+
+    Parametre param   = _job.getParametre();
+    Environnement env = _job.getEnvironnement();
+
+    ostringstream thread_id_sst;
+    thread_id_sst << id;
+    param[ID]         = thread_id_sst.str();
+    param[STATE]      = "Running";
+    param[PID]        = child;
+
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+    pthread_mutex_lock(&_bm._threads_mutex);
+    _bm._threads[id].thread_id = thread_id;
+    _bm._threads[id].pid       = child;
+    _bm._threads[id].status    = RUNNING;
+    _bm._threads[id].param     = param;
+    _bm._threads[id].env       = env;
+    _bm._threads[id].command_queue.push(NOP);
+    pthread_mutex_unlock(&_bm._threads_mutex);
+    // @@@ --------> SECTION CRITIQUE <-------- @@@
+
+
+
+
+
+    // on boucle en attendant que le fils ait termine
+    while (1) {
+      int child_rc = 0;
+      pid_t child_wait_rc = waitpid(child, &child_rc, WNOHANG /* | WUNTRACED */);
+      if (child_wait_rc > 0) {
+       if (WIFSTOPPED(child_rc)) {
+         // NOTA : pour rentrer dans cette section, il faut que le flag WUNTRACED 
+         // soit positionne dans l'appel a waitpid ci-dessus. Ce flag est couramment 
+         // desactive car s'il est possible de detecter l'arret d'un process, il est 
+         // plus difficile de detecter sa reprise.
+
+         // Le fils est simplement stoppe
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+         pthread_mutex_lock(&_bm._threads_mutex);
+         _bm._threads[id].status       = STOPPED;
+         _bm._threads[id].param[STATE] = "Stopped";
+         pthread_mutex_unlock(&_bm._threads_mutex);
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+         UNDER_LOCK( cout << "Father sees his child is STOPPED : " << child_wait_rc << endl );
+
+       } 
+       else {
+         // Le fils est termine, on sort de la boucle et du if englobant
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+         pthread_mutex_lock(&_bm._threads_mutex);
+         _bm._threads[id].status       = DONE;
+         _bm._threads[id].param[STATE] = "Done";
+         pthread_mutex_unlock(&_bm._threads_mutex);
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+         UNDER_LOCK( cout << "Father sees his child is DONE : " << child_wait_rc << " (child_rc=" << (WIFEXITED(child_rc) ? WEXITSTATUS(child_rc) : -1) << ")" << endl );
+         break;
+       }
+      }
+      else if (child_wait_rc == -1) {
+       // Le fils a disparu ...
+       // @@@ --------> SECTION CRITIQUE <-------- @@@
+       pthread_mutex_lock(&_bm._threads_mutex);
+       _bm._threads[id].status       = DEAD;
+       _bm._threads[id].param[STATE] = "Dead";
+       pthread_mutex_unlock(&_bm._threads_mutex);
+       // @@@ --------> SECTION CRITIQUE <-------- @@@
+       UNDER_LOCK( cout << "Father sees his child is DEAD : " << child_wait_rc << " (Reason : " << strerror(errno) << ")" << endl );
+       break;
+      }
+
+
+
+      // On teste si le thread doit etre detruit
+      pthread_testcancel();
+
+
+
+      // On regarde si le fils n'a pas depasse son temps (wallclock time)
+      time_t child_currenttime = time(NULL);
+      time_t child_elapsedtime = child_currenttime - child_starttime;
+      if (param.find(MAXWALLTIME) != param.end()) {
+       int maxwalltime = param[MAXWALLTIME];
+       //        cout << "child_starttime          = " << child_starttime        << endl
+       //             << "child_currenttime        = " << child_currenttime      << endl
+       //             << "child_elapsedtime        = " << child_elapsedtime      << endl
+       //             << "maxwalltime              = " << maxwalltime            << endl
+       //             << "int(maxwalltime * 1.1)   = " << int(maxwalltime * 1.1) << endl;
+       if (child_elapsedtime > int(maxwalltime * 1.1) ) { // On se donne 10% de marge avant le KILL
+         UNDER_LOCK( cout << "Father is sending KILL command to the thread " << id << endl );
+         // On introduit une commande dans la queue du thread
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+         pthread_mutex_lock(&_bm._threads_mutex);
+         if (_bm._threads.find(id) != _bm._threads.end()) 
+           _bm._threads[id].command_queue.push(KILL);
+         pthread_mutex_unlock(&_bm._threads_mutex);
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+
+
+       } else if (child_elapsedtime > maxwalltime ) {
+         UNDER_LOCK( cout << "Father is sending TERM command to the thread " << id << endl );
+         // On introduit une commande dans la queue du thread
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+         pthread_mutex_lock(&_bm._threads_mutex);
+         if (_bm._threads.find(id) != _bm._threads.end()) 
+           _bm._threads[id].command_queue.push(TERM);
+         pthread_mutex_unlock(&_bm._threads_mutex);
+         // @@@ --------> SECTION CRITIQUE <-------- @@@
+       }
+      }
+
+
+
+      // On regarde s'il y a quelque chose a faire dans la queue de commande
+      // @@@ --------> SECTION CRITIQUE <-------- @@@
+      pthread_mutex_lock(&_bm._threads_mutex);
+      if (_bm._threads.find(id) != _bm._threads.end()) {
+       while (_bm._threads[id].command_queue.size() > 0) {
+         Commande cmd = _bm._threads[id].command_queue.front();
+         _bm._threads[id].command_queue.pop();
+
+         switch (cmd) {
+         case NOP:
+           UNDER_LOCK( cout << "Father does nothing to his child" << endl );
+           break;
+
+         case HOLD:
+           UNDER_LOCK( cout << "Father is sending SIGSTOP signal to his child" << endl );
+           kill(child, SIGSTOP);
+           break;
+
+         case RELEASE:
+           UNDER_LOCK( cout << "Father is sending SIGCONT signal to his child" << endl );
+           kill(child, SIGCONT);
+           break;
+
+         case TERM:
+           UNDER_LOCK( cout << "Father is sending SIGTERM signal to his child" << endl );
+           kill(child, SIGTERM);
+           break;
+
+         case KILL:
+           UNDER_LOCK( cout << "Father is sending SIGKILL signal to his child" << endl );
+           kill(child, SIGKILL);
+           break;
+
+         case ALTER:
+           break;
+
+         default:
+           break;
+         }
+       }
+         
+      }
+      pthread_mutex_unlock(&_bm._threads_mutex);
+      // @@@ --------> SECTION CRITIQUE <-------- @@@
+
+      // On fait une petite pause pour ne pas surcharger inutilement le processeur
+      sleep(1);
+       
+    }
+
+
+  }
+
+
+
+
+  void BatchManager_Local::ThreadAdapter::fils()
+  {
+    Parametre param = _job.getParametre();
+    Parametre::iterator it;
+
+    try {
+
+    // On se place dans le repertoire de travail
+    if ( (it = param.find(WORKDIR)) != param.end() ) {
+      string workdir = static_cast<string>( (*it).second );
+      chdir(workdir.c_str());
+    }
+
+
+
+
+    // EXECUTABLE is MANDATORY, if missing, we exit with failure notification
+    char * execpath = NULL;
+    if (param.find(EXECUTABLE) != param.end()) {
+      string executable = _bm.exec_command(param);
+      execpath          = new char [executable.size() + 1];
+      strncpy(execpath, executable.c_str(), executable.size() + 1);
+    } else exit(1); 
+
+    string debug_command = execpath;
+
+    string name = (param.find(NAME) != param.end()) ? param[NAME] : param[EXECUTABLE];
+
+    char **  argv = NULL;
+    if (param.find(ARGUMENTS) != param.end()) {
+      Versatile V = param[ARGUMENTS];
+
+      argv = new char * [V.size() + 2]; // 1 pour name et 1 pour le NULL terminal
+
+      argv[0] = new char [name.size() + 1];
+      strncpy(argv[0], name.c_str(), name.size() + 1);
+
+      debug_command  += string(" # ") + argv[0];
+
+      int i = 1;
+      for(Versatile::const_iterator it=V.begin(); it!=V.end(); it++, i++) {
+       StringType argt = * static_cast<StringType *>(*it);
+       string     arg  = argt;
+       argv[i]         = new char [arg.size() + 1];
+       strncpy(argv[i], arg.c_str(), arg.size() + 1);
+       debug_command  += string(" # ") + argv[i];
+      }
+
+      // assert (i == V.size() + 1)
+      argv[i] = NULL;
+    }
+
+
+    UNDER_LOCK( cout << "*** debug_command = " << debug_command << endl );
+
+
+
+    Environnement env = _job.getEnvironnement();
+
+
+    char ** envp = NULL;
+    if(env.size() > 0) {
+      envp = new char * [env.size() + 1]; // 1 pour le NULL terminal
+      int i = 0;
+      for(Environnement::const_iterator it=env.begin(); it!=env.end(); it++, i++) {
+       const string  & key   = (*it).first;
+       const string  & value = (*it).second;
+       ostringstream oss;
+       oss << key << "=" << value;
+       envp[i]         = new char [oss.str().size() + 1];
+       strncpy(envp[i], oss.str().c_str(), oss.str().size() + 1);
+      }
+
+      // assert (i == env.size())
+      envp[i] = NULL;
+    }
+
+
+
+
+    // On positionne les limites systeme imposees au fils
+    if (param.find(MAXCPUTIME) != param.end()) {
+      int maxcputime = param[MAXCPUTIME];
+      struct rlimit limit;
+      limit.rlim_cur = maxcputime;
+      limit.rlim_max = int(maxcputime * 1.1);
+      setrlimit(RLIMIT_CPU, &limit);
+    }
+
+    if (param.find(MAXDISKSIZE) != param.end()) {
+      int maxdisksize = param[MAXDISKSIZE];
+      struct rlimit limit;
+      limit.rlim_cur = maxdisksize * 1024;
+      limit.rlim_max = int(maxdisksize * 1.1) * 1024;
+      setrlimit(RLIMIT_FSIZE, &limit);
+    }
+
+    if (param.find(MAXRAMSIZE) != param.end()) {
+      int maxramsize = param[MAXRAMSIZE];
+      struct rlimit limit;
+      limit.rlim_cur = maxramsize * 1024;
+      limit.rlim_max = int(maxramsize * 1.1) * 1024;
+      setrlimit(RLIMIT_AS, &limit);
+    }
+
+
+
+    // On cree une session pour le fils de facon a ce qu'il ne soit pas
+    // detruit lorsque le shell se termine (le shell ouvre une session et
+    // tue tous les process appartenant a la session en quittant)
+    setsid();
+
+
+    // On ferme les descripteurs de fichiers standards
+    //close(STDIN_FILENO);
+    //close(STDOUT_FILENO);
+    //close(STDERR_FILENO);
+
+
+    // On execute la commande du fils
+    execve(execpath, argv, envp);
+
+    // No need to deallocate since nothing happens after a successful exec
+
+    // Normalement on ne devrait jamais arriver ici    
+    ofstream file_err("error.log");
+    UNDER_LOCK( file_err << "Echec de l'appel a execve" << endl );
+    
+    } catch (GenericException & e) {
+      
+      std::cerr << "Caught exception : " << e.type << " : " << e.message << std::endl;
+    }
+
+    exit(99);
+
+  }
+
+
+
+
+  void BatchManager_Local::kill_child_on_exit(void * p_pid)
+  {
+    pid_t child = * static_cast<pid_t *>(p_pid);
+
+    // On tue le fils
+    kill(child, SIGTERM);
+
+    // Nota : on pourrait aussi faire a la suite un kill(child, SIGKILL)
+    // mais cette option n'est pas implementee pour le moment, car il est 
+    // preferable de laisser le process fils se terminer normalement et seul.
+
+  }
+
+  void BatchManager_Local::delete_on_exit(void * arg)
+  {
+    ThreadAdapter * p_ta = static_cast<ThreadAdapter *>(arg);
+    delete p_ta;
+  }
+
+}
diff --git a/src/Batch/Batch_BatchManager_Local.hxx b/src/Batch/Batch_BatchManager_Local.hxx
new file mode 100644 (file)
index 0000000..e635fa5
--- /dev/null
@@ -0,0 +1,146 @@
+/*
+ * BatchManager_Local.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifndef _BATCHMANAGER_LOCAL_H_
+#define _BATCHMANAGER_LOCAL_H_
+
+
+#include <vector>
+#include <map>
+#include <queue>
+#include <deque>
+#include <pthread.h>
+#include "Batch_Job.hxx"
+#include "Batch_JobId.hxx"
+#include "Batch_JobInfo.hxx"
+#include "Batch_JobInfo_Local.hxx"
+#include "Batch_Job_Local.hxx"
+#include "Batch_InvalidArgumentException.hxx"
+#include "Batch_ConnexionFailureException.hxx"
+#include "Batch_APIInternalFailureException.hxx"
+#include "Batch_NotYetImplementedException.hxx"
+#include "Batch_BatchManager.hxx"
+
+namespace Batch {
+
+  class FactBatchManager;
+
+  class BatchManager_Local : public BatchManager
+  {
+  private:
+    friend class ThreadAdapter;
+    class ThreadAdapter{
+    public:
+      ThreadAdapter(BatchManager_Local & bm, const Job_Local & job);
+      static void * run(void * arg);
+      BatchManager_Local & getBatchManager() const { return _bm; };
+
+    protected:
+      BatchManager_Local & _bm;
+      const Job_Local _job;
+
+    private:
+      void pere(pid_t child);
+      void fils();
+
+    };
+
+    typedef int Id;
+
+    enum Commande {
+      NOP = 0,
+      HOLD,
+      RELEASE,
+      TERM,
+      KILL,
+      ALTER,
+    };
+
+    enum Status {
+      UNKNOWN = 0,
+      RUNNING,
+      STOPPED,
+      DONE,
+      DEAD,
+    };
+
+    struct Child {
+      pthread_t thread_id;
+      queue<Commande, deque<Commande> > command_queue;
+      pid_t pid;
+      int exit_code;
+      Status status;
+      Parametre param;
+      Environnement env;
+    };
+
+
+
+  public:
+    // Constructeur et destructeur
+    BatchManager_Local(const FactBatchManager * parent, const char * host="localhost") throw(InvalidArgumentException,ConnexionFailureException); // connexion a la machine host
+    virtual ~BatchManager_Local();
+
+    // Recupere le nom du serveur par defaut
+    // static string BatchManager_Local::getDefaultServer();
+
+    // Methodes pour le controle des jobs
+    virtual const JobId submitJob(const Job & job); // soumet un job au gestionnaire
+    virtual void deleteJob(const JobId & jobid); // retire un job du gestionnaire
+    virtual void holdJob(const JobId & jobid); // suspend un job en file d'attente
+    virtual void releaseJob(const JobId & jobid); // relache un job suspendu
+    virtual void alterJob(const JobId & jobid, const Parametre & param, const Environnement & env); // modifie un job en file d'attente
+    virtual void alterJob(const JobId & jobid, const Parametre & param); // modifie un job en file d'attente
+    virtual void alterJob(const JobId & jobid, const Environnement & env); // modifie un job en file d'attente
+    virtual JobInfo queryJob(const JobId & jobid); // renvoie l'etat du job
+    virtual bool isRunning(const JobId & jobid); // teste si un job est present en machine
+
+    virtual void setParametre(const JobId & jobid, const Parametre & param) { return alterJob(jobid, param); } // modifie un job en file d'attente
+    virtual void setEnvironnement(const JobId & jobid, const Environnement & env) { return alterJob(jobid, env); } // modifie un job en file d'attente
+
+
+  protected:
+    int _connect; // Local connect id
+    pthread_mutex_t _threads_mutex;
+    map<Id, Child > _threads;
+
+    // Methode abstraite qui renvoie la commande de copie du fichier source en destination
+    virtual string copy_command(const string & host_source, const string & source, const string & host_destination, const string & destination) const = 0;
+
+    // Methode abstraite qui renvoie la commande a executer
+    virtual string exec_command(Parametre & param) const = 0;
+
+    // Methode abstraite qui renvoie la commande d'effacement du fichier
+    virtual string remove_command(const string & host_destination, const string & destination) const = 0;
+
+  private:
+    virtual pthread_t submit(const Job_Local & job);
+    virtual void cancel(pthread_t thread_id);
+    static  void kill_child_on_exit(void * p_pid);
+    static  void delete_on_exit(void * arg);
+    Id nextId(); // Retourne un identifiant unique pour un thread (clef de la map)
+    Id getIdByThread_id(pthread_t thread_id);
+    Id registerThread_id(pthread_t thread_id);
+    pthread_mutex_t _thread_id_id_association_mutex;
+    pthread_cond_t  _thread_id_id_association_cond;
+    map<pthread_t, Id> _thread_id_id_association;
+
+#ifdef SWIG
+  public:
+    // Recupere le l'identifiant d'un job deja soumis au BatchManager
+    //virtual const JobId getJobIdByReference(const string & ref) { return BatchManager::getJobIdByReference(ref); }
+    virtual const JobId getJobIdByReference(const char * ref) { return BatchManager::getJobIdByReference(ref); }
+#endif
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_BatchManager_Local_RSH.cxx b/src/Batch/Batch_BatchManager_Local_RSH.cxx
new file mode 100644 (file)
index 0000000..f376cf0
--- /dev/null
@@ -0,0 +1,126 @@
+/*
+ * BatchManager_Local_RSH.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <SALOMEconfig.h>
+#endif
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <cstdlib>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <ctime>
+#include <unistd.h>
+#include <pthread.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include "Batch_IOMutex.hxx"
+#include "Batch_BatchManager_Local_RSH.hxx"
+
+#ifndef RM
+#error "RM undefined. You must set RM to a valid path to a rm-like command."
+#endif
+
+#ifndef RCP
+#error "RCP undefined. You must set RCP to a valid path to a rcp-like command."
+#endif
+
+#ifndef RSH
+#error "RSH undefined. You must set RSH to a valid path to a rsh-like command."
+#endif
+
+namespace Batch {
+
+
+  // Constructeur
+  BatchManager_Local_RSH::BatchManager_Local_RSH(const FactBatchManager * parent, const char * host) throw(InvalidArgumentException,ConnexionFailureException) : BatchManager_Local(parent, host)
+  {
+  }
+
+  // Destructeur
+  BatchManager_Local_RSH::~BatchManager_Local_RSH()
+  {
+  }
+
+
+  // Methode abstraite qui renvoie la commande de copie du fichier source en destination
+  string BatchManager_Local_RSH::copy_command(const string & host_source, const string & source, const string & host_destination, const string & destination) const
+  {
+    ostringstream fullsource;
+    if (host_source.size() == 0) {
+      fullsource << "localhost:";
+    } else {
+      fullsource << host_source << ":";
+    }
+    fullsource << source;
+
+    ostringstream fulldestination;
+    if (host_destination.size() == 0) {
+      fulldestination << "localhost:";
+    } else {
+      fulldestination << host_destination << ":";
+    }
+    fulldestination << destination;
+
+    ostringstream copy_cmd;
+    copy_cmd << RCP << " " << fullsource.str() << " " << fulldestination.str();
+    return copy_cmd.str();
+  }
+  
+  // Methode abstraite qui renvoie la commande a executer
+  string BatchManager_Local_RSH::exec_command(Parametre & param) const
+  {
+    ostringstream exec_sub_cmd;
+    exec_sub_cmd << param[EXECUTABLE];
+
+    if (param.find(ARGUMENTS) != param.end()) {
+      Versatile V = param[ARGUMENTS];
+      for(Versatile::const_iterator it=V.begin(); it!=V.end(); it++) {
+       StringType argt = * static_cast<StringType *>(*it);
+       string     arg  = argt;
+       exec_sub_cmd << " " << arg;
+      }
+    }
+
+
+    Versatile new_arguments;
+    new_arguments.setMaxSize(0);
+    new_arguments = string(param[EXECUTIONHOST]);
+
+
+    if (param.find(USER) != param.end()) {
+      new_arguments += "-l";
+      new_arguments += string(param[USER]);
+    }
+
+    new_arguments += exec_sub_cmd.str();
+
+    param[ARGUMENTS] = new_arguments;
+
+    // Sous Linux on est oblige de modifier ces deux parametres pour faire fonctionner la commande rsh
+    param[EXECUTABLE] = RSH;
+    param.erase(NAME);
+
+    return RSH;
+  }
+
+  // Methode qui renvoie la commande d'effacement du fichier
+  string BatchManager_Local_RSH::remove_command(const string & host_destination, const string & destination) const
+  {
+    string host = (host_destination.size()) ? host_destination : "localhost:";
+
+    ostringstream remove_cmd;
+    remove_cmd << RSH << " " << host << " \"" << RM << " " << destination << "\"";
+    return remove_cmd.str();
+  }
+}
diff --git a/src/Batch/Batch_BatchManager_Local_RSH.hxx b/src/Batch/Batch_BatchManager_Local_RSH.hxx
new file mode 100644 (file)
index 0000000..1ea4fc2
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * BatchManager_Local_RSH.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifndef _BATCHMANAGER_LOCAL_RSH_H_
+#define _BATCHMANAGER_LOCAL_RSH_H_
+
+
+#include <vector>
+#include <map>
+#include <queue>
+#include <deque>
+#include <pthread.h>
+#include "Batch_Job.hxx"
+#include "Batch_JobId.hxx"
+#include "Batch_JobInfo.hxx"
+#include "Batch_JobInfo_Local.hxx"
+#include "Batch_Job_Local.hxx"
+#include "Batch_InvalidArgumentException.hxx"
+#include "Batch_ConnexionFailureException.hxx"
+#include "Batch_APIInternalFailureException.hxx"
+#include "Batch_NotYetImplementedException.hxx"
+#include "Batch_BatchManager_Local.hxx"
+
+namespace Batch {
+
+  class FactBatchManager;
+
+  class BatchManager_Local_RSH : public BatchManager_Local
+  {
+  public:
+    // Constructeur et destructeur
+    BatchManager_Local_RSH(const FactBatchManager * parent, const char * host="localhost") throw(InvalidArgumentException,ConnexionFailureException); // connexion a la machine host
+    virtual ~BatchManager_Local_RSH();
+
+  protected:
+    // Methode abstraite qui renvoie la commande de copie du fichier source en destination
+    virtual string copy_command(const string & host_source, const string & source, const string & host_destination, const string & destination) const;
+
+    // Methode abstraite qui renvoie la commande a executer
+    virtual string exec_command(Parametre & param) const;
+
+    // Methode qui renvoie la commande d'effacement du fichier
+    virtual string remove_command(const string & host_destination, const string & destination) const;
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_BatchManager_Local_SH.cxx b/src/Batch/Batch_BatchManager_Local_SH.cxx
new file mode 100644 (file)
index 0000000..e10e727
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * BatchManager_Local_SH.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <SALOMEconfig.h>
+#endif
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <cstdlib>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <ctime>
+#include <unistd.h>
+#include <pthread.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include "Batch_IOMutex.hxx"
+#include "Batch_BatchManager_Local_SH.hxx"
+
+#ifndef RM
+#error "RM undefined. You must set RM to a valid path to a rm-like command."
+#endif
+
+#ifndef CP
+#error "CP undefined. You must set CP to a valid path to a cp-like command."
+#endif
+
+#ifndef SH
+#error "SH undefined. You must set SH to a valid path to a sh-like command."
+#endif
+
+namespace Batch {
+
+
+  // Constructeur
+  BatchManager_Local_SH::BatchManager_Local_SH(const FactBatchManager * parent, const char * host) throw(InvalidArgumentException,ConnexionFailureException) : BatchManager_Local(parent, host)
+  {
+  }
+
+  // Destructeur
+  BatchManager_Local_SH::~BatchManager_Local_SH()
+  {
+  }
+
+
+  // Methode qui renvoie la commande de copie du fichier source en destination
+  string BatchManager_Local_SH::copy_command(const string & host_source, const string & source, const string & host_destination, const string & destination) const
+  {
+    ostringstream copy_cmd;
+    copy_cmd << CP << " " << source << " " << destination;
+    return copy_cmd.str();
+  }
+  
+  // Methode qui renvoie la commande a executer
+  string BatchManager_Local_SH::exec_command(Parametre & param) const
+  {
+    ostringstream exec_sub_cmd;
+    exec_sub_cmd << param[EXECUTABLE];
+
+    if (param.find(ARGUMENTS) != param.end()) {
+      Versatile V = param[ARGUMENTS];
+      for(Versatile::const_iterator it=V.begin(); it!=V.end(); it++) {
+       StringType argt = * static_cast<StringType *>(*it);
+       string     arg  = argt;
+       exec_sub_cmd << " " << arg;
+      }
+    }
+
+    param[ARGUMENTS]  = "-c";
+    param[ARGUMENTS] += exec_sub_cmd.str();
+
+    return SH;
+  }
+
+  // Methode qui renvoie la commande d'effacement du fichier
+  string BatchManager_Local_SH::remove_command(const string & host_destination, const string & destination) const
+  {
+    ostringstream remove_cmd;
+    remove_cmd << RM << " " << destination;
+    return remove_cmd.str();
+  }
+  
+}
diff --git a/src/Batch/Batch_BatchManager_Local_SH.hxx b/src/Batch/Batch_BatchManager_Local_SH.hxx
new file mode 100644 (file)
index 0000000..b72a087
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * BatchManager_Local_SH.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifndef _BATCHMANAGER_LOCAL_SH_H_
+#define _BATCHMANAGER_LOCAL_SH_H_
+
+
+#include <vector>
+#include <map>
+#include <queue>
+#include <deque>
+#include <pthread.h>
+#include "Batch_Job.hxx"
+#include "Batch_JobId.hxx"
+#include "Batch_JobInfo.hxx"
+#include "Batch_JobInfo_Local.hxx"
+#include "Batch_Job_Local.hxx"
+#include "Batch_InvalidArgumentException.hxx"
+#include "Batch_ConnexionFailureException.hxx"
+#include "Batch_APIInternalFailureException.hxx"
+#include "Batch_NotYetImplementedException.hxx"
+#include "Batch_BatchManager_Local.hxx"
+
+namespace Batch {
+
+  class FactBatchManager;
+
+  class BatchManager_Local_SH : public BatchManager_Local
+  {
+  public:
+    // Constructeur et destructeur
+    BatchManager_Local_SH(const FactBatchManager * parent, const char * host="localhost") throw(InvalidArgumentException,ConnexionFailureException); // connexion a la machine host
+    virtual ~BatchManager_Local_SH();
+
+  protected:
+    // Methode qui renvoie la commande de copie du fichier source en destination
+    virtual string copy_command(const string & host_source, const string & source, const string & host_destination, const string & destination) const;
+
+    // Methode qui renvoie la commande a executer
+    virtual string exec_command(Parametre & param) const;
+
+    // Methode qui renvoie la commande d'effacement du fichier
+    virtual string remove_command(const string & host_destination, const string & destination) const;
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_BatchManager_Local_SSH.cxx b/src/Batch/Batch_BatchManager_Local_SSH.cxx
new file mode 100644 (file)
index 0000000..d74b4e1
--- /dev/null
@@ -0,0 +1,126 @@
+/*
+ * BatchManager_Local_SSH.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <SALOMEconfig.h>
+#endif
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <cstdlib>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <ctime>
+#include <unistd.h>
+#include <pthread.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include "Batch_IOMutex.hxx"
+#include "Batch_BatchManager_Local_SSH.hxx"
+
+#ifndef RM
+#error "RM undefined. You must set RM to a valid path to a rm-like command."
+#endif
+
+#ifndef RCP
+#error "RCP undefined. You must set RCP to a valid path to a scp-like command."
+#endif
+
+#ifndef SSH
+#error "SSH undefined. You must set SSH to a valid path to a ssh-like command."
+#endif
+
+namespace Batch {
+
+
+  // Constructeur
+  BatchManager_Local_SSH::BatchManager_Local_SSH(const FactBatchManager * parent, const char * host) throw(InvalidArgumentException,ConnexionFailureException) : BatchManager_Local(parent, host)
+  {
+  }
+
+  // Destructeur
+  BatchManager_Local_SSH::~BatchManager_Local_SSH()
+  {
+  }
+
+
+  // Methode abstraite qui renvoie la commande de copie du fichier source en destination
+  string BatchManager_Local_SSH::copy_command(const string & host_source, const string & source, const string & host_destination, const string & destination) const
+  {
+    ostringstream fullsource;
+    if (host_source.size() == 0) {
+      fullsource << "localhost:";
+    } else {
+      fullsource << host_source << ":";
+    }
+    fullsource << source;
+
+    ostringstream fulldestination;
+    if (host_destination.size() == 0) {
+      fulldestination << "localhost:";
+    } else {
+      fulldestination << host_destination << ":";
+    }
+    fulldestination << destination;
+
+    ostringstream copy_cmd;
+    copy_cmd << RCP << " " << fullsource.str() << " " << fulldestination.str();
+    return copy_cmd.str();
+  }
+  
+  // Methode abstraite qui renvoie la commande a executer
+  string BatchManager_Local_SSH::exec_command(Parametre & param) const
+  {
+    ostringstream exec_sub_cmd;
+    exec_sub_cmd << param[EXECUTABLE];
+
+    if (param.find(ARGUMENTS) != param.end()) {
+      Versatile V = param[ARGUMENTS];
+      for(Versatile::const_iterator it=V.begin(); it!=V.end(); it++) {
+       StringType argt = * static_cast<StringType *>(*it);
+       string     arg  = argt;
+       exec_sub_cmd << " " << arg;
+      }
+    }
+
+
+    Versatile new_arguments;
+    new_arguments.setMaxSize(0);
+    new_arguments = string(param[EXECUTIONHOST]);
+
+
+    if (param.find(USER) != param.end()) {
+      new_arguments += "-l";
+      new_arguments += string(param[USER]);
+    }
+
+    new_arguments += exec_sub_cmd.str();
+
+    param[ARGUMENTS] = new_arguments;
+
+    // Sous Linux on est oblige de modifier ces deux parametres pour faire fonctionner la commande rsh
+    param[EXECUTABLE] = SSH;
+    param.erase(NAME);
+
+    return SSH;
+  }
+
+  // Methode qui renvoie la commande d'effacement du fichier
+  string BatchManager_Local_SSH::remove_command(const string & host_destination, const string & destination) const
+  {
+    string host = (host_destination.size()) ? host_destination : "localhost:";
+
+    ostringstream remove_cmd;
+    remove_cmd << SSH << " " << host << " \"" << RM << " " << destination << "\"";
+    return remove_cmd.str();
+  }
+}
diff --git a/src/Batch/Batch_BatchManager_Local_SSH.hxx b/src/Batch/Batch_BatchManager_Local_SSH.hxx
new file mode 100644 (file)
index 0000000..4d6c2ee
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * BatchManager_Local_SSH.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Thu Nov  6 10:17:22 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifndef _BATCHMANAGER_LOCAL_SSH_H_
+#define _BATCHMANAGER_LOCAL_SSH_H_
+
+
+#include <vector>
+#include <map>
+#include <queue>
+#include <deque>
+#include <pthread.h>
+#include "Batch_Job.hxx"
+#include "Batch_JobId.hxx"
+#include "Batch_JobInfo.hxx"
+#include "Batch_JobInfo_Local.hxx"
+#include "Batch_Job_Local.hxx"
+#include "Batch_InvalidArgumentException.hxx"
+#include "Batch_ConnexionFailureException.hxx"
+#include "Batch_APIInternalFailureException.hxx"
+#include "Batch_NotYetImplementedException.hxx"
+#include "Batch_BatchManager_Local.hxx"
+
+namespace Batch {
+
+  class FactBatchManager;
+
+  class BatchManager_Local_SSH : public BatchManager_Local
+  {
+  public:
+    // Constructeur et destructeur
+    BatchManager_Local_SSH(const FactBatchManager * parent, const char * host="localhost") throw(InvalidArgumentException,ConnexionFailureException); // connexion a la machine host
+    virtual ~BatchManager_Local_SSH();
+
+  protected:
+    // Methode abstraite qui renvoie la commande de copie du fichier source en destination
+    virtual string copy_command(const string & host_source, const string & source, const string & host_destination, const string & destination) const;
+
+    // Methode abstraite qui renvoie la commande a executer
+    virtual string exec_command(Parametre & param) const;
+
+    // Methode qui renvoie la commande d'effacement du fichier
+    virtual string remove_command(const string & host_destination, const string & destination) const;
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_FactBatchManager_Local.cxx b/src/Batch/Batch_FactBatchManager_Local.cxx
new file mode 100644 (file)
index 0000000..91eb63e
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#include <string>
+#include "Batch_BatchManager_Local.hxx"
+#include "Batch_FactBatchManager_Local.hxx"
+//#include "utilities.h"
+
+namespace Batch {
+
+//   static FactBatchManager_Local sFBM_Local;
+
+  // Constructeur
+  FactBatchManager_Local::FactBatchManager_Local() : FactBatchManager("Local")
+  {
+    // Nothing to do
+  }
+
+  // Destructeur
+  FactBatchManager_Local::~FactBatchManager_Local()
+  {
+    // Nothing to do
+  }
+
+  // Functor
+//   BatchManager * FactBatchManager_Local::operator() (const char * hostname) const
+//   {
+//     // MESSAGE("Building new BatchManager_Local on host '" << hostname << "'");
+//     return new BatchManager_Local(this, hostname);
+//   }
+
+
+}
diff --git a/src/Batch/Batch_FactBatchManager_Local.hxx b/src/Batch/Batch_FactBatchManager_Local.hxx
new file mode 100644 (file)
index 0000000..a74f633
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#ifndef _FACTBATCHMANAGER_LOCAL_H_
+#define _FACTBATCHMANAGER_LOCAL_H_
+
+using namespace std;
+#include <string>
+#include <map>
+#include "Batch_FactBatchManager.hxx"
+
+namespace Batch {
+  
+  class BatchManager_Local;
+
+  class FactBatchManager_Local : public FactBatchManager
+  {
+  public:
+    // Constructeur et destructeur
+    FactBatchManager_Local();
+    virtual ~FactBatchManager_Local();
+
+    virtual BatchManager * operator() (const char * hostname) const = 0;
+
+  protected:
+
+  private:
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_FactBatchManager_Local_RSH.cxx b/src/Batch/Batch_FactBatchManager_Local_RSH.cxx
new file mode 100644 (file)
index 0000000..176e5f1
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local_RSH.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#include <string>
+#include "Batch_BatchManager_Local_RSH.hxx"
+#include "Batch_FactBatchManager_Local_RSH.hxx"
+//#include "utilities.h"
+
+namespace Batch {
+
+  static FactBatchManager_Local_RSH sFBM_Local_RSH;
+
+  // Constructeur
+  FactBatchManager_Local_RSH::FactBatchManager_Local_RSH() : FactBatchManager("RSH")
+  {
+    // Nothing to do
+  }
+
+  // Destructeur
+  FactBatchManager_Local_RSH::~FactBatchManager_Local_RSH()
+  {
+    // Nothing to do
+  }
+
+  // Functor
+  BatchManager * FactBatchManager_Local_RSH::operator() (const char * hostname) const
+  {
+    // MESSAGE("Building new BatchManager_Local_RSH on host '" << hostname << "'");
+    return new BatchManager_Local_RSH(this, hostname);
+  }
+
+
+}
diff --git a/src/Batch/Batch_FactBatchManager_Local_RSH.hxx b/src/Batch/Batch_FactBatchManager_Local_RSH.hxx
new file mode 100644 (file)
index 0000000..29ed41a
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local_RSH.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#ifndef _FACTBATCHMANAGER_LOCAL_RSH_H_
+#define _FACTBATCHMANAGER_LOCAL_RSH_H_
+
+using namespace std;
+#include <string>
+#include <map>
+#include "Batch_FactBatchManager.hxx"
+
+namespace Batch {
+  
+  class BatchManager_Local_RSH;
+
+  class FactBatchManager_Local_RSH : public FactBatchManager
+  {
+  public:
+    // Constructeur et destructeur
+    FactBatchManager_Local_RSH();
+    virtual ~FactBatchManager_Local_RSH();
+
+    virtual BatchManager * operator() (const char * hostname) const;
+
+  protected:
+
+  private:
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_FactBatchManager_Local_SH.cxx b/src/Batch/Batch_FactBatchManager_Local_SH.cxx
new file mode 100644 (file)
index 0000000..185716a
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local_SH.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#include <string>
+#include "Batch_BatchManager_Local_SH.hxx"
+#include "Batch_FactBatchManager_Local_SH.hxx"
+//#include "utilities.h"
+
+namespace Batch {
+
+  static FactBatchManager_Local_SH sFBM_Local_SH;
+
+  // Constructeur
+  FactBatchManager_Local_SH::FactBatchManager_Local_SH() : FactBatchManager("SH")
+  {
+    // Nothing to do
+  }
+
+  // Destructeur
+  FactBatchManager_Local_SH::~FactBatchManager_Local_SH()
+  {
+    // Nothing to do
+  }
+
+  // Functor
+  BatchManager * FactBatchManager_Local_SH::operator() (const char * hostname) const
+  {
+    // MESSAGE("Building new BatchManager_Local_SH on host '" << hostname << "'");
+    return new BatchManager_Local_SH(this, hostname);
+  }
+
+
+}
diff --git a/src/Batch/Batch_FactBatchManager_Local_SH.hxx b/src/Batch/Batch_FactBatchManager_Local_SH.hxx
new file mode 100644 (file)
index 0000000..1490436
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local_SH.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#ifndef _FACTBATCHMANAGER_LOCAL_SH_H_
+#define _FACTBATCHMANAGER_LOCAL_SH_H_
+
+using namespace std;
+#include <string>
+#include <map>
+#include "Batch_FactBatchManager.hxx"
+
+namespace Batch {
+  
+  class BatchManager_Local_SH;
+
+  class FactBatchManager_Local_SH : public FactBatchManager
+  {
+  public:
+    // Constructeur et destructeur
+    FactBatchManager_Local_SH();
+    virtual ~FactBatchManager_Local_SH();
+
+    virtual BatchManager * operator() (const char * hostname) const;
+
+  protected:
+
+  private:
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_FactBatchManager_Local_SSH.cxx b/src/Batch/Batch_FactBatchManager_Local_SSH.cxx
new file mode 100644 (file)
index 0000000..60a26af
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local_SSH.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#include <string>
+#include "Batch_BatchManager_Local_SSH.hxx"
+#include "Batch_FactBatchManager_Local_SSH.hxx"
+//#include "utilities.h"
+
+namespace Batch {
+
+  static FactBatchManager_Local_SSH sFBM_Local_SSH;
+
+  // Constructeur
+  FactBatchManager_Local_SSH::FactBatchManager_Local_SSH() : FactBatchManager("SSH")
+  {
+    // Nothing to do
+  }
+
+  // Destructeur
+  FactBatchManager_Local_SSH::~FactBatchManager_Local_SSH()
+  {
+    // Nothing to do
+  }
+
+  // Functor
+  BatchManager * FactBatchManager_Local_SSH::operator() (const char * hostname) const
+  {
+    // MESSAGE("Building new BatchManager_Local_SSH on host '" << hostname << "'");
+    return new BatchManager_Local_SSH(this, hostname);
+  }
+
+
+}
diff --git a/src/Batch/Batch_FactBatchManager_Local_SSH.hxx b/src/Batch/Batch_FactBatchManager_Local_SSH.hxx
new file mode 100644 (file)
index 0000000..645638b
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * FactBatchManager_Local_SSH.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Date   : Septembre 2004
+ * Projet : SALOME 2
+ *
+ */
+
+#ifndef _FACTBATCHMANAGER_LOCAL_SSH_H_
+#define _FACTBATCHMANAGER_LOCAL_SSH_H_
+
+using namespace std;
+#include <string>
+#include <map>
+#include "Batch_FactBatchManager.hxx"
+
+namespace Batch {
+  
+  class BatchManager_Local_SSH;
+
+  class FactBatchManager_Local_SSH : public FactBatchManager
+  {
+  public:
+    // Constructeur et destructeur
+    FactBatchManager_Local_SSH();
+    virtual ~FactBatchManager_Local_SSH();
+
+    virtual BatchManager * operator() (const char * hostname) const;
+
+  protected:
+
+  private:
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_IOMutex.cxx b/src/Batch/Batch_IOMutex.cxx
new file mode 100644 (file)
index 0000000..b56a421
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * IOMutex.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Fri Nov 14 11:00:39 2003
+ * Projet : Salome 2
+ *
+ */
+
+#include "Batch_IOMutex.hxx"
+
+namespace Batch {
+
+  pthread_mutex_t IOMutex = PTHREAD_MUTEX_INITIALIZER;
+
+}
diff --git a/src/Batch/Batch_IOMutex.hxx b/src/Batch/Batch_IOMutex.hxx
new file mode 100644 (file)
index 0000000..77b40f8
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * IOMutex.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Fri Nov 14 11:00:39 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifndef _IOMUTEX_H_
+#define _IOMUTEX_H_
+
+#include <pthread.h>
+
+#define LOCK_IO               { pthread_mutex_lock(&Batch::IOMutex) ; }
+#define UNLOCK_IO             { pthread_mutex_unlock(&Batch::IOMutex) ; }
+#define UNDER_LOCK(statement) { LOCK_IO ; { statement ; } ; UNLOCK_IO ; }
+
+namespace Batch {
+
+  extern pthread_mutex_t IOMutex;
+  
+}
+
+#endif
index 53a57b26c041f61e4e13336f632820853e5b700e..e49b04952378921c6a3205d8004dd21ab71bf538 100644 (file)
@@ -68,13 +68,13 @@ namespace Batch {
   }
 
   // Accesseur
-  Parametre Job::getParametre() const
+  Batch::Parametre Job::getParametre() const
   {
     return _param;
   }
 
   // Accesseur
-  void Job::setParametre(const Parametre & param)
+  void Job::setParametre(const Batch::Parametre & param)
   {
     _param = param;
   }
index c5ceda99754353ac38f1c9dbfbac5c935eb597a3..9909c0fcd65e3b96be1b4d70b42badf535a76ede 100644 (file)
@@ -32,7 +32,6 @@
 #include <sstream>
 //#include "MEDMEM_STRING.hxx"
 #include "Batch_JobInfo.hxx"
-using namespace std;
 
 namespace Batch {
 
index a829802bd1b508adfa33f5e909b6dd00afd23ae6..3d54a78c65aa6fb016adae0230d456d850a5c67b 100644 (file)
@@ -30,6 +30,7 @@
 #ifndef _JOBINFO_H_
 #define _JOBINFO_H_
 
+using namespace std;
 #include <iostream>
 #include <string>
 #include "Batch_Parametre.hxx"
@@ -45,23 +46,26 @@ namespace Batch {
     virtual ~JobInfo();
 
     // Constructeur par recopie
-    JobInfo(const Batch::JobInfo & jinfo) : _param(jinfo._param), _env(jinfo._env) {};
+    JobInfo(const JobInfo & jinfo) : _param(jinfo._param), _env(jinfo._env) {};
 
     // Operateur pour l'affichage sur un stream
-    friend std::ostream & operator <<(std::ostream & os, const Batch::JobInfo & ji);
+    friend ostream & operator <<(ostream & os, const JobInfo & ji);
 
     // Accesseurs
+    // _CS_gbo Ajout explicite du namespace pour les besoins de swig (mauvaise gestion
+    // des namespace par swig.
     virtual Batch::Parametre getParametre() const;
     virtual Batch::Environnement getEnvironnement() const; 
 
     // Methodes pour l'interfacage avec Python (SWIG)
     // TODO : supprimer ces methodes et transferer leur definitions dans SWIG
-    std::string  __str__() const; // SWIG : affichage en Python
-    std::string  __repr__() const { return __str__(); }; // SWIG : affichage en Python
+    string  __str__() const; // SWIG : affichage en Python
+    string  __repr__() const { return __str__(); }; // SWIG : affichage en Python
 
   protected:
-    Batch::Parametre _param; // parametres du job
-    Batch::Environnement _env; // variables d'environnement du job
+    Parametre _param; // parametres du job
+    Environnement _env; // variables d'environnement du job
+    JobInfo(const Parametre & param, const Environnement & env) : _param(param), _env(env) {};
 
   private:
 
diff --git a/src/Batch/Batch_JobInfo_Local.cxx b/src/Batch/Batch_JobInfo_Local.cxx
new file mode 100644 (file)
index 0000000..1874793
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * JobInfo_Local.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Fri Nov 21 09:42:06 2003
+ * Projet : Salome 2
+ *
+ */
+
+#include <cstdio>
+#include "Batch_Parametre.hxx"
+#include "Batch_Environnement.hxx"
+#include "Batch_JobInfo_Local.hxx"
+
+namespace Batch {
+
+  // Constructeurs
+  JobInfo_Local::JobInfo_Local(const Parametre & param, const Environnement & env) :
+    JobInfo(param, env)
+  {
+    // Nothing to do
+  }
+
+
+  // Destructeur
+  JobInfo_Local::~JobInfo_Local()
+  {
+    // Nothing to do
+  }
+  
+
+}
diff --git a/src/Batch/Batch_JobInfo_Local.hxx b/src/Batch/Batch_JobInfo_Local.hxx
new file mode 100644 (file)
index 0000000..05c570d
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * JobInfo_Local.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Fri Nov 21 09:42:05 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifndef _JOBINFO_LOCAL_H_
+#define _JOBINFO_LOCAL_H_
+
+#include <string>
+#include "Batch_JobInfo.hxx"
+
+namespace Batch {
+
+  class JobInfo_Local : public JobInfo
+  {
+  public:
+    // Constructeurs et destructeur
+    JobInfo_Local() {};
+    JobInfo_Local(const Parametre & param, const Environnement & env);
+    virtual ~JobInfo_Local();
+
+    // Constructeur par recopie
+    JobInfo_Local(const JobInfo_Local & jinfo) : JobInfo(jinfo) {};
+
+
+  protected:
+
+  private:
+
+  };
+
+}
+
+#endif
diff --git a/src/Batch/Batch_Job_Local.cxx b/src/Batch/Batch_Job_Local.cxx
new file mode 100644 (file)
index 0000000..1c5c593
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * Job_Local.cxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Fri Nov 14 11:00:39 2003
+ * Projet : Salome 2
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "Batch_Job_Local.hxx"
+
+namespace Batch {
+
+  // Constructeur
+  Job_Local::Job_Local(const Job & job) : 
+    _command(), _param(job.getParametre()), _env(job.getEnvironnement())
+  {
+    // On positionne le nom du EXECUTIONHOST a "localhost" s'il n'est pas precise
+    if ( _param.find(EXECUTIONHOST) == _param.end() ) {
+      _param[EXECUTIONHOST] = "localhost";
+    }
+
+    // On convertit les objets Parametre et Environnement en liste chainee d'attributs + operateur
+    addEnvironnement( _env   );
+    addParametre    ( _param );
+
+  }
+
+
+  // Destructeur
+  Job_Local::~Job_Local()
+  {
+  }
+
+
+  void Job_Local::addParametre(const Parametre & P)
+  {
+    // En dernier, on ajoute le chemin complet de la commande
+    _command += P[EXECUTABLE].str();
+  }
+
+
+  void Job_Local::addEnvironnement(const Environnement & E)
+  {
+    for(Environnement::const_iterator it=E.begin(); it != E.end(); it++) {
+      string variable = (*it).first;
+      string value    = (*it).second;
+
+      // On remplace toutes les occurences de single-quote par backslash-single-quote
+      for(int pos=0; pos < value.size(); pos++) {
+       pos = value.find("'", pos);
+       if ( (pos < 0) || (pos > value.size()) ) break;
+       value.replace(pos, 1, "\'");
+      }
+      _command += variable + "='" + value + "' ";
+    }
+  }
+
+  string Job_Local::getCommand(void) const {
+    return _command;
+  }
+
+
+  // Retourne l'objet Parametre
+  Parametre Job_Local::getParametre() const
+  {
+    return _param;
+  }
+
+  // Retourne l'objet Environnement
+  Environnement Job_Local::getEnvironnement() const
+  {
+    return _env;
+  }
+
+
+}
diff --git a/src/Batch/Batch_Job_Local.hxx b/src/Batch/Batch_Job_Local.hxx
new file mode 100644 (file)
index 0000000..0115c5c
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Job_Local.hxx : 
+ *
+ * Auteur : Ivan DUTKA-MALEN - EDF R&D
+ * Mail   : mailto:ivan.dutka-malen@der.edf.fr
+ * Date   : Fri Nov 14 11:00:39 2003
+ * Projet : Salome 2
+ *
+ */
+
+#ifndef _JOB_LOCAL_H_
+#define _JOB_LOCAL_H_
+
+#include "Batch_Parametre.hxx"
+#include "Batch_Environnement.hxx"
+#include "Batch_Job.hxx"
+
+namespace Batch {
+
+  class Job_Local
+  {
+  public:
+    // Constructeur et destructeur
+    Job_Local(const Job & job);
+    virtual ~Job_Local();
+
+    // Retourne la commande _command
+    virtual std::string getCommand(void) const;
+
+    // Retourne l'objet Parametre
+    virtual Parametre getParametre() const;
+
+    // Retourne l'objet Environnement
+    virtual Environnement getEnvironnement() const;
+
+
+  protected:
+    std::string _command;
+    Parametre _param;
+    Environnement _env;
+
+  private:
+    void addParametre(const Parametre & P);
+    void addEnvironnement(const Environnement & E);
+
+  };
+
+}
+
+#endif
index fbdeac9e1335acdb0a87f0a00e48435055e7ca8c..c460b8aba46fa77b44c2a81217a215e95f941a89 100644 (file)
@@ -30,7 +30,6 @@
 #include "Batch_Versatile.hxx"
 #include "Batch_InvalidKeyException.hxx"
 #include "Batch_Parametre.hxx"
-using namespace std;
 
 // Definition des membres constants statiques
 // Definition des noms globaux pour les clefs en tant que references
@@ -72,14 +71,15 @@ def_static_MapKey(USEDDISKSIZE);
 def_static_MapKey(USEDRAMSIZE);
 def_static_MapKey(USEDWALLTIME);
 def_static_MapKey(USER);
+def_static_MapKey(WORKDIR);
 
 namespace Batch {
 
-       // Constructeur standard
-       // La map interne TypeMap possede les memes clefs que la map principale, mais les
-       // valeurs associees contiennent le type des clefs de la map principale ainsi que
-       // le nombre de valeurs autorisees dans l'objet Versatile (0=nombre quelconque,
-       // sinon valeur precisee)
+  // Constructeur standard
+  // La map interne TypeMap possede les memes clefs que la map principale, mais les
+  // valeurs associees contiennent le type des clefs de la map principale ainsi que
+  // le nombre de valeurs autorisees dans l'objet Versatile (0=nombre quelconque,
+  // sinon valeur precisee)
   Parametre::Parametre() : map< string, Versatile >()
   {
     TypeMap[ACCOUNT].type = STRING;
@@ -192,23 +192,26 @@ namespace Batch {
 
     TypeMap[USER].type = STRING;
     TypeMap[USER].maxelem = 1;
+
+    TypeMap[WORKDIR].type = STRING;
+    TypeMap[WORKDIR].maxelem = 1;
   }
 
-       // Operateur de recherche dans la map
-       // Cet operateur agit sur les objets NON CONSTANTS, il autorise la modification de
-       // la valeur associée Ã  la clef car il retourne une reference non constante
+  // Operateur de recherche dans la map
+  // Cet operateur agit sur les objets NON CONSTANTS, il autorise la modification de
+  // la valeur associée Ã  la clef car il retourne une reference non constante
   Versatile & Parametre::operator [] (const string & mk)
   {
-               // On controle que la clef est valide
+    // On controle que la clef est valide
     if (TypeMap.find(mk) == TypeMap.end()) throw InvalidKeyException(mk.c_str());
 
-               // On recherche la valeur associee...
+    // On recherche la valeur associee...
     Versatile & V = map< string, Versatile >::operator [] (mk);
 
-               // ... et on l'initialise systematiquement
-               // ATTENTION : si un probleme de type survient (ie, on stocke une valeur d'un type
-               // different de celui inscrit dans TypeMap) une exception TypeMismatchException est
-               // levee
+    // ... et on l'initialise systematiquement
+    // ATTENTION : si un probleme de type survient (ie, on stocke une valeur d'un type
+    // different de celui inscrit dans TypeMap) une exception TypeMismatchException est
+    // levee
     V.setName(mk);
     V.setType(TypeMap[mk].type);
     V.setMaxSize(TypeMap[mk].maxelem);
@@ -216,35 +219,36 @@ namespace Batch {
     return V;
   }
 
-       // Operateur de recherche dans la map
-       // Cet operateur agit sur les objets CONSTANTS
+  // Operateur de recherche dans la map
+  // Cet operateur agit sur les objets CONSTANTS
   const Versatile & Parametre::operator [] (const string & mk) const
   {
-               // On controle que la clef est valide
+    // On controle que la clef est valide
     if (TypeMap.find(mk) == TypeMap.end()) throw InvalidKeyException(mk.c_str());
  
-               // On recherche la valeur associee
-               Parametre::const_iterator it = find(mk);
+    // On recherche la valeur associee
+    Parametre::const_iterator it = find(mk);
+    if (it == end()) throw InvalidKeyException(mk.c_str());
     const Versatile & V = (*it).second;
 
     return V;
   }
 
-       // Operateur d'affectation
+  // Operateur d'affectation
   Parametre & Parametre::operator =(const Parametre & PM)
   {
-               // On ne reaffecte pas l'objet a lui-meme, sinon aie, aie, aie
+    // On ne reaffecte pas l'objet a lui-meme, sinon aie, aie, aie
     if (this == &PM) return *this;
 
-               // On efface toute la map
+    // On efface toute la map
     erase(begin(), end());
 
-               // On recopie la map interne
-               // Meme si cela ne sert a rien pour le moment car les maps internes sont identiques,
-               // il n'est pas exclu que dans un avenir proche elles puissent etre differentes
+    // On recopie la map interne
+    // Meme si cela ne sert a rien pour le moment car les maps internes sont identiques,
+    // il n'est pas exclu que dans un avenir proche elles puissent etre differentes
     (*this).TypeMap = PM.TypeMap;
 
-               // On recree la structure interne de la map avec les valeurs de celle passee en argument
+    // On recree la structure interne de la map avec les valeurs de celle passee en argument
     Parametre::const_iterator it;
     for(it=PM.begin(); it!=PM.end(); it++)
       insert(make_pair( (*it).first ,
@@ -254,26 +258,26 @@ namespace Batch {
     return *this;
   }
 
-       // Constructeur par recopie
+  // Constructeur par recopie
   Parametre::Parametre(const Parametre & PM)
   {
-               // inutile car l'objet est vierge : il vient d'etre cree
-               // On efface toute la map
+    // inutile car l'objet est vierge : il vient d'etre cree
+    // On efface toute la map
     // erase(begin(), end());
 
-               // On recopie la map interne
+    // On recopie la map interne
     (*this).TypeMap = PM.TypeMap;
 
-               // On cree la structure interne de la map avec les valeurs de celle passee en argument
-               Parametre::const_iterator it;
-               for(it=PM.begin(); 
-                               it!=PM.end(); 
-                               it++)
+    // On cree la structure interne de la map avec les valeurs de celle passee en argument
+    Parametre::const_iterator it;
+    for(it=PM.begin(); 
+       it!=PM.end(); 
+       it++)
       insert(
-                                                make_pair( 
-                                                                                        (*it).first ,
-                                                                                        Versatile( (*it).second)
-                                                                                        ) );
+            make_pair( 
+                      (*it).first ,
+                      Versatile( (*it).second)
+                      ) );
   }
 
   //   map< string, TypeParam > Parametre::getTypeMap() const
index f377cc0652c3491ba8b7cb5256701fa0f073d19e..8c833416cdec81cc9f518428aedff6043748297d 100644 (file)
@@ -29,6 +29,7 @@
 #ifndef _PARAMETRE_H_
 #define _PARAMETRE_H_
 
+using namespace std;
 #include <map>
 #include <string>
 #include "Batch_InvalidKeyException.hxx"
 // TODO : remplacer ce mecanisme statique par la lecture
 // TODO : d'une descrption dans un fichier exterieur (genre XML)
 
-#define def_extern_MapKey(mk) extern const std::string & mk;
-#define def_static_MapKey(mk) const std::string Batch::Parametre::mk(#mk);     \
-  const std::string & mk = Batch::Parametre::mk;
+#define def_extern_MapKey(mk) extern const string & mk;
+#define def_static_MapKey(mk) const string Batch::Parametre::mk(#mk);  \
+  const string & mk = Batch::Parametre::mk;
 
 namespace Batch {
 
-  class Parametre : public std::map< std::string, Versatile >
+  class Parametre : public map< string, Versatile >
   {
   public:
     // Constructeur standard
     Parametre();
 
     // Constructeur par recopie
-    Parametre(const Batch::Parametre & PM);
+    Parametre::Parametre(const Parametre & PM);
 
     // Operateur de recherche dans la map
-    Versatile & operator [] (const std::string &);
-    const Versatile & operator [] (const std::string &) const;
+    Versatile & operator [] (const string &);
+    const Versatile & operator [] (const string &) const;
 
     // Operateur d'affectation
-    Parametre & operator =(const Batch::Parametre & PM);
+    Parametre & operator =(const Parametre & PM);
 
     // Declarations statique des clefs de la map
     // TODO : supprimer les declarations statiques des clefs de la map
-    static const std::string ACCOUNT;
-    static const std::string ARGUMENTS;
-    static const std::string CHECKPOINT;
-    static const std::string CKPTINTERVAL;
-    static const std::string CREATIONTIME;
-    static const std::string EGROUP;
-    static const std::string ELIGIBLETIME;
-    static const std::string ENDTIME;
-    static const std::string EUSER;
-    static const std::string EXECUTABLE;
-    static const std::string EXECUTIONHOST;
-    static const std::string EXITCODE;
-    static const std::string HOLD;
-    static const std::string ID;
-    static const std::string INFILE;
-    static const std::string MAIL;
-    static const std::string MAXCPUTIME;
-    static const std::string MAXDISKSIZE;
-    static const std::string MAXRAMSIZE;
-    static const std::string MAXWALLTIME;
-    static const std::string MODIFICATIONTIME;
-    static const std::string NAME;
-    static const std::string NBPROC;
-    static const std::string OUTFILE;
-    static const std::string PID;
-    static const std::string QUEUE;
-    static const std::string QUEUEDTIME;
-    static const std::string SERVER;
-    static const std::string STARTTIME;
-    static const std::string STATE;
-    static const std::string TEXT;
-    static const std::string TMPDIR;
-    static const std::string USEDCPUTIME;
-    static const std::string USEDDISKSIZE;
-    static const std::string USEDRAMSIZE;
-    static const std::string USEDWALLTIME;
-    static const std::string USER;
+    static const string ACCOUNT;
+    static const string ARGUMENTS;
+    static const string CHECKPOINT;
+    static const string CKPTINTERVAL;
+    static const string CREATIONTIME;
+    static const string EGROUP;
+    static const string ELIGIBLETIME;
+    static const string ENDTIME;
+    static const string EUSER;
+    static const string EXECUTABLE;
+    static const string EXECUTIONHOST;
+    static const string EXITCODE;
+    static const string HOLD;
+    static const string ID;
+    static const string INFILE;
+    static const string MAIL;
+    static const string MAXCPUTIME;
+    static const string MAXDISKSIZE;
+    static const string MAXRAMSIZE;
+    static const string MAXWALLTIME;
+    static const string MODIFICATIONTIME;
+    static const string NAME;
+    static const string NBPROC;
+    static const string OUTFILE;
+    static const string PID;
+    static const string QUEUE;
+    static const string QUEUEDTIME;
+    static const string SERVER;
+    static const string STARTTIME;
+    static const string STATE;
+    static const string TEXT;
+    static const string TMPDIR;
+    static const string USEDCPUTIME;
+    static const string USEDDISKSIZE;
+    static const string USEDRAMSIZE;
+    static const string USEDWALLTIME;
+    static const string USER;
+    static const string WORKDIR;
 
   protected:
-    std::map< std::string, TypeParam > TypeMap; // map interne servant a controler le type de la valeur associee a chaque clef
+    map< string, TypeParam > TypeMap; // map interne servant a controler le type de la valeur associee a chaque clef
 
   private:
 
@@ -148,5 +150,6 @@ def_extern_MapKey(USEDDISKSIZE);
 def_extern_MapKey(USEDRAMSIZE);
 def_extern_MapKey(USEDWALLTIME);
 def_extern_MapKey(USER);
+def_extern_MapKey(WORKDIR);
 
 #endif
diff --git a/src/Batch/Makefile.am b/src/Batch/Makefile.am
new file mode 100644 (file)
index 0000000..9970832
--- /dev/null
@@ -0,0 +1,213 @@
+####################################### library
+#  SALOME Container : implementation of container and engine for Kernel
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.in
+#  Author : EDF
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# header files  
+LIB_INCLUDES = \
+       Batch_APIInternalFailureException.hxx \
+       Batch_BatchManager.hxx \
+       Batch_BatchManagerCatalog.hxx \
+       Batch_BoolType.hxx \
+       Batch_CharType.hxx \
+       Batch_ConnexionFailureException.hxx \
+       Batch_Couple.hxx \
+       Batch_CoupleType.hxx \
+       Batch_Date.hxx \
+       Batch_DateType.hxx \
+       Batch_Environnement.hxx \
+       Batch_FactBatchManager.hxx \
+       Batch_GenericException.hxx \
+       Batch_GenericType.hxx \
+       Batch_IntType.hxx \
+       Batch_InvalidArgumentException.hxx \
+       Batch_InvalidKeyException.hxx \
+       Batch_Job.hxx \
+       Batch_JobId.hxx \
+       Batch_JobInfo.hxx \
+       Batch_ListIsFullException.hxx \
+       Batch_LongType.hxx \
+       Batch_MapKey.hxx \
+       Batch_NotYetImplementedException.hxx \
+       Batch_Parametre.hxx \
+       Batch_PyVersatile.hxx \
+       Batch_RunTimeException.hxx \
+       Batch_StringType.hxx \
+       Batch_TypeMismatchException.hxx
+
+
+LIB_SRC = \
+       Batch_APIInternalFailureException.cxx \
+       Batch_BatchManager.cxx \
+       Batch_BatchManagerCatalog.cxx \
+       Batch_BoolType.cxx \
+       Batch_CharType.cxx \
+       Batch_ConnexionFailureException.cxx \
+       Batch_Couple.cxx \
+       Batch_CoupleType.cxx \
+       Batch_Date.cxx \
+       Batch_DateType.cxx \
+       Batch_Environnement.cxx \
+       Batch_FactBatchManager.cxx \
+       Batch_GenericException.cxx \
+       Batch_GenericType.cxx \
+       Batch_IntType.cxx \
+       Batch_InvalidArgumentException.cxx \
+       Batch_InvalidKeyException.cxx \
+       Batch_Job.cxx \
+       Batch_JobId.cxx \
+       Batch_JobInfo.cxx \
+       Batch_ListIsFullException.cxx \
+       Batch_LongType.cxx \
+       Batch_MapKey.cxx \
+       Batch_NotYetImplementedException.cxx \
+       Batch_Parametre.cxx \
+       Batch_PyVersatile.cxx \
+       Batch_RunTimeException.cxx \
+       Batch_StringType.cxx \
+       Batch_TypeMismatchException.cxx
+
+
+LIB_CPPFLAGS = \
+       @PYTHON_INCLUDES@ \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace
+
+LIB_LIBADD   = \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la
+
+
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# Special add for local batch system
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+if WITH_LOCAL
+LIB_INCLUDES +=\
+       Batch_Versatile.hxx \
+       Batch_BatchManager_Local.hxx \
+       Batch_BatchManager_Local_RSH.hxx \
+       Batch_BatchManager_Local_SH.hxx \
+       Batch_BatchManager_Local_SSH.hxx \
+       Batch_FactBatchManager_Local.hxx \
+       Batch_FactBatchManager_Local_RSH.hxx \
+       Batch_FactBatchManager_Local_SH.hxx \
+       Batch_FactBatchManager_Local_SSH.hxx \
+       Batch_JobInfo_Local.hxx \
+       Batch_Job_Local.hxx \
+       Batch_IOMutex.hxx
+
+LIB_SRC +=\
+       Batch_Versatile.cxx \
+       Batch_BatchManager_Local.cxx \
+       Batch_BatchManager_Local_RSH.cxx \
+       Batch_BatchManager_Local_SH.cxx \
+       Batch_BatchManager_Local_SSH.cxx \
+       Batch_FactBatchManager_Local.cxx \
+       Batch_FactBatchManager_Local_RSH.cxx \
+       Batch_FactBatchManager_Local_SH.cxx \
+       Batch_FactBatchManager_Local_SSH.cxx \
+       Batch_JobInfo_Local.cxx \
+       Batch_Job_Local.cxx \
+       Batch_IOMutex.cxx
+
+LIB_CPPFLAGS += -DHAVE_CONFIG_H
+
+endif
+
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# Special add for openpbs batch system
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+if WITH_OPENPBS
+LIB_INCLUDES += \
+       Batch_BatchManager_PBS.hxx \
+       Batch_FactBatchManager_PBS.hxx \
+       Batch_JobInfo_PBS.hxx \
+       Batch_Job_PBS.hxx
+
+LIB_SRC +=\
+       Batch_BatchManager_PBS.cxx \
+       Batch_FactBatchManager_PBS.cxx \
+       Batch_JobInfo_PBS.cxx \
+       Batch_Job_PBS.cxx
+
+LIB_CPPFLAGS += @OPENPBS_INCLUDES@
+LIB_LIBADD   += @OPENPBS_LIBDIR@ @OPENPBS_LIBS@
+
+endif
+
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# Special add for lsf batch system
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+if WITH_LSF
+LIB_INCLUDES += \
+       Batch_BatchManager_LSF.hxx \
+       Batch_FactBatchManager_LSF.hxx \
+       Batch_JobInfo_LSF.hxx \
+       Batch_Job_LSF.hxx
+
+LIB_SRC += \
+       Batch_BatchManager_LSF.cxx \
+       Batch_FactBatchManager_LSF.cxx \
+       Batch_JobInfo_LSF.cxx \
+       Batch_Job_LSF.cxx
+
+LIB_CPPFLAGS += @LSF_INCLUDES@
+LIB_LIBADD   += @LSF_LIBDIR@ @LSF_LIBS@
+endif
+
+
+
+
+salomeinclude_HEADERS = $(LIB_INCLUDES)
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeBatch.la 
+libSalomeBatch_la_SOURCES = $(LIB_SRC)
+libSalomeBatch_la_CPPFLAGS = \
+       @PYTHON_INCLUDES@ \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(top_builddir)/salome_adm/unix \
+       $(LIB_CPPFLAGS)
+
+libSalomeBatch_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeBatch_la_LIBADD   = \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       $(LIB_LIBADD)
diff --git a/src/Batch/Makefile.in b/src/Batch/Makefile.in
deleted file mode 100644 (file)
index 6b83960..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-#  SALOME Container : implementation of container and engine for Kernel
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
-       Batch_APIInternalFailureException.hxx \
-       Batch_BatchManager.hxx \
-       Batch_BatchManagerCatalog.hxx \
-       Batch_BoolType.hxx \
-       Batch_CharType.hxx \
-       Batch_ConnexionFailureException.hxx \
-       Batch_Couple.hxx \
-       Batch_CoupleType.hxx \
-       Batch_Date.hxx \
-       Batch_DateType.hxx \
-       Batch_Environnement.hxx \
-       Batch_FactBatchManager.hxx \
-       Batch_GenericException.hxx \
-       Batch_GenericType.hxx \
-       Batch_IntType.hxx \
-       Batch_InvalidArgumentException.hxx \
-       Batch_InvalidKeyException.hxx \
-       Batch_Job.hxx \
-       Batch_JobId.hxx \
-       Batch_JobInfo.hxx \
-       Batch_ListIsFullException.hxx \
-       Batch_LongType.hxx \
-       Batch_MapKey.hxx \
-       Batch_NotYetImplementedException.hxx \
-       Batch_Parametre.hxx \
-       Batch_PyVersatile.hxx \
-       Batch_RunTimeException.hxx \
-       Batch_StringType.hxx \
-       Batch_TypeMismatchException.hxx \
-       Batch_Versatile.hxx
-
-
-# Libraries targets
-
-LIB = libSalomeBatch.la 
-LIB_SRC = \
-       Batch_APIInternalFailureException.cxx \
-       Batch_BatchManager.cxx \
-       Batch_BatchManagerCatalog.cxx \
-       Batch_BoolType.cxx \
-       Batch_CharType.cxx \
-       Batch_ConnexionFailureException.cxx \
-       Batch_Couple.cxx \
-       Batch_CoupleType.cxx \
-       Batch_Date.cxx \
-       Batch_DateType.cxx \
-       Batch_Environnement.cxx \
-       Batch_FactBatchManager.cxx \
-       Batch_GenericException.cxx \
-       Batch_GenericType.cxx \
-       Batch_IntType.cxx \
-       Batch_InvalidArgumentException.cxx \
-       Batch_InvalidKeyException.cxx \
-       Batch_Job.cxx \
-       Batch_JobId.cxx \
-       Batch_JobInfo.cxx \
-       Batch_ListIsFullException.cxx \
-       Batch_LongType.cxx \
-       Batch_MapKey.cxx \
-       Batch_NotYetImplementedException.cxx \
-       Batch_Parametre.cxx \
-       Batch_PyVersatile.cxx \
-       Batch_RunTimeException.cxx \
-       Batch_StringType.cxx \
-       Batch_TypeMismatchException.cxx \
-       Batch_Versatile.cxx
-
-LIB_SERVER_IDL = 
-
-
-CPPFLAGS += $(PYTHON_INCLUDES)
-CXXFLAGS += $(PYTHON_INCLUDES)
-LDFLAGS  += 
-LIBS     += -lSALOMELocalTrace
-
-
-
-# Specialisation pour OpenPBS
-ifeq (@WITHOPENPBS@,yes)
-EXPORT_HEADERS += \
-       Batch_BatchManager_PBS.hxx \
-       Batch_FactBatchManager_PBS.hxx \
-       Batch_JobInfo_PBS.hxx \
-       Batch_Job_PBS.hxx
-
-LIB_SRC += \
-       Batch_BatchManager_PBS.cxx \
-       Batch_FactBatchManager_PBS.cxx \
-       Batch_JobInfo_PBS.cxx \
-       Batch_Job_PBS.cxx
-
-CPPFLAGS += $(OPENPBS_INCLUDES)
-CXXFLAGS += $(OPENPBS_INCLUDES)
-LDFLAGS  += $(OPENPBS_LIBDIR)
-LIBS     += $(OPENPBS_LIBS)
-endif
-
-
-
-
-# Specialisation pour LSF
-ifeq (@WITH_LSF@,yes)
-EXPORT_HEADERS += \
-       Batch_BatchManager_LSF.hxx \
-       Batch_FactBatchManager_LSF.hxx \
-       Batch_JobInfo_LSF.hxx \
-       Batch_Job_LSF.hxx
-
-LIB_SRC += \
-       Batch_BatchManager_LSF.cxx \
-       Batch_FactBatchManager_LSF.cxx \
-       Batch_JobInfo_LSF.cxx \
-       Batch_Job_LSF.cxx
-
-CPPFLAGS += $(LSF_INCLUDES)
-CXXFLAGS += $(LSF_INCLUDES)
-LDFLAGS  += $(LSF_LIBDIR)
-LIBS     += $(LSF_LIBS)
-endif
-
-
-@CONCLUDE@
diff --git a/src/Batch_SWIG/Makefile.am b/src/Batch_SWIG/Makefile.am
new file mode 100644 (file)
index 0000000..ab62e74
--- /dev/null
@@ -0,0 +1,86 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Swig targets
+# ===============================================================
+# (cf. http://www.geocities.com/foetsch/python/swig_linux.htm)
+#
+# Step 1: build the wrapping source files with swig
+#
+# libBatch_Swig.i -- swig --> swig_wrap.cpp
+#                             libBatch_Swig.py
+#
+# Step 2: build the dynamic library from cpp built source files and
+#         dependant libraries.
+#
+# swig_wrap.cpp -- gcc --> swig_wrap.o    |-- link --> _libBatch_Swig.la
+#                          +              |
+#                          dependant libs |
+#
+# The file libBatch_Swig.py will be installed in
+# <prefix>/lib/python<version>/site-package/salome.
+# The library will be installed in the common place.
+#
+
+BUILT_SOURCES = swig_wrap.cpp
+
+SWIG_FLAGS    = @SWIG_FLAGS@ -I$(srcdir) -I$(srcdir)/../Batch
+SWIG_SOURCES  = libBatch_Swig.i libBatch_Swig_exception.i libBatch_Swig_typemap.i
+
+pkgpython_PYTHON           = libBatch_Swig.py
+pkgpyexec_LTLIBRARIES      = _libBatch_Swig.la
+_libBatch_Swig_la_SOURCES  = $(BUILT_SOURCES) $(SWIG_SOURCES)
+_libBatch_Swig_la_CPPFLAGS = @PYTHON_INCLUDES@ -I$(srcdir) -I$(srcdir)/../Batch
+_libBatch_Swig_la_LDFLAGS  = -module
+_libBatch_Swig_la_LIBADD   = ../Batch/libSalomeBatch.la @PYTHON_LIBS@
+
+if WITH_OPENPBS
+_libBatch_Swig_la_CPPFLAGS += @OPENPBS_INCLUDES@
+_libBatch_Swig_la_LIBADD   += @OPENPBS_LIBDIR@ @OPENPBS_LIBS@
+endif
+
+swig_wrap.cpp : $(SWIG_SOURCES)
+       $(SWIG) $(SWIG_FLAGS) -o $@ $<
+
+CLEANFILES = swig_wrap.cpp
+
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+# Scripts to be installed.
+dist_salomescript_SCRIPTS = Batch_test.py
+
+# You don't need to specify libBatch_Swig.py. It is automatically
+# installed by means of the swig target pkgpython_PYTHON.
diff --git a/src/Batch_SWIG/Makefile.in b/src/Batch_SWIG/Makefile.in
deleted file mode 100644 (file)
index 89d6c97..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# Libraries targets
-
-LIB = libBatch_Swigcmodule.la
-LIB_SRC = 
-
-SWIG_DEF = libBatch_Swig.i
-EXPORT_PYSCRIPTS = libBatch_Swig.py Batch_test.py
-
-CPPFLAGS += $(PYTHON_INCLUDES) $(OPENPBS_INCLUDES)
-
-LDFLAGS += $(OPENPBS_LIBDIR)
-
-LIBS += $(PYTHON_LIBS) $(OPENPBS_LIBS) -lSalomeBatch
-
-@CONCLUDE@
diff --git a/src/CASCatch/CASCatch.hxx b/src/CASCatch/CASCatch.hxx
new file mode 100644 (file)
index 0000000..a5af66a
--- /dev/null
@@ -0,0 +1,55 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+#ifndef _CASCatch_HeaderFile
+#define _CASCatch_HeaderFile
+
+#include <Standard_Failure.hxx>
+#include <Standard_ErrorHandler.hxx>
+
+
+#ifdef try
+#  undef try
+#endif
+
+#ifdef catch
+#  undef catch
+#endif
+
+#ifdef NO_CXX_EXCEPTION
+#  if defined(DO_ABORT)
+#    define CASCatch_TRY \
+       Standard_ErrorHandler _Function; \
+       K_SETJMP = 1 ; \
+       if(DoesNotAbort(_Function))
+#   else  //If DO_ABORT is not defined
+#     define CASCatch_TRY \
+        Standard_ErrorHandler _Function; \
+        if(DoesNotAbort(_Function))
+#   endif //DO_ABORT
+#   define CASCatch_CATCH(Error)   \
+      else if(_Function.Catches(STANDARD_TYPE(Error)))
+#else
+#  define CASCatch_TRY try
+#  define CASCatch_CATCH catch
+#endif //NO_CXX_EXCEPTION
+
+
+#endif
diff --git a/src/CASCatch/Makefile.am b/src/CASCatch/Makefile.am
new file mode 100644 (file)
index 0000000..c8c2c67
--- /dev/null
@@ -0,0 +1,9 @@
+#  File   : Makefile.in
+#  Author : Sergey RUIN (OCN)
+#  Module : SALOME
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+
+salomeinclude_HEADERS   = CASCatch.hxx 
+
diff --git a/src/CASCatch/Makefile.in b/src/CASCatch/Makefile.in
deleted file mode 100644 (file)
index f3477a8..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#  File   : Makefile.in
-#  Author : Sergey RUIN (OCN)
-#  Module : SALOME
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= CASCatch_Failure.hxx \
-               CASCatch_CatchSignals.hxx \
-               CASCatch_ErrorHandler.hxx
-
-# Libraries targets
-LIB = libCASCatch.la 
-
-LIB_SRC = CASCatch_Failure.cxx \
-          CASCatch_ErrorHandler.cxx \
-          CASCatch_CatchSignals.cxx
-
-CPPFLAGS += $(OCC_INCLUDES)
-CXXFLAGS += $(OCC_CXXFLAGS)
-LDFLAGS+= $(CAS_KERNEL) $(CAS_MATH)
-
-@CONCLUDE@
-
-
diff --git a/src/Communication/Makefile.am b/src/Communication/Makefile.am
new file mode 100644 (file)
index 0000000..fd20d96
--- /dev/null
@@ -0,0 +1,78 @@
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+       ReceiverFactory.hxx \
+       SenderFactory.hxx \
+       SALOMEMultiComm.hxx \
+       MultiCommException.hxx \
+       SALOME_Comm_i.hxx
+
+# Scripts to be installed
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS = \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+# _CS_gbo The need for these flags depends on wether the swig
+# interface is generated and if MPI is activated.
+OPT_CPPFLAGS = @PYTHON_INCLUDES@  @MPI_INCLUDES@
+OPT_LIBS     = @PYTHON_LIBS@ @MPI_LIBS@
+OPT_LDFLAGS  = -Xlinker -export-dynamic
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeCommunication.la 
+libSalomeCommunication_la_SOURCES =\
+       SALOME_Comm_i.cxx \
+       SenderFactory.cxx \
+       MultiCommException.cxx \
+       SALOMEMultiComm.cxx \
+       ReceiverFactory.cxx \
+       \
+       MultiCommException.hxx \
+       SALOME_Comm_i.hxx \
+       SenderFactory.hxx \
+       ReceiverFactory.hxx \
+       SALOMEMultiComm.hxx \
+       Receivers.hxx \
+       Receiver.hxx
+
+# the following file is needed by an include file (VERY DIRTY!)
+EXTRA_DIST = Receivers.cxx
+
+libSalomeCommunication_la_CPPFLAGS = $(COMMON_CPPFLAGS) $(OPT_CPPFLAGS)
+libSalomeCommunication_la_LDFLAGS  = -no-undefined -version-info=0:0:0 $(OPT_LDFLAGS)
+libSalomeCommunication_la_LIBADD    = $(COMMON_LIBS) $(OPT_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+# Nothing to build
diff --git a/src/Communication/Makefile.in b/src/Communication/Makefile.in
deleted file mode 100644 (file)
index 15886f8..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = 
-
-EXPORT_HEADERS = \
-       ReceiverFactory.hxx \
-       SenderFactory.hxx \
-       SALOMEMultiComm.hxx \
-       MultiCommException.hxx \
-       SALOME_Comm_i.hxx
-
-# Libraries targets
-
-LIB = libSalomeCommunication.la 
-LIB_SRC = SALOME_Comm_i.cxx  SenderFactory.cxx MultiCommException.cxx SALOMEMultiComm.cxx ReceiverFactory.cxx
-LIB_SERVER_IDL = SALOME_Comm.idl SALOME_Exception.idl
-
-# Executables targets
-BIN = 
-BIN_SRC =
-BIN_SERVER_IDL = 
-
-CPPFLAGS+= $(PYTHON_INCLUDES)  $(MPI_INCLUDES) 
-
-LDFLAGS+= -lOpUtil -lSALOMELocalTrace
-
-LIBS += -Xlinker -export-dynamic $(PYTHON_LIBS) $(MPI_LIBS)
-
-@CONCLUDE@
diff --git a/src/Communication_SWIG/Makefile.am b/src/Communication_SWIG/Makefile.am
new file mode 100644 (file)
index 0000000..66b72a5
--- /dev/null
@@ -0,0 +1,100 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Swig targets
+# ===============================================================
+# (cf. http://www.geocities.com/foetsch/python/swig_linux.htm)
+#
+# Step 1: build the wrapping source files with swig
+#
+# libSALOME_Comm.i -- swig --> swig_wrap.cpp
+#                              libSALOME_Comm.py
+#
+# Step 2: build the dynamic library from cpp built source files and
+#         dependant libraries.
+#
+# swig_wrap.cpp -- gcc --> swig_wrap.o    |-- link --> _libSALOME_Comm.la
+#                          +              |
+#                          dependant libs |
+#
+# The file libSALOME_Comm.py will be installed in
+# <prefix>/lib/python<version>/site-package/salome.
+# The library will be installed in the common place.
+#
+
+BUILT_SOURCES = swig_wrap.cpp
+
+SWIG_FLAGS    = @SWIG_FLAGS@ -I$(srcdir) -I$(srcdir)/../Communication
+SWIG_SOURCES  = libSALOME_Comm.i
+
+
+pkgpython_PYTHON = libSALOME_Comm.py
+pkgpyexec_LTLIBRARIES = _libSALOME_Comm.la
+_libSALOME_Comm_la_SOURCES  = $(BUILT_SOURCES) $(SWIG_SOURCES)
+_libSALOME_Comm_la_CPPFLAGS =\
+       @PYTHON_INCLUDES@ \
+       -I$(srcdir) -I$(srcdir)/../Communication \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+_libSALOME_Comm_la_LDFLAGS  = -module
+_libSALOME_Comm_la_LIBADD   = \
+       ../Communication/libSalomeCommunication.la \
+       @PYTHON_LIBS@
+
+# _CS_gbo Actually, there's no need to get these flags optional. If
+# the check mpi is not ok, the variables will be simply null.
+if MPI_IS_OK
+_libSALOME_Comm_la_CPPFLAGS+=@MPI_INCLUDES@
+_libSALOME_Comm_la_LIBADD+=@MPI_LIBS@
+endif
+
+
+swig_wrap.cpp : $(SWIG_SOURCES)
+       $(SWIG) $(SWIG_FLAGS) -o $@ $<
+
+CLEANFILES = swig_wrap.cpp
+
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+# (see LifeCycleCORBA_SWIG for an example)
+
+# It's not needed to specify libSALOME_Comm.py. It is
+# automaticaly installed through the swig target pkgpython_PYTHON.
diff --git a/src/Communication_SWIG/Makefile.in b/src/Communication_SWIG/Makefile.in
deleted file mode 100644 (file)
index 42f8f3f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-@COMMENCE@
-
-# header files 
-EXPORT_HEADERS= libSALOME_Comm.i
-
-# Libraries targets
-
-LIB = libSALOME_Commcmodule.la
-LIB_SERVER_IDL = SALOME_Exception.idl
-
-SWIG_DEF = libSALOME_Comm.i
-EXPORT_PYSCRIPTS = libSALOME_Comm.py 
-
-CPPFLAGS+=$(PYTHON_INCLUDES) $(MPI_INCLUDES) -I$(top_srcdir)/src/Communication/src
-LIBS+= $(PYTHON_LIBS)
-LDFLAGS+= -lSalomeCommunication
-
-@CONCLUDE@
index 48b3ac787f6d87481e090fd2f0a8d2116819ebf8..0af3362a3d74eed19235ce4b90824ea130be6102 100644 (file)
 //  $Header$
 
 //#define private public
-#include <SALOMEconfig.h>
-#ifndef WNT
-#include CORBA_SERVER_HEADER(SALOME_Component)
-#else
-#include <SALOME_Component.hh>
-#endif
-#include <pthread.h>  // must be before Python.h !
-#include <Python.h>
-#include "SALOME_Container_i.hxx"
-#include "SALOME_Component_i.hxx"
-#include "SALOME_NamingService.hxx"
-#include "OpUtil.hxx"
 #include <string.h>
 #include <stdio.h>
+#include <time.h>
+#include <sys/time.h>
 #ifndef WNT
 #include <dlfcn.h>
 #include <unistd.h>
 #include <process.h>
 int SIGUSR1 = 1000;
 #endif
-#include "Container_init_python.hxx"
 
 #include "utilities.h"
+#include <SALOMEconfig.h>
+#ifndef WNT
+#include CORBA_SERVER_HEADER(SALOME_Component)
+#else
+#include <SALOME_Component.hh>
+#endif
+#include <pthread.h>  // must be before Python.h !
+#include "SALOME_Container_i.hxx"
+#include "SALOME_Component_i.hxx"
+#include "SALOME_NamingService.hxx"
+#include "OpUtil.hxx"
+
+#include <Python.h>
+#include "Container_init_python.hxx"
+
 using namespace std;
 
 bool _Sleeping = false ;
@@ -96,7 +100,7 @@ Engines_Container_i::Engines_Container_i () :
 //=============================================================================
 
 Engines_Container_i::Engines_Container_i (CORBA::ORB_ptr orb, 
-                                         PortableServer::POA_ptr poa,
+                                         PortableServer::POA_var poa,
                                          char *containerName ,
                                           int argc , char* argv[],
                                          bool activAndRegist,
@@ -307,10 +311,12 @@ Engines_Container_i::load_component_Library(const char* componentName)
     }
   
   void* handle;
-#ifndef WNT
-  handle = dlopen( impl_name.c_str() , RTLD_LAZY ) ;
-#else
+#if defined( WNT )
   handle = dlopen( impl_name.c_str() , 0 ) ;
+//#elif defined( __osf1__ )
+//  handle = dlopen( impl_name.c_str() , RTLD_NOW ) ;
+#else
+  handle = dlopen( impl_name.c_str() , RTLD_LAZY ) ;
 #endif
   if ( handle )
     {
@@ -417,8 +423,11 @@ Engines_Container_i::create_component_instance(const char*genericRegisterName,
       SCRUTE(iors);
       Py_RELEASE_NEW_THREAD;
   
-      CORBA::Object_var obj = _orb->string_to_object(iors.c_str());
-      iobject = Engines::Component::_narrow( obj ) ;
+      if( iors!="" )
+      {
+       CORBA::Object_var obj = _orb->string_to_object(iors.c_str());
+       iobject = Engines::Component::_narrow( obj ) ;
+      }
       return iobject._retn();
     }
   
index 7a4e585275ec41032421a6703d2b045ddd242362..427d03ec497b9ce0ecaaa24fb4319739c5feedf5 100644 (file)
 //  Module : KERNEL
 //  $Header$
 
-#include "Container_init_python.hxx"
+#include <time.h>
+#include <sys/time.h>
 
 #include "utilities.h"
+
+#include "Container_init_python.hxx"
+
 using namespace std;
 
 PyThreadState *KERNEL_PYTHON::_gtstate = 0;
diff --git a/src/Container/Makefile.am b/src/Container/Makefile.am
new file mode 100644 (file)
index 0000000..df8f5b8
--- /dev/null
@@ -0,0 +1,142 @@
+#  SALOME Container : implementation of container and engine for Kernel
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+       SALOME_Component_i.hxx \
+       SALOME_Container_i.hxx \
+       SALOME_ContainerManager.hxx \
+       Container_init_python.hxx
+
+# Scripts to be installed
+dist_salomescript_DATA =\
+       SALOME_ComponentPy.py \
+       SALOME_Container.py
+
+# These files are executable scripts
+dist_salomescript_SCRIPTS=\
+       SALOME_ContainerPy.py
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @PYTHON_INCLUDES@ \
+       @MPI_INCLUDES@ \
+       @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \
+       @QT_MT_INCLUDES@ \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(srcdir)/../Registry \
+       -I$(srcdir)/../Notification \
+       -I$(srcdir)/../ResourcesManager \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../Registry/libRegistry.la \
+       ../Notification/libSalomeNotification.la \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @PYTHON_LIBS@ \
+       @MPI_LIBS@ \
+       @CORBA_LIBS@
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeContainer.la
+libSalomeContainer_la_SOURCES=\
+       Component_i.cxx \
+       Container_i.cxx \
+       SALOME_ContainerManager.cxx \
+       Container_init_python.cxx 
+
+libSalomeContainer_la_CPPFLAGS =\
+       $(COMMON_CPPFLAGS)
+
+libSalomeContainer_la_LDFLAGS  =\
+       -no-undefined -version-info=0:0:0 \
+       @LDEXPDYNFLAGS@
+
+libSalomeContainer_la_LIBADD =\
+       $(COMMON_LIBS)
+
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = SALOME_Container SALOME_ContainerManagerServer
+SALOME_Container_SOURCES =\
+       SALOME_Container.cxx \
+       SALOME_Container_SignalsHandler.cxx
+
+SALOME_Container_CPPFLAGS =\
+       $(COMMON_CPPFLAGS)
+
+
+SALOME_Container_LDADD =\
+       libSalomeContainer.la \
+       $(COMMON_LIBS) \
+       ../Basics/libSALOMEBasics.la
+
+
+SALOME_ContainerManagerServer_SOURCES =\
+       SALOME_ContainerManagerServer.cxx
+
+SALOME_ContainerManagerServer_CPPFLAGS=\
+       $(COMMON_CPPFLAGS)
+
+SALOME_ContainerManagerServer_LDADD =\
+       libSalomeContainer.la \
+       $(COMMON_LIBS) \
+       ../Basics/libSALOMEBasics.la
diff --git a/src/Container/Makefile.in b/src/Container/Makefile.in
deleted file mode 100644 (file)
index cb00f68..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#  SALOME Container : implementation of container and engine for Kernel
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = SALOME_ComponentPy.py \
-       SALOME_ContainerPy.py \
-       SALOME_Container.py
-
-EXPORT_HEADERS = \
-       SALOME_Component_i.hxx \
-       SALOME_Container_i.hxx \
-       SALOME_ContainerManager.hxx \
-       Container_init_python.hxx
-
-# Libraries targets
-
-LIB = libSalomeContainer.la 
-LIB_SRC = Component_i.cxx \
-         Container_i.cxx \
-         SALOME_ContainerManager.cxx \
-         Container_init_python.cxx
-
-LIB_SERVER_IDL = SALOME_Registry.idl SALOME_Component.idl SALOME_ContainerManager.idl SALOME_Exception.idl
-LIB_CLIENT_IDL = 
-
-# Executables targets
-BIN = SALOME_Container SALOME_ContainerManagerServer
-BIN_SRC = SALOME_Container_SignalsHandler.cxx
-BIN_SERVER_IDL = SALOME_Component.idl SALOME_ContainerManager.idl
-
-CPPFLAGS+= $(PYTHON_INCLUDES) $(MPI_INCLUDES) $(OCC_INCLUDES) $(QT_MT_INCLUDES)
-CXXFLAGS+=$(OCC_CXXFLAGS)
-
-LDFLAGS+= $(QT_MT_LIBS) -lSalomeNS -lRegistry -lOpUtil -lSalomeNotification -lSALOMELocalTrace -lSalomeResourcesManager
-
-LIBS += @LDEXPDYNFLAGS@ $(PYTHON_LIBS) $(MPI_LIBS)
-
-LDFLAGSFORBIN= $(LDFLAGS) -lSALOMEBasics
-LIBSFORBIN= $(LIBS)
-@CONCLUDE@
index a97bb39dc028626ebda6aaf8f79569392ac0feb8..2639ef800d6a92c657e1f4190927aa5b71e61063 100644 (file)
 #endif
 
 #include <iostream>
+#include <strstream>
 #include <string>
 #include <stdio.h>
+#include <time.h>
+#include <sys/time.h>
+#include <dlfcn.h>
 
 #ifndef WNT
 #include <unistd.h>
@@ -43,7 +47,6 @@
 #include "utilities.h"
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
-#include "SALOMETraceCollector.hxx"
 #include "OpUtil.hxx"
 
 #ifdef CHECKTIME
@@ -67,7 +70,7 @@ int main(int argc, char* argv[])
   //CORBA::ORB_var orb = CORBA::ORB_init( argc , argv ) ;
   ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
   ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting());
-  CORBA::ORB_var orb = init(0 , 0 ) ;
+  CORBA::ORB_ptr orb = init(0 , 0 ) ;
          
   //  LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
   INFOS_COMPILATION;
@@ -106,9 +109,9 @@ int main(int argc, char* argv[])
 
       // add new container to the kill list
 #ifndef WNT
-      char aCommand[40];
-      sprintf(aCommand, "addToKillList.py %d SALOME_Container", getpid());
-      system(aCommand);
+      ostrstream aCommand ;
+      aCommand << "addToKillList.py " << getpid() << " SALOME_Container" << ends ;
+      system(aCommand.str());
 #endif
       
       Engines_Container_i * myContainer 
@@ -120,10 +123,9 @@ int main(int argc, char* argv[])
       Utils_Timer timer;
       timer.Start();
       timer.Stop();
-      MESSAGE("SALOME_Registry_Server.cxx - orb->run()");
       timer.ShowAbsolute();
 #endif
-      
+
       HandleServerSideSignals(orb);
       
     }
index 5d3f13102492750e80c29d19b58c34bcf29b853f..0faa4f1d3a50c6e915573b914a2c9ad61354d4c1 100644 (file)
@@ -18,7 +18,6 @@
 // See http://www.salome-platform.org/
 //
 #include "SALOME_ContainerManager.hxx"
-#include "SALOMETraceCollector.hxx"
 #include "utilities.h"
 
 int main(int argc, char* argv[])
@@ -27,7 +26,7 @@ int main(int argc, char* argv[])
   PortableServer::POAManager_var pman;
   CORBA::Object_var obj;
 
-  CORBA::ORB_var orb = CORBA::ORB_init( argc , argv ) ;
+  CORBA::ORB_ptr orb = CORBA::ORB_init( argc , argv ) ;
   //  LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
   INFOS_COMPILATION;
   BEGIN_OF(argv[0]);
index be21173b0f1bb1983902818828fac09539d092c4..b3b6db4f3e4f2a2860d5693d8b19a230b5ee754c 100644 (file)
@@ -67,7 +67,7 @@ class CONTAINER_EXPORT Engines_Container_i:
 public:
   Engines_Container_i();
   Engines_Container_i(CORBA::ORB_ptr orb, 
-                     PortableServer::POA_ptr poa,
+                     PortableServer::POA_var poa,
                      char * containerName ,
                       int argc, char* argv[],
                      bool activAndRegist = true,
diff --git a/src/DataTypeCatalog/Makefile.am b/src/DataTypeCatalog/Makefile.am
new file mode 100644 (file)
index 0000000..cdbcb7d
--- /dev/null
@@ -0,0 +1,113 @@
+#  SALOME DataTypeCatalog : catalog of data types
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+               SALOME_DataTypeCatalog_impl.hxx \
+               SALOME_DataTypeCatalog_Parser.hxx \
+                SALOME_DataTypeCatalog_Handler.hxx 
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+
+lib_LTLIBRARIES = libSalomeDataTypeCatalog.la
+libSalomeDataTypeCatalog_la_SOURCES=\
+       SALOME_DataTypeCatalog_Handler.cxx  \
+       SALOME_DataTypeCatalog_impl.cxx
+
+libSalomeDataTypeCatalog_la_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) \
+       @QT_MT_INCLUDES@
+
+libSalomeDataTypeCatalog_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeDataTypeCatalog_la_LIBADD   =\
+       $(COMMON_LIBS) \
+       @QT_MT_LIBS@
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = SALOME_DataTypeCatalog_Server SALOME_DataTypeCatalog_Client
+
+#SALOME_DataTypeCatalog_Server
+SALOME_DataTypeCatalog_Server_SOURCES  = SALOME_DataTypeCatalog_Server.cxx
+SALOME_DataTypeCatalog_Server_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) \
+       @QT_MT_INCLUDES@
+
+SALOME_DataTypeCatalog_Server_LDADD    =\
+       libSalomeDataTypeCatalog.la \
+       $(COMMON_LIBS) \
+       @CORBA_LIBS@
+
+#SALOME_DataTypeCatalog_Client
+SALOME_DataTypeCatalog_Client_SOURCES  = SALOME_DataTypeCatalog_Client.cxx
+SALOME_DataTypeCatalog_Client_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) \
+       @QT_MT_INCLUDES@
+
+SALOME_DataTypeCatalog_Client_LDADD    =\
+       libSalomeDataTypeCatalog.la \
+       $(COMMON_LIBS) \
+       @CORBA_LIBS@
diff --git a/src/DataTypeCatalog/Makefile.in b/src/DataTypeCatalog/Makefile.in
deleted file mode 100644 (file)
index d0ed574..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#  SALOME DataTypeCatalog : catalog of data types
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
-               SALOME_DataTypeCatalog_impl.hxx \
-               SALOME_DataTypeCatalog_Parser.hxx \
-                SALOME_DataTypeCatalog_Handler.hxx 
-
-# Libraries targets
-LIB = libSalomeDataTypeCatalog.la
-LIB_SRC = \
-                 SALOME_DataTypeCatalog_Handler.cxx  \
-                 SALOME_DataTypeCatalog_impl.cxx
-
-# Executables targets
-# trouble we have client and serveur and build don't known about this with rule
-# in fact client is a test ! So it may go away BIN !
-BIN = SALOME_DataTypeCatalog_Server SALOME_DataTypeCatalog_Client
-BIN_SRC = 
-BIN_SERVER_IDL = SALOME_DataTypeCatalog.idl SALOME_Exception.idl
-
-CPPFLAGS+= $(QT_MT_INCLUDES) 
-CXXFLAGS+= 
-LDFLAGS+= $(QT_MT_LIBS) $(OGL_LIBS) -lSalomeNS -lOpUtil -lSALOMELocalTrace
-LDFLAGSFORBIN+= -lSalomeNS -lOpUtil -lSALOMELocalTrace -lSALOMEBasics
-@CONCLUDE@
index 72712de82449fadc6a106780ede929eb6ba7b521..a78e0f80e98824a0845bc946e8a18887f53d249f 100644 (file)
@@ -30,7 +30,6 @@
 #include "SALOME_NamingService.hxx"
 #include "SALOME_DataTypeCatalog_impl.hxx"
 #include "utilities.h"
-#include "SALOMETraceCollector.hxx"
 #include "Utils_SINGLETON.hxx"
 using namespace std;
 
@@ -38,7 +37,6 @@ int main(int argc,char **argv)
 {
   // initialize the ORB
   CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv);
-  //  LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
   try 
     {
       CosNaming::NamingContext_var _rootContext, catalogContext;
diff --git a/src/GenericObj/Makefile.am b/src/GenericObj/Makefile.am
new file mode 100644 (file)
index 0000000..22cba81
--- /dev/null
@@ -0,0 +1,27 @@
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$ 
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# header files  
+salomeinclude_HEADERS =\
+       SALOME_GenericObj_i.hh
+
+# Libraries targets
+lib_LTLIBRARIES = libSalomeGenericObj.la
+libSalomeGenericObj_la_SOURCES =\
+       SALOME_GenericObj_i.cc
+
+libSalomeGenericObj_la_LDFLAGS = -no-undefined -version-info=0:0:0
+libSalomeGenericObj_la_CPPFLAGS = \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+libSalomeGenericObj_la_LIBADD  = \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
diff --git a/src/GenericObj/Makefile.in b/src/GenericObj/Makefile.in
deleted file mode 100644 (file)
index 5839dfa..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#  Copyright (C) 2003  CEA/DEN, EDF R&D
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Alexey Petrov
-#  Module : VISU
-#  $Header: 
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# Libraries targets
-LIB = libSalomeGenericObj.la
-LIB_SRC = SALOME_GenericObj_i.cc
-
-LIB_SERVER_IDL = SALOME_GenericObj.idl
-LIB_CLIENT_IDL = 
-
-# Executables targets
-BIN = 
-BIN_SRC = 
-
-BIN_CLIENT_IDL =  
-BIN_SERVER_IDL =
-EXPORT_HEADERS = SALOME_GenericObj_i.hh
-
-# additionnal information to compil and link file
-CPPFLAGS += 
-
-LDFLAGS += 
-
-LIBS += 
-
-# additional file to be cleaned
-MOSTLYCLEAN +=
-CLEAN +=
-DISTCLEAN +=
-
-@CONCLUDE@
\ No newline at end of file
index 789f6e1a6f4f053a7b8f6df82ceea9cee25a0347..f4e7caf5c3b7273ea88b1a37f616dbf35ea53179 100644 (file)
@@ -159,7 +159,7 @@ void HDFdataset::GetDim(hdf_size dim[])
       else
        ndim = _ndim;
       _dim = new hdf_size[ndim];
-      if ((ret == HDFdatasetGetDim(_id,_dim)) < 0)
+      if ((ret = HDFdatasetGetDim(_id,_dim)) < 0)
        throw HDFexception("Can't determine the size dimensions of the dataset ");
     }
 
diff --git a/src/HDFPersist/Makefile.am b/src/HDFPersist/Makefile.am
new file mode 100644 (file)
index 0000000..372fdd5
--- /dev/null
@@ -0,0 +1,106 @@
+#  SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.in
+#  Author : Paul RASCLE, EDF
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+salomeinclude_HEADERS      = \
+       HDFattribute.hxx \
+       HDFcontainerObject.hxx \
+       HDFdataset.hxx \
+       HDFexplorer.hxx \
+       HDFexception.hxx \
+       HDFfile.hxx \
+       HDFgroup.hxx \
+       HDFinternalObject.hxx \
+       HDFobject.hxx \
+       HDFOI.hxx \
+       HDFtypes.h \
+       HDFconvert.hxx \
+       hdfi.h \
+       HDFascii.hxx
+
+# Libraries targets
+lib_LTLIBRARIES                 = libSalomeHDFPersist.la
+libSalomeHDFPersist_la_SOURCES  =\
+       HDFfileCreate.c \
+       HDFfileClose.c \
+       HDFfileOpen.c \
+       HDFfileMount.c \
+       HDFfileUmount.c \
+       HDFgroupCreate.c \
+       HDFgroupOpen.c \
+       HDFgroupClose.c \
+       HDFdatasetOpen.c \
+       HDFdatasetClose.c \
+       HDFdatasetCreate.c \
+       HDFdatasetWrite.c \
+       HDFdatasetRead.c \
+       HDFdatasetGetDim.c \
+       HDFdatasetGetSize.c \
+       HDFdatasetGetType.c \
+       HDFdatasetGetnDim.c \
+       HDFdatasetGetOrder.c \
+       HDFattrOpen.c \
+       HDFattrClose.c \
+       HDFattrWrite.c \
+       HDFattrCreate.c \
+       HDFattrRead.c \
+       HDFattrGetType.c \
+       HDFattrGetSize.c \
+       HDFerrorModeLock.c \
+       HDFnObjects.c \
+       HDFobjectIdentify.c \
+       HDFobjectType.c \
+       HDFobject.cc \
+       HDFinternalObject.cc \
+       HDFattribute.cc \
+       HDFcontainerObject.cc \
+       HDFdataset.cc \
+       HDFfile.cc \
+       HDFgroup.cc \
+       HDFexplorer.cc \
+       HDFconvert.cc \
+       HDFascii.cc
+
+libSalomeHDFPersist_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeHDFPersist_la_CPPFLAGS = @CAS_CPPFLAGS@ @HDF5_INCLUDES@ -DPCLINUX \
+                                  -I$(srcdir)/../SALOMELocalTrace \
+                                  -I$(srcdir)/../Basics
+libSalomeHDFPersist_la_LIBADD   = @CAS_KERNEL@ @HDF5_LIBS@
+
+
+EXTRA_DIST = \
+  test1.c \
+  test2.c \
+  test3.cxx \
+  test4.cxx \
+  test5.cxx \
+  test6.cxx \
+  test7.cxx \
+  test8.cxx \
+  test9.cxx
diff --git a/src/HDFPersist/Makefile.in b/src/HDFPersist/Makefile.in
deleted file mode 100644 (file)
index b3d95e0..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#  SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
-       HDFattribute.hxx \
-       HDFcontainerObject.hxx \
-       HDFdataset.hxx \
-       HDFexplorer.hxx \
-       HDFexception.hxx \
-       HDFfile.hxx \
-       HDFgroup.hxx \
-       HDFinternalObject.hxx \
-       HDFobject.hxx \
-       HDFOI.hxx \
-       HDFtypes.h \
-       HDFconvert.hxx \
-       hdfi.h \
-       HDFascii.hxx
-
-# Libraries targets
-
-LIB = libSalomeHDFPersist.la 
-LIB_SRC =  \
-       HDFfileCreate.c \
-       HDFfileClose.c \
-       HDFfileOpen.c \
-       HDFfileMount.c \
-       HDFfileUmount.c \
-       HDFgroupCreate.c \
-       HDFgroupOpen.c \
-       HDFgroupClose.c \
-       HDFdatasetOpen.c \
-       HDFdatasetClose.c \
-       HDFdatasetCreate.c \
-       HDFdatasetWrite.c \
-       HDFdatasetRead.c \
-       HDFdatasetGetDim.c \
-       HDFdatasetGetSize.c \
-       HDFdatasetGetType.c \
-       HDFdatasetGetnDim.c \
-       HDFdatasetGetOrder.c \
-       HDFattrOpen.c \
-       HDFattrClose.c \
-       HDFattrWrite.c \
-       HDFattrCreate.c \
-       HDFattrRead.c \
-       HDFattrGetType.c \
-       HDFattrGetSize.c \
-       HDFerrorModeLock.c \
-       HDFnObjects.c \
-       HDFobjectIdentify.c \
-       HDFobjectType.c \
-       HDFobject.cc \
-       HDFinternalObject.cc \
-       HDFattribute.cc \
-       HDFcontainerObject.cc \
-       HDFdataset.cc \
-       HDFfile.cc \
-       HDFgroup.cc \
-       HDFexplorer.cc \
-       HDFconvert.cc \
-       HDFascii.cc
-
-#BIN = test9 test8
-
-CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES) -DPCLINUX
-LDFLAGS+= $(CAS_KERNEL) $(HDF5_LIBS)
-
-@CONCLUDE@
diff --git a/src/KERNEL_PY/Makefile.am b/src/KERNEL_PY/Makefile.am
new file mode 100755 (executable)
index 0000000..e4ee644
--- /dev/null
@@ -0,0 +1,45 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# Scripts to be installed (pkgpython is an automake keyword for python targets)
+pkgpython_PYTHON = \
+       Help.py \
+       PyInterp.py \
+       salome.py \
+       salome_shared_modules.py \
+       batchmode_salome.py \
+       import_hook.py \
+       salome_test.py \
+       salome_kernel.py \
+       salome_study.py \
+       salome_iapp.py \
+       salome_ComponentGUI.py \
+       omnipatch.py \
+       iparameters.py
+
+sharedpkgpython_PYTHON = kernel_shared_modules.py
+
diff --git a/src/KERNEL_PY/Makefile.in b/src/KERNEL_PY/Makefile.in
deleted file mode 100755 (executable)
index f5f079c..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Sergey RUIN, OCC
-#  Module : SALOME
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = Help.py PyInterp.py salome.py salome_shared_modules.py batchmode_salome.py import_hook.py salome_test.py salome_kernel.py salome_study.py salome_iapp.py salome_ComponentGUI.py omnipatch.py
-
-EXPORT_SHAREDPYSCRIPTS=kernel_shared_modules.py
-
-@CONCLUDE@
diff --git a/src/KERNEL_PY/iparameters.py b/src/KERNEL_PY/iparameters.py
new file mode 100755 (executable)
index 0000000..96abfbe
--- /dev/null
@@ -0,0 +1,199 @@
+import salome
+import string
+import SALOME
+import SALOMEDS
+import SALOME_Session_idl
+
+PT_INTEGER = 0
+PT_REAL = 1
+PT_BOOLEAN = 2
+PT_STRING = 3
+PT_REALARRAY = 4
+PT_INTARRAY = 5
+PT_STRARRAY = 6
+
+_AP_LISTS_LIST_ = "AP_LISTS_LIST"
+_AP_ENTRIES_LIST_ = "AP_ENTRIES_LIST"
+_AP_PROPERTIES_LIST_ = "AP_PROPERTIES_LIST"
+_AP_DUMP_PYTHON_ = "AP_DUMP_PYTHON"
+
+vp_session = None
+
+def getSession():
+    global vp_session
+    if vp_session is None:
+        vp_session = salome.naming_service.Resolve("/Kernel/Session")
+        vp_session = vp_session._narrow(SALOME.Session)
+        pass
+    return vp_session 
+
+class IParameters:
+    def __init__(self, attributeParameter):
+        """Initializes the instance"""
+        self._ap = attributeParameter
+        pass
+
+    def append(self, listName, value):
+        """Appends a value to the named list"""
+        if self._ap is None: return -1
+        v = []
+        if self._ap.IsSet(listName, PT_STRARRAY) == 0:
+            if self._ap.IsSet(_AP_LISTS_LIST_, PT_STRARRAY) == 0: self._ap.SetStrArray(_AP_LISTS_LIST_, v);
+            if listName != _AP_ENTRIES_LIST_ and listName != _AP_PROPERTIES_LIST_:
+                self.append(_AP_LISTS_LIST_, listName)
+                pass
+            self._ap.SetStrArray(listName, v)
+            pass
+        
+        v = self._ap.GetStrArray(listName)
+        v.append(value)
+        self._ap.SetStrArray(listName, v)
+        return (len(v)-1)
+    
+    def nbValues(self, listName):
+        """Returns a number of values in the named list"""
+        if self._ap is None: return -1
+        if self._ap.IsSet(listName, PT_STRARRAY) == 0: return 0
+        v = self._ap.GetStrArray(listName)
+        return len(v)
+
+    def getValues(self, listName):
+        """Returns a list of values in the named list"""
+        v = []
+        if self._ap is None: return v
+        if self._ap.IsSet(listName, PT_STRARRAY) == 0: return v
+        return self._ap.GetStrArray(listName)
+
+    def getLists(self):
+        """Returns a list of named lists' names"""
+        v = []
+        if self._ap is None: return v
+        if self._ap.IsSet(_AP_LISTS_LIST_, PT_STRARRAY) == 0: return v
+        return self._ap.GetStrArray(_AP_LISTS_LIST_)
+
+    def setParameter(self, entry, parameterName, value):
+        """Sets a value of the named parameter for the entry"""
+        if self._ap is None: return
+        v = []
+        if self._ap.IsSet(entry, PT_STRARRAY) ==0: 
+            self.append(_AP_ENTRIES_LIST_, entry) #Add the entry to the internal list of entries
+            self._ap.SetStrArray(entry, v)
+            pass
+        
+        v = self._ap.GetStrArray(entry)
+        v.append(parameterName)
+        v.append(value)
+        self._ap.SetStrArray(entry, v)
+        pass
+
+    def getParameter(self, entry, parameterName):
+        """Returns a value of the named parameter for the entry"""
+        if self._ap is None: return ""
+        if self._ap.IsSet(entry, PT_STRARRAY) == 0: return ""
+        v = self._ap.GetStrArray(entry)
+        length = len(v);
+        i = 0
+        while i<length:
+            if v[i] == parameterName: return v[i+1]
+            i+=1
+            pass
+        
+        return ""
+
+    def getAllParameterNames(self, entry):
+        """Returns all parameter names of the given entry"""
+        v = []
+        names = []
+        if self._ap is None: return v
+        if self._ap.IsSet(entry, PT_STRARRAY) == 0: return v
+        v = self._ap.GetStrArray(entry)
+        length = len(v)
+        i = 0
+        while i<length:
+            names.append(v[i])
+            i+=2
+            pass
+        
+        return names
+
+    def getAllParameterValues(self, entry):
+        """Returns all parameter values of the given entry"""
+        v = []
+        values = []
+        if self._ap is None: return v
+        if self._ap.IsSet(entry, PT_STRARRAY) == 0: return v
+        v = self._ap.GetStrArray(entry)
+        length = len(v)
+        i = 1
+        while i<length:
+            values.append(v[i]+1)
+            i+=2
+            pass
+        
+        return values
+
+    def getNbParameters(self, entry):
+        """Returns a number of parameters of the entry"""
+        if self._ap is None: return -1
+        if self._ap.IsSet(entry, PT_STRARRAY) == 0: return -1
+        return len(self._ap.GetStrArray(entry))/2
+
+    def getEntries(self):
+        """Returns all entries"""
+        v = []
+        if self._ap is None: return v
+        if self._ap.IsSet(_AP_ENTRIES_LIST_, PT_STRARRAY) == 0: return v
+        return self._ap.GetStrArray(_AP_ENTRIES_LIST_)
+
+    def setProperty(self, name, value):
+        """Sets a property value"""
+        if self._ap is None: return
+        if self._ap.IsSet(name, PT_STRING) == 0: 
+            self.append(_AP_PROPERTIES_LIST_, name) #Add the property to the internal list of properties
+            pass
+        self._ap.SetString(name, value)
+        pass
+
+    def getProperty(self, name):
+        """Returns a value of the named property"""
+        if self._ap is None: return ""
+        if self._ap.IsSet(name, PT_STRING) == 0: return ""
+        return self._ap.GetString(name)
+
+    def getProperties(self):
+        """Returns all propetries"""
+        v = []
+        if self._ap is None: return v
+        if self._ap.IsSet(_AP_PROPERTIES_LIST_, PT_STRARRAY) == 0: return v
+        return self._ap.GetStrArray(_AP_PROPERTIES_LIST_)
+
+    def parseValue(self, value, separator, fromEnd):
+        """Breaks a value string in two parts which is divided by separator."""
+        v = []
+        pos = - 1
+        if fromEnd == 1: pos = value.rfind(separator)
+        else: pos = value.find(separator)
+
+        if pos < 0: 
+            v.append(value)
+            return v
+        
+        part1 = value[0:pos]
+        part2 = value[pos+1:len(value)]
+        v.append(part1)
+        v.append(part2)
+        return v
+
+    def setDumpPython(self, isDumping):
+        """Enables/Disables the dumping to Python"""
+        if self._ap is None: return
+        _ap.SetBool(_AP_DUMP_PYTHON_, isDumping)
+        pass
+
+    def isDumpPython(self):
+        """Returns whether there is the dumping to Python"""
+        if self._ap is None: return 0
+        if self._ap.IsSet(_AP_DUMP_PYTHON_, PT_BOOLEAN) == 0: return 0
+        return self._ap.GetBool(_AP_DUMP_PYTHON_)
+
+    pass
index 3400d4474cbc538dcde1293c98d527e35bb8a48d..048c32c818c76a3a2408a5762f1df562d145b867 100644 (file)
 //
 // See http://www.salome-platform.org/
 //
-#include <Launchers.hxx>
+
+#include <time.h>
+#include <sys/time.h>
+
 #include "utilities.h"
 
+#include <Launchers.hxx>
+
 using namespace std;
 
 static int Launchers_IsLoaded = 0;
diff --git a/src/LifeCycleCORBA/Makefile.am b/src/LifeCycleCORBA/Makefile.am
new file mode 100644 (file)
index 0000000..2b48a6b
--- /dev/null
@@ -0,0 +1,119 @@
+#  SALOME LifeCycleCORBA : implementation of containers and engines life cycle both in Python and C++
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+       SALOME_LifeCycleCORBA.hxx
+
+# Scripts to be installed
+dist_salomescript_DATA =\
+       Launchers.py
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../SALOMETraceCollector \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(srcdir)/../ResourcesManager \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../Container/libSalomeContainer.la \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeLifeCycleCORBA.la
+libSalomeLifeCycleCORBA_la_SOURCES  = \
+       SALOME_LifeCycleCORBA.cxx \
+       Launchers.cxx \
+       Launchers.hxx
+libSalomeLifeCycleCORBA_la_CPPFLAGS = \
+       $(COMMON_CPPFLAGS) \
+       @PYTHON_INCLUDES@ \
+       @QT_MT_INCLUDES@ \
+       -I$(srcdir)/../Container \
+       -I$(srcdir)/../Notification
+
+libSalomeLifeCycleCORBA_la_LIBADD   = $(COMMON_LIBS)
+# _CS_gbo Check whether Python lib or Qt lib is not required here.
+# For better understanding, it could be better to specified
+# explicitely all libraries even those that are implicitly given
+# throught a library mentionned in COMMON_LIBS.
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = Test_LifeCycleCORBA
+Test_LifeCycleCORBA_SOURCES  = Test_LifeCycleCORBA.cxx
+Test_LifeCycleCORBA_CPPFLAGS =\
+       -I$(srcdir)/../Registry \
+       -I$(srcdir)/../Notification \
+       $(COMMON_CPPFLAGS)
+
+Test_LifeCycleCORBA_LDADD    = \
+       libSalomeLifeCycleCORBA.la \
+       ../Registry/libRegistry.la \
+       ../Notification/libSalomeNotification.la \
+       ../Container/libSalomeContainer.la \
+       $(COMMON_LIBS) \
+       @CORBA_LIBS@
+
+#CPPFLAGS += $(PYTHON_INCLUDES) $(QT_MT_INCLUDES)
+
+#LDFLAGS += -lSalomeNS -lOpUtil -lSALOMELocalTrace -lSalomeContainer -lSalomeResourcesManager
+#LDFLAGSFORBIN= $(LDFLAGS) -lRegistry -lSalomeNotification -lSALOMEBasics
+#LIBS += $(PYTHON_LIBS)
diff --git a/src/LifeCycleCORBA/Makefile.in b/src/LifeCycleCORBA/Makefile.in
deleted file mode 100644 (file)
index d5b514c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#  SALOME LifeCycleCORBA : implementation of containers and engines life cycle both in Python and C++
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF - Marc Tajchman, CEA
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = SALOME_LifeCycleCORBA.hxx
-
-EXPORT_PYSCRIPTS = Launchers.py
-
-# Libraries targets
-
-LIB = libSalomeLifeCycleCORBA.la
-LIB_SRC = SALOME_LifeCycleCORBA.cxx Launchers.cxx
-LIB_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl \
-                SALOME_ModuleCatalog.idl SALOME_ContainerManager.idl SALOME_Exception.idl
-
-# Executables targets
-BIN = Test_LifeCycleCORBA
-BIN_SRC =
-BIN_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl \
-                SALOME_ModuleCatalog.idl SALOME_ContainerManager.idl
-
-CPPFLAGS += $(PYTHON_INCLUDES) $(QT_MT_INCLUDES)
-
-LDFLAGS += -lSalomeNS -lOpUtil -lSALOMELocalTrace -lSalomeContainer -lSalomeResourcesManager
-LDFLAGSFORBIN= $(LDFLAGS) -lRegistry -lSalomeNotification -lSALOMEBasics
-LIBS += $(PYTHON_LIBS)
-
-@CONCLUDE@
-
index 439d10fb5e19a8246d8c256ed198a2b257908ff9..60e22e9098573cea5e3ab979006336ec102a27de 100644 (file)
 #include <sstream>
 #include <iomanip>
 
+#include <time.h>
+#include <sys/time.h>
+
 #include "OpUtil.hxx"
 #include "utilities.h"
-#include "Launchers.hxx"
 
 #include <ServiceUnreachable.hxx>
 
 #include "SALOME_LifeCycleCORBA.hxx"
-#include "SALOMETraceCollector.hxx"
 #ifndef WNT
 #include CORBA_CLIENT_HEADER(SALOME_ModuleCatalog)
 #else
@@ -47,6 +48,8 @@
 #include "SALOME_ContainerManager.hxx"
 #include "SALOME_Component_i.hxx"
 #include "SALOME_NamingService.hxx"
+#include "Launchers.hxx"
+
 using namespace std;
 
 IncompatibleComponent::IncompatibleComponent( void ):
diff --git a/src/LifeCycleCORBA/Test/Makefile.am b/src/LifeCycleCORBA/Test/Makefile.am
new file mode 100644 (file)
index 0000000..c5498d8
--- /dev/null
@@ -0,0 +1,103 @@
+####################################### library
+#  SALOMELocalTrace : log on local machine
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS= LifeCycleCORBATest.hxx
+
+# Scripts to be installed
+dist_salomescript_SCRIPTS = TestLifeCycleCORBA.py
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This directory defines the subdirectory src in the top source directory.
+RPATH=../..
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CPPUNIT_INCLUDES@ \
+       -I$(srcdir)/$(RPATH)/Basics -I$(srcdir)/$(RPATH)/Basics/Test \
+       -I$(srcdir)/$(RPATH)/SALOMELocalTrace -I$(srcdir)/$(RPATH)/SALOMELocalTrace/Test \
+       -I$(srcdir)/$(RPATH)/SALOMETraceCollector -I$(srcdir)/$(RPATH)/SALOMETraceCollector/Test \
+       -I$(srcdir)/$(RPATH)/NamingService -I$(srcdir)/$(RPATH)/NamingService/Test \
+       -I$(srcdir)/$(RPATH)/Utils -I$(srcdir)/$(RPATH)/Utils/Test \
+       -I$(srcdir)/$(RPATH)/ResourcesManager \
+       -I$(srcdir)/$(RPATH)/LifeCycleCORBA \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       @CPPUNIT_LIBS@ \
+       $(RPATH)/Basics/libSALOMEBasics.la \
+       $(RPATH)/ResourcesManager/libSalomeResourcesManager.la \
+       $(RPATH)/Container/libSalomeContainer.la \
+       $(RPATH)/NamingService/libSalomeNS.la \
+       $(RPATH)/Registry/libRegistry.la \
+       $(RPATH)/Notification/libSalomeNotification.la \
+       $(RPATH)/Utils/Test/libUtilsTest.la $(RPATH)/Utils/libOpUtil.la \
+       $(RPATH)/SALOMELocalTrace/Test/libSALOMELocalTraceTest.la $(RPATH)/SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(RPATH)/SALOMETraceCollector/Test/libSALOMETraceCollectorTest.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libLifeCycleCORBATest.la 
+libLifeCycleCORBATest_la_SOURCES = LifeCycleCORBATest.cxx
+libLifeCycleCORBATest_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libLifeCycleCORBATest_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libLifeCycleCORBATest_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestLifeCycleCORBA
+TestLifeCycleCORBA_SOURCES  = TestLifeCycleCORBA.cxx
+TestLifeCycleCORBA_CPPFLAGS = $(COMMON_CPPFLAGS)
+TestLifeCycleCORBA_LDADD    = \
+       libLifeCycleCORBATest.la ../libSalomeLifeCycleCORBA.la \
+       $(RPATH)/NamingService/Test/libNamingServiceTest.la \
+       $(COMMON_LIBS)
+
diff --git a/src/LifeCycleCORBA/Test/Makefile.in b/src/LifeCycleCORBA/Test/Makefile.in
deleted file mode 100644 (file)
index cf8d736..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-#  SALOMELocalTrace : log on local machine
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= LifeCycleCORBATest.hxx
-
-EXPORT_PYSCRIPTS = TestLifeCycleCORBA.py
-
-# Libraries targets
-
-LIB = libLifeCycleCORBATest.la 
-LIB_SRC = LifeCycleCORBATest.cxx
-LIB_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl \
-                SALOME_Exception.idl nstest.idl
-
-# Executables targets
-
-BIN = TestLifeCycleCORBA
-BIN_SRC = 
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGS+=
-
-LDFLAGSFORBIN+= \
- -lSALOMELocalTraceTest -lSALOMELocalTrace -lSALOMEBasics \
- -lSALOMETraceCollectorTest \
- -lUtilsTest -lOpUtil \
- -lNamingServiceTest -lSalomeNS \
- -lSalomeContainer -lSalomeResourcesManager \
- -lRegistry -lSalomeNotification \
- -lLifeCycleCORBATest -lSalomeLifeCycleCORBA
-
-
-@CONCLUDE@
index 050cd194d07a307f54b4ebca8ece3fb26d79df04..d4247492de6f6fc5428fd6b7b92559e9902df172 100644 (file)
@@ -41,7 +41,6 @@
 #include "SALOME_NamingService.hxx"
 #include "SALOME_LifeCycleCORBA.hxx"
 #include "utilities.h"
-#include "SALOMETraceCollector.hxx"
 #include <OpUtil.hxx>
 
 using namespace std;
diff --git a/src/LifeCycleCORBA_SWIG/Makefile.am b/src/LifeCycleCORBA_SWIG/Makefile.am
new file mode 100644 (file)
index 0000000..e816523
--- /dev/null
@@ -0,0 +1,94 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Swig targets
+# ===============================================================
+# (cf. http://www.geocities.com/foetsch/python/swig_linux.htm)
+#
+# Step 1: build the wrapping source files with swig
+#
+# libSALOME_LifeCycleCORBA.i -- swig --> swig_wrap.cpp
+#                                        libSALOME_LifeCycleCORBA.py
+#
+# Step 2: build the dynamic library from cpp built source files and
+#         dependant libraries.
+#
+# swig_wrap.cpp -- gcc --> swig_wrap.o    |-- link --> _libSALOME_LifeCycleCORBA.la
+#                          +              |
+#                          dependant libs |
+#
+# The file libSALOME_LifeCycleCORBA.py will be installed in
+# <prefix>/lib/python<version>/site-package/salome.
+# The library will be installed in the same place.
+#
+
+BUILT_SOURCES = swig_wrap.cpp
+
+SWIG_FLAGS    = @SWIG_FLAGS@ -I$(srcdir) -I$(srcdir)/../LifeCycleCORBA
+SWIG_SOURCES  = libSALOME_LifeCycleCORBA.i
+
+pkgpython_PYTHON = libSALOME_LifeCycleCORBA.py
+pkgpyexec_LTLIBRARIES = _libSALOME_LifeCycleCORBA.la
+_libSALOME_LifeCycleCORBA_la_SOURCES  = $(BUILT_SOURCES) $(SWIG_SOURCES)
+_libSALOME_LifeCycleCORBA_la_CPPFLAGS =\
+       @PYTHON_INCLUDES@ \
+       -I$(srcdir) -I$(srcdir)/../LifeCycleCORBA \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+_libSALOME_LifeCycleCORBA_la_LDFLAGS  = -module
+_libSALOME_LifeCycleCORBA_la_LIBADD   = \
+       ../LifeCycleCORBA/libSalomeLifeCycleCORBA.la \
+       @PYTHON_LIBS@
+
+swig_wrap.cpp : $(SWIG_SOURCES)
+       $(SWIG) $(SWIG_FLAGS) -o $@ $<
+
+CLEANFILES = swig_wrap.cpp
+
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+# Scripts to be installed.
+dist_salomescript_DATA =\
+       LifeCycleCORBA.py \
+       TestLifeCycleCORBA.py
+
+# It's not needed to specify libSALOME_LifeCycleCORBA.py. It is
+# automaticaly installed through the swig target pkgpython_PYTHON.
diff --git a/src/LifeCycleCORBA_SWIG/Makefile.in b/src/LifeCycleCORBA_SWIG/Makefile.in
deleted file mode 100644 (file)
index 20b6d64..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# Libraries targets
-
-LIB = libSALOME_LifeCycleCORBAcmodule.la
-LIB_SRC = 
-
-LIB_CLIENT_IDL = SALOME_Component.idl SALOME_ContainerManager.idl SALOME_Exception.idl
-
-SWIG_DEF = libSALOME_LifeCycleCORBA.i
-
-EXPORT_PYSCRIPTS = libSALOME_LifeCycleCORBA.py LifeCycleCORBA.py TestLifeCycleCORBA.py
-
-CPPFLAGS+= $(PYTHON_INCLUDES)
-
-LIBS+= $(PYTHON_LIBS) -lSalomeLifeCycleCORBA
-
-LDFLAGS+= -lSalomeLifeCycleCORBA
-
-@CONCLUDE@
index 147e072d4882a284736a1cd16e025aaceac31b3a..a03a556be24d4470b88a6bab18682dc320f44060 100644 (file)
@@ -1,18 +1,65 @@
 
+#from TestLifeCycleCORBA import *
+
+import os
 import Engines
 import LifeCycleCORBA
 
+host = os.getenv( 'HOST' )
+
 lcc = LifeCycleCORBA.LifeCycleCORBA()
 
-#obj=lcc.FindOrLoad_Component("FactoryServer","SalomeTestComponent")
-#comp=obj._narrow(Engines.TestComponent)
-#comp.Coucou(1)
+try :
+    obj=lcc.FindOrLoad_Component("FactoryServer","SalomeTestComponent")
+    comp=obj._narrow(Engines.TestComponent)
+    comp.Coucou(1)
+    param={}
+    #param['hostname']='cli76cc'
+    param['hostname']=host
+    param['container_name']='FactoryServer'
+    comp=lcc.FindOrLoad_Component(param,'SalomeTestComponent')
+    engine=lcc.FindComponent(param,'SalomeTestComponent')
+    engine.Coucou(1)
+except :
+    print 'lcc.FindOrLoad_Component("FactoryServer","SalomeTestComponent") failed'
+
+import sys
+import CORBA
+import CosNaming
+orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID)
+obj = orb.resolve_initial_references("NameService")
+rootContext = obj._narrow(CosNaming.NamingContext)
+context_name=[]
+context_name.append(CosNaming.NameComponent( 'ContainerManager' , 'object' ) )
+ContainerManager = rootContext.resolve( context_name )
+
+try :
+    myContainerparamsCPP = Engines.MachineParameters( 'myContainer' , host , 'osf' , 0 , 0 , 0 , 0 , 0 )
+    computerlistCPP = [host]
+    containerCPP = ContainerManager.FindOrStartContainer( myContainerparamsCPP , computerlistCPP )
+    containerCPP.ping()
+    ComponentparamsCPP={}
+    ComponentparamsCPP['hostname']=host
+    ComponentparamsCPP['container_name']='myContainer'
+    compCPP=lcc.FindOrLoad_Component(ComponentparamsCPP,'SalomeTestComponent')
+    compCPP.Coucou(1)
+    engineCPP=lcc.FindComponent(ComponentparamsCPP,'SalomeTestComponent')
+    engineCPP.Coucou(1)
+except :
+    print 'ContainerManager.FindOrStartContainer( myContainerparams , computerlist ) C++ failed'
 
-param={}
-param['hostname']='cli76cc'
-param['container_name']='myContainer'
-smesh=lcc.FindOrLoad_Component(param,'PYHELLO')
+try :
+    myContainerparamsPy = Engines.MachineParameters( 'myContainerPy' , host , 'osf' , 0 , 0 , 0 , 0 , 0 )
+    computerlistPy = [host]
+    containerPy = ContainerManager.FindOrStartContainer( myContainerparamsPy , computerlistPy )
+    containerPy.ping()
+    ComponentparamsPy={}
+    ComponentparamsPy['hostname']=host
+    ComponentparamsPy['container_name']='myContainerPy'
+    compPy=lcc.FindOrLoad_Component(ComponentparamsPy,'SALOME_TestComponentPy')
+    compPy.Coucou(1)
+    enginePy=lcc.FindComponent(ComponentparamsPy,'SALOME_TestComponentPy')
+    enginePy.Coucou(1)
+except :
+    print 'ContainerManager.FindOrStartContainer( myContainerparams , computerlist ) Python failed'
 
-container=lcc.FindContainer('myContainer')
-engine=lcc.FindComponent(param,'HELLO')
-geom=lcc.LoadComponent(param,'GEOM')
diff --git a/src/Logger/Makefile.am b/src/Logger/Makefile.am
new file mode 100644 (file)
index 0000000..8dc235b
--- /dev/null
@@ -0,0 +1,51 @@
+#  SALOME Logger : CORBA server managing trace output
+#
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#  File   : Makefile.am
+#  Author : Guillaume BOULANT, CSSI
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# header files  
+salomeinclude_HEADERS = \
+       SALOME_Trace.hxx
+
+#
+# This makefile defines a executable target (SALOME_Logger_Server) and
+# a library target (libSalomeLoggerServer.la). The executable depends
+# on the library.
+#
+
+# Program files
+bin_PROGRAMS = SALOME_Logger_Server
+SALOME_Logger_Server_SOURCES = \
+       SALOME_Logger_Server_main.cxx \
+       SALOME_Logger_Server.hxx
+
+SALOME_Logger_Server_LDADD   = libSalomeLoggerServer.la
+SALOME_Logger_Server_CPPFLAGS =\
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# Libraries targets
+lib_LTLIBRARIES = libSalomeLoggerServer.la
+libSalomeLoggerServer_la_SOURCES =\
+       SALOME_Trace.cxx \
+       SALOME_Logger_Server.cxx 
+
+libSalomeLoggerServer_la_CPPFLAGS =\
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+libSalomeLoggerServer_la_LDFLAGS = -no-undefined -version-info=0:0:0
+
+libSalomeLoggerServer_la_LIBADD  = \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CORBA_LIBS@
+
+# Scripts target
+dist_salomescript_DATA = SALOME_Trace.py
diff --git a/src/Logger/Makefile.in b/src/Logger/Makefile.in
deleted file mode 100644 (file)
index f03c9ad..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#  SALOME Logger : CORBA server managing trace output
-#
-#  Copyright (C) 2003  CEA/DEN, EDF R&D
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= \
-       SALOME_Trace.hxx
-                 
-# Libraries targets
-LIB = libSalomeLoggerServer.la
-LIB_SRC=\
-       SALOME_Trace.cxx \
-       SALOME_Logger_Server.cxx 
-LIB_SERVER_IDL = Logger.idl 
-
-EXPORT_PYSCRIPTS = SALOME_Trace.py
-
-# Executables targets
-BIN = SALOME_Logger_Server 
-BIN_SRC = 
-BIN_SERVER_IDL = Logger.idl 
-BIN_CLIENT_IDL = Logger.idl
-
-@CONCLUDE@
-
index 4464c835b3601d3118b8ca00112c379b1bf8960e..507118237b0205ba5ea59d5ba097651437c307c7 100644 (file)
@@ -62,107 +62,3 @@ void Logger::ping()
 {
   //cout<<" Logger::ping() pid "<< getpid()<<endl;
 }
-
-int main(int argc, char **argv)
-{
-  if (argc > 2)
-    {
-      std::cout << "usage: SALOME_Logger_Server [output_file]" << std::endl;
-      exit(1);
-    }
-  try
-    {
-      //Initialize the ORB
-      const long TIMESleep = 250000000;
-      const int NumberOfTries = 40;
-      int i;
-      timespec ts_req = {0, TIMESleep};
-      timespec ts_rem = {0, 0};
-      CosNaming::NamingContext_var inc;
-      SALOME_Logger::Logger_var myLoggerRef;
-      CORBA::Object_var theObj;
-      Logger* myLogger;
-      CORBA::Object_var obj;
-      PortableServer::POA_var poa;
-      PortableServer::POAManager_var pman;   
-
-      CORBA::ORB_var orb = CORBA::ORB_init(argc, argv) ;
-
-      for (i = 1; i <= NumberOfTries; i++) 
-         {
-#ifndef WNT
-                 if (i != 1) nanosleep(&ts_req, &ts_rem);
-#else
-                 if (i != 1) Sleep(TIMESleep / 1000000);
-#endif
-                 try 
-                 {
-                         obj = orb->resolve_initial_references("RootPOA") ;
-                         if(!CORBA::is_nil(obj))
-                                 poa = PortableServer::POA::_narrow(obj) ;
-                         pman = poa->the_POAManager();
-                         // NB. You can activate the POA before or after
-                         // activating objects in that POA.
-                         
-                         // This activates the object in the root POA (by default), and
-                         // returns a reference to it.
-                         //NB. You can't use SALOME_NamingService class because it uses MESSAGE macro
-                         //Otherwise, you will get segmentation fault.   
-                         //Get initial naming context
-                         if(!CORBA::is_nil(orb)) 
-                                 theObj = orb->resolve_initial_references("NameService");
-                         //Narrow to NamingContext
-                         if (!CORBA::is_nil(theObj))
-                                 inc = CosNaming::NamingContext::_narrow(theObj);
-                 } catch(CORBA::COMM_FAILURE&) {
-                         //cout<<"Logger Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service"<<endl;
-                 } catch(...) {
-                         //cout<<"Logger Server: Unknown exception dealed with Naming Service" <<endl;
-                 }
-                 
-                 if (!CORBA::is_nil(inc)) {
-                         //      cout<<"Logger Server: Naming Service was found"<<endl; 
-                         break;
-                 }
-      }
-      if (argc == 1)
-                 myLogger = new Logger();
-      else
-                 myLogger = new Logger(argv[1]);
-
-      myLoggerRef = myLogger->_this();
-      CosNaming::Name name;
-      name.length(1);
-      name[0].id = CORBA::string_dup("Logger");
-      inc->bind(name,myLoggerRef);
-      myLogger->_remove_ref();
-      pman->activate();   
-      orb->run() ;
-      orb->destroy() ;
-    }  
-  catch(CORBA::COMM_FAILURE& ex)
-       {
-      std::cerr << "Caught system exception COMM_FAILURE -- unable to contact the "
-          << "object." << std::endl;
-    }
-  catch(CORBA::SystemException&) 
-    {
-      std::cerr << "Caught CORBA::SystemException." << std::endl;
-    }
-  catch(CORBA::Exception&) 
-    {
-      std::cerr << "Caught CORBA::Exception." << std::endl;
-    }
-  catch(omniORB::fatalException& fe) 
-    {
-      std::cerr << "Caught omniORB::fatalException:" << std::endl;
-      std::cerr << "  file: " << fe.file() << std::endl;
-      std::cerr << "  line: " << fe.line() << std::endl;
-      std::cerr << "  mesg: " << fe.errmsg() << std::endl;
-    }
-  catch(...) 
-    {
-      std::cerr << "Caught unknown exception." << std::endl;
-    }
-  return 0;
-}
diff --git a/src/Logger/SALOME_Logger_Server_main.cxx b/src/Logger/SALOME_Logger_Server_main.cxx
new file mode 100644 (file)
index 0000000..c6a5aa6
--- /dev/null
@@ -0,0 +1,121 @@
+//  SALOME Logger : CORBA server managing trace output
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SALOME_Logger_Server.cxx
+//  Author : Vasily Rusyaev
+//  Module : SALOME
+
+#include <iostream>
+#include "SALOME_Logger_Server.hxx"
+#include <SALOMEconfig.h>
+#include <sys/types.h>
+#ifndef __WIN32__
+# include <unistd.h>
+#endif
+
+int main(int argc, char **argv)
+{
+  if (argc > 2)
+    {
+      std::cout << "usage: SALOME_Logger_Server [output_file]" << std::endl;
+      exit(1);
+    }
+  try
+    {
+      //Initialize the ORB
+      const long TIMESleep = 250000000;
+      const int NumberOfTries = 40;
+      int i;
+      timespec ts_req = {0, TIMESleep};
+      timespec ts_rem = {0, 0};
+      CosNaming::NamingContext_var inc;
+      SALOME_Logger::Logger_var myLoggerRef;
+      CORBA::Object_var theObj;
+      Logger* myLogger;
+      CORBA::Object_var obj;
+      PortableServer::POA_var poa;
+      PortableServer::POAManager_var pman;   
+
+      CORBA::ORB_var orb = CORBA::ORB_init(argc, argv) ;
+
+      for (i = 1; i <= NumberOfTries; i++)
+         {
+#ifndef WNT
+                 if (i != 1) nanosleep(&ts_req, &ts_rem);
+#else
+                 if (i != 1) Sleep(TIMESleep / 1000000);
+#endif
+                 try 
+                 {
+                         obj = orb->resolve_initial_references("RootPOA") ;
+                         if(!CORBA::is_nil(obj))
+                                 poa = PortableServer::POA::_narrow(obj) ;
+                         pman = poa->the_POAManager();
+                         // NB. You can activate the POA before or after
+                         // activating objects in that POA.
+                         
+                         // This activates the object in the root POA (by default), and
+                         // returns a reference to it.
+                         //NB. You can't use SALOME_NamingService class because it uses MESSAGE macro
+                         //Otherwise, you will get segmentation fault.   
+                         //Get initial naming context
+                         if(!CORBA::is_nil(orb)) 
+                                 theObj = orb->resolve_initial_references("NameService");
+                         //Narrow to NamingContext
+                         if (!CORBA::is_nil(theObj))
+                                 inc = CosNaming::NamingContext::_narrow(theObj);
+                 } catch(CORBA::COMM_FAILURE&) {
+                         //cout<<"Logger Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service"<<endl;
+                 } catch(...) {
+                         //cout<<"Logger Server: Unknown exception dealed with Naming Service" <<endl;
+                 }
+                 
+                 if (!CORBA::is_nil(inc)) {
+                         //      cout<<"Logger Server: Naming Service was found"<<endl; 
+                         break;
+                 }
+      }
+      if (argc == 1)
+                 myLogger = new Logger();
+      else
+                 myLogger = new Logger(argv[1]);
+
+      myLoggerRef = myLogger->_this();
+      CosNaming::Name name;
+      name.length(1);
+      name[0].id = CORBA::string_dup("Logger");
+      inc->bind(name,myLoggerRef);
+      myLogger->_remove_ref();
+      pman->activate();   
+      orb->run() ;
+      orb->destroy() ;
+    }  
+  catch(CORBA::COMM_FAILURE& ex)
+       {
+      std::cerr << "Caught system exception COMM_FAILURE -- unable to contact the "
+          << "object." << std::endl;
+    }
+  catch(CORBA::SystemException&) 
+    {
+      std::cerr << "Caught CORBA::SystemException." << std::endl;
+    }
+  catch(CORBA::Exception&) 
+    {
+      std::cerr << "Caught CORBA::Exception." << std::endl;
+    }
+  catch(omniORB::fatalException& fe) 
+    {
+      std::cerr << "Caught omniORB::fatalException:" << std::endl;
+      std::cerr << "  file: " << fe.file() << std::endl;
+      std::cerr << "  line: " << fe.line() << std::endl;
+      std::cerr << "  mesg: " << fe.errmsg() << std::endl;
+    }
+  catch(...) 
+    {
+      std::cerr << "Caught unknown exception." << std::endl;
+    }
+  return 0;
+}
diff --git a/src/Logger/Test/Makefile.am b/src/Logger/Test/Makefile.am
new file mode 100644 (file)
index 0000000..1375410
--- /dev/null
@@ -0,0 +1,39 @@
+#  Logger: CORBA Logger Server
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+# Executable scripts to be installed
+dist_salomescript_SCRIPTS = TestKiller.py 
diff --git a/src/Logger/Test/Makefile.in b/src/Logger/Test/Makefile.in
deleted file mode 100644 (file)
index 2ff5e39..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#  Logger: CORBA Logger Server
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS=
-
-EXPORT_PYSCRIPTS = TestKiller.py 
-
-# Libraries targets
-
-LIB =
-LIB_SRC =
-
-# Executables targets
-
-BIN =
-BIN_SRC = 
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGS+=
-
-LDFLAGSFORBIN+=
-
-@CONCLUDE@
index dfeb178e13579d792ccfb0b10b30e9d79103abae..1acd943e3338a9650d4d51486e07460db7df829b 100644 (file)
@@ -33,6 +33,8 @@
 #include "Utils_SINGLETON.hxx"
 #include "OpUtil.hxx"
 #include "utilities.h"
+#include <time.h>
+#include <sys/time.h>
 #include <pthread.h>  // must be before Python.h !
 #include <Python.h>
 #include "Container_init_python.hxx"
diff --git a/src/MPIContainer/Makefile.am b/src/MPIContainer/Makefile.am
new file mode 100644 (file)
index 0000000..564f7ff
--- /dev/null
@@ -0,0 +1,109 @@
+#  SALOME MPIContainer : implemenation of container based on MPI libraries
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+
+
+#
+# ===============================================================
+# _CS_gbo Caution !! This package may not work. I didn't test it
+# because no mpi soft is installed on my computer. To be checked.
+# ===============================================================
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+       MPIObject_i.hxx \
+       MPIContainer_i.hxx
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+# _CS_gbo See wether it can be shared by all packages in a common include!!
+COMMON_CPPFLAGS=\
+       @PYTHON_INCLUDES@ \
+       @MPI_INCLUDES@ \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(srcdir)/../Registry \
+       -I$(srcdir)/../Notification \
+       -I$(srcdir)/../ResourcesManager \
+       -I$(srcdir)/../Container \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../Registry/libRegistry.la \
+       ../Notification/libSalomeNotification.la \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       ../Container/libSalomeContainer.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CORBA_LIBS@
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeMPIContainer.la
+libSalomeMPIContainer_la_SOURCES = MPIObject_i.cxx  MPIContainer_i.cxx
+libSalomeMPIContainer_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSalomeMPIContainer_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeMPIContainer_la_LIBADD   = $(COMMON_LIBS)
+
+
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = SALOME_MPIContainer
+SALOME_MPIContainer_SOURCES = SALOME_MPIContainer.cxx
+SALOME_MPIContainer_LDADD   = libSalomeMPIContainer.la @PYTHON_LIBS@ @MPI_LIBS@
+SALOME_MPIContainer_CPPFLAGS = $(COMMON_CPPFLAGS)
+
+
diff --git a/src/MPIContainer/Makefile.in b/src/MPIContainer/Makefile.in
deleted file mode 100644 (file)
index 808e9a4..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#  SALOME MPIContainer : implemenation of container based on MPI libraries
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = 
-
-EXPORT_HEADERS = \
-       MPIObject_i.hxx \
-       MPIContainer_i.hxx
-
-# Libraries targets
-
-LIB = libSalomeMPIContainer.la 
-LIB_SRC = MPIObject_i.cxx  MPIContainer_i.cxx
-LIB_CLIENT_IDL = SALOME_Component.idl
-LIB_SERVER_IDL = SALOME_MPIObject.idl SALOME_MPIContainer.idl
-
-# Executables targets
-BIN = SALOME_MPIContainer
-BIN_SRC = 
-BIN_SERVER_IDL = SALOME_MPIObject.idl SALOME_MPIContainer.idl SALOME_Exception.idl
-
-CPPFLAGS+= $(PYTHON_INCLUDES) 
-LDFLAGS+= -lSalomeContainer -lSalomeNS -lRegistry -lOpUtil -lSalomeNotification -lSALOMELocalTrace -lSalomeResourcesManager
-
-ifeq (@WITHMPI@,yes)
-  LIBS += $(PYTHON_LIBS) $(MPI_LIBS)
-  CXXFLAGS+=${MPI_INCLUDES}
-  CXX_DEPEND_FLAG+=${MPI_INCLUDES}
-  LDFLAGSFORBIN= $(LDFLAGS) -lSALOMEBasics 
-  LIBSFORBIN= $(LIBS)
-endif
-
-@CONCLUDE@
index 615f27f841c4dac246878441e789045f8f8333fb..f8692c65f66aab5e0f45f9abd8473370a7435d0e 100644 (file)
@@ -23,7 +23,6 @@
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
 #include "utilities.h"
-#include "SALOMETraceCollector.hxx"
 using namespace std;
 
 int main(int argc, char* argv[])
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644 (file)
index 0000000..3b43eb7
--- /dev/null
@@ -0,0 +1,116 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+# $Header$
+
+SUBDIR_BASE = \
+  Basics \
+  SALOMELocalTrace \
+  CASCatch \
+  HDFPersist
+
+SUBDIR_CORBA = \
+  Logger \
+  SALOMETraceCollector \
+  Utils \
+  NamingService \
+  GenericObj \
+  Registry \
+  ModuleCatalog \
+  DataTypeCatalog \
+  RessourcesCatalog \
+  ResourcesManager \
+  Notification \
+  NOTIFICATION_SWIG \
+  Container \
+  TestContainer \
+  LifeCycleCORBA \
+  LifeCycleCORBA_SWIG \
+  SALOMEDSClient \
+  TOOLSDS \
+  SALOMEDSImpl \
+  SALOMEDS \
+  KERNEL_PY \
+  ModuleGenerator \
+  Communication \
+  Communication_SWIG
+
+SUBDIR_CPPUNIT_BASE= \
+  Basics/Test \
+  SALOMELocalTrace/Test
+
+SUBDIR_CPPUNIT_CORBA = \
+  Logger/Test \
+  SALOMETraceCollector/Test \
+  Utils/Test \
+  NamingService/Test \
+  LifeCycleCORBA/Test \
+  SALOMEDSImpl/Test \
+  SALOMEDS/Test
+
+SUBDIR_CPPUNIT_GENERAL = \
+  UnitTests
+
+SUBDIR_MPI = \
+  MPIContainer \
+  TestMPIContainer
+
+SUBDIR_BATCH= \
+  Batch \
+  Batch_SWIG
+
+DIST_SUBDIRS = \
+  $(SUBDIR_BASE) \
+  $(SUBDIR_CORBA) \
+  $(SUBDIR_MPI) \
+  $(SUBDIR_BATCH) \
+  $(SUBDIR_CPPUNIT_BASE) \
+  $(SUBDIR_CPPUNIT_CORBA) \
+  $(SUBDIR_CPPUNIT_GENERAL)
+
+#
+# The following packages are built under conditions.
+# A condition is defined using the macro AM_CONDITIONAL (see the
+# check_cppunit for example with CPPUNIT_IS_OK.
+#
+
+SUBDIRS = $(SUBDIR_BASE)
+
+if CORBA_GEN
+  SUBDIRS += $(SUBDIR_CORBA)
+endif
+
+if MPI_IS_OK
+  SUBDIRS += $(SUBDIR_MPI)
+endif
+
+if WITH_BATCH
+  SUBDIRS += $(SUBDIR_BATCH)
+endif
+
+if CPPUNIT_IS_OK
+  SUBDIRS += $(SUBDIR_CPPUNIT_BASE)
+  SUBDIRS += $(SUBDIR_CPPUNIT_CORBA)
+  SUBDIRS += $(SUBDIR_CPPUNIT_GENERAL)
+endif
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644 (file)
index 2830eac..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Patrick GOLDBRONN (CEA)
-#  Module : SALOME
-# $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-
-@COMMENCE@
-
-SUBDIRS = \
- Basics \
- SALOMELocalTrace \
- CASCatch \
- HDFPersist \
- Logger \
- SALOMETraceCollector \
- Utils \
- NamingService \
- GenericObj \
- Registry \
- ModuleCatalog \
- DataTypeCatalog \
- RessourcesCatalog \
- ResourcesManager \
- Notification \
- NOTIFICATION_SWIG \
- Container \
- TestContainer \
- LifeCycleCORBA \
- LifeCycleCORBA_SWIG \
- SALOMEDSClient \
- TOOLSDS \
- SALOMEDSImpl \
- SALOMEDS \
- KERNEL_PY \
- ModuleGenerator \
- Communication \
- Communication_SWIG
-
-ifeq (@mpi_ok@,yes)
-  SUBDIRS+= MPIContainer TestMPIContainer
-endif
-
-ifeq (@WITH_BATCH@,yes)
-  SUBDIRS += Batch Batch_SWIG
-endif
-
-ifeq (@cppunit_ok@,yes)
- SUBDIRS+= \
- Basics/Test \
- SALOMELocalTrace/Test \
- Logger/Test \
- SALOMETraceCollector/Test \
- Utils/Test \
- NamingService/Test \
- LifeCycleCORBA/Test \
- UnitTests
-endif
-
-@MODULE@
-
diff --git a/src/ModuleCatalog/Makefile.am b/src/ModuleCatalog/Makefile.am
new file mode 100644 (file)
index 0000000..5a810d7
--- /dev/null
@@ -0,0 +1,116 @@
+#  SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header an scripts to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+               SALOME_ModuleCatalog_impl.hxx \
+               SALOME_ModuleCatalog_Acomponent_impl.hxx \
+               PathPrefix.hxx \
+               SALOME_ModuleCatalog_Parser.hxx \
+               SALOME_ModuleCatalog_Parser_IO.hxx \
+                SALOME_ModuleCatalog_Handler.hxx 
+
+# Scripts to be installed
+dist_salomescript_DATA = SALOME_TestModuleCatalog.py
+
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeCatalog.la
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@ \
+       @QT_MT_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+libSalomeCatalog_la_SOURCES =\
+       SALOME_ModuleCatalog_Handler.cxx  \
+       SALOME_ModuleCatalog_Parser_IO.cxx \
+       SALOME_ModuleCatalog_impl.cxx \
+       SALOME_ModuleCatalog_Acomponent_impl.cxx
+
+libSalomeCatalog_la_CPPFLAGS =\
+       $(COMMON_CPPFLAGS)
+
+libSalomeCatalog_la_LDFLAGS = -no-undefined -version-info=0:0:0
+
+libSalomeCatalog_la_LIBADD  =\
+       $(COMMON_LIBS) \
+       @QT_MT_LIBS@
+
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = SALOME_ModuleCatalog_Server SALOME_ModuleCatalog_Client
+
+# SALOME_ModuleCatalog_Server
+SALOME_ModuleCatalog_Server_SOURCES  = SALOME_ModuleCatalog_Server.cxx
+SALOME_ModuleCatalog_Server_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) 
+
+SALOME_ModuleCatalog_Server_LDADD   =\
+       libSalomeCatalog.la \
+       $(COMMON_LIBS) \
+       @CORBA_LIBS@
+
+# SALOME_ModuleCatalog_Client
+SALOME_ModuleCatalog_Client_SOURCES  = SALOME_ModuleCatalog_Client.cxx
+SALOME_ModuleCatalog_Client_CPPFLAGS =\
+       $(COMMON_CPPFLAGS)
+
+SALOME_ModuleCatalog_Client_LDADD   =\
+       libSalomeCatalog.la \
+       $(COMMON_LIBS) \
+       @CORBA_LIBS@
diff --git a/src/ModuleCatalog/Makefile.in b/src/ModuleCatalog/Makefile.in
deleted file mode 100644 (file)
index 65f688f..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#  SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = SALOME_TestModuleCatalog.py
-EXPORT_HEADERS = \
-               SALOME_ModuleCatalog_impl.hxx \
-               SALOME_ModuleCatalog_Acomponent_impl.hxx \
-               PathPrefix.hxx \
-               SALOME_ModuleCatalog_Parser.hxx \
-               SALOME_ModuleCatalog_Parser_IO.hxx \
-                SALOME_ModuleCatalog_Handler.hxx 
-
-# Libraries targets
-LIB = libSalomeCatalog.la
-LIB_SRC = \
-                 SALOME_ModuleCatalog_Handler.cxx  \
-                 SALOME_ModuleCatalog_Parser_IO.cxx \
-                 SALOME_ModuleCatalog_impl.cxx \
-                 SALOME_ModuleCatalog_Acomponent_impl.cxx
-
-LIB_SERVER_IDL = SALOME_ModuleCatalog.idl SALOME_Exception.idl
-
-CXXFLAGS+=-ftemplate-depth-32
-
-# Executables targets
-# trouble we have client and serveur and build don't known about this with rule
-# in fact client is a test ! So it may go away BIN !
-
-BIN = SALOME_ModuleCatalog_Server SALOME_ModuleCatalog_Client
-BIN_SRC = 
-BIN_SERVER_IDL = SALOME_ModuleCatalog.idl SALOME_Exception.idl
-
-CPPFLAGS+= $(QT_MT_INCLUDES) 
-LDFLAGS+= $(QT_MT_LIBS) -lSalomeNS -lSALOMELocalTrace -lOpUtil -lSALOMEBasics
-
-LDFLAGSFORBIN+=  -lSalomeNS -lSALOMELocalTrace -lOpUtil -lSALOMEBasics
-
-
-@CONCLUDE@
index 274de28a1ee4dd06b872ce81b61ccbeb4f6a60cd..f01ba2d1edc24034efc28d31908ad51c407414a0 100644 (file)
@@ -29,7 +29,6 @@
 #include "SALOME_NamingService.hxx"
 #include "SALOME_ModuleCatalog_impl.hxx"
 #include "utilities.h"
-#include "SALOMETraceCollector.hxx"
 #include "Utils_SINGLETON.hxx"
 
 #ifdef CHECKTIME
diff --git a/src/ModuleGenerator/Makefile.am b/src/ModuleGenerator/Makefile.am
new file mode 100644 (file)
index 0000000..afdb659
--- /dev/null
@@ -0,0 +1,29 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+dist_salomescript_DATA = IDLparser.py
diff --git a/src/ModuleGenerator/Makefile.in b/src/ModuleGenerator/Makefile.in
deleted file mode 100644 (file)
index 5abeb52..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Marc Tajchman
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = IDLparser.py
-
-@CONCLUDE@
index 94eccf70c1e2208d97cf9a92ab670d552ff83618..64709e7acc97b149d2ebe60f0d1aefa65d35b1ad 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 ROOT_SRCDIR=@ROOT_SRCDIR@
 export ROOT_SRCDIR
index 6b659696ee96a30b44aecc736efb1eb53c563855..2fbd7754c97c7c02f497f756f75644de521ace81 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
index e3e41193dce7393298a6a5f9d75096c870c67de5..ad837a02c1ccf0212fe7919158919336eb33a87e 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
index d534140fb7886da10f932a5dc520d99951f2e635..0a61ddef3cfaac7fe181f5f57f71c36c93fc789c 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
index 3689eb1624efa41cfc4f4ccfa6cdb32b3db840be..fe726682ebeac9b0c77679f39ce6acbe3b52ce10 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
index d7a0bb83def79909b2de83cbbf7bd109ac08ba03..c6314373c8b66ccd0fd7e00c11a2878731db4a5c 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
index 41b76c091589d47654d4b4b24d60444779677b7d..69a2a20dcfc8dc291e7cacdd44076124e79aad79 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
diff --git a/src/NOTIFICATION_SWIG/Makefile.am b/src/NOTIFICATION_SWIG/Makefile.am
new file mode 100644 (file)
index 0000000..a904cf4
--- /dev/null
@@ -0,0 +1,62 @@
+#  SALOME NOTIFICATION_SWIG : wrapping of Notification sevices in order to be available in Python
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Swig targets
+# ===============================================================
+# (cf. http://www.geocities.com/foetsch/python/swig_linux.htm)
+# see also LifeCycleCORBA_SWIG 
+#
+BUILT_SOURCES = swig_wrap.cpp
+
+SWIG_FLAGS    = @SWIG_FLAGS@ -I$(srcdir) -I$(srcdir)/../Notification
+SWIG_SOURCES  = NOTIFICATION.i
+
+pkgpython_PYTHON = libNOTIFICATION.py
+pkgpyexec_LTLIBRARIES = _libNOTIFICATION.la
+_libNOTIFICATION_la_SOURCES  = $(BUILT_SOURCES) $(SWIG_SOURCES) \
+       NOTIFICATION_Swig.cxx NOTIFICATION_Swig.hxx
+_libNOTIFICATION_la_CPPFLAGS =\
+       @PYTHON_INCLUDES@ -DHAVE_CONFIG_H \
+       -I$(srcdir)/../Notification \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+
+_libNOTIFICATION_la_LDFLAGS  = -module
+_libNOTIFICATION_la_LIBADD   = ../Notification/libSalomeNotification.la \
+       @PYTHON_LIBS@
+
+swig_wrap.cpp : $(SWIG_SOURCES)
+       $(SWIG) $(SWIG_FLAGS) -o $@ $<
+
+CLEANFILES = swig_wrap.cpp
diff --git a/src/NOTIFICATION_SWIG/Makefile.in b/src/NOTIFICATION_SWIG/Makefile.in
deleted file mode 100644 (file)
index c6d7071..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#  SALOME NOTIFICATION_SWIG : wrapping of Notification sevices in order to be available in Python
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-@COMMENCE@
-
-# Libraries targets
-
-EXPORT_HEADERS = 
-
-LIB = libNOTIFICATIONcmodule.la
-LIB_SRC = NOTIFICATION_Swig.cxx
-
-SWIG_DEF = NOTIFICATION.i
-EXPORT_PYSCRIPTS = libNOTIFICATION.py
-SWIG_FLAGS += -I$(srcdir)
-
-CPPFLAGS+=$(PYTHON_INCLUDES) -DHAVE_CONFIG_H
-LIBS+= $(PYTHON_LIBS)
-LDFLAGS+= -lSalomeNotification
-
-@CONCLUDE@
diff --git a/src/NamingService/Makefile.am b/src/NamingService/Makefile.am
new file mode 100644 (file)
index 0000000..996a727
--- /dev/null
@@ -0,0 +1,59 @@
+#  SALOME NamingService : wrapping NamingService services
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# header files  
+salomeinclude_HEADERS =\
+       SALOME_NamingService.hxx \
+       ServiceUnreachable.hxx \
+       NamingService_WaitForServerReadiness.hxx
+
+# Scripts to be exported
+dist_salomescript_DATA =\
+       SALOME_NamingServicePy.py
+
+
+# Libraries targets
+lib_LTLIBRARIES        = libSalomeNS.la
+libSalomeNS_la_SOURCES =\
+       SALOME_NamingService.cxx \
+       ServiceUnreachable.cxx \
+       NamingService_WaitForServerReadiness.cxx
+
+libSalomeNS_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+
+libSalomeNS_la_CPPFLAGS = \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+libSalomeNS_la_LIBADD = ../Utils/libOpUtil.la
diff --git a/src/NamingService/Makefile.in b/src/NamingService/Makefile.in
deleted file mode 100644 (file)
index 1328178..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#  SALOME NamingService : wrapping NamingService services
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = SALOME_NamingServicePy.py
-
-EXPORT_HEADERS = \
-       SALOME_NamingService.hxx \
-       ServiceUnreachable.hxx \
-       NamingService_WaitForServerReadiness.hxx
-
-# Libraries targets
-
-LIB = libSalomeNS.la 
-LIB_SRC = \
-       SALOME_NamingService.cxx \
-       ServiceUnreachable.cxx \
-       NamingService_WaitForServerReadiness.cxx
-LIB_SERVER_IDL = SALOME_Exception.idl
-
-LDFLAGS+= -lOpUtil
-
-@CONCLUDE@
index 0c046c9ea8b3a9a31a8fe446bc1d1a027c67f85a..783f6bae01da0aa453d4962971978c718b01c000 100644 (file)
@@ -642,9 +642,9 @@ SALOME_NamingService::ContainerName(const Engines::MachineParameters& params)
  * \param params struct from which we get container name (may be
  *               empty),  number of nodes and number of processor
  *               per node.
- * /param hostname name of the host of the container, without domain names.
- * /return the path under the form /Containers/hostname/containerName
- * /sa ContainerName(const Engines::MachineParameters& params)
+ * \param hostname name of the host of the container, without domain names.
+ * \return the path under the form /Containers/hostname/containerName
+ * \sa ContainerName(const Engines::MachineParameters& params)
  */
 // ============================================================================
 
@@ -664,10 +664,10 @@ string SALOME_NamingService::BuildContainerNameForNS(const char *containerName,
  *
  *  Build a string representing the absolute pathname of a container in
  *  SALOME_NamingService.
- * /param params used as it is, or replaced by FactoryServer if empty.
- * /param hostname name of the host of the container, without domain names.
- * /return the path under the form /Containers/hostname/containerName
- * /sa ContainerName(const char *containerName)
+ * \param params used as it is, or replaced by FactoryServer if empty.
+ * \param hostname name of the host of the container, without domain names.
+ * \return the path under the form /Containers/hostname/containerName
+ * \sa ContainerName(const char *containerName)
  */
 // ============================================================================
 
@@ -1759,14 +1759,12 @@ _current_directory(vector<string>& splitPath,
  *  get a list of all the objects in the current directory, with recursion
  *  on the subdirectories. Only the objects are listed, not the directories.
  *  If the NamingService is out, the exception ServiceUnreachable is thrown.
- * \param myList the list of objects
- * \
-Function :_list_directory_recurs.
- * Purpose  : method to list recursively all the objects contained in the tree of absCurDirectory/relativeSubDir.
- *  \param myList The list that will be filled.
- *  \param relativeSubDir The directory from absCurDirectory in which the objects are found.
- *  \param absCurDirectory The directory in ABSOLUTE form.
  *  _current_context must refer to absCurDirectory.
+ *
+ *  \param myList          The list that will be filled.
+ *  \param relativeSubDir  The directory relative to absCurDirectory in which
+ *                         the objects are found.
+ *  \param absCurDirectory The current directory, absolute path
  */ 
 // ============================================================================
 
diff --git a/src/NamingService/Test/Makefile.am b/src/NamingService/Test/Makefile.am
new file mode 100644 (file)
index 0000000..af7d1a4
--- /dev/null
@@ -0,0 +1,95 @@
+#  SALOMELocalTrace : log on local machine
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume BOULANT (CSSI)
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS= NamingServiceTest.hxx
+
+# Scripts to be installed
+dist_salomescript_SCRIPTS = TestNamingService.py
+
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This directory defines the subdirectory src in the top source directory.
+RPATH=../..
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CPPUNIT_INCLUDES@ -I$(srcdir)/$(RPATH)/NamingService \
+       -I$(srcdir)/$(RPATH)/Basics \
+       -I$(srcdir)/$(RPATH)/SALOMELocalTrace \
+       -I$(srcdir)/$(RPATH)/Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libNamingServiceTest.la
+libNamingServiceTest_la_SOURCES = NamingServiceTest.cxx
+libNamingServiceTest_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libNamingServiceTest_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libNamingServiceTest_la_LIBADD   = @CPPUNIT_LIBS@
+
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestNamingService
+TestNamingService_SOURCES  = TestNamingService.cxx
+TestNamingService_CPPFLAGS = \
+       $(COMMON_CPPFLAGS) \
+       -I$(srcdir)/$(RPATH)/SALOMELocalTrace/Test \
+       -I$(srcdir)/$(RPATH)/SALOMETraceCollector/Test \
+       -I$(srcdir)/$(RPATH)/Utils/Test \
+       -I$(srcdir)/$(RPATH)/Basics/Test
+
+
+TestNamingService_LDADD    = \
+       libNamingServiceTest.la ../libSalomeNS.la \
+       $(RPATH)/SALOMELocalTrace/Test/libSALOMELocalTraceTest.la $(RPATH)/SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(RPATH)/SALOMETraceCollector/Test/libSALOMETraceCollectorTest.la \
+       $(RPATH)/Utils/Test/libUtilsTest.la $(RPATH)/Utils/libOpUtil.la \
+       $(RPATH)/Basics/libSALOMEBasics.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
diff --git a/src/NamingService/Test/Makefile.in b/src/NamingService/Test/Makefile.in
deleted file mode 100644 (file)
index 36d8bcd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#  SALOMELocalTrace : log on local machine
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= NamingServiceTest.hxx
-
-EXPORT_PYSCRIPTS = TestNamingService.py
-
-# Libraries targets
-
-LIB = libNamingServiceTest.la 
-LIB_SRC = NamingServiceTest.cxx
-
-LIB_SERVER_IDL = nstest.idl
-
-LIB_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl \
-                SALOME_Exception.idl
-
-# Executables targets
-
-BIN = TestNamingService
-BIN_SRC = 
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGS+=
-
-LDFLAGSFORBIN+= \
- -lSALOMELocalTraceTest -lSALOMELocalTrace -lSALOMEBasics \
- -lSALOMETraceCollectorTest \
- -lUtilsTest -lOpUtil \
- -lSalomeNS
-
-@CONCLUDE@
diff --git a/src/Notification/Makefile.am b/src/Notification/Makefile.am
new file mode 100644 (file)
index 0000000..ddcccd2
--- /dev/null
@@ -0,0 +1,72 @@
+#  SALOME Notification : wrapping of Notification service services
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+       NOTIFICATION.hxx          \
+       NOTIFICATION_Supplier.hxx \
+       NOTIFICATION_Consumer.hxx \
+       CosNotifyShorthands.h
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+
+lib_LTLIBRARIES = libSalomeNotification.la
+libSalomeNotification_la_SOURCES =\
+       NOTIFICATION.cxx          \
+       NOTIFICATION_Supplier.cxx \
+       NOTIFICATION_Consumer.cxx
+
+libSalomeNotification_la_CPPFLAGS =\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../Utils \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+
+libSalomeNotification_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+
+libSalomeNotification_la_LIBADD =\
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       @CORBA_LIBS@
+
+
+#LDFLAGS+= -lOpUtil -lSALOMELocalTrace
+#OMNIORB_IDLCXXFLAGS+= -Wbtp
diff --git a/src/Notification/Makefile.in b/src/Notification/Makefile.in
deleted file mode 100644 (file)
index 4d43c67..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#  SALOME Notification : wrapping of Notification service services
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = NOTIFICATION.hxx          \
-                 NOTIFICATION_Supplier.hxx \
-                 NOTIFICATION_Consumer.hxx \
-                 CosNotifyShorthands.h
-
-# Libraries targets
-
-LIB = libSalomeNotification.la
-
-LIB_SRC = NOTIFICATION.cxx          \
-          NOTIFICATION_Supplier.cxx \
-          NOTIFICATION_Consumer.cxx
-
-LDFLAGS+= -lOpUtil -lSALOMELocalTrace
-OMNIORB_IDLCXXFLAGS+= -Wbtp
-
-@CONCLUDE@
diff --git a/src/Registry/Makefile.am b/src/Registry/Makefile.am
new file mode 100644 (file)
index 0000000..f4ad2ad
--- /dev/null
@@ -0,0 +1,73 @@
+#  SALOME Registry : Registry server implementation
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# header files  
+salomeinclude_HEADERS =\
+       RegistryConnexion.hxx \
+       RegistryService.hxx
+
+# Libraries targets
+lib_LTLIBRARIES = libRegistry.la
+libRegistry_la_SOURCES =\
+       RegistryConnexion.cxx \
+       RegistryService.cxx 
+
+libRegistry_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libRegistry_la_CPPFLAGS =\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+libRegistry_la_LIBADD   =\
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+
+# Executables targets
+bin_PROGRAMS = SALOME_Registry_Server
+SALOME_Registry_Server_SOURCES  = SALOME_Registry_Server.cxx
+SALOME_Registry_Server_LDADD    =\
+       libRegistry.la \
+       ../Basics/libSALOMEBasics.la \
+       @CORBA_LIBS@
+SALOME_Registry_Server_CPPFLAGS =\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
diff --git a/src/Registry/Makefile.in b/src/Registry/Makefile.in
deleted file mode 100644 (file)
index 73b61f6..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#  SALOME Registry : Registry server implementation
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS =
-
-EXPORT_HEADERS = \
-       RegistryConnexion.hxx \
-       RegistryService.hxx
-
-# Libraries targets
-
-LIB = libRegistry.la 
-LIB_SRC = \
-       RegistryConnexion.cxx \
-       RegistryService.cxx
-LIB_CLIENT_IDL = SALOME_Registry.idl SALOME_Exception.idl
-
-# Executables targets
-BIN = SALOME_Registry_Server
-BIN_SRC = 
-BIN_SERVER_IDL = SALOME_Registry.idl
-
-LDFLAGS+= -lSalomeNS -lOpUtil -lSALOMELocalTrace
-
-LDFLAGSFORBIN= $(LDFLAGS) -lSALOMEBasics
-
-@CONCLUDE@
index 0131bb901d06a208e32e199aaeff6b4cdd864cea..2ee59f649e0b10914be4665b2753a2c2cc58564e 100644 (file)
@@ -36,7 +36,6 @@ extern "C"
 }
 
 #include "utilities.h"
-#include "SALOMETraceCollector.hxx"
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
 #include "Utils_SALOME_Exception.hxx"
diff --git a/src/ResourcesManager/Makefile.am b/src/ResourcesManager/Makefile.am
new file mode 100755 (executable)
index 0000000..124647f
--- /dev/null
@@ -0,0 +1,84 @@
+#  SALOME ResourcesManager
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+               SALOME_ResourcesCatalog_Parser.hxx \
+               SALOME_ResourcesManager.hxx \
+                SALOME_ResourcesCatalog_Handler.hxx \
+               SALOME_LoadRateManager.hxx
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeResourcesManager.la
+libSalomeResourcesManager_la_SOURCES =\
+       SALOME_ResourcesCatalog_Parser.cxx \
+       SALOME_ResourcesCatalog_Handler.cxx  \
+       SALOME_LoadRateManager.cxx \
+       SALOME_ResourcesManager.cxx
+
+libSalomeResourcesManager_la_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) \
+       @QT_MT_INCLUDES@
+
+libSalomeResourcesManager_la_LDFLAGS = -no-undefined -version-info=0:0:0
+libSalomeResourcesManager_la_LIBADD  =\
+       $(COMMON_LIBS) \
+       @QT_MT_LIBS@
diff --git a/src/ResourcesManager/Makefile.in b/src/ResourcesManager/Makefile.in
deleted file mode 100755 (executable)
index e3aca30..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#  SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
-               SALOME_ResourcesCatalog_Parser.hxx \
-               SALOME_ResourcesManager.hxx \
-                SALOME_ResourcesCatalog_Handler.hxx \
-               SALOME_LoadRateManager.hxx \
-
-# Libraries targets
-LIB = libSalomeResourcesManager.la
-LIB_SRC = \
-                 SALOME_ResourcesCatalog_Parser.cxx \
-                 SALOME_ResourcesCatalog_Handler.cxx  \
-                 SALOME_LoadRateManager.cxx \
-                 SALOME_ResourcesManager.cxx \
-
-# Executables targets
-# trouble we have client and serveur and build don't known about this with rule
-# in fact client is a test ! So it may go away BIN !
-#BIN = test_rc2
-#SALOME_RessourcesCatalog_Server SALOME_RessourcesCatalog_Client test
-LIB_CLIENT_IDL = SALOME_ContainerManager.idl SALOME_Component.idl SALOME_Exception.idl
-BIN_SRC = 
-BIN_SERVER_IDL = SALOME_ContainerManager.idl
-
-CPPFLAGS+= $(QT_MT_INCLUDES) -I$(srcdir)/../Container
-CXXFLAGS+= 
-LDFLAGS+= $(QT_MT_LIBS) $(OGL_LIBS) -lSalomeNS -lOpUtil -lSALOMELocalTrace 
-
-@CONCLUDE@
-
-
diff --git a/src/RessourcesCatalog/Makefile.am b/src/RessourcesCatalog/Makefile.am
new file mode 100644 (file)
index 0000000..24f9178
--- /dev/null
@@ -0,0 +1,116 @@
+#  SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = \
+               SALOME_RessourcesCatalog_impl.hxx \
+               SALOME_RessourcesCatalog_Parser.hxx \
+                SALOME_RessourcesCatalog_Handler.hxx 
+
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+
+lib_LTLIBRARIES = libSalomeRessourcesCatalog.la
+libSalomeRessourcesCatalog_la_SOURCES=\
+       SALOME_RessourcesCatalog_Handler.cxx  \
+       SALOME_RessourcesCatalog_impl.cxx
+
+libSalomeRessourcesCatalog_la_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) \
+       @QT_MT_INCLUDES@
+
+libSalomeRessourcesCatalog_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeRessourcesCatalog_la_LIBADD   =\
+       $(COMMON_LIBS) \
+       @QT_MT_LIBS@
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = SALOME_RessourcesCatalog_Server SALOME_RessourcesCatalog_Client
+
+#SALOME_RessourcesCatalog_Server
+SALOME_RessourcesCatalog_Server_SOURCES  = SALOME_RessourcesCatalog_Server.cxx
+SALOME_RessourcesCatalog_Server_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) \
+       @QT_MT_INCLUDES@
+
+SALOME_RessourcesCatalog_Server_LDADD    =\
+       libSalomeRessourcesCatalog.la \
+       $(COMMON_LIBS) \
+       @CORBA_LIBS@
+
+#SALOME_RessourcesCatalog_Client
+SALOME_RessourcesCatalog_Client_SOURCES  = SALOME_RessourcesCatalog_Client.cxx
+SALOME_RessourcesCatalog_Client_CPPFLAGS =\
+       $(COMMON_CPPFLAGS) \
+       @QT_MT_INCLUDES@
+
+SALOME_RessourcesCatalog_Client_LDADD    =\
+       libSalomeRessourcesCatalog.la \
+       $(COMMON_LIBS) \
+       @CORBA_LIBS@
+
diff --git a/src/RessourcesCatalog/Makefile.in b/src/RessourcesCatalog/Makefile.in
deleted file mode 100644 (file)
index 8d416a8..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#  SALOME RessourcesCatalog : implementation of catalog resources parsing (SALOME_ModuleCatalog.idl)
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
-               SALOME_RessourcesCatalog_impl.hxx \
-               SALOME_RessourcesCatalog_Parser.hxx \
-                SALOME_RessourcesCatalog_Handler.hxx 
-
-# Libraries targets
-LIB = libSalomeRessourcesCatalog.la
-LIB_SRC = \
-                 SALOME_RessourcesCatalog_Handler.cxx  \
-                 SALOME_RessourcesCatalog_impl.cxx
-
-# Executables targets
-# trouble we have client and serveur and build don't known about this with rule
-# in fact client is a test ! So it may go away BIN !
-BIN = SALOME_RessourcesCatalog_Server SALOME_RessourcesCatalog_Client
-BIN_SRC = 
-BIN_SERVER_IDL = SALOME_RessourcesCatalog.idl SALOME_Exception.idl
-
-CPPFLAGS+= $(QT_MT_INCLUDES) 
-CXXFLAGS+= 
-LDFLAGS+= $(QT_MT_LIBS) $(OGL_LIBS) -lSalomeNS -lOpUtil -lSALOMELocalTrace
-LDFLAGSFORBIN+= -lSalomeNS -lOpUtil -lSALOMELocalTrace -lSALOMEBasics
-
-@CONCLUDE@
-
-
index ea3be6a324ded239bd9c03bc99f0b70683a27142..8ea3a1a227c6851127356857aaae9d8469a234d9 100644 (file)
@@ -30,7 +30,6 @@
 #include "SALOME_NamingService.hxx"
 #include "SALOME_RessourcesCatalog_impl.hxx"
 #include "utilities.h"
-#include "SALOMETraceCollector.hxx"
 #include "Utils_SINGLETON.hxx"
 using namespace std;
 
@@ -38,7 +37,6 @@ int main(int argc,char **argv)
 {
   // initialize the ORB
   CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv);
-  //  LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
   try
     {
       CosNaming::NamingContext_var _rootContext, catalogContext;
diff --git a/src/SALOMEDS/Makefile.am b/src/SALOMEDS/Makefile.am
new file mode 100644 (file)
index 0000000..7a82633
--- /dev/null
@@ -0,0 +1,335 @@
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS= \
+       SALOMEDS_StudyManager_i.hxx \
+       SALOMEDS_Driver_i.hxx \
+       SALOMEDS_StudyManager.hxx \
+       SALOMEDS_Study_i.hxx \
+       SALOMEDS_Study.hxx \
+       SALOMEDS_SObject_i.hxx \
+       SALOMEDS_SObject.hxx \
+       SALOMEDS_SComponent_i.hxx \
+       SALOMEDS_SComponent.hxx \
+       SALOMEDS_GenericAttribute_i.hxx \
+       SALOMEDS_GenericAttribute.hxx \
+       SALOMEDS_IParameters.hxx
+
+# Scripts to be installed
+dist_salomescript_DATA = SALOME_DriverPy.py
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \
+       @BOOST_CPPFLAGS@ \
+       -I$(srcdir)/../HDFPersist \
+       @HDF5_INCLUDES@ \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../Utils \
+       -I$(srcdir)/../SALOMEDSImpl \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../GenericObj \
+       -I$(srcdir)/../SALOMEDSClient \
+       -I$(srcdir)/../LifeCycleCORBA \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This flag is used to resolve the dependencies of OCC libraries.
+LDXMUFLAGS = -L/usr/X11R6/lib -lXmu
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../TOOLSDS/libTOOLSDS.la \
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       ../HDFPersist/libSalomeHDFPersist.la \
+       ../SALOMEDSImpl/libSalomeDSImpl.la \
+       ../GenericObj/libSalomeGenericObj.la \
+       ../LifeCycleCORBA/libSalomeLifeCycleCORBA.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CAS_KERNEL@ \
+       @HDF5_LIBS@ \
+       $(LDXMUFLAGS)
+
+
+#LDFLAGS+=  -lSalomeGenericObj -lSalomeLifeCycleCORBA
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeDS.la
+libSalomeDS_la_SOURCES =       \
+       SALOMEDS.cxx \
+       SALOMEDS_Driver_i.cxx \
+       SALOMEDS_StudyManager_i.cxx \
+       SALOMEDS_UseCaseBuilder_i.cxx \
+       SALOMEDS_UseCaseIterator_i.cxx \
+       SALOMEDS_ChildIterator_i.cxx \
+       SALOMEDS_SComponentIterator_i.cxx \
+       SALOMEDS_Study_i.cxx \
+       SALOMEDS_StudyBuilder_i.cxx \
+       SALOMEDS_SObject_i.cxx \
+       SALOMEDS_SComponent_i.cxx \
+       SALOMEDS_GenericAttribute_i.cxx \
+       SALOMEDS_AttributeComment_i.cxx \
+       SALOMEDS_AttributeExternalFileDef_i.cxx \
+       SALOMEDS_AttributeFileType_i.cxx \
+       SALOMEDS_AttributeIOR_i.cxx \
+       SALOMEDS_AttributeInteger_i.cxx \
+       SALOMEDS_AttributeName_i.cxx \
+       SALOMEDS_AttributePersistentRef_i.cxx \
+       SALOMEDS_AttributeReal_i.cxx \
+       SALOMEDS_AttributeSequenceOfReal_i.cxx \
+       SALOMEDS_AttributeSequenceOfInteger_i.cxx \
+       SALOMEDS_AttributeDrawable_i.cxx \
+       SALOMEDS_AttributeSelectable_i.cxx \
+       SALOMEDS_AttributeOpened_i.cxx \
+       SALOMEDS_AttributeFlags_i.cxx \
+       SALOMEDS_AttributeGraphic_i.cxx \
+       SALOMEDS_AttributeExpandable_i.cxx \
+       SALOMEDS_AttributeTextColor_i.cxx  \
+       SALOMEDS_AttributeTextHighlightColor_i.cxx  \
+       SALOMEDS_AttributePixMap_i.cxx  \
+       SALOMEDS_AttributeTreeNode_i.cxx \
+       SALOMEDS_AttributeLocalID_i.cxx \
+       SALOMEDS_AttributeUserID_i.cxx \
+       SALOMEDS_AttributeTarget_i.cxx \
+       SALOMEDS_AttributeTableOfInteger_i.cxx \
+       SALOMEDS_AttributeTableOfReal_i.cxx \
+       SALOMEDS_AttributeTableOfString_i.cxx \
+       SALOMEDS_AttributeStudyProperties_i.cxx \
+       SALOMEDS_AttributePythonObject_i.cxx \
+       SALOMEDS_AttributeParameter_i.cxx \
+       SALOMEDS_SObject.cxx \
+       SALOMEDS_SComponent.cxx \
+       SALOMEDS_GenericAttribute.cxx \
+       SALOMEDS_ChildIterator.cxx \
+       SALOMEDS_SComponentIterator.cxx \
+       SALOMEDS_UseCaseIterator.cxx \
+       SALOMEDS_UseCaseBuilder.cxx \
+       SALOMEDS_StudyBuilder.cxx \
+       SALOMEDS_Study.cxx \
+       SALOMEDS_StudyManager.cxx \
+       SALOMEDS_AttributeStudyProperties.cxx \
+       SALOMEDS_AttributeComment.cxx \
+       SALOMEDS_AttributeDrawable.cxx \
+       SALOMEDS_AttributeExpandable.cxx \
+       SALOMEDS_AttributeExternalFileDef.cxx \
+       SALOMEDS_AttributeFileType.cxx \
+       SALOMEDS_AttributeFlags.cxx \
+       SALOMEDS_AttributeGraphic.cxx \
+       SALOMEDS_AttributeIOR.cxx \
+       SALOMEDS_AttributeInteger.cxx \
+       SALOMEDS_AttributeLocalID.cxx \
+       SALOMEDS_AttributeName.cxx \
+       SALOMEDS_AttributeOpened.cxx \
+       SALOMEDS_AttributePythonObject.cxx \
+       SALOMEDS_AttributeReal.cxx \
+       SALOMEDS_AttributeSelectable.cxx \
+       SALOMEDS_AttributeSequenceOfInteger.cxx \
+       SALOMEDS_AttributePersistentRef.cxx \
+       SALOMEDS_AttributePixMap.cxx \
+       SALOMEDS_AttributeSequenceOfReal.cxx \
+       SALOMEDS_AttributeTableOfInteger.cxx \
+       SALOMEDS_AttributeTableOfReal.cxx \
+       SALOMEDS_AttributeTableOfString.cxx \
+       SALOMEDS_AttributeTarget.cxx \
+       SALOMEDS_AttributeTextColor.cxx \
+       SALOMEDS_AttributeTextHighlightColor.cxx \
+       SALOMEDS_AttributeTreeNode.cxx \
+       SALOMEDS_AttributeUserID.cxx \
+       SALOMEDS_TMPFile_i.cxx \
+       SALOMEDS_AttributeParameter.cxx \
+       SALOMEDS_IParameters.cxx \
+       \
+       Handle_SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx \
+       Handle_SALOMEDS_DataMapNodeOfDataMapStringLabel.hxx \
+       Handle_SALOMEDS_DrawableAttribute.hxx \
+       Handle_SALOMEDS_ExpandableAttribute.hxx \
+       Handle_SALOMEDS_ExternalFileDef.hxx \
+       Handle_SALOMEDS_FileType.hxx \
+       Handle_SALOMEDS_IORAttribute.hxx \
+       Handle_SALOMEDS_LocalIDAttribute.hxx \
+       Handle_SALOMEDS_OCAFApplication.hxx \
+       Handle_SALOMEDS_OpenedAttribute.hxx \
+       Handle_SALOMEDS_PersRefAttribute.hxx \
+       Handle_SALOMEDS_PixMapAttribute.hxx \
+       Handle_SALOMEDS_PythonObjectAttribute.hxx \
+       Handle_SALOMEDS_SelectableAttribute.hxx \
+       Handle_SALOMEDS_SequenceOfIntegerAttribute.hxx \
+       Handle_SALOMEDS_SequenceOfRealAttribute.hxx \
+       Handle_SALOMEDS_StudyPropertiesAttribute.hxx \
+       Handle_SALOMEDS_TableOfIntegerAttribute.hxx \
+       Handle_SALOMEDS_TableOfRealAttribute.hxx \
+       Handle_SALOMEDS_TableOfStringAttribute.hxx \
+       Handle_SALOMEDS_TargetAttribute.hxx \
+       Handle_SALOMEDS_TextColorAttribute.hxx \
+       Handle_SALOMEDS_TextHighlightColorAttribute.hxx \
+       SALOMEDS_AttLong_i.hxx \
+       SALOMEDS_AttReal_i.hxx \
+       SALOMEDS_AttributeComment.hxx \
+       SALOMEDS_AttributeComment_i.hxx \
+       SALOMEDS_AttributeDrawable.hxx \
+       SALOMEDS_AttributeDrawable_i.hxx \
+       SALOMEDS_AttributeExpandable.hxx \
+       SALOMEDS_AttributeExpandable_i.hxx \
+       SALOMEDS_AttributeExternalFileDef.hxx \
+       SALOMEDS_AttributeExternalFileDef_i.hxx \
+       SALOMEDS_AttributeFileType.hxx \
+       SALOMEDS_AttributeFileType_i.hxx \
+       SALOMEDS_AttributeFlags.hxx \
+       SALOMEDS_AttributeFlags_i.hxx \
+       SALOMEDS_AttributeGraphic.hxx \
+       SALOMEDS_AttributeGraphic_i.hxx \
+       SALOMEDS_AttributeInteger.hxx \
+       SALOMEDS_AttributeInteger_i.hxx \
+       SALOMEDS_AttributeIOR.hxx \
+       SALOMEDS_AttributeIOR_i.hxx \
+       SALOMEDS_AttributeLocalID.hxx \
+       SALOMEDS_AttributeLocalID_i.hxx \
+       SALOMEDS_AttributeName.hxx \
+       SALOMEDS_AttributeName_i.hxx \
+       SALOMEDS_AttributeOpened.hxx \
+       SALOMEDS_AttributeOpened_i.hxx \
+       SALOMEDS_AttributePersistentRef.hxx \
+       SALOMEDS_AttributePersistentRef_i.hxx \
+       SALOMEDS_AttributePixMap.hxx \
+       SALOMEDS_AttributePixMap_i.hxx \
+       SALOMEDS_AttributePythonObject.hxx \
+       SALOMEDS_AttributePythonObject_i.hxx \
+       SALOMEDS_AttributeReal.hxx \
+       SALOMEDS_AttributeReal_i.hxx \
+       SALOMEDS_AttributeSelectable.hxx \
+       SALOMEDS_AttributeSelectable_i.hxx \
+       SALOMEDS_AttributeSequenceOfInteger.hxx \
+       SALOMEDS_AttributeSequenceOfInteger_i.hxx \
+       SALOMEDS_AttributeSequenceOfReal.hxx \
+       SALOMEDS_AttributeSequenceOfReal_i.hxx \
+       SALOMEDS_Attributes.hxx \
+       SALOMEDS_AttributeStudyProperties.hxx \
+       SALOMEDS_AttributeStudyProperties_i.hxx \
+       SALOMEDS_AttributeTableOfInteger.hxx \
+       SALOMEDS_AttributeTableOfInteger_i.hxx \
+       SALOMEDS_AttributeTableOfReal.hxx \
+       SALOMEDS_AttributeTableOfReal_i.hxx \
+       SALOMEDS_AttributeTableOfString.hxx \
+       SALOMEDS_AttributeTableOfString_i.hxx \
+       SALOMEDS_AttributeTarget.hxx \
+       SALOMEDS_AttributeTarget_i.hxx \
+       SALOMEDS_AttributeTextColor.hxx \
+       SALOMEDS_AttributeTextColor_i.hxx \
+       SALOMEDS_AttributeTextHighlightColor.hxx \
+       SALOMEDS_AttributeTextHighlightColor_i.hxx \
+       SALOMEDS_AttributeTreeNode.hxx \
+       SALOMEDS_AttributeTreeNode_i.hxx \
+       SALOMEDS_AttributeUserID.hxx \
+       SALOMEDS_AttributeUserID_i.hxx \
+       SALOMEDS_BasicAttributeFactory.hxx \
+       SALOMEDS_BasicAttribute_i.hxx \
+       SALOMEDS_Callback_i.hxx \
+       SALOMEDS_ChildIterator.hxx \
+       SALOMEDS_ChildIterator_i.hxx \
+       SALOMEDS_ClientAttributes.hxx \
+       SALOMEDS_DataMapIteratorOfDataMapOfIntegerString.hxx \
+       SALOMEDS_DataMapIteratorOfDataMapStringLabel.hxx \
+       SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx \
+       SALOMEDS_DataMapNodeOfDataMapStringLabel.hxx \
+       SALOMEDS_DataMapOfIntegerString.hxx \
+       SALOMEDS_DataMapStringLabel.hxx \
+       SALOMEDS_DrawableAttribute.hxx \
+       SALOMEDS_Driver_i.hxx \
+       SALOMEDS_ExpandableAttribute.hxx \
+       SALOMEDS_ExternalFileDef.hxx \
+       SALOMEDS_FileType.hxx \
+       SALOMEDS_FlagsAttribute.hxx \
+       SALOMEDS_GenericAttribute.hxx \
+       SALOMEDS_GenericAttribute_i.hxx \
+       SALOMEDS_GraphicAttribute.hxx \
+       SALOMEDS.hxx \
+       SALOMEDS_IORAttribute.hxx \
+       SALOMEDS_LocalIDAttribute.hxx \
+       SALOMEDS_OCAFApplication.hxx \
+       SALOMEDS_OpenedAttribute.hxx \
+       SALOMEDS_PersRefAttribute.hxx \
+       SALOMEDS_PixMapAttribute.hxx \
+       SALOMEDS_PythonObjectAttribute.hxx \
+       SALOMEDS_SAttribute_i.hxx \
+       SALOMEDS_SComponent.hxx \
+       SALOMEDS_SComponent_i.hxx \
+       SALOMEDS_SComponentIterator.hxx \
+       SALOMEDS_SComponentIterator_i.hxx \
+       SALOMEDS_SelectableAttribute.hxx \
+       SALOMEDS_SequenceOfIntegerAttribute.hxx \
+       SALOMEDS_SequenceOfRealAttribute.hxx \
+       SALOMEDS_SObject.hxx \
+       SALOMEDS_SObject_i.hxx \
+       SALOMEDS_StudyBuilder.hxx \
+       SALOMEDS_StudyBuilder_i.hxx \
+       SALOMEDS_Study.hxx \
+       SALOMEDS_Study_i.hxx \
+       SALOMEDS_StudyManager.hxx \
+       SALOMEDS_StudyManager_i.hxx \
+       SALOMEDS_StudyPropertiesAttribute.hxx \
+       SALOMEDS_TableOfIntegerAttribute.hxx \
+       SALOMEDS_TableOfRealAttribute.hxx \
+       SALOMEDS_TableOfStringAttribute.hxx \
+       SALOMEDS_TargetAttribute.hxx \
+       SALOMEDS_TextColorAttribute.hxx \
+       SALOMEDS_TextHighlightColorAttribute.hxx \
+       SALOMEDS_UseCaseBuilder.hxx \
+       SALOMEDS_UseCaseBuilder_i.hxx \
+       SALOMEDS_UseCaseIterator.hxx \
+       SALOMEDS_UseCaseIterator_i.hxx \
+       SALOMEDS_AttributeParameter.hxx \
+       SALOMEDS_AttributeParameter_i.hxx \
+       SALOMEDS_TMPFile_i.hxx
+
+libSalomeDS_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSalomeDS_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeDS_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = SALOMEDS_Server SALOMEDS_Client
+
+SALOMEDS_Server_SOURCES  = SALOMEDS_Server.cxx
+SALOMEDS_Server_CPPFLAGS = $(COMMON_CPPFLAGS)
+SALOMEDS_Server_LDADD    = \
+       libSalomeDS.la $(COMMON_LIBS) \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       @CAS_OCAF@ \
+       @CORBA_LIBS@
+
+SALOMEDS_Client_SOURCES  = SALOMEDS_Client.cxx
+SALOMEDS_Client_CPPFLAGS = $(COMMON_CPPFLAGS)
+SALOMEDS_Client_LDADD    = \
+       libSalomeDS.la $(COMMON_LIBS) \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       -lTKLCAF -lTKMath \
+       @CORBA_LIBS@
+
diff --git a/src/SALOMEDS/Makefile.in b/src/SALOMEDS/Makefile.in
deleted file mode 100644 (file)
index 96fb1ae..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-#
-#  File   : Makefile.in
-#  Author : Sergey RUIN
-#  Module : SALOME
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = SALOME_DriverPy.py
-
-EXPORT_HEADERS= \
-       SALOMEDS_StudyManager_i.hxx \
-       SALOMEDS_Driver_i.hxx \
-       SALOMEDS_StudyManager.hxx \
-       SALOMEDS_Study_i.hxx \
-       SALOMEDS_Study.hxx \
-       SALOMEDS_SObject_i.hxx \
-       SALOMEDS_SObject.hxx \
-       SALOMEDS_SComponent_i.hxx \
-       SALOMEDS_SComponent.hxx \
-       SALOMEDS_GenericAttribute_i.hxx \
-       SALOMEDS_GenericAttribute.hxx
-
-# Libraries targets
-
-LIB = libSalomeDS.la
-LIB_SRC =      \
-                 SALOMEDS.cxx \
-                 SALOMEDS_Driver_i.cxx \
-                 SALOMEDS_StudyManager_i.cxx \
-                 SALOMEDS_UseCaseBuilder_i.cxx \
-                 SALOMEDS_UseCaseIterator_i.cxx \
-                 SALOMEDS_ChildIterator_i.cxx \
-                 SALOMEDS_SComponentIterator_i.cxx \
-                 SALOMEDS_Study_i.cxx \
-                 SALOMEDS_StudyBuilder_i.cxx \
-                 SALOMEDS_SObject_i.cxx \
-                 SALOMEDS_SComponent_i.cxx \
-                 SALOMEDS_GenericAttribute_i.cxx \
-                 SALOMEDS_AttributeComment_i.cxx \
-                 SALOMEDS_AttributeExternalFileDef_i.cxx \
-                 SALOMEDS_AttributeFileType_i.cxx \
-                 SALOMEDS_AttributeIOR_i.cxx \
-                 SALOMEDS_AttributeInteger_i.cxx \
-                 SALOMEDS_AttributeName_i.cxx \
-                 SALOMEDS_AttributePersistentRef_i.cxx \
-                 SALOMEDS_AttributeReal_i.cxx \
-                 SALOMEDS_AttributeSequenceOfReal_i.cxx \
-                 SALOMEDS_AttributeSequenceOfInteger_i.cxx \
-                 SALOMEDS_AttributeDrawable_i.cxx \
-                 SALOMEDS_AttributeSelectable_i.cxx \
-                 SALOMEDS_AttributeOpened_i.cxx \
-                 SALOMEDS_AttributeFlags_i.cxx \
-                 SALOMEDS_AttributeGraphic_i.cxx \
-                 SALOMEDS_AttributeExpandable_i.cxx \
-                 SALOMEDS_AttributeTextColor_i.cxx  \
-                 SALOMEDS_AttributeTextHighlightColor_i.cxx  \
-                 SALOMEDS_AttributePixMap_i.cxx  \
-                 SALOMEDS_AttributeTreeNode_i.cxx \
-                 SALOMEDS_AttributeLocalID_i.cxx \
-                 SALOMEDS_AttributeUserID_i.cxx \
-                 SALOMEDS_AttributeTarget_i.cxx \
-                 SALOMEDS_AttributeTableOfInteger_i.cxx \
-                 SALOMEDS_AttributeTableOfReal_i.cxx \
-                 SALOMEDS_AttributeTableOfString_i.cxx \
-                 SALOMEDS_AttributeStudyProperties_i.cxx \
-                 SALOMEDS_AttributePythonObject_i.cxx \
-                 SALOMEDS_SObject.cxx \
-                 SALOMEDS_SComponent.cxx \
-                 SALOMEDS_GenericAttribute.cxx \
-                 SALOMEDS_ChildIterator.cxx \
-                 SALOMEDS_SComponentIterator.cxx \
-                 SALOMEDS_UseCaseIterator.cxx \
-                 SALOMEDS_UseCaseBuilder.cxx \
-                 SALOMEDS_StudyBuilder.cxx \
-                 SALOMEDS_Study.cxx \
-                 SALOMEDS_StudyManager.cxx \
-                 SALOMEDS_AttributeStudyProperties.cxx \
-                 SALOMEDS_AttributeComment.cxx \
-                 SALOMEDS_AttributeDrawable.cxx \
-                 SALOMEDS_AttributeExpandable.cxx \
-                 SALOMEDS_AttributeExternalFileDef.cxx \
-                 SALOMEDS_AttributeFileType.cxx \
-                 SALOMEDS_AttributeFlags.cxx \
-                 SALOMEDS_AttributeGraphic.cxx \
-                 SALOMEDS_AttributeIOR.cxx \
-                 SALOMEDS_AttributeInteger.cxx \
-                 SALOMEDS_AttributeLocalID.cxx \
-                 SALOMEDS_AttributeName.cxx \
-                 SALOMEDS_AttributeOpened.cxx \
-                 SALOMEDS_AttributePythonObject.cxx \
-                 SALOMEDS_AttributeReal.cxx \
-                 SALOMEDS_AttributeSelectable.cxx \
-                 SALOMEDS_AttributeSequenceOfInteger.cxx \
-                 SALOMEDS_AttributePersistentRef.cxx \
-                 SALOMEDS_AttributePixMap.cxx \
-                 SALOMEDS_AttributeSequenceOfReal.cxx \
-                 SALOMEDS_AttributeTableOfInteger.cxx \
-                 SALOMEDS_AttributeTableOfReal.cxx \
-                 SALOMEDS_AttributeTableOfString.cxx \
-                 SALOMEDS_AttributeTarget.cxx \
-                 SALOMEDS_AttributeTextColor.cxx \
-                 SALOMEDS_AttributeTextHighlightColor.cxx \
-                 SALOMEDS_AttributeTreeNode.cxx \
-                 SALOMEDS_AttributeUserID.cxx
-
-
-# Executables targets
-BIN = SALOMEDS_Server SALOMEDS_Client
-BIN_SRC = 
-LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Exception.idl SALOME_GenericObj.idl
-BIN_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl
-BIN_CLIENT_IDL = 
-
-CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES) $(BOOST_CPPFLAGS)
-CXXFLAGS+=$(OCC_CXXFLAGS) $(BOOST_CPPFLAGS)
-LDFLAGS+= $(HDF5_LIBS) -lTOOLSDS -lSalomeNS -lSalomeHDFPersist -lOpUtil -lSALOMELocalTrace -lSalomeDSImpl -lSalomeGenericObj $(CAS_KERNEL) -lSalomeGenericObj -lSalomeLifeCycleCORBA
-
-# _CS_gbo_090604 Ajout Spécifique Calibre 3, pour l'utilisation de la version 5.12 de la bibliothèque OCC.
-# La bibliothèque OCC5.12 a Ã©té compilée sur Calibre 3 avec l'extention Xmu (impossible de compiler sans).
-# On est donc obligé ici, pour permettre l'édition de lien avec les bibliothèques OCC, de spécifier le
-# chemin d'accès aux bibliothèques Xmu
-#
-
-# _CS_gbo_090604 Ajout Sp.cifique Calibre 3, pour l'utilisation de la version 5.12 de la biblioth.que OCC.
-# La biblioth.que OCC5.12 a .t. compil.e sur Calibre 3 avec l'extention Xmu (impossible de compiler sans).
-# On est donc oblig. ici, pour permettre l'.dition de lien avec les biblioth.ques OCC, de sp.cifier le
-# chemin d'acc.s aux biblioth.ques Xmu
-#
-LDXMUFLAGS= -L/usr/X11R6/lib -lXmu
-LDFLAGS+=$(LDXMUFLAGS)
-LDFLAGSFORBIN= $(LDFLAGS) $(CAS_OCAF) -lRegistry -lSalomeNotification -lSalomeContainer -lSalomeResourcesManager -lSALOMEBasics
-
-@CONCLUDE@
-
-
index ae488ad0a7421c26faf12a33d44c5e809a4a9310..4a35577e12f33e2a9988df814177a7faed6b20ac 100644 (file)
 //  Module : SALOME
 //  $Header$
 
-
 #ifndef WNT
 #include <SALOMEDS.hxx>
+#include <SALOMEDS_StudyManager.hxx>
+#include <SALOMEDS_Study.hxx>
+#include <SALOMEDS_SObject.hxx>
+#include <SALOMEDS_SComponent.hxx>
+#include <SALOMEDSClient.hxx>
+#include <SALOMEDS_StudyManager_i.hxx>
 #else
 #include "SALOMEDS.hxx"
+#include "SALOMEDS_StudyManager.hxx"
+#include "SALOMEDS_Study.hxx"
+#include "SALOMEDS_SObject.hxx"
+#include "SALOMEDS_SComponent.hxx"
+#include "SALOMEDSClient.hxx"
+#include "SALOMEDS_StudyManager_i.hxx"
 #endif
 
+// IDL headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SALOMEDS)
+
 using namespace SALOMEDS;
 
 // PAL8065: san -- Global recursive mutex for SALOMEDS methods
@@ -55,3 +70,48 @@ void SALOMEDS::unlock()
 {
   Locker::MutexDS.unlock();
 }
+
+
+
+// srn: Added new library methods that create basic SALOMEDS objects (StudyManager, Study, SComponent, SObject)
+
+//=============================================================================
+/*!
+ * C factory, accessible with dlsym, after dlopen
+ */
+//=============================================================================
+
+
+extern "C"
+{
+
+SALOMEDSClient_StudyManager* StudyManagerFactory()
+{
+  return new SALOMEDS_StudyManager();
+}
+
+SALOMEDSClient_Study* StudyFactory(SALOMEDS::Study_ptr theStudy)
+{
+  return new SALOMEDS_Study(theStudy);
+}
+
+SALOMEDSClient_SObject* SObjectFactory(SALOMEDS::SObject_ptr theSObject)
+{
+  return new SALOMEDS_SObject(theSObject);
+}
+
+SALOMEDSClient_SComponent* SComponentFactory(SALOMEDS::SComponent_ptr theSComponent)
+{
+  return new SALOMEDS_SComponent(theSComponent);
+}
+
+SALOMEDSClient_StudyManager* CreateStudyManager(CORBA::ORB_ptr orb, PortableServer::POA_ptr root_poa)
+{
+  SALOMEDS_StudyManager_i * aStudyManager_i = new  SALOMEDS_StudyManager_i(orb, root_poa);
+  // Activate the objects.  This tells the POA that the objects are ready to accept requests.
+  PortableServer::ObjectId_var aStudyManager_iid =  root_poa->activate_object(aStudyManager_i);
+  aStudyManager_i->register_name("/myStudyManager");
+  return new SALOMEDS_StudyManager();
+}
+
+}
diff --git a/src/SALOMEDS/SALOMEDS_AttributeParameter.cxx b/src/SALOMEDS/SALOMEDS_AttributeParameter.cxx
new file mode 100644 (file)
index 0000000..897ca78
--- /dev/null
@@ -0,0 +1,481 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDS_AttributeParameter.cxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+#include "SALOMEDS_AttributeParameter.hxx"
+#include "SALOMEDS.hxx"
+
+#include <string>
+#include <TCollection_AsciiString.hxx> 
+
+//=======================================================================
+/*!
+ * Function : Constructor
+ * Purpose  : Creates a new instance of SALOMEDS_AttributeParameter
+ */
+//=======================================================================
+SALOMEDS_AttributeParameter::SALOMEDS_AttributeParameter(const Handle(SALOMEDSImpl_AttributeParameter)& theAttr)
+:SALOMEDS_GenericAttribute(theAttr)
+{}
+
+//=======================================================================
+/*!
+ * Function : Constructor
+ * Purpose  : Creates a new instance of SALOMEDS_AttributeParameter
+ */
+//=======================================================================
+SALOMEDS_AttributeParameter::SALOMEDS_AttributeParameter(SALOMEDS::AttributeParameter_ptr theAttr)
+:SALOMEDS_GenericAttribute(theAttr)
+{}
+
+//=======================================================================
+/*!
+ * Function : Destructor
+ * Purpose  : Destroys the instance of SALOMEDS_AttributeParameter
+ */
+//=======================================================================
+SALOMEDS_AttributeParameter::~SALOMEDS_AttributeParameter()
+{}
+
+//=======================================================================
+/*!
+ * Function : SetInt
+ * Purpose  : Associates a integer value with the ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter::SetInt(const string& theID, const int theValue) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->SetInt(theID, theValue);
+  }
+  else
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->SetInt(theID.c_str(), theValue);
+}
+
+//=======================================================================
+/*!
+ * Function : GetInt
+ * Purpose  : Returns a int value associated with the given ID
+ */
+//=======================================================================
+int SALOMEDS_AttributeParameter::GetInt(const string& theID) 
+{
+  int aValue;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    aValue = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetInt(theID);
+  }
+  else
+    aValue = SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetInt(theID.c_str());
+  return aValue;
+}
+
+//=======================================================================
+/*!
+ * Function : SetReal
+ * Purpose  : Associates a double value with the ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter::SetReal(const string& theID, const double& theValue) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->SetReal(theID, theValue);
+  }
+  else
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->SetReal(theID.c_str(), theValue);
+}
+//=======================================================================
+/*!
+ * Function : GetReal
+ * Purpose  : Returns a double value associated with the given ID
+ */
+//=======================================================================
+double SALOMEDS_AttributeParameter::GetReal(const string& theID) 
+{
+  double aValue;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    aValue = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetReal(theID);
+  }
+  else
+    aValue = SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetReal(theID.c_str());
+  return aValue;
+}
+
+//=======================================================================
+/*!
+ * Function : SetString
+ * Purpose  : Associates a string with the ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter::SetString(const string& theID, const string& theValue) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->SetString(theID, theValue);
+  }
+  else
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->SetString(theID.c_str(), theValue.c_str());
+}
+//=======================================================================
+/*!
+ * Function : GetString
+ * Purpose  : Returns a string associated with the given ID
+ */
+//=======================================================================
+string SALOMEDS_AttributeParameter::GetString(const string& theID) 
+{
+  string aValue;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    aValue = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetString(theID);
+  }
+  else
+    aValue = SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetString(theID.c_str());
+  return aValue;
+}
+  
+//=======================================================================
+/*!
+ * Function : SetBool
+ * Purpose  : Associates a bool value with the ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter::SetBool(const string& theID, const bool& theValue) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->SetBool(theID, theValue);
+  }
+  else
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->SetBool(theID.c_str(), theValue);
+}
+
+//=======================================================================
+/*!
+ * Function : GetBool
+ * Purpose  : Returns a bool value associated with the ID
+ */
+//=======================================================================
+bool SALOMEDS_AttributeParameter::GetBool(const string& theID) 
+{
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetBool(theID);
+  }
+  else
+    return SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetBool(theID.c_str());
+}
+  
+//=======================================================================
+/*!
+ * Function : SetRealArray
+ * Purpose  : Associates an array of double values with the given ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter::SetRealArray(const string& theID, const vector<double>& theArray) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->SetRealArray(theID, theArray);
+  }
+  else {
+    SALOMEDS::DoubleSeq_var aSeq = new SALOMEDS::DoubleSeq;
+    int length = theArray.size();
+    if(length) {
+      aSeq->length(length);
+      for(int i = 0; i<length; i++) aSeq[i] = theArray[i];
+    }
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->SetRealArray(theID.c_str(), aSeq);
+  }
+}
+//=======================================================================
+/*!
+ * Function : GetRealArray
+ * Purpose  : Returns an array of double values associated with the ID
+ */
+//=======================================================================
+vector<double> SALOMEDS_AttributeParameter::GetRealArray(const string& theID) 
+{
+  vector<double> v;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetRealArray(theID);
+  }
+  else {
+    SALOMEDS::DoubleSeq_var aSeq = SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetRealArray(theID.c_str());    
+    int length = aSeq->length();
+    if(length) {
+      v.resize(length);
+      for(int i = 0; i < length; i++) v[i] = aSeq[i];
+    }
+  }
+  return v;
+}
+
+//=======================================================================
+/*!
+ * Function : SetIntArray
+ * Purpose  : Associates an array of int values with the given ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter::SetIntArray(const string& theID, const vector<int>& theArray) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->SetIntArray(theID, theArray);
+  }
+  else {
+    SALOMEDS::LongSeq_var aSeq = new SALOMEDS::LongSeq;
+    int length = theArray.size();
+    if(length) {
+      aSeq->length(length);
+      for(int i = 0; i<length; i++) aSeq[i] = theArray[i];
+    }
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->SetIntArray(theID.c_str(), aSeq);
+  }
+}
+//=======================================================================
+/*!
+ * Function : GetIntArray
+ * Purpose  : Returns an array of int values associated with the ID
+ */
+//=======================================================================
+vector<int> SALOMEDS_AttributeParameter::GetIntArray(const string& theID) 
+{
+  vector<int> v;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetIntArray(theID);
+  }
+  else {
+    SALOMEDS::LongSeq_var aSeq = SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetIntArray(theID.c_str());    
+    int length = aSeq->length();
+    if(length) {
+      v.resize(length);
+      for(int i = 0; i < length; i++) v[i] = aSeq[i];
+    }
+  }
+  return v;
+}
+
+//=======================================================================
+/*!
+ * Function : SetStrArray
+ * Purpose  : Associates an array of string values with the given ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter::SetStrArray(const string& theID, const vector<string>& theArray) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->SetStrArray(theID, theArray);
+  }
+  else {
+    SALOMEDS::StringSeq_var aSeq = new SALOMEDS::StringSeq;
+    int length = theArray.size();
+    if(length) {
+      aSeq->length(length);
+      for(int i = 0; i<length; i++) aSeq[i] = CORBA::string_dup(theArray[i].c_str());
+    }
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->SetStrArray(theID.c_str(), aSeq);
+  }
+}
+//=======================================================================
+/*!
+ * Function : GetStrArray
+ * Purpose  : Returns an array of string values associated with the ID
+ */
+//=======================================================================
+vector<string> SALOMEDS_AttributeParameter::GetStrArray(const string& theID) 
+{
+  vector<string> v;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetStrArray(theID);
+  }
+  else {
+    SALOMEDS::StringSeq_var aSeq = SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetStrArray(theID.c_str());    
+    int length = aSeq->length();
+    if(length) {
+      v.resize(length);
+      for(int i = 0; i < length; i++) v[i] = string(aSeq[i].in());
+    }
+  }
+  return v;
+}
+
+
+//=======================================================================
+/*!
+ * Function : IsSet
+ * Purpose  : Returns true if for the ID of given type was assigned \n
+ *            a value in the attribute
+ */
+//======================================================================= 
+bool SALOMEDS_AttributeParameter::IsSet(const string& theID, const int theType) 
+{
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->IsSet(theID, (Parameter_Types)theType);
+  }
+  else 
+    return SALOMEDS::AttributeParameter::_narrow(_corba_impl)->IsSet(theID.c_str(), theType);
+}
+
+//=======================================================================
+/*!
+ * Function : RemoveID
+ * Purpose  : Removes a parameter with given ID
+ */
+//======================================================================= 
+bool SALOMEDS_AttributeParameter::RemoveID(const string& theID, const int theType) 
+{
+  CheckLocked();
+
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->RemoveID(theID, (Parameter_Types)theType);
+  }
+  else
+    return SALOMEDS::AttributeParameter::_narrow(_corba_impl)->RemoveID(theID.c_str(), theType);
+}
+
+//=======================================================================
+/*!
+ * Function : GetFather
+ * Purpose  : Returns a father attribute for this attribute
+ */
+//=======================================================================
+_PTR(AttributeParameter) SALOMEDS_AttributeParameter::GetFather() 
+{
+  SALOMEDSClient_AttributeParameter* AP = NULL;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter) AP_impl = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->GetFather();
+    if(AP_impl.IsNull()) return _PTR(AttributeParameter)(AP);
+    AP = new SALOMEDS_AttributeParameter(AP_impl);
+  }
+  else {
+    SALOMEDS::AttributeParameter_var AP_impl = SALOMEDS::AttributeParameter::_narrow(_corba_impl)->GetFather();
+    if(CORBA::is_nil(AP_impl)) return _PTR(AttributeParameter)(AP);
+    AP = new SALOMEDS_AttributeParameter(AP_impl);
+  }
+  
+  return _PTR(AttributeParameter)(AP);
+}
+
+//=======================================================================
+/*!
+ * Function : HasFather
+ * Purpose  : Returns True if the attribute has a father attribute
+ */
+//======================================================================= 
+bool SALOMEDS_AttributeParameter::HasFather() 
+{
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->HasFather();
+  }
+  else 
+    return SALOMEDS::AttributeParameter::_narrow(_corba_impl)->HasFather();
+}
+
+//=======================================================================
+/*!
+ * Function : IsRoot
+ * Purpose  : Returns True is the attribute is highest in an hierachy
+ */
+//=======================================================================
+bool SALOMEDS_AttributeParameter::IsRoot()
+{
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->IsRoot();
+  }
+  else 
+    return SALOMEDS::AttributeParameter::_narrow(_corba_impl)->IsRoot();
+}
+
+//=======================================================================
+/*!
+ * Function : Clear
+ * Purpose  : Clears the content of the attribute
+ */
+//======================================================================= 
+void SALOMEDS_AttributeParameter::Clear() 
+{
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl)->Clear();
+  }
+  else 
+    SALOMEDS::AttributeParameter::_narrow(_corba_impl)->Clear();
+}
+
+//=======================================================================
+/*!
+ * Function : GetIDs
+ * Purpose  : Returns an array of all ID's of the given type
+ */
+//=======================================================================
+vector<string> SALOMEDS_AttributeParameter::GetIDs(const int theType)
+{
+  vector<string> v;
+  if(_isLocal) {
+    SALOMEDS::Locker lock; 
+    Handle(SALOMEDSImpl_AttributeParameter) AP_impl = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_local_impl);
+    return AP_impl->GetIDs((Parameter_Types)theType);
+  }
+  else {
+    SALOMEDS::AttributeParameter_var AP_impl = SALOMEDS::AttributeParameter::_narrow(_corba_impl);
+    SALOMEDS::StringSeq_var CorbaSeq = AP_impl->GetIDs(theType);
+    int length = CorbaSeq->length();
+    if(length) {
+      v.resize(length);
+      for(int i = 0; i <length; i++) v[i] = string(CorbaSeq[i].in());
+    }
+  }
+
+  return v;
+}
diff --git a/src/SALOMEDS/SALOMEDS_AttributeParameter.hxx b/src/SALOMEDS/SALOMEDS_AttributeParameter.hxx
new file mode 100644 (file)
index 0000000..9a7d0dd
--- /dev/null
@@ -0,0 +1,77 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDS_AttributeParameter.hxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+#ifndef SALOMEDS_AttributeParameter_HeaderFile
+#define SALOMEDS_AttributeParameter_HeaderFile
+
+#include "SALOMEDSClient_AttributeParameter.hxx"
+#include "SALOMEDS_GenericAttribute.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
+
+// IDL headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SALOMEDS)
+#include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
+
+class SALOMEDS_AttributeParameter: public SALOMEDS_GenericAttribute, public SALOMEDSClient_AttributeParameter
+{
+public:  
+  SALOMEDS_AttributeParameter(const Handle(SALOMEDSImpl_AttributeParameter)& theAttr);
+  SALOMEDS_AttributeParameter(SALOMEDS::AttributeParameter_ptr theAttr);
+  ~SALOMEDS_AttributeParameter();
+
+  virtual void SetInt(const std::string& theID, const int theValue);
+  virtual int GetInt(const std::string& theID);
+
+  virtual void SetReal(const std::string& theID, const double& theValue);
+  virtual double GetReal(const std::string& theID);
+
+  virtual void SetString(const std::string& theID, const std::string& theValue);
+  virtual std::string GetString(const std::string& theID);
+  
+  virtual void SetBool(const std::string& theID, const bool& theValue);
+  virtual bool GetBool(const std::string& theID);
+  
+  virtual void SetRealArray(const std::string& theID, const std::vector<double>& theArray);
+  virtual std::vector<double> GetRealArray(const std::string& theID);
+  
+  virtual void SetIntArray(const std::string& theID, const std::vector<int>& theArray);
+  virtual std::vector<int> GetIntArray(const std::string& theID);
+
+  virtual void SetStrArray(const std::string& theID, const std::vector<std::string>& theArray);
+  virtual std::vector<std::string> GetStrArray(const std::string& theID);
+
+  virtual bool IsSet(const std::string& theID, const int theType);
+  
+  virtual bool RemoveID(const std::string& theID, const int theType);
+
+  virtual _PTR(AttributeParameter) GetFather();
+  virtual bool HasFather();
+  virtual bool IsRoot();
+  
+  virtual void Clear();
+
+  virtual std::vector<std::string> GetIDs(const int theType);
+};
+
+#endif
diff --git a/src/SALOMEDS/SALOMEDS_AttributeParameter_i.cxx b/src/SALOMEDS/SALOMEDS_AttributeParameter_i.cxx
new file mode 100644 (file)
index 0000000..ff5023d
--- /dev/null
@@ -0,0 +1,347 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDS_AttributeParameter_i.cxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+
+#include "SALOMEDS_AttributeParameter_i.hxx"
+#include "SALOMEDS.hxx"
+#include <TCollection_AsciiString.hxx>
+
+#include <vector>
+
+using namespace std;
+
+//=======================================================================
+/*!
+ * Function : SetInt
+ * Purpose  : Associates a integer value with the ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter_i::SetInt(const char* theID, CORBA::Long theValue)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->SetInt(theID, theValue);
+}
+
+//=======================================================================
+/*!
+ * Function : GetInt
+ * Purpose  : Returns a int value associated with the given ID
+ */
+//=======================================================================
+CORBA::Long SALOMEDS_AttributeParameter_i::GetInt(const char* theID)
+{
+  SALOMEDS::Locker lock; 
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->GetInt(theID);
+}
+
+//=======================================================================
+/*!
+ * Function : SetReal
+ * Purpose  : Associates a double value with the ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter_i::SetReal(const char* theID, const CORBA::Double theValue)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->SetReal(theID, theValue);
+}
+
+//=======================================================================
+/*!
+ * Function : GetReal
+ * Purpose  : Returns a double value associated with the given ID
+ */
+//=======================================================================
+CORBA::Double SALOMEDS_AttributeParameter_i::GetReal(const char* theID)
+{
+  SALOMEDS::Locker lock; 
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->GetReal(theID);
+}
+
+//=======================================================================
+/*!
+ * Function : SetString
+ * Purpose  : Associates a string with the ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter_i::SetString(const char* theID, const char* theValue)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  Handle(SALOMEDSImpl_AttributeParameter) impl = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl);
+  impl->SetString(theID, theValue);
+}
+
+//=======================================================================
+/*!
+ * Function : GetString
+ * Purpose  : Returns a string associated with the given ID
+ */
+//=======================================================================
+char* SALOMEDS_AttributeParameter_i::GetString(const char* theID)
+{
+  SALOMEDS::Locker lock; 
+  Handle(SALOMEDSImpl_AttributeParameter) impl = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl);
+  CORBA::String_var c_s = CORBA::string_dup(impl->GetString(theID).c_str());
+  return c_s._retn();
+}
+
+//=======================================================================
+/*!
+ * Function : SetBool
+ * Purpose  : Associates a bool value with the ID
+ */
+//=======================================================================  
+void SALOMEDS_AttributeParameter_i::SetBool(const char* theID, CORBA::Boolean theValue)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->SetBool(theID, theValue);
+}
+
+//=======================================================================
+/*!
+ * Function : GetBool
+ * Purpose  : Returns a bool value associated with the ID
+ */
+//=======================================================================
+CORBA::Boolean SALOMEDS_AttributeParameter_i::GetBool(const char* theID)
+{
+  SALOMEDS::Locker lock; 
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->GetBool(theID);
+}
+  
+//=======================================================================
+/*!
+ * Function : SetRealArray
+ * Purpose  : Associates an array of double values with the given ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter_i::SetRealArray(const char* theID, const SALOMEDS::DoubleSeq& theArray)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  vector<double> v;
+  int length = theArray.length();
+  if(length) {
+    v.resize(length);
+    for(int i = 0; i<length; i++) v[i] = theArray[i];
+  }
+  Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->SetRealArray(theID, v);
+}
+
+//=======================================================================
+/*!
+ * Function : GetRealArray
+ * Purpose  : Returns an array of double values associated with the ID
+ */
+//=======================================================================
+SALOMEDS::DoubleSeq* SALOMEDS_AttributeParameter_i::GetRealArray(const char* theID)
+{
+  SALOMEDS::Locker lock; 
+  SALOMEDS::DoubleSeq_var aSeq = new SALOMEDS::DoubleSeq;
+  vector<double> v = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->GetRealArray(theID);
+  int length = v.size();
+  if(length) {
+    aSeq->length(length);
+    for(int i = 0; i<length; i++) aSeq[i] = v[i];
+  }
+  return aSeq._retn();
+}
+//=======================================================================
+/*!
+ * Function : SetIntArray
+ * Purpose  : Associates an array of int values with the given ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter_i::SetIntArray(const char* theID, const SALOMEDS::LongSeq& theArray)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  vector<int> v;
+  int length = theArray.length();
+  if(length) {
+    v.resize(length);
+    for(int i = 0; i<length; i++) v[i] = theArray[i];
+  }
+  Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->SetIntArray(theID, v);
+}
+
+//=======================================================================
+/*!
+ * Function : GetIntArray
+ * Purpose  : Returns an array of int values associated with the ID
+ */
+//=======================================================================
+SALOMEDS::LongSeq* SALOMEDS_AttributeParameter_i::GetIntArray(const char* theID)
+{
+  SALOMEDS::Locker lock; 
+  SALOMEDS::LongSeq_var aSeq = new SALOMEDS::LongSeq;
+  vector<int> v = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->GetIntArray(theID);
+  int length = v.size();
+  if(length) {
+    aSeq->length(length);
+    for(int i = 0; i<length; i++) aSeq[i] = v[i];
+  }
+  return aSeq._retn();
+}
+  
+//=======================================================================
+/*!
+ * Function : SetStrArray
+ * Purpose  : Associates an array of string values with the given ID
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter_i::SetStrArray(const char* theID, const SALOMEDS::StringSeq& theArray)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  vector<string> v;
+  int length = theArray.length();
+  if(length) {
+    v.resize(length);
+    for(int i = 0; i<length; i++) v[i] = string(theArray[i].in());
+  }
+  Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->SetStrArray(theID, v);
+}
+
+//=======================================================================
+/*!
+ * Function : GetStrArray
+ * Purpose  : Returns an array of string values associated with the ID
+ */
+//=======================================================================
+SALOMEDS::StringSeq* SALOMEDS_AttributeParameter_i::GetStrArray(const char* theID)
+{
+  SALOMEDS::Locker lock; 
+  SALOMEDS::StringSeq_var aSeq = new SALOMEDS::StringSeq;
+  vector<string> v = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->GetStrArray(theID);
+  int length = v.size();
+  if(length) {
+    aSeq->length(length);
+    for(int i = 0; i<length; i++) aSeq[i] = CORBA::string_dup(v[i].c_str());
+  }
+  return aSeq._retn();
+}
+  
+//=======================================================================
+/*!
+ * Function : IsSet
+ * Purpose  : Returns true if for the ID of given type was assigned \n
+ *            a value in the attribute
+ */
+//=======================================================================
+CORBA::Boolean SALOMEDS_AttributeParameter_i::IsSet(const char* theID, CORBA::Long theType)
+{
+  SALOMEDS::Locker lock; 
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->IsSet(theID, (Parameter_Types)theType);
+}
+
+//=======================================================================
+/*!
+ * Function : RemoveID
+ * Purpose  : Removes a parameter with given ID
+ */
+//=======================================================================  
+CORBA::Boolean SALOMEDS_AttributeParameter_i::RemoveID(const char* theID, CORBA::Long theType)
+{
+  SALOMEDS::Locker lock; 
+  CheckLocked();
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->RemoveID(theID, (Parameter_Types)theType);
+}
+
+//=======================================================================
+/*!
+ * Function : GetFather
+ * Purpose  : Returns a father attribute for this attribute
+ */
+//=======================================================================
+SALOMEDS::AttributeParameter_ptr SALOMEDS_AttributeParameter_i::GetFather()
+{
+  SALOMEDS::Locker lock; 
+  Handle(SALOMEDSImpl_AttributeParameter) impl = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl);
+  SALOMEDS_AttributeParameter_i* attr = new SALOMEDS_AttributeParameter_i(impl, _orb);
+  return attr->AttributeParameter::_this();
+}
+
+//=======================================================================
+/*!
+ * Function : HasFather
+ * Purpose  : Returns True if the attribute has a father attribute
+ */
+//=======================================================================
+CORBA::Boolean SALOMEDS_AttributeParameter_i::HasFather()
+{
+  SALOMEDS::Locker lock; 
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->HasFather();
+}
+
+//=======================================================================
+/*!
+ * Function : IsRoot
+ * Purpose  : Returns True is the attribute is highest in an hierachy
+ */
+//=======================================================================
+CORBA::Boolean SALOMEDS_AttributeParameter_i::IsRoot()
+{
+  SALOMEDS::Locker lock; 
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->IsRoot();
+}
+
+//=======================================================================
+/*!
+ * Function : IsRoot
+ * Purpose  : Clears the content of the attribute
+ */
+//=======================================================================
+void SALOMEDS_AttributeParameter_i::Clear()
+{
+  SALOMEDS::Locker lock; 
+  Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->Clear();
+}
+
+
+//=======================================================================
+/*!
+ * Function : GetIDs
+ * Purpose  : Returns an array of all ID's of the given type
+ */
+//=======================================================================
+SALOMEDS::StringSeq* SALOMEDS_AttributeParameter_i::GetIDs(CORBA::Long theType)
+{
+  SALOMEDS::Locker lock; 
+  SALOMEDS::StringSeq_var CorbaSeq = new SALOMEDS::StringSeq;
+  vector<string> A = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(_impl)->GetIDs((Parameter_Types)theType);
+
+  if(A.size()) {
+    int length = A.size();
+    CorbaSeq->length(length);
+    for (int i = 0; i < length; i++) CorbaSeq[i] = CORBA::string_dup(A[i].c_str());;
+  }
+
+  return CorbaSeq._retn();
+}
diff --git a/src/SALOMEDS/SALOMEDS_AttributeParameter_i.hxx b/src/SALOMEDS/SALOMEDS_AttributeParameter_i.hxx
new file mode 100644 (file)
index 0000000..c393a20
--- /dev/null
@@ -0,0 +1,89 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDS_AttributeParameter_i.hxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+//  $Header:
+
+#ifndef SALOMEDS_AttributeParameter_i_HeaderFile
+#define SALOMEDS_AttributeParameter_i_HeaderFile
+
+// IDL headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
+
+#include "SALOMEDS_GenericAttribute_i.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
+
+/*!
+ Class: SALOMEDS_AttributeParameter
+ Description : AttributeParameter is a universal container of basic types 
+*/
+
+class SALOMEDS_AttributeParameter_i: public virtual POA_SALOMEDS::AttributeParameter,
+                                    public virtual SALOMEDS_GenericAttribute_i 
+{
+public:
+  
+  SALOMEDS_AttributeParameter_i(const Handle(SALOMEDSImpl_AttributeParameter)& theAttr, CORBA::ORB_ptr orb) 
+    :SALOMEDS_GenericAttribute_i(theAttr, orb) {}; 
+
+  ~SALOMEDS_AttributeParameter_i() {};
+
+
+  virtual void SetInt(const char* theID, CORBA::Long theValue);
+  virtual CORBA::Long GetInt(const char* theID);
+
+  virtual void SetReal(const char* theID, const CORBA::Double theValue);
+  virtual CORBA::Double GetReal(const char* theID);
+
+  virtual void SetString(const char* theID, const char* theValue);
+  virtual char* GetString(const char* theID);
+  
+  virtual void SetBool(const char* theID, CORBA::Boolean theValue);
+  virtual CORBA::Boolean GetBool(const char* theID);
+  
+  virtual void SetRealArray(const char* theID, const SALOMEDS::DoubleSeq& theArray);
+  virtual SALOMEDS::DoubleSeq* GetRealArray(const char* theID);
+
+  virtual void SetIntArray(const char* theID, const SALOMEDS::LongSeq& theArray);
+  virtual SALOMEDS::LongSeq* GetIntArray(const char* theID);
+
+  virtual void SetStrArray(const char* theID, const SALOMEDS::StringSeq& theArray);
+  virtual SALOMEDS::StringSeq* GetStrArray(const char* theID);
+  
+  virtual CORBA::Boolean IsSet(const char* theID, CORBA::Long theType);
+  
+  virtual CORBA::Boolean RemoveID(const char* theID, CORBA::Long theType);
+
+  virtual SALOMEDS::AttributeParameter_ptr GetFather();
+  virtual CORBA::Boolean HasFather();
+  virtual CORBA::Boolean IsRoot();
+
+  virtual void Clear();
+
+  virtual SALOMEDS::StringSeq* GetIDs(CORBA::Long theType);
+
+};
+
+
+
+
+#endif
index a0c5586ebf09daf4101a74a5685a40017e9cb5f0..e21925101805e30954c61d69232746a73d5f7d7d 100644 (file)
@@ -54,6 +54,7 @@
 #include "SALOMEDSImpl_AttributeFileType.hxx"
 #include "SALOMEDSImpl_AttributeFlags.hxx"
 #include "SALOMEDSImpl_AttributeGraphic.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
 
 #include "SALOMEDS_GenericAttribute_i.hxx"
 #include "SALOMEDS_AttributeName_i.hxx"
@@ -84,6 +85,7 @@
 #include "SALOMEDS_AttributeFileType_i.hxx"
 #include "SALOMEDS_AttributeFlags_i.hxx"
 #include "SALOMEDS_AttributeGraphic_i.hxx"
+#include "SALOMEDS_AttributeParameter_i.hxx"
 
 #define __CreateCORBAAttribute(CORBA_Name) if (strcmp(aTypeOfAttribute, #CORBA_Name) == 0) { \
     Handle(SALOMEDSImpl_##CORBA_Name) A = Handle(SALOMEDSImpl_##CORBA_Name)::DownCast(theAttr); \
@@ -121,6 +123,7 @@ __CreateCORBAAttribute(AttributeFileType) \
 __CreateCORBAAttribute(AttributeFlags) \
 __CreateCORBAAttribute(AttributeGraphic) \
 __CreateCORBAAttribute(AttributeTreeNode) \
-__CreateCORBAAttribute(AttributeUserID)
+__CreateCORBAAttribute(AttributeUserID) \
+__CreateCORBAAttribute(AttributeParameter)
 
 #endif
index 47105d5f39c498e8b05e1d8da2a38dd442535ec0..c0bd6ecac2dc4ddd6fb09d58ae89007536f4a356 100644 (file)
@@ -55,6 +55,7 @@
 #include "SALOMEDSImpl_AttributeFileType.hxx"
 #include "SALOMEDSImpl_AttributeFlags.hxx"
 #include "SALOMEDSImpl_AttributeGraphic.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
 
 #include "SALOMEDS_GenericAttribute.hxx"
 #include "SALOMEDS_AttributeName.hxx"
@@ -85,6 +86,7 @@
 #include "SALOMEDS_AttributeFileType.hxx"
 #include "SALOMEDS_AttributeFlags.hxx"
 #include "SALOMEDS_AttributeGraphic.hxx"
+#include "SALOMEDS_AttributeParameter.hxx"
 
 #define __CreateClientAttributeLocal(CORBA_Name) if (strcmp(aTypeOfAttribute.c_str(), #CORBA_Name) == 0) { \
     Handle(SALOMEDSImpl_##CORBA_Name) A = Handle(SALOMEDSImpl_##CORBA_Name)::DownCast(theGA); \
@@ -124,7 +126,8 @@ __CreateClientAttributeLocal(AttributeFileType) \
 __CreateClientAttributeLocal(AttributeFlags) \
 __CreateClientAttributeLocal(AttributeGraphic) \
 __CreateClientAttributeLocal(AttributeTreeNode) \
-__CreateClientAttributeLocal(AttributeUserID)
+__CreateClientAttributeLocal(AttributeUserID) \
+__CreateClientAttributeLocal(AttributeParameter)
 
 #define __CreateGenericClientAttributeCORBA \
 __CreateClientAttributeCORBA(AttributeReal) \
@@ -154,6 +157,7 @@ __CreateClientAttributeCORBA(AttributeFileType) \
 __CreateClientAttributeCORBA(AttributeFlags) \
 __CreateClientAttributeCORBA(AttributeGraphic) \
 __CreateClientAttributeCORBA(AttributeTreeNode) \
-__CreateClientAttributeCORBA(AttributeUserID)
+__CreateClientAttributeCORBA(AttributeUserID) \
+__CreateClientAttributeCORBA(AttributeParameter)
 
 #endif
index 2f4f085cafd11e210ed674aaf88580ed690da481..d9995703fbda47517320b58c020d53dc06eb2bb7 100644 (file)
@@ -20,6 +20,7 @@
 
 
 #include "SALOMEDS_Driver_i.hxx"
+#include <SALOMEDS_TMPFile_i.hxx>
 #include "utilities.h"
 #include "SALOMEDS_SObject_i.hxx"
 #include "SALOMEDS_SComponent_i.hxx"
@@ -33,44 +34,38 @@ SALOMEDS_Driver_i::~SALOMEDS_Driver_i()
 {
 }
 
-unsigned char* SALOMEDS_Driver_i::Save(const Handle(SALOMEDSImpl_SComponent)& theComponent,
-                                      const TCollection_AsciiString& theURL,
-                                      long& theStreamLength,
-                                      bool isMultiFile)
+Handle(SALOMEDSImpl_TMPFile) SALOMEDS_Driver_i::Save(const Handle(SALOMEDSImpl_SComponent)& theComponent,
+                                                    const TCollection_AsciiString& theURL,
+                                                    long& theStreamLength,
+                                                    bool isMultiFile)
 {  
   SALOMEDS::SComponent_var sco = SALOMEDS_SComponent_i::New (theComponent, _orb);
-  SALOMEDS::TMPFile_var aStream;
   CORBA::String_var url = CORBA::string_dup(theURL.ToCString());
+
   SALOMEDS::unlock();
-  aStream = _driver->Save(sco.in(), url, isMultiFile);
+  SALOMEDS::TMPFile_var aStream = _driver->Save(sco.in(), url, isMultiFile);
+  Handle(SALOMEDSImpl_TMPFile) aTMPFile(new SALOMEDS_TMPFile_i(aStream._retn()));
+  theStreamLength = aTMPFile->Size();
   SALOMEDS::lock();
-  theStreamLength = aStream->length();
-  unsigned char* aRetStream = NULL;
-  if (theStreamLength > 0) {
-    aRetStream = new unsigned char[theStreamLength];
-    memcpy(aRetStream, aStream->NP_data(), theStreamLength);
-  }
-  return aRetStream;
+
+  return aTMPFile;
 }
 
-unsigned char* SALOMEDS_Driver_i::SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent,
-                                           const TCollection_AsciiString& theURL,
-                                           long& theStreamLength,
-                                           bool isMultiFile)
+Handle(SALOMEDSImpl_TMPFile) SALOMEDS_Driver_i::SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent,
+                                                         const TCollection_AsciiString& theURL,
+                                                         long& theStreamLength,
+                                                         bool isMultiFile)
 {
   SALOMEDS::SComponent_var sco = SALOMEDS_SComponent_i::New (theComponent, _orb);
-  SALOMEDS::TMPFile_var aStream;
   CORBA::String_var url = CORBA::string_dup(theURL.ToCString());
+
   SALOMEDS::unlock();
-  aStream = _driver->SaveASCII(sco.in(), url, isMultiFile);
+  SALOMEDS::TMPFile_var aStream = _driver->SaveASCII(sco.in(), url, isMultiFile);
+  Handle(SALOMEDSImpl_TMPFile) aTMPFile(new SALOMEDS_TMPFile_i(aStream._retn()));
+  theStreamLength = aTMPFile->Size();
   SALOMEDS::lock();
-  theStreamLength = aStream->length();
-  unsigned char* aRetStream = NULL;
-  if (theStreamLength > 0) {
-    aRetStream = new unsigned char[theStreamLength];
-    memcpy(aRetStream, aStream->NP_data(), theStreamLength);
-  }
-  return aRetStream; 
+
+  return aTMPFile;
 }
   
 bool SALOMEDS_Driver_i::Load(const Handle(SALOMEDSImpl_SComponent)& theComponent,
@@ -92,6 +87,7 @@ bool SALOMEDS_Driver_i::Load(const Handle(SALOMEDSImpl_SComponent)& theComponent
   SALOMEDS::unlock();
   bool isOk = _driver->Load(sco.in(), aStream.in(), url, isMultiFile);
   SALOMEDS::lock();
+
   return isOk;
 }
 
@@ -114,12 +110,14 @@ bool SALOMEDS_Driver_i::LoadASCII(const Handle(SALOMEDSImpl_SComponent)& theComp
   SALOMEDS::unlock();
   bool isOk = _driver->LoadASCII(sco.in(), aStream.in(), url, isMultiFile);
   SALOMEDS::lock();
+
   return isOk;
 }
 
 void SALOMEDS_Driver_i::Close(const Handle(SALOMEDSImpl_SComponent)& theComponent)
 {
   SALOMEDS::SComponent_var sco = SALOMEDS_SComponent_i::New (theComponent, _orb);
+
   SALOMEDS::unlock();
   _driver->Close(sco.in());
   SALOMEDS::lock();
@@ -134,9 +132,11 @@ TCollection_AsciiString SALOMEDS_Driver_i::IORToLocalPersistentID(const Handle(S
 {
   SALOMEDS::SObject_var so = SALOMEDS_SObject_i::New (theSObject, _orb);
   CORBA::String_var ior = CORBA::string_dup(IORString.ToCString());
+
   SALOMEDS::unlock();
   CORBA::String_var pers_string =_driver->IORToLocalPersistentID(so.in(), ior.in(), isMultiFile, isASCII);
   SALOMEDS::lock();
+
   return TCollection_AsciiString(pers_string);
 }
 
@@ -157,35 +157,30 @@ TCollection_AsciiString SALOMEDS_Driver_i::LocalPersistentIDToIOR(const Handle(S
 bool SALOMEDS_Driver_i::CanCopy(const Handle(SALOMEDSImpl_SObject)& theObject)
 {
   SALOMEDS::SObject_var so = SALOMEDS_SObject_i::New (theObject, _orb);
+
   SALOMEDS::unlock();
   bool isOk = _driver->CanCopy(so.in());
   SALOMEDS::lock();
+
   return isOk;
 }
 
 
-unsigned char* SALOMEDS_Driver_i::CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, 
-                                          int& theObjectID,
-                                          long& theStreamLength)
+Handle(SALOMEDSImpl_TMPFile) SALOMEDS_Driver_i::CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, 
+                                                        int& theObjectID,
+                                                        long& theStreamLength)
 {
   SALOMEDS::SObject_var so = SALOMEDS_SObject_i::New (theObject, _orb);
-  SALOMEDS::TMPFile_var aStream;
-  CORBA::Long anObjectID;
 
   SALOMEDS::unlock();
-  aStream = _driver->CopyFrom(so.in(), anObjectID);
-  SALOMEDS::lock();
-
+  CORBA::Long anObjectID;
+  SALOMEDS::TMPFile_var aStream = _driver->CopyFrom(so.in(), anObjectID);
+  Handle(SALOMEDSImpl_TMPFile) aTMPFile(new SALOMEDS_TMPFile_i(aStream._retn()));
+  theStreamLength = aTMPFile->Size();
   theObjectID = anObjectID;
-  theStreamLength = aStream->length();
-
-  unsigned char* aRetStream = NULL;
-  if(theStreamLength > 0) {
-    aRetStream = new unsigned char[theStreamLength];
-    memcpy(aRetStream, aStream->NP_data(), theStreamLength);
-  }
+  SALOMEDS::lock();
 
-  return aRetStream;
+  return aTMPFile;
 }
 
 bool SALOMEDS_Driver_i::CanPaste(const TCollection_AsciiString& theComponentName, int theObjectID)
@@ -217,30 +212,24 @@ TCollection_AsciiString SALOMEDS_Driver_i::PasteInto(const unsigned char* theStr
   return TCollection_AsciiString((char*)ret_so->GetID());
 }
 
-unsigned char* SALOMEDS_Driver_i::DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, 
-                                            bool isPublished, 
-                                            bool& isValidScript,
-                                            long& theStreamLength)
+Handle(SALOMEDSImpl_TMPFile) SALOMEDS_Driver_i::DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, 
+                                                          bool isPublished, 
+                                                          bool& isValidScript,
+                                                          long& theStreamLength)
 {
   SALOMEDS_Study_i *  st_servant = new SALOMEDS_Study_i (theStudy, _orb);
   SALOMEDS::Study_var st  = SALOMEDS::Study::_narrow(st_servant->_this());
-  Engines::TMPFile_var aStream;
-  CORBA::Boolean aValidScript, aPublished;
-  aPublished = isPublished;
   Engines::Component_ptr aComponent = Engines::Component::_narrow(_driver);
+
   SALOMEDS::unlock();
-  aStream = aComponent->DumpPython(st.in(), aPublished, aValidScript);
-  SALOMEDS::lock();
+  CORBA::Boolean aValidScript, aPublished = isPublished;
+  Engines::TMPFile_var aStream = aComponent->DumpPython(st.in(), aPublished, aValidScript);
+  Handle(SALOMEDSImpl_TMPFile) aTMPFile(new Engines_TMPFile_i(aStream._retn()));
+  theStreamLength = aTMPFile->Size();
   isValidScript = aValidScript;
-  theStreamLength = aStream->length();
-  unsigned char* aRetStream = NULL;
-
-  if(theStreamLength > 0) {
-    aRetStream = new unsigned char[theStreamLength];
-    memcpy(aRetStream, aStream->NP_data(), theStreamLength);
-  }
+  SALOMEDS::lock();
 
-  return aRetStream;
+  return aTMPFile;
 }
 
 //###############################################################################################################
index ae49cdba2ebb6171b0d6fa67704f6101eaac1693..cf689687b282c0c0288c66b2abaae2768e77af12 100644 (file)
@@ -52,15 +52,15 @@ public:
       return TCollection_AsciiString(ior);
     }
 
-  virtual unsigned char* Save(const Handle(SALOMEDSImpl_SComponent)& theComponent,
-                             const TCollection_AsciiString& theURL,
-                             long& theStreamLength,
-                             bool isMultiFile);
-
-  virtual unsigned char* SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent,
-                                  const TCollection_AsciiString& theURL,
-                                  long& theStreamLength,
-                                  bool isMultiFile);
+  virtual Handle(SALOMEDSImpl_TMPFile) Save(const Handle(SALOMEDSImpl_SComponent)& theComponent,
+                                           const TCollection_AsciiString& theURL,
+                                           long& theStreamLength,
+                                           bool isMultiFile);
+
+  virtual Handle(SALOMEDSImpl_TMPFile) SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent,
+                                                const TCollection_AsciiString& theURL,
+                                                long& theStreamLength,
+                                                bool isMultiFile);
   
   virtual bool Load(const Handle(SALOMEDSImpl_SComponent)& theComponent,
                    const unsigned char* theStream,
@@ -95,10 +95,10 @@ public:
 
   virtual bool CanCopy(const Handle(SALOMEDSImpl_SObject)& theObject);
 
-  virtual unsigned char* CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, 
-                                 int& theObjectID,
-                                 long& theStreamLength);
-
+  virtual Handle(SALOMEDSImpl_TMPFile) CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, 
+                                               int& theObjectID,
+                                               long& theStreamLength);
+  
   virtual bool CanPaste(const TCollection_AsciiString& theComponentName, int theObjectID);
 
   virtual TCollection_AsciiString PasteInto(const unsigned char* theStream,
@@ -106,10 +106,10 @@ public:
                                            int theObjectID,
                                            const Handle(SALOMEDSImpl_SObject)& theObject);
 
-  virtual unsigned char* DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, 
-                                   bool isPublished, 
-                                   bool& isValidScript,
-                                   long& theStreamLength);
+  virtual Handle(SALOMEDSImpl_TMPFile) DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, 
+                                                 bool isPublished, 
+                                                 bool& isValidScript,
+                                                 long& theStreamLength);
 };
 
 #include "SALOME_NamingService.hxx"
index dcfc754948b8c23c9f4c4d8da241e7da7e719709..c3a37cdd5835909ad594adde3e0c3298729d8e1f 100644 (file)
@@ -131,7 +131,7 @@ SALOMEDS::GenericAttribute_ptr SALOMEDS_GenericAttribute_i::CreateAttribute
 //===========================================================================
 //   PRIVATE FUNCTIONS
 //===========================================================================
-long SALOMEDS_GenericAttribute_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
+CORBA::Long SALOMEDS_GenericAttribute_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
 {
 #ifdef WIN32
   long pid = (long)_getpid();
index def9134a6cb35f7e97580444e9d67e617e6706a7..16694f7e871376801d7ef94bd688f56775ad1a3e 100644 (file)
@@ -57,7 +57,7 @@ public:
 
   static SALOMEDS::GenericAttribute_ptr CreateAttribute(const Handle(TDF_Attribute)& theAttr, CORBA::ORB_ptr theOrb);  
 
-  virtual long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
+  virtual CORBA::Long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
 };
 
 #endif
diff --git a/src/SALOMEDS/SALOMEDS_IParameters.cxx b/src/SALOMEDS/SALOMEDS_IParameters.cxx
new file mode 100644 (file)
index 0000000..6540d9f
--- /dev/null
@@ -0,0 +1,279 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+#include "SALOMEDS_IParameters.hxx"
+#include <utilities.h>
+
+#include <TCollection_AsciiString.hxx>
+
+using namespace std;
+
+#define PT_INTEGER   0
+#define PT_REAL      1
+#define PT_BOOLEAN   2
+#define PT_STRING    3
+#define PT_REALARRAY 4
+#define PT_INTARRAY  5
+#define PT_STRARRAY  6
+
+#define _AP_LISTS_LIST_ "AP_LISTS_LIST"
+#define _AP_ENTRIES_LIST_ "AP_ENTRIES_LIST"
+#define _AP_PROPERTIES_LIST_ "AP_PROPERTIES_LIST"
+#define _AP_DUMP_PYTHON_ "AP_DUMP_PYTHON"
+
+/*!
+  Constructor
+*/
+SALOMEDS_IParameters::SALOMEDS_IParameters(const _PTR(AttributeParameter)& ap)
+{
+  if(!ap) return;
+  _ap = ap;
+  _PTR(SObject) so = _ap->GetSObject();
+  _study = so->GetStudy();
+}
+
+SALOMEDS_IParameters::~SALOMEDS_IParameters()
+{
+  _compNames.clear();
+}
+
+int SALOMEDS_IParameters::append(const string& listName, const string& value)
+{
+  if(!_ap) return -1;
+  vector<string> v;
+  if(!_ap->IsSet(listName, PT_STRARRAY)) {
+    if(!_ap->IsSet(_AP_LISTS_LIST_, PT_STRARRAY)) _ap->SetStrArray(_AP_LISTS_LIST_, v);
+    if(listName != _AP_ENTRIES_LIST_ && 
+       listName != _AP_PROPERTIES_LIST_) {
+      append(_AP_LISTS_LIST_, listName);
+    }
+    _ap->SetStrArray(listName, v);
+  }
+  v = _ap->GetStrArray(listName);
+  v.push_back(value);
+  _ap->SetStrArray(listName, v);
+  return (v.size()-1);
+}
+
+int SALOMEDS_IParameters::nbValues(const string& listName)
+{
+  if(!_ap) return -1;
+  if(!_ap->IsSet(listName, PT_STRARRAY)) return 0;
+  vector<string> v = _ap->GetStrArray(listName);
+  return v.size();
+}
+
+vector<string> SALOMEDS_IParameters::getValues(const string& listName)
+{
+  vector<string> v;
+  if(!_ap) return v;
+  if(!_ap->IsSet(listName, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(listName);
+}
+
+
+string SALOMEDS_IParameters::getValue(const string& listName, int index)
+{
+  if(!_ap) return "";
+  if(!_ap->IsSet(listName, PT_STRARRAY)) return "";
+  vector<string> v = _ap->GetStrArray(listName);
+  if(index >= v.size()) return ""; 
+  return v[index];
+}
+
+vector<string> SALOMEDS_IParameters::getLists()
+{
+  vector<string> v;
+  if(!_ap->IsSet(_AP_LISTS_LIST_, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(_AP_LISTS_LIST_);
+}
+
+void SALOMEDS_IParameters::setParameter(const string& entry, const string& parameterName, const string& value)
+{
+  if(!_ap) return;
+  vector<string> v;
+  if(!_ap->IsSet(entry, PT_STRARRAY)) {
+    append(_AP_ENTRIES_LIST_, entry); //Add the entry to the internal list of entries
+    _ap->SetStrArray(entry, v);
+  }
+  v = _ap->GetStrArray(entry);
+  v.push_back(parameterName);
+  v.push_back(value);
+  _ap->SetStrArray(entry, v);
+}
+
+
+string SALOMEDS_IParameters::getParameter(const string& entry, const string& parameterName)
+{
+  if(!_ap) return "";
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return "";
+  vector<string> v = _ap->GetStrArray(entry);
+  int length = v.size();
+  for(int i = 0; i<length; i+=1) {
+    if(v[i] == parameterName) return v[i+1];
+  }
+  return "";
+}
+
+
+vector<string> SALOMEDS_IParameters::getAllParameterNames(const string& entry)
+{
+  vector<string> v, names;
+  if(!_ap) return v; 
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return v;
+  v = _ap->GetStrArray(entry);
+  int length = v.size();
+  for(int i = 0; i<length; i+=2) {
+    names.push_back(v[i]);
+  }
+  return names;
+}
+
+vector<string> SALOMEDS_IParameters::getAllParameterValues(const string& entry)
+{
+  vector<string> v, values;
+  if(!_ap) return v; 
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return v;
+  v = _ap->GetStrArray(entry);
+  int length = v.size();
+  for(int i = 1; i<length; i+=2) {
+    values.push_back(v[i]);
+  }
+  return values; 
+}
+
+int SALOMEDS_IParameters::getNbParameters(const string& entry)
+{
+  if(!_ap) return -1;
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return -1;
+  return  _ap->GetStrArray(entry).size()/2;
+}
+
+vector<string> SALOMEDS_IParameters::getEntries()
+{
+  vector<string> v;
+  if(!_ap) return v;
+  if(!_ap->IsSet(_AP_ENTRIES_LIST_, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(_AP_ENTRIES_LIST_);
+}
+
+void SALOMEDS_IParameters::setProperty(const string& name, const std::string& value)
+{
+  if(!_ap) return;
+  if(!_ap->IsSet(name, PT_STRING)) {
+    append(_AP_PROPERTIES_LIST_, name); //Add the property to the internal list of properties
+  }
+  _ap->SetString(name, value);
+}
+
+string SALOMEDS_IParameters::getProperty(const string& name)
+{
+  if(!_ap) return "";
+  if(!_ap->IsSet(name, PT_STRING)) return "";
+  return _ap->GetString(name);
+}
+
+vector<string> SALOMEDS_IParameters::getProperties()
+{
+  vector<string> v;
+  if(!_ap) return v;
+  if(!_ap->IsSet(_AP_PROPERTIES_LIST_, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(_AP_PROPERTIES_LIST_);
+}
+
+
+vector<string> SALOMEDS_IParameters::parseValue(const string& value, const char separator, bool fromEnd)
+{
+  TCollection_AsciiString val((char*)value.c_str());
+  vector<string> v;
+  int pos;
+  if(fromEnd) pos = val.SearchFromEnd(separator);
+  else pos = val.Search(separator);
+
+  if(pos < 0) {
+    v.push_back(value);
+    return v;
+  }
+
+  TCollection_AsciiString part1, part2;
+  part1 = val.SubString(1, pos-1);
+  part2 = val.SubString(pos+1, val.Length());
+  v.push_back(part1.ToCString());
+  v.push_back(part2.ToCString());
+  return v;
+}
+
+string SALOMEDS_IParameters::encodeEntry(const string& entry, const string& compName)
+{
+  string tail(entry, 6, entry.length()-1);
+  string newEntry(compName);
+  newEntry+=("_"+tail);
+  return newEntry;
+}
+
+string SALOMEDS_IParameters::decodeEntry(const string& entry)
+{
+  if(!_study) return entry;
+  int pos = entry.rfind("_");
+  if(pos < 0 || pos >= entry.length()) return entry;
+
+  string compName(entry, 0, pos), compID, tail(entry, pos+1, entry.length()-1);
+  
+  if(_compNames.find(compName) == _compNames.end()) {
+    _PTR(SObject) so = _study->FindComponent(compName);
+    if(!so) return entry;
+    compID = so->GetID();
+    _compNames[compName] = compID;
+  }
+  else compID = _compNames[compName];
+  string newEntry(compID);
+  newEntry += (":"+tail);
+  
+  return newEntry;
+}
+
+void SALOMEDS_IParameters::setDumpPython(_PTR(Study) study, const string& theID)
+{
+  string anID;
+  if(theID == "") anID = getDefaultVisualComponent();
+  else anID = theID;
+
+  _PTR(AttributeParameter) ap = study->GetCommonParameters(anID, 0);
+  ap->SetBool(_AP_DUMP_PYTHON_, true);
+}
+
+bool SALOMEDS_IParameters::isDumpPython(_PTR(Study) study, const string& theID)
+{
+  string anID;
+  if(theID == "") anID = getDefaultVisualComponent();
+  else anID = theID;
+
+  _PTR(AttributeParameter) ap = study->GetCommonParameters(anID, 0);
+  if(!ap) return false;
+  if(!ap->IsSet(_AP_DUMP_PYTHON_, PT_BOOLEAN)) return false;
+  return (bool)ap->GetBool(_AP_DUMP_PYTHON_);
+}
+
+string SALOMEDS_IParameters::getDefaultVisualComponent()
+{
+  return "Interface Applicative";
+}
+
+
+
diff --git a/src/SALOMEDS/SALOMEDS_IParameters.hxx b/src/SALOMEDS/SALOMEDS_IParameters.hxx
new file mode 100644 (file)
index 0000000..4111e83
--- /dev/null
@@ -0,0 +1,149 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+#ifndef SALOMEDS_IParameters_H
+#define SALOMEDS_IParameters_H
+
+#include <string>
+#include <vector>
+#include <map>
+
+#include "SALOMEDSClient.hxx"
+
+/*! 
+  Class which an interface to store the parameters of the objects
+*/
+class SALOMEDS_IParameters
+{
+public:
+  SALOMEDS_IParameters(const _PTR(AttributeParameter)& ap); 
+
+  virtual ~SALOMEDS_IParameters();
+
+  /*!
+    Appends a string value to a named list. 
+    Returns a number of the added value.
+    Note: the name of the list MUST be unique
+   */
+  virtual int append(const std::string& listName, const std::string& value); 
+
+  /*!
+    Returns a number elements in the list
+   */
+  virtual int nbValues(const std::string& listName);
+
+  /*!
+    Returns a list of values in the list
+   */
+  virtual std::vector<std::string> getValues(const std::string& listName);
+
+  /*!
+    Returns a value with given %index, where %index is in range [0:nbValues-1]
+   */
+  virtual std::string getValue(const std::string& listName, int index);
+
+  /*!
+    Returns a list all entries lists
+   */
+  virtual std::vector<std::string> getLists();
+
+  /*!
+    Sets a new named parameter value for the given entry
+   */
+  virtual void setParameter(const std::string& entry, const std::string& parameterName, const std::string& value);
+
+  /*!
+    Gets a named parameter value for the given entry
+   */
+  virtual std::string getParameter(const std::string& entry, const std::string& parameterName);
+
+  /*!
+    Returns all parameter names of the given entry
+   */
+  virtual std::vector<std::string> getAllParameterNames(const std::string& entry);
+
+  /*!
+    Returns all parameter  values of the given entry
+   */
+  virtual std::vector<std::string> getAllParameterValues(const std::string& entry);
+
+  /*!
+    Returns a number of parameters of the given entry
+   */
+  virtual int getNbParameters(const std::string& entry);
+
+  /*!
+    Returns a list all entries 
+   */
+  virtual std::vector<std::string> getEntries();
+
+  /*!
+    Sets a global named property value
+   */
+  virtual void setProperty(const std::string& name, const std::string& value);
+
+  /*!
+    Gets a value of global named property
+   */
+  virtual std::string getProperty(const std::string& name);
+
+  /*!
+    Returns a list all properties 
+   */
+  virtual std::vector<std::string> getProperties();
+
+  /*!
+    Breaks a value string in two parts which is divided by %separator.
+    If fromEnd is True the search of separator starts from the end of the string
+   */
+  virtual std::vector<std::string> parseValue(const std::string& value, const char separator, bool fromEnd = true);
+
+
+  /*!
+    Returns encoded entry that is a relative entry for the component
+   */
+  virtual std::string encodeEntry(const std::string& entry, const std::string& compName);
+
+  /*!
+    Returns decoded entry that is an absolute entry
+   */
+  virtual std::string decodeEntry(const std::string& entry);
+
+  /*!
+    Enables/Disables the dumping visual parameters
+   */
+  static void setDumpPython(_PTR(Study) study, const std::string& theID = "");
+
+  /*!
+    Returns whether there is the dumping visual parameters
+   */
+  static bool isDumpPython(_PTR(Study) study, const std::string& theID = "");  
+
+  /*!
+    Returns a default name of the component where the visula parameters are stored.
+  */
+  static std::string getDefaultVisualComponent();
+
+private:
+  _PTR(AttributeParameter) _ap;
+  _PTR(Study) _study;
+  std::map<std::string, std::string> _compNames;
+};
+
+
+#endif
index 1a8a25c919d1cda6c2f7b66ed7697602d9803a6c..ef0b64640972fad333b55d186107bc653296e56f 100644 (file)
@@ -205,7 +205,7 @@ CORBA::Boolean SALOMEDS_SObject_i::ReferencedObject(SALOMEDS::SObject_out obj)
  *  Purpose  :
  */
 //============================================================================
-CORBA::Boolean SALOMEDS_SObject_i::FindSubObject(long atag, SALOMEDS::SObject_out obj)
+CORBA::Boolean SALOMEDS_SObject_i::FindSubObject(CORBA::Long atag, SALOMEDS::SObject_out obj)
 {
   SALOMEDS::Locker lock;
   Handle(SALOMEDSImpl_SObject) aSubObj;
@@ -318,7 +318,7 @@ char* SALOMEDS_SObject_i::GetIOR()
 //===========================================================================
 //   PRIVATE FUNCTIONS
 //===========================================================================
-long SALOMEDS_SObject_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
+CORBA::Long SALOMEDS_SObject_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
 {
 #ifdef WIN32
   long pid = (long)_getpid();
index 4a04250d53a2bc48af8a8046e260ffe497298d09..c4e4318fdec1e7dd7221263aff3709e7a2c9af7f 100644 (file)
@@ -60,7 +60,7 @@ public:
   virtual SALOMEDS::SObject_ptr    GetFather() ;
   virtual CORBA::Boolean FindAttribute(SALOMEDS::GenericAttribute_out anAttribute, const char* aTypeOfAttribute);
   virtual CORBA::Boolean ReferencedObject(SALOMEDS::SObject_out obj) ;
-  virtual CORBA::Boolean FindSubObject(long atag, SALOMEDS::SObject_out obj );
+  virtual CORBA::Boolean FindSubObject(CORBA::Long atag, SALOMEDS::SObject_out obj );
 
   virtual SALOMEDS::Study_ptr    GetStudy() ;
   virtual char* Name();
@@ -76,7 +76,7 @@ public:
   virtual CORBA::Short Tag();
   virtual CORBA::Short Depth();
 
-  virtual long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
+  virtual CORBA::Long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
 };
 
 #endif
index 17e3fcba0cdd81f819a9dd02112df47adf3fe8c0..67220592ea50bd39eb33faacca6a697daf9deeca 100644 (file)
@@ -34,6 +34,7 @@
 #include "SALOMEDS_ChildIterator.hxx"
 #include "SALOMEDS_SComponentIterator.hxx"
 #include "SALOMEDS_AttributeStudyProperties.hxx"
+#include "SALOMEDS_AttributeParameter.hxx"
 #include "SALOMEDS_UseCaseBuilder.hxx"
 
 #include "SALOMEDSImpl_SComponent.hxx"
@@ -42,6 +43,7 @@
 #include "SALOMEDSImpl_ChildIterator.hxx"
 #include "SALOMEDSImpl_SComponentIterator.hxx"
 #include "SALOMEDSImpl_AttributeStudyProperties.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
 #include "SALOMEDSImpl_UseCaseBuilder.hxx"
 
 #include "SALOMEDS_Driver_i.hxx"
@@ -634,10 +636,10 @@ void SALOMEDS_Study::EnableUseCaseAutoFilling(bool isEnabled)
   else _corba_impl->EnableUseCaseAutoFilling(isEnabled);
 }
 
-bool SALOMEDS_Study::DumpStudy(const std::string& thePath, const std::string& theBaseName, bool isPublished)
+bool SALOMEDS_Study::DumpStudy(const string& thePath, const string& theBaseName, bool isPublished)
 {
   //SRN: Pure CORBA DumpStudy as it does more cleaning than the local one
-  bool ret = _corba_impl->DumpStudy((char*)thePath.c_str(), (char*)theBaseName.c_str(), isPublished);
+  bool ret = _corba_impl->DumpStudy(thePath.c_str(), theBaseName.c_str(), isPublished);
   return ret;
 }     
 
@@ -682,3 +684,34 @@ SALOMEDS::Study_ptr SALOMEDS_Study::GetStudy()
 
   return SALOMEDS::Study::_nil();
 }
+
+_PTR(AttributeParameter) SALOMEDS_Study::GetCommonParameters(const string& theID, int theSavePoint)
+{
+  SALOMEDSClient_AttributeParameter* AP = NULL;
+  if(theSavePoint >= 0) {
+    if (_isLocal) {
+      SALOMEDS::Locker lock;
+      AP = new SALOMEDS_AttributeParameter(_local_impl->GetCommonParameters(theID.c_str(), theSavePoint));
+    }
+    else {
+      AP = new SALOMEDS_AttributeParameter(_corba_impl->GetCommonParameters(theID.c_str(), theSavePoint));
+    }
+  }
+  return _PTR(AttributeParameter)(AP);
+}
+
+_PTR(AttributeParameter) SALOMEDS_Study::GetModuleParameters(const string& theID, 
+                                                            const string& theModuleName, int theSavePoint)
+{
+  SALOMEDSClient_AttributeParameter* AP = NULL;
+  if(theSavePoint > 0) {
+    if (_isLocal) {
+      SALOMEDS::Locker lock;
+      AP = new SALOMEDS_AttributeParameter(_local_impl->GetModuleParameters(theID.c_str(), theModuleName.c_str(), theSavePoint));
+    }
+    else {
+      AP = new SALOMEDS_AttributeParameter(_corba_impl->GetModuleParameters(theID.c_str(), theModuleName.c_str(), theSavePoint));
+    }
+  }
+  return _PTR(AttributeParameter)(AP);
+}
index db2ce6999c677162bb0196efa8bfb149bec7a6f1..8ac27aa70650964b8a7b79163850fe7ba7786b6c 100644 (file)
@@ -86,8 +86,10 @@ public:
   virtual _PTR(UseCaseBuilder) GetUseCaseBuilder();
   virtual void Close();
   virtual void EnableUseCaseAutoFilling(bool isEnabled);
-  virtual bool DumpStudy(const std::string& thePath, const std::string& theBaseName, bool isPublished); 
-
+  virtual bool DumpStudy(const std::string& thePath,const std::string& theBaseName,bool isPublished); 
+  virtual _PTR(AttributeParameter) GetCommonParameters(const std::string& theID, int theSavePoint);
+  virtual _PTR(AttributeParameter) GetModuleParameters(const std::string& theID, 
+                                                      const std::string& theModuleName, int theSavePoint);
   std::string ConvertObjectToIOR(CORBA::Object_ptr theObject);
   CORBA::Object_ptr ConvertIORToObject(const std::string& theIOR);     
 
index 1bcaf8caa05b8e323aad1f724a23ec6fde43d7ec..0a12c883b74b3a071b7310e888c8b137ec9f4315 100644 (file)
@@ -456,7 +456,7 @@ PortableServer::POA_ptr SALOMEDS_StudyManager_i::GetPOA(const SALOMEDS::Study_pt
 //===========================================================================
 //   PRIVATE FUNCTIONS
 //===========================================================================
-long SALOMEDS_StudyManager_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
+CORBA::Long SALOMEDS_StudyManager_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
 {
 #ifdef WIN32
   long pid = (long)_getpid();
index ef428ed4cef3803db4afe9f3b4de200115a2703d..2fd96175072f85077673c7ef943aaa62ffee7786 100644 (file)
@@ -142,7 +142,7 @@ public:
   
   void ping(){};
 
-  virtual long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
+  virtual CORBA::Long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
 
   static PortableServer::POA_ptr GetPOA(const SALOMEDS::Study_ptr theStudy);
 };
index 6db403acb979fea4d1cff81947d79957bf042df3..d5f80fb03286edd0b5fa298a781ad32bd682105b 100644 (file)
@@ -27,6 +27,7 @@
 #include "SALOMEDS_UseCaseIterator_i.hxx"
 #include "SALOMEDS_GenericAttribute_i.hxx"
 #include "SALOMEDS_AttributeStudyProperties_i.hxx"
+#include "SALOMEDS_AttributeParameter_i.hxx"
 #include "SALOMEDS_ChildIterator_i.hxx"
 #include "SALOMEDS_Driver_i.hxx"
 #include "SALOMEDS.hxx"
@@ -35,7 +36,9 @@
 #include "SALOMEDSImpl_SComponent.hxx"
 #include "SALOMEDSImpl_UseCaseBuilder.hxx"
 #include "SALOMEDSImpl_AttributeStudyProperties.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
 #include "SALOMEDSImpl_ChildIterator.hxx"
+#include "SALOMEDSImpl_IParameters.hxx"
 
 #include <TColStd_SequenceOfExtendedString.hxx>
 #include <TColStd_HSequenceOfAsciiString.hxx>
@@ -737,7 +740,9 @@ void SALOMEDS_Study_i::UndoPostponed(CORBA::Long theWay)
  *  Purpose  : 
  */
 //============================================================================
-CORBA::Boolean SALOMEDS_Study_i::DumpStudy(const char* thePath, const char* theBaseName, CORBA::Boolean isPublished)
+CORBA::Boolean SALOMEDS_Study_i::DumpStudy(const char* thePath, 
+                                          const char* theBaseName, 
+                                          CORBA::Boolean isPublished)
 {
   SALOMEDS::Locker lock; 
 
@@ -748,10 +753,53 @@ CORBA::Boolean SALOMEDS_Study_i::DumpStudy(const char* thePath, const char* theB
   return ret;
 }
 
+//============================================================================
+/*! Function : GetCommonParameters
+ *  Purpose  : 
+ */
+//============================================================================
+SALOMEDS::AttributeParameter_ptr SALOMEDS_Study_i::GetCommonParameters(const char* theID, CORBA::Long theSavePoint)
+{
+  SALOMEDS::Locker lock; 
+  
+  Handle(SALOMEDSImpl_AttributeParameter) anAttr = _impl->GetCommonParameters(theID, theSavePoint);
+  SALOMEDS_AttributeParameter_i* SP = new SALOMEDS_AttributeParameter_i(anAttr, _orb);
+  return SP->AttributeParameter::_this();
+}
+//============================================================================
+/*! Function : GetCommonModuleParameters
+ *  Purpose  : 
+ */
+//============================================================================
+SALOMEDS::AttributeParameter_ptr SALOMEDS_Study_i::GetModuleParameters(const char* theID, 
+                                                                      const char* theModuleName, 
+                                                                      CORBA::Long theSavePoint)
+{
+  SALOMEDS::Locker lock; 
+  
+  Handle(SALOMEDSImpl_AttributeParameter) anAttr = _impl->GetModuleParameters(theID, theModuleName, theSavePoint);
+  SALOMEDS_AttributeParameter_i* SP = new SALOMEDS_AttributeParameter_i(anAttr, _orb);
+  return SP->AttributeParameter::_this();
+}
+
+//============================================================================
+/*! Function : GetDefaultScript
+ *  Purpose  : 
+ */
+//============================================================================
+char* SALOMEDS_Study_i::GetDefaultScript(const char* theModuleName, const char* theShift)
+{
+  SALOMEDS::Locker lock; 
+
+  string script = SALOMEDSImpl_IParameters::getDefaultScript(_impl, theModuleName, theShift);
+  return CORBA::string_dup(script.c_str());
+}
+
 //===========================================================================
 //   PRIVATE FUNCTIONS
 //===========================================================================
-long SALOMEDS_Study_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
+CORBA::Long SALOMEDS_Study_i::GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal)
 {
 #ifdef WIN32
   long pid = (long)_getpid();
index b107192164779353c481d697ee7eaee60367b4a3..2915735c828718429a882e5371066e2cddfba016 100644 (file)
@@ -279,10 +279,17 @@ public:
                                                 // theWay = -1: get back to the list of postponed
 #endif
 
-  virtual CORBA::Boolean DumpStudy(const char* thePath, const char* theBaseName, CORBA::Boolean isPublished); 
+  virtual SALOMEDS::AttributeParameter_ptr GetCommonParameters(const char* theID, CORBA::Long theSavePoint);
+  virtual SALOMEDS::AttributeParameter_ptr GetModuleParameters(const char* theID, 
+                                                              const char* theModuleName, 
+                                                              CORBA::Long theSavePoint);
+
+  virtual char* GetDefaultScript(const char* theModuleName, const char* theShift);
+
+  virtual CORBA::Boolean DumpStudy(const char* thePath, const char* theBaseName, CORBA::Boolean isPublished);
 
   virtual Handle(SALOMEDSImpl_Study) GetImpl() { return _impl; }
 
-  virtual long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
+  virtual CORBA::Long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
 };
 #endif
diff --git a/src/SALOMEDS/SALOMEDS_TMPFile_i.cxx b/src/SALOMEDS/SALOMEDS_TMPFile_i.cxx
new file mode 100644 (file)
index 0000000..8f9a288
--- /dev/null
@@ -0,0 +1,96 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
+//  File   : SALOMEDSImpl_SObject.cxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+
+#include "SALOMEDS_TMPFile_i.hxx"
+
+#include <Handle_Standard_Type.hxx>
+#include <Standard_Transient.hxx>
+
+#include <stdexcept>
+
+
+IMPLEMENT_STANDARD_HANDLE( SALOMEDS_TMPFile_i, SALOMEDSImpl_TMPFile )
+IMPLEMENT_STANDARD_RTTIEXT( SALOMEDS_TMPFile_i, SALOMEDSImpl_TMPFile )
+
+SALOMEDS_TMPFile_i
+::SALOMEDS_TMPFile_i(SALOMEDS::TMPFile* theStream):
+  myStream(theStream)
+{}
+
+size_t
+SALOMEDS_TMPFile_i
+::Size()
+{
+  if(!&myStream.in())
+    return 0;
+
+  return myStream->length();
+}
+
+SALOMEDSImpl_TMPFile::TOctet&
+SALOMEDS_TMPFile_i
+::Get(size_t theIndex)
+{
+  if(!&myStream.in())
+    throw std::out_of_range("SALOMEDS_TMPFile_i::Get(size_t) const - !&myStream.in()");
+
+  if(theIndex < 0 || theIndex >= myStream->length())
+    throw std::out_of_range("SALOMEDS_TMPFile_i::Get(size_t) const - theIndex < 0 || theIndex >= myStream->length()");
+
+  return myStream[theIndex];
+}
+
+
+//-----------------------------------------------------------------------------
+IMPLEMENT_STANDARD_HANDLE( Engines_TMPFile_i, SALOMEDSImpl_TMPFile )
+IMPLEMENT_STANDARD_RTTIEXT( Engines_TMPFile_i, SALOMEDSImpl_TMPFile )
+
+Engines_TMPFile_i
+::Engines_TMPFile_i(Engines::TMPFile* theStream):
+  myStream(theStream)
+{}
+
+size_t
+Engines_TMPFile_i
+::Size()
+{
+  if(!&myStream.in())
+    return 0;
+
+  return myStream->length();
+}
+
+SALOMEDSImpl_TMPFile::TOctet&
+Engines_TMPFile_i
+::Get(size_t theIndex)
+{
+  if(!&myStream.in())
+    throw std::out_of_range("Engines_TMPFile_i::Get(size_t) const - !&myStream.in()");
+
+  if(theIndex < 0 || theIndex >= myStream->length())
+    throw std::out_of_range("Engines_TMPFile_i::Get(size_t) const - theIndex < 0 || theIndex >= myStream->length()");
+
+  return myStream[theIndex];
+}
diff --git a/src/SALOMEDS/SALOMEDS_TMPFile_i.hxx b/src/SALOMEDS/SALOMEDS_TMPFile_i.hxx
new file mode 100644 (file)
index 0000000..124d08d
--- /dev/null
@@ -0,0 +1,70 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+#ifndef __SALOMEDSIMPL_TMPFILE_I_H__
+#define __SALOMEDSIMPL_TMPFILE_I_H__
+
+// IDL headers
+#include "SALOMEconfig.h"
+#include CORBA_SERVER_HEADER(SALOMEDS)
+#include CORBA_SERVER_HEADER(SALOME_Component)
+
+#include "SALOMEDSImpl_TMPFile.hxx"
+
+
+//-----------------------------------------------------------------------------
+DEFINE_STANDARD_HANDLE( SALOMEDS_TMPFile_i, SALOMEDSImpl_TMPFile );
+
+class SALOMEDS_TMPFile_i : public SALOMEDSImpl_TMPFile
+{
+public:
+  SALOMEDS_TMPFile_i(SALOMEDS::TMPFile* theStream);
+
+  virtual size_t Size();
+
+  virtual TOctet& Get(size_t);
+
+  DEFINE_STANDARD_RTTI( SALOMEDS_TMPFile_i );
+
+protected:
+  SALOMEDS::TMPFile_var myStream;
+};
+
+
+//-----------------------------------------------------------------------------
+DEFINE_STANDARD_HANDLE( Engines_TMPFile_i, SALOMEDSImpl_TMPFile );
+
+class Engines_TMPFile_i : public SALOMEDSImpl_TMPFile
+{
+public:
+  Engines_TMPFile_i(Engines::TMPFile* theStream);
+
+  virtual size_t Size();
+
+  virtual TOctet& Get(size_t);
+
+  DEFINE_STANDARD_RTTI( Engines_TMPFile_i );
+
+protected:
+  Engines::TMPFile_var myStream;
+};
+
+
+#endif
diff --git a/src/SALOMEDS/Test/Makefile.am b/src/SALOMEDS/Test/Makefile.am
new file mode 100644 (file)
index 0000000..893e949
--- /dev/null
@@ -0,0 +1,110 @@
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Paul RASCLE
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS= SALOMEDSTest.hxx
+
+# Scripts to be installed
+dist_salomescript_SCRIPTS = TestSALOMEDS.py
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This directory defines the subdirectory src in the top source directory.
+RPATH=../..
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CPPUNIT_INCLUDES@ \
+       -I$(srcdir)/$(RPATH)/Basics               -I$(srcdir)/$(RPATH)/Basics/Test \
+       -I$(srcdir)/$(RPATH)/SALOMELocalTrace     -I$(srcdir)/$(RPATH)/SALOMELocalTrace/Test \
+       -I$(srcdir)/$(RPATH)/SALOMETraceCollector -I$(srcdir)/$(RPATH)/SALOMETraceCollector/Test \
+       -I$(srcdir)/$(RPATH)/NamingService        -I$(srcdir)/$(RPATH)/NamingService/Test \
+       -I$(srcdir)/$(RPATH)/Utils                -I$(srcdir)/$(RPATH)/Utils/Test \
+       -I$(srcdir)/$(RPATH)/ResourcesManager \
+       -I$(srcdir)/$(RPATH)/LifeCycleCORBA \
+       -I$(srcdir)/$(RPATH)/SALOMEDSClient \
+       -I$(srcdir)/$(RPATH)/SALOMEDSImpl         -I$(srcdir)/$(RPATH)/SALOMEDSImpl/Test \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       @CPPUNIT_LIBS@ \
+       $(RPATH)/Basics/libSALOMEBasics.la \
+       $(RPATH)/ResourcesManager/libSalomeResourcesManager.la \
+       $(RPATH)/Container/libSalomeContainer.la \
+       $(RPATH)/NamingService/libSalomeNS.la \
+       $(RPATH)/Registry/libRegistry.la \
+       $(RPATH)/Notification/libSalomeNotification.la \
+       $(RPATH)/Utils/Test/libUtilsTest.la \
+       $(RPATH)/Utils/libOpUtil.la \
+       $(RPATH)/SALOMELocalTrace/Test/libSALOMELocalTraceTest.la \
+       $(RPATH)/SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(RPATH)/SALOMETraceCollector/Test/libSALOMETraceCollectorTest.la \
+       $(RPATH)/SALOMEDSImpl/Test/libSALOMEDSImplTest.la \
+       $(RPATH)/SALOMEDSImpl/libSalomeDSImpl.la \
+       $(RPATH)/SALOMEDSClient/libSalomeDSClient.la \
+       $(RPATH)/SALOMEDS/libSalomeDS.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSALOMEDSTest.la 
+libSALOMEDSTest_la_SOURCES = SALOMEDSTest.cxx
+libSALOMEDSTest_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSALOMEDSTest_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSALOMEDSTest_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestSALOMEDS
+TestSALOMEDS_SOURCES  = TestSALOMEDS.cxx
+TestSALOMEDS_CPPFLAGS = $(COMMON_CPPFLAGS)
+TestSALOMEDS_LDADD    = \
+       libSALOMEDSTest.la ../libSalomeDS.la \
+       $(RPATH)/NamingService/Test/libNamingServiceTest.la \
+       $(COMMON_LIBS)
+
diff --git a/src/SALOMEDS/Test/SALOMEDSTest.cxx b/src/SALOMEDS/Test/SALOMEDSTest.cxx
new file mode 100644 (file)
index 0000000..c67bdde
--- /dev/null
@@ -0,0 +1,190 @@
+// Copyright (C) 2006  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+#include "SALOMEDSTest.hxx"
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <vector>
+#include <cstdlib>
+#include "utilities.h"
+#include "Utils_SALOME_Exception.hxx"
+#include "Utils_ORB_INIT.hxx"
+#include "Utils_SINGLETON.hxx"
+#include "OpUtil.hxx"
+
+#include "SALOMEDSClient.hxx"
+#include "SALOMEDSClient_ClientFactory.hxx"
+
+#include <TCollection_AsciiString.hxx>
+
+using namespace std;
+
+#define PT_INTEGER 0
+#define PT_REAL    1
+#define PT_BOOLEAN 2
+#define PT_STRING  3
+#define PT_REALARRAY 4
+#define PT_INTARRAY  5
+#define PT_STRARRAY  6
+
+
+#define TRACEFILE "/tmp/traceUnitTest.log"
+
+// ============================================================================
+/*!
+ * Set up the environment
+ */
+// ============================================================================
+
+void SALOMEDSTest::setUp()
+{
+  TCollection_AsciiString kernel(getenv("KERNEL_ROOT_DIR"));
+  TCollection_AsciiString subPath("/share/salome/resources");
+  TCollection_AsciiString csf_var = (kernel+subPath);
+  setenv("CSF_PluginDefaults", csf_var.ToCString(), 0);
+  setenv("CSF_SALOMEDS_ResourcesDefaults", csf_var.ToCString(), 0);
+
+  // --- trace on file
+  char *theFileName = TRACEFILE;
+
+  string s = "file:";
+  s += theFileName;
+  CPPUNIT_ASSERT(! setenv("SALOME_trace",s.c_str(),1)); // 1: overwrite
+
+  ofstream traceFile;
+  traceFile.open(theFileName, ios::out | ios::app);
+  CPPUNIT_ASSERT(traceFile); // file created empty, then closed
+  traceFile.close();
+
+  LocalTraceBufferPool* bp1 = LocalTraceBufferPool::instance();
+  CPPUNIT_ASSERT(bp1);
+
+  // --- Get or initialize the orb
+
+  int _argc = 1;
+  char* _argv[] = {""};
+  ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
+  ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting());
+  _orb = init(_argc , _argv ) ;
+
+  sleep(2);
+
+  // --- Create a SALOME_NamingService instance
+
+  _NS = new SALOME_NamingService;
+
+  sleep(2);
+
+  _NS->init_orb(_orb) ;
+}
+
+// ============================================================================
+/*!
+ *  - delete trace classes
+ */
+// ============================================================================
+
+void 
+SALOMEDSTest::tearDown()
+{
+  LocalTraceBufferPool* bp1 = LocalTraceBufferPool::instance();
+  CPPUNIT_ASSERT(bp1);
+  bp1->deleteInstance(bp1);
+
+  delete _NS;
+}
+
+// ============================================================================
+/*!
+ * Check AttributeParameter
+ */
+// ============================================================================
+void SALOMEDSTest::testAttributeParameter()
+{
+  CORBA::Object_var obj = _orb->resolve_initial_references( "RootPOA" );
+  PortableServer::POA_var poa = PortableServer::POA::_narrow( obj );
+
+  PortableServer::POAManager_var pman = poa->the_POAManager();
+  pman->activate() ;
+
+  _PTR(StudyManager) sm = ClientFactory::createStudyManager(_orb, poa);
+
+  CPPUNIT_ASSERT(sm);
+
+  _PTR(Study) study = sm->NewStudy("Test");
+
+  CPPUNIT_ASSERT(study);
+
+  _PTR(AttributeParameter) _ap = study->GetCommonParameters("TestComp", 0);
+
+  CPPUNIT_ASSERT(_ap);
+
+  _ap->SetInt("IntValue", 1);
+  CPPUNIT_ASSERT(_ap->IsSet("IntValue", PT_INTEGER));
+  CPPUNIT_ASSERT(_ap->GetInt("IntValue") == 1);
+
+  _ap->SetReal("RealValue", 1.2);
+  CPPUNIT_ASSERT(_ap->IsSet("RealValue", PT_REAL));
+  CPPUNIT_ASSERT(_ap->GetReal("RealValue") == 1.2);
+
+  _ap->SetString("StringValue", "hello");
+  CPPUNIT_ASSERT(_ap->IsSet("StringValue", PT_STRING));
+  CPPUNIT_ASSERT(_ap->GetString("StringValue") == "hello");
+
+  _ap->SetBool("BoolValue", 0);
+  CPPUNIT_ASSERT(_ap->IsSet("BoolValue", PT_BOOLEAN));
+  CPPUNIT_ASSERT(!_ap->GetBool("BoolValue"));
+
+  _ap->SetBool("BoolValue", 0);
+  CPPUNIT_ASSERT(_ap->IsSet("BoolValue", PT_BOOLEAN));
+  CPPUNIT_ASSERT(!_ap->GetBool("BoolValue"));
+
+  vector<int> intArray;
+  intArray.push_back(0);
+  intArray.push_back(1);
+
+  _ap->SetIntArray("IntArray", intArray);
+  CPPUNIT_ASSERT(_ap->IsSet("IntArray", PT_INTARRAY));
+  CPPUNIT_ASSERT(_ap->GetIntArray("IntArray")[0] == 0);
+  CPPUNIT_ASSERT(_ap->GetIntArray("IntArray")[1] == 1); 
+
+  vector<double> realArray;
+  realArray.push_back(0.0);
+  realArray.push_back(1.1);
+  
+  _ap->SetRealArray("RealArray", realArray);
+  CPPUNIT_ASSERT(_ap->IsSet("RealArray", PT_REALARRAY));
+  CPPUNIT_ASSERT(_ap->GetRealArray("RealArray")[0] == 0.0);
+  CPPUNIT_ASSERT(_ap->GetRealArray("RealArray")[1] == 1.1); 
+
+  vector<string> strArray;
+  strArray.push_back("hello");
+  strArray.push_back("world");
+  
+  _ap->SetStrArray("StrArray", strArray);
+  CPPUNIT_ASSERT(_ap->IsSet("StrArray", PT_STRARRAY));
+  CPPUNIT_ASSERT(_ap->GetStrArray("StrArray")[0] == "hello");
+  CPPUNIT_ASSERT(_ap->GetStrArray("StrArray")[1] == "world"); 
+}
+
+
+
diff --git a/src/SALOMEDS/Test/SALOMEDSTest.hxx b/src/SALOMEDS/Test/SALOMEDSTest.hxx
new file mode 100644 (file)
index 0000000..3599819
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright (C) 2006  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+#ifndef _SALOMEDSTEST_HXX_
+#define _SALOMEDSTEST_HXX_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include <CORBA.h>
+
+#include <SALOMEconfig.h>
+#include "SALOME_NamingService.hxx"
+
+class SALOMEDSTest : public CppUnit::TestFixture
+{
+  CPPUNIT_TEST_SUITE( SALOMEDSTest );
+  CPPUNIT_TEST( testAttributeParameter );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+
+  void setUp();
+  void tearDown();
+  void testAttributeParameter();
+
+protected:
+  CORBA::ORB_var _orb;
+  SALOME_NamingService* _NS;
+};
+
+#endif
diff --git a/src/SALOMEDS/Test/TestSALOMEDS.cxx b/src/SALOMEDS/Test/TestSALOMEDS.cxx
new file mode 100644 (file)
index 0000000..c2689ec
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+// --- include all SALOMEDS Test from basics until the present directory
+
+#include "SALOMELocalTraceTest.hxx"
+#include "SALOMEDSImplTest.hxx"
+#include "SALOMEDSTest.hxx"
+
+// --- Registers the fixture into the 'registry'
+
+CPPUNIT_TEST_SUITE_REGISTRATION( SALOMELocalTraceTest );
+CPPUNIT_TEST_SUITE_REGISTRATION( SALOMEDSImplTest );
+CPPUNIT_TEST_SUITE_REGISTRATION( SALOMEDSTest );
+
+// --- generic Main program from Basic/Test
+
+#include "BasicMainTest.hxx"
diff --git a/src/SALOMEDS/Test/TestSALOMEDS.py b/src/SALOMEDS/Test/TestSALOMEDS.py
new file mode 100644 (file)
index 0000000..faae31b
--- /dev/null
@@ -0,0 +1,29 @@
+
+import sys, os,signal,string,commands
+import runSalome
+import orbmodule
+import TestKiller
+
+# get SALOME environment :
+
+args, modules_list, modules_root_dir = runSalome.get_config()
+runSalome.set_env(args, modules_list, modules_root_dir)
+
+# launch CORBA naming server
+
+clt=orbmodule.client()
+
+# launch CORBA logger server
+
+myServer=runSalome.LoggerServer(args)
+myServer.run()
+clt.waitLogger("Logger")
+
+# execute Unit Test
+
+command = ['TestSALOMEDS']
+ret = os.spawnvp(os.P_WAIT, command[0], command)
+
+# kill Test process 
+
+TestKiller.killProcess(runSalome.process_id)
diff --git a/src/SALOMEDSClient/Makefile.am b/src/SALOMEDSClient/Makefile.am
new file mode 100644 (file)
index 0000000..6593e94
--- /dev/null
@@ -0,0 +1,82 @@
+#  SALOMEDSClient: client interface of SALOMEDS
+# 
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+salomeinclude_HEADERS=\
+               SALOMEDSClient_definitions.hxx \
+                SALOMEDSClient_AttributeComment.hxx \
+               SALOMEDSClient_AttributeDrawable.hxx \
+                SALOMEDSClient_AttributeExpandable.hxx \
+                SALOMEDSClient_AttributeExternalFileDef.hxx \
+                SALOMEDSClient_AttributeFileType.hxx \
+                SALOMEDSClient_AttributeFlags.hxx \
+                SALOMEDSClient_AttributeGraphic.hxx \
+                SALOMEDSClient_AttributeIOR.hxx \
+                SALOMEDSClient_AttributeInteger.hxx \
+                SALOMEDSClient_AttributeLocalID.hxx \
+                SALOMEDSClient_AttributeName.hxx \
+                SALOMEDSClient_AttributeOpened.hxx \
+                SALOMEDSClient_AttributePersistentRef.hxx \
+                SALOMEDSClient_AttributePixMap.hxx \
+                SALOMEDSClient_AttributePythonObject.hxx \
+                SALOMEDSClient_AttributeReal.hxx \
+                SALOMEDSClient_AttributeSelectable.hxx \
+                SALOMEDSClient_AttributeSequenceOfInteger.hxx \
+                SALOMEDSClient_AttributeSequenceOfReal.hxx \
+                SALOMEDSClient_AttributeStudyProperties.hxx \
+                SALOMEDSClient_AttributeTableOfInteger.hxx \
+                SALOMEDSClient_AttributeTableOfReal.hxx \
+                SALOMEDSClient_AttributeTableOfString.hxx \
+                SALOMEDSClient_AttributeTarget.hxx \
+                SALOMEDSClient_AttributeTextColor.hxx \
+                SALOMEDSClient_AttributeTextHighlightColor.hxx \
+                SALOMEDSClient_AttributeTreeNode.hxx \
+                SALOMEDSClient_AttributeUserID.hxx \
+               SALOMEDSClient_AttributeParameter.hxx \
+                SALOMEDSClient_ChildIterator.hxx \
+                SALOMEDSClient_GenericAttribute.hxx \
+                SALOMEDSClient_SComponent.hxx \
+                SALOMEDSClient_SComponentIterator.hxx \
+                SALOMEDSClient_SObject.hxx \
+                SALOMEDSClient_Study.hxx \
+                SALOMEDSClient_StudyBuilder.hxx \
+                SALOMEDSClient_StudyManager.hxx \
+                SALOMEDSClient_UseCaseBuilder.hxx \
+                SALOMEDSClient_UseCaseIterator.hxx \
+               SALOMEDSClient_ClientFactory.hxx \
+               SALOMEDSClient.hxx
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS= \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeDSClient.la
+libSalomeDSClient_la_SOURCES =         \
+       SALOMEDSClient_ClientFactory.cxx
+
+
+libSalomeDSClient_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSalomeDSClient_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeDSClient_la_LIBADD   = $(COMMON_LIBS)
diff --git a/src/SALOMEDSClient/Makefile.in b/src/SALOMEDSClient/Makefile.in
deleted file mode 100644 (file)
index c3c92b5..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#  File   : Makefile.in
-#  Author : Sergey RUIN
-#  Module : SALOME
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl
-
-
-@COMMENCE@ 
-
-EXPORT_HEADERS= SALOMEDSClient_definitions.hxx \
-                SALOMEDSClient_AttributeComment.hxx \
-               SALOMEDSClient_AttributeDrawable.hxx \
-                SALOMEDSClient_AttributeExpandable.hxx \
-                SALOMEDSClient_AttributeExternalFileDef.hxx \
-                SALOMEDSClient_AttributeFileType.hxx \
-                SALOMEDSClient_AttributeFlags.hxx \
-                SALOMEDSClient_AttributeGraphic.hxx \
-                SALOMEDSClient_AttributeIOR.hxx \
-                SALOMEDSClient_AttributeInteger.hxx \
-                SALOMEDSClient_AttributeLocalID.hxx \
-                SALOMEDSClient_AttributeName.hxx \
-                SALOMEDSClient_AttributeOpened.hxx \
-                SALOMEDSClient_AttributePersistentRef.hxx \
-                SALOMEDSClient_AttributePixMap.hxx \
-                SALOMEDSClient_AttributePythonObject.hxx \
-                SALOMEDSClient_AttributeReal.hxx \
-                SALOMEDSClient_AttributeSelectable.hxx \
-                SALOMEDSClient_AttributeSequenceOfInteger.hxx \
-                SALOMEDSClient_AttributeSequenceOfReal.hxx \
-                SALOMEDSClient_AttributeStudyProperties.hxx \
-                SALOMEDSClient_AttributeTableOfInteger.hxx \
-                SALOMEDSClient_AttributeTableOfReal.hxx \
-                SALOMEDSClient_AttributeTableOfString.hxx \
-                SALOMEDSClient_AttributeTarget.hxx \
-                SALOMEDSClient_AttributeTextColor.hxx \
-                SALOMEDSClient_AttributeTextHighlightColor.hxx \
-                SALOMEDSClient_AttributeTreeNode.hxx \
-                SALOMEDSClient_AttributeUserID.hxx \
-                SALOMEDSClient_ChildIterator.hxx \
-                SALOMEDSClient_GenericAttribute.hxx \
-                SALOMEDSClient_SComponent.hxx \
-                SALOMEDSClient_SComponentIterator.hxx \
-                SALOMEDSClient_SObject.hxx \
-                SALOMEDSClient_Study.hxx \
-                SALOMEDSClient_StudyBuilder.hxx \
-                SALOMEDSClient_StudyManager.hxx \
-                SALOMEDSClient_UseCaseBuilder.hxx \
-                SALOMEDSClient_UseCaseIterator.hxx \
-               SALOMEDSClient.hxx
-
-@CONCLUDE@
-
index e604320e0acfcc550096cb0f03806c4ce8a4195d..5adb67120cb979c36db5dad052f25c20333adfe5 100644 (file)
@@ -49,6 +49,7 @@
 #include "SALOMEDSClient_AttributeTextHighlightColor.hxx"
 #include "SALOMEDSClient_AttributeTreeNode.hxx"
 #include "SALOMEDSClient_AttributeUserID.hxx"
+#include "SALOMEDSClient_AttributeParameter.hxx"
 #include "SALOMEDSClient_ChildIterator.hxx"
 #include "SALOMEDSClient_GenericAttribute.hxx"
 #include "SALOMEDSClient_SComponent.hxx"
diff --git a/src/SALOMEDSClient/SALOMEDSClient_AttributeParameter.hxx b/src/SALOMEDSClient/SALOMEDSClient_AttributeParameter.hxx
new file mode 100644 (file)
index 0000000..e8c3f17
--- /dev/null
@@ -0,0 +1,71 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDSImpl_AttributeIOR.hxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+#ifndef _SALOMEDSClient_AttributeParameter_HeaderFile
+#define _SALOMEDSClient_AttributeParameter_HeaderFile
+
+#include "SALOMEDSClient_definitions.hxx" 
+#include "SALOMEDSClient_GenericAttribute.hxx" 
+#include <string>
+#include <vector>
+
+class SALOMEDSClient_AttributeParameter : public virtual SALOMEDSClient_GenericAttribute 
+{
+
+public:
+
+  virtual void SetInt(const std::string& theID, const int theValue) = 0;
+  virtual int GetInt(const std::string& theID) = 0;
+
+  virtual void SetReal(const std::string& theID, const double& theValue) = 0;
+  virtual double GetReal(const std::string& theID) = 0;
+
+  virtual void SetString(const std::string& theID, const std::string& theValue) = 0;
+  virtual std::string GetString(const std::string& theID) = 0;
+  
+  virtual void SetBool(const std::string& theID, const bool& theValue) = 0;
+  virtual bool GetBool(const std::string& theID) = 0;
+  
+  virtual void SetRealArray(const std::string& theID, const std::vector<double>& theArray) = 0;
+  virtual std::vector<double> GetRealArray(const std::string& theID) = 0;
+  
+  virtual void SetIntArray(const std::string& theID, const std::vector<int>& theArray) = 0;
+  virtual std::vector<int> GetIntArray(const std::string& theID) = 0;
+
+  virtual void SetStrArray(const std::string& theID, const std::vector<std::string>& theArray) = 0;
+  virtual std::vector<std::string> GetStrArray(const std::string& theID) = 0;
+
+  virtual bool IsSet(const std::string& theID, const int theType) = 0;
+  
+  virtual bool RemoveID(const std::string& theID, const int theType) = 0;
+
+  virtual _PTR(AttributeParameter) GetFather() = 0;
+  virtual bool HasFather() = 0;
+  virtual bool IsRoot() = 0;
+  
+  virtual void Clear() = 0;
+
+  virtual std::vector<std::string> GetIDs(const int theType) = 0;
+};
+
+#endif
diff --git a/src/SALOMEDSClient/SALOMEDSClient_ClientFactory.cxx b/src/SALOMEDSClient/SALOMEDSClient_ClientFactory.cxx
new file mode 100644 (file)
index 0000000..4b5e23b
--- /dev/null
@@ -0,0 +1,112 @@
+#include "SALOMEDSClient_ClientFactory.hxx"
+
+#ifdef WIN32
+#include <windows.h>
+static HMODULE _libHandle = 0;
+#define SALOMEDS_LIB_NAME "SalomeDS.dll"
+#else
+#include <dlfcn.h>
+static void* _libHandle = NULL;
+#define SALOMEDS_LIB_NAME "libSalomeDS.so"
+#endif
+
+#define SOBJECT_FACTORY      "SObjectFactory"
+#define SCOMPONENT_FACTORY   "SComponentFactory"
+#define STUDY_FACTORY        "StudyFactory"
+#define STUDYMANAGER_FACTORY "StudyManagerFactory"
+#define STUDYMANAGER_CREATE  "CreateStudyManager"
+
+typedef SALOMEDSClient_SObject* (*SOBJECT_FACTORY_FUNCTION) (SALOMEDS::SObject_ptr);
+typedef SALOMEDSClient_SComponent* (*SCOMPONENT_FACTORY_FUNCTION) (SALOMEDS::SComponent_ptr);
+typedef SALOMEDSClient_Study* (*STUDY_FACTORY_FUNCTION) (SALOMEDS::Study_ptr);
+typedef SALOMEDSClient_StudyManager* (*STUDYMANAGER_FACTORY_FUNCTION) ();
+typedef SALOMEDSClient_StudyManager* (*STUDYMANAGER_CREATE_FUNCTION) (CORBA::ORB_ptr, PortableServer::POA_ptr);
+
+static SOBJECT_FACTORY_FUNCTION aSObjectFactory = NULL;
+static SCOMPONENT_FACTORY_FUNCTION aSComponentFactory = NULL;
+static STUDY_FACTORY_FUNCTION aStudyFactory = NULL;
+static STUDYMANAGER_FACTORY_FUNCTION aManagerFactory = NULL;
+static STUDYMANAGER_CREATE_FUNCTION aCreateFactory = NULL;
+
+using namespace std;
+
+_PTR(SObject) ClientFactory::SObject(SALOMEDS::SObject_ptr theSObject)
+{
+  SALOMEDSClient_SObject* so = NULL;
+
+#ifdef WIN32
+  if(!_libHandle) _libHandle = ::LoadLibrary(SALOMEDS_LIB_NAME);
+  if(!aSObjectFactory) aSObjectFactory = (SOBJECT_FACTORY_FUNCTION)::GetProcAddress(_libHandle, SOBJECT_FACTORY);
+#else
+  if(!_libHandle) _libHandle = dlopen(SALOMEDS_LIB_NAME, RTLD_LAZY | RTLD_GLOBAL);
+  if(!aSObjectFactory) aSObjectFactory = (SOBJECT_FACTORY_FUNCTION) dlsym(_libHandle, SOBJECT_FACTORY);
+#endif
+
+  if(aSObjectFactory) so = aSObjectFactory(theSObject); 
+  return _PTR(SObject)(so);
+}
+
+_PTR(SComponent) ClientFactory::SComponent(SALOMEDS::SComponent_ptr theSComponent)
+{
+  SALOMEDSClient_SComponent* sco = NULL; 
+
+#ifdef WIN32
+  if(!_libHandle) _libHandle = ::LoadLibrary(SALOMEDS_LIB_NAME);
+  if(!aSComponentFactory) aSComponentFactory = (SCOMPONENT_FACTORY_FUNCTION)::GetProcAddress(_libHandle, SCOMPONENT_FACTORY);
+#else
+  if(!_libHandle) _libHandle = dlopen(SALOMEDS_LIB_NAME, RTLD_LAZY | RTLD_GLOBAL);
+  if(!aSComponentFactory) aSComponentFactory = (SCOMPONENT_FACTORY_FUNCTION) dlsym(_libHandle, SCOMPONENT_FACTORY);
+#endif
+
+  if(aSComponentFactory) sco = aSComponentFactory(theSComponent); 
+  return _PTR(SComponent)(sco);
+}
+
+_PTR(Study) ClientFactory::Study(SALOMEDS::Study_ptr theStudy)
+{
+  SALOMEDSClient_Study* study = NULL;
+
+#ifdef WIN32
+  if(!_libHandle) _libHandle = ::LoadLibrary(SALOMEDS_LIB_NAME);
+  if(!aStudyFactory) aStudyFactory = (STUDY_FACTORY_FUNCTION)::GetProcAddress(_libHandle, STUDY_FACTORY);
+#else
+  if(!_libHandle) _libHandle = dlopen(SALOMEDS_LIB_NAME, RTLD_LAZY | RTLD_GLOBAL);
+  if(!aStudyFactory) aStudyFactory = (STUDY_FACTORY_FUNCTION) dlsym(_libHandle, STUDY_FACTORY);
+#endif
+
+  if(aStudyFactory) study = aStudyFactory(theStudy); 
+  return _PTR(Study)(study);
+}
+
+_PTR(StudyManager) ClientFactory::StudyManager()
+{
+  SALOMEDSClient_StudyManager* manager = NULL;
+
+#ifdef WIN32
+  if(!_libHandle) _libHandle = ::LoadLibrary(SALOMEDS_LIB_NAME);
+  if(!aManagerFactory) aManagerFactory = (STUDYMANAGER_FACTORY_FUNCTION)::GetProcAddress(_libHandle, STUDYMANAGER_FACTORY);
+#else
+  if(!_libHandle) _libHandle = dlopen(SALOMEDS_LIB_NAME, RTLD_LAZY | RTLD_GLOBAL);
+  if(!aManagerFactory) aManagerFactory = (STUDYMANAGER_FACTORY_FUNCTION) dlsym(_libHandle, STUDYMANAGER_FACTORY);
+#endif
+
+  if(aManagerFactory) manager = aManagerFactory(); 
+  return _PTR(StudyManager)(manager);
+}
+
+_PTR(StudyManager) ClientFactory::createStudyManager(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa)
+{
+  SALOMEDSClient_StudyManager* manager = NULL;
+
+#ifdef WIN32
+  if(!_libHandle) _libHandle = ::LoadLibrary(SALOMEDS_LIB_NAME);
+  if(!aCreateFactory) aCreateFactory = (STUDYMANAGER_CREATE_FUNCTION)::GetProcAddress(_libHandle, STUDYMANAGER_CREATE);
+#else
+  if(!_libHandle) _libHandle = dlopen(SALOMEDS_LIB_NAME, RTLD_LAZY | RTLD_GLOBAL);
+  if(!aCreateFactory) aCreateFactory = (STUDYMANAGER_CREATE_FUNCTION) dlsym(_libHandle, STUDYMANAGER_CREATE);
+#endif
+
+  if(aCreateFactory)  manager = aCreateFactory(orb, poa);
+  return _PTR(StudyManager)(manager);
+}
+
diff --git a/src/SALOMEDSClient/SALOMEDSClient_ClientFactory.hxx b/src/SALOMEDSClient/SALOMEDSClient_ClientFactory.hxx
new file mode 100644 (file)
index 0000000..8592929
--- /dev/null
@@ -0,0 +1,71 @@
+// Copyright (C) 2006  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDSClient_ClientFactory.hxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+//  $Header:
+
+#ifndef SALOMEDSClient_ClientFactory_HeaderFile
+#define SALOMEDSClient_ClientFactory_HeaderFile
+
+#include "SALOMEDSClient_definitions.hxx" 
+#include "SALOMEDSClient_SObject.hxx"
+#include "SALOMEDSClient_SComponent.hxx"
+#include "SALOMEDSClient_Study.hxx"
+#include "SALOMEDSClient_StudyManager.hxx"
+
+#include <string>
+
+// IDL headers
+#include <SALOMEconfig.h>
+#include CORBA_CLIENT_HEADER(SALOMEDS)
+
+class ClientFactory {
+
+public:
+  /*!
+   *  Returns a client SObject wrapper that corresponds %theSObject
+   */
+  static _PTR(SObject) SObject(SALOMEDS::SObject_ptr theSObject);
+
+  /*!
+   *  Returns a client SComponent wrapper that corresponds %theSComponent
+   */
+  static _PTR(SComponent) SComponent(SALOMEDS::SComponent_ptr theSComponent);
+
+  /*!
+   *  Returns a client Study wrapper that corresponds %theStudy
+   */
+  static _PTR(Study) Study(SALOMEDS::Study_ptr theStudy);
+
+  /*!
+   *  Returns a client StudyManager wrapper
+   */
+  static _PTR(StudyManager) StudyManager();
+
+  /*!
+   *  Creates and returns a client StudyManager wrapper
+   */
+  static _PTR(StudyManager) createStudyManager(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa);
+
+  
+};
+
+#endif
index 4a33f2b9d243c43cb1f2ad088de963367de7774e..d9873090cc71acd28262e23d2ec1e3e818fedf7c 100644 (file)
@@ -30,6 +30,7 @@
 #include "SALOMEDSClient_definitions.hxx"
 #include "SALOMEDSClient_SComponentIterator.hxx"
 #include "SALOMEDSClient_StudyBuilder.hxx"
+#include "SALOMEDSClient_AttributeParameter.hxx"
 #include "SALOMEDSClient_SObject.hxx"
 #include "SALOMEDSClient_SComponent.hxx"
 #include "SALOMEDSClient_UseCaseBuilder.hxx"
@@ -79,7 +80,12 @@ public:
   virtual _PTR(UseCaseBuilder) GetUseCaseBuilder() = 0;
   virtual void Close() = 0;
   virtual void EnableUseCaseAutoFilling(bool isEnabled) = 0;
-  virtual bool DumpStudy(const std::string& thePath, const std::string& theBaseName, bool isPublished) = 0; 
+  virtual bool DumpStudy(const std::string& thePath, 
+                        const std::string& theBaseName, 
+                        bool isPublished) = 0;
+  virtual _PTR(AttributeParameter) GetCommonParameters(const std::string& theID, int theSavePoint) = 0;
+  virtual _PTR(AttributeParameter) GetModuleParameters(const std::string& theID, 
+                                                      const std::string& theModuleName, int theSavePoint) = 0;
 };
 
 
diff --git a/src/SALOMEDSImpl/Makefile.am b/src/SALOMEDSImpl/Makefile.am
new file mode 100644 (file)
index 0000000..22cd3b6
--- /dev/null
@@ -0,0 +1,201 @@
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS= \
+       SALOMEDSImpl_Attributes.hxx \
+       SALOMEDSImpl_SObject.hxx \
+       SALOMEDSImpl_SComponent.hxx \
+       SALOMEDSImpl_Driver.hxx \
+       SALOMEDSImpl_Callback.hxx \
+       SALOMEDSImpl_ChildIterator.hxx \
+       SALOMEDSImpl_GenericAttribute.hxx \
+       SALOMEDSImpl_AttributeIOR.hxx \
+       SALOMEDSImpl_AttributeExternalFileDef.hxx \
+       SALOMEDSImpl_AttributeFileType.hxx \
+       SALOMEDSImpl_AttributePersistentRef.hxx \
+       SALOMEDSImpl_AttributeSequenceOfReal.hxx \
+       SALOMEDSImpl_AttributeSequenceOfInteger.hxx \
+       SALOMEDSImpl_AttributeDrawable.hxx \
+       SALOMEDSImpl_AttributeSelectable.hxx \
+       SALOMEDSImpl_AttributeExpandable.hxx  \
+       SALOMEDSImpl_AttributeOpened.hxx \
+       SALOMEDSImpl_AttributeFlags.hxx \
+       SALOMEDSImpl_AttributeGraphic.hxx \
+       SALOMEDSImpl_AttributeTextColor.hxx \
+       SALOMEDSImpl_AttributeTextHighlightColor.hxx \
+       SALOMEDSImpl_AttributePixMap.hxx \
+       SALOMEDSImpl_AttributeLocalID.hxx \
+       SALOMEDSImpl_AttributeTarget.hxx \
+       SALOMEDSImpl_AttributeTableOfInteger.hxx \
+       SALOMEDSImpl_AttributeTableOfReal.hxx \
+       SALOMEDSImpl_AttributeTableOfString.hxx \
+       SALOMEDSImpl_AttributeStudyProperties.hxx \
+       SALOMEDSImpl_AttributePythonObject.hxx \
+       SALOMEDSImpl_AttributeReal.hxx \
+       SALOMEDSImpl_AttributeInteger.hxx \
+       SALOMEDSImpl_AttributeUserID.hxx \
+       SALOMEDSImpl_AttributeTreeNode.hxx \
+       SALOMEDSImpl_AttributeName.hxx \
+       SALOMEDSImpl_AttributeComment.hxx \
+       SALOMEDSImpl_AttributeReference.hxx \
+       SALOMEDSImpl_AttributeParameter.hxx \
+       SALOMEDSImpl_UseCaseBuilder.hxx \
+       SALOMEDSImpl_UseCaseIterator.hxx \
+       SALOMEDSImpl_SComponentIterator.hxx \
+       SALOMEDSImpl_StudyBuilder.hxx \
+       SALOMEDSImpl_Study.hxx \
+       SALOMEDSImpl_StudyManager.hxx \
+       SALOMEDSImpl_OCAFApplication.hxx \
+       SALOMEDSImpl_ChildNodeIterator.hxx \
+       SALOMEDSImpl_IParameters.hxx \
+       SALOMEDSImpl_TMPFile.hxx
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../HDFPersist \
+       @HDF5_INCLUDES@
+
+# This flag is used to resolve the dependencies of OCC libraries.
+LDXMUFLAGS = -L/usr/X11R6/lib -lXmu
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../HDFPersist/libSalomeHDFPersist.la \
+       @CAS_OCAF@ \
+       @HDF5_LIBS@ \
+       $(LDXMUFLAGS)
+
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeDSImpl.la
+libSalomeDSImpl_la_SOURCES =\
+       SALOMEDSImpl_Tool.cxx \
+       SALOMEDSImpl_Callback.cxx \
+       SALOMEDSImpl_StudyHandle.cxx \
+       SALOMEDSImpl_GenericAttribute.cxx \
+       SALOMEDSImpl_SObject.cxx \
+       SALOMEDSImpl_SComponent.cxx \
+       SALOMEDSImpl_ChildIterator.cxx \
+       SALOMEDSImpl_OCAFApplication.cxx \
+       SALOMEDSImpl_AttributeIOR.cxx \
+       SALOMEDSImpl_AttributeExternalFileDef.cxx \
+       SALOMEDSImpl_AttributeFileType.cxx \
+       SALOMEDSImpl_AttributePersistentRef.cxx \
+       SALOMEDSImpl_AttributeSequenceOfReal.cxx \
+       SALOMEDSImpl_AttributeSequenceOfInteger.cxx \
+       SALOMEDSImpl_AttributeDrawable.cxx \
+       SALOMEDSImpl_AttributeSelectable.cxx \
+       SALOMEDSImpl_AttributeExpandable.cxx  \
+       SALOMEDSImpl_AttributeOpened.cxx \
+       SALOMEDSImpl_AttributeFlags.cxx \
+       SALOMEDSImpl_AttributeGraphic.cxx \
+       SALOMEDSImpl_AttributeTextColor.cxx \
+       SALOMEDSImpl_AttributeTextHighlightColor.cxx \
+       SALOMEDSImpl_AttributePixMap.cxx \
+       SALOMEDSImpl_AttributeLocalID.cxx \
+       SALOMEDSImpl_AttributeTarget.cxx \
+       SALOMEDSImpl_AttributeTableOfInteger.cxx \
+       SALOMEDSImpl_AttributeTableOfReal.cxx \
+       SALOMEDSImpl_AttributeTableOfString.cxx \
+       SALOMEDSImpl_AttributeStudyProperties.cxx \
+       SALOMEDSImpl_AttributePythonObject.cxx \
+       SALOMEDSImpl_AttributeReal.cxx \
+       SALOMEDSImpl_AttributeInteger.cxx \
+       SALOMEDSImpl_AttributeUserID.cxx \
+       SALOMEDSImpl_AttributeTreeNode.cxx \
+       SALOMEDSImpl_AttributeName.cxx \
+       SALOMEDSImpl_AttributeComment.cxx \
+       SALOMEDSImpl_AttributeReference.cxx \
+       SALOMEDSImpl_AttributeParameter.cxx \
+       SALOMEDSImpl_ChildNodeIterator.cxx \
+       SALOMEDSImpl_UseCaseBuilder.cxx \
+       SALOMEDSImpl_UseCaseIterator.cxx \
+       SALOMEDSImpl_SComponentIterator.cxx \
+       SALOMEDSImpl_StudyBuilder.cxx \
+       SALOMEDSImpl_Study.cxx \
+       SALOMEDSImpl_StudyManager.cxx \
+       SALOMEDSImpl_IParameters.cxx \
+       SALOMEDSImpl_TMPFile.cxx \
+       \
+       SALOMEDSImpl_AttributeComment.hxx \
+       SALOMEDSImpl_AttributeDrawable.hxx \
+       SALOMEDSImpl_AttributeExpandable.hxx \
+       SALOMEDSImpl_AttributeExternalFileDef.hxx \
+       SALOMEDSImpl_AttributeFileType.hxx \
+       SALOMEDSImpl_AttributeFlags.hxx \
+       SALOMEDSImpl_AttributeGraphic.hxx \
+       SALOMEDSImpl_AttributeInteger.hxx \
+       SALOMEDSImpl_AttributeIOR.hxx \
+       SALOMEDSImpl_AttributeLocalID.hxx \
+       SALOMEDSImpl_AttributeName.hxx \
+       SALOMEDSImpl_AttributeOpened.hxx \
+       SALOMEDSImpl_AttributePersistentRef.hxx \
+       SALOMEDSImpl_AttributePixMap.hxx \
+       SALOMEDSImpl_AttributePythonObject.hxx \
+       SALOMEDSImpl_AttributeReal.hxx \
+       SALOMEDSImpl_AttributeReference.hxx \
+       SALOMEDSImpl_AttributeSelectable.hxx \
+       SALOMEDSImpl_AttributeSequenceOfInteger.hxx \
+       SALOMEDSImpl_AttributeSequenceOfReal.hxx \
+       SALOMEDSImpl_Attributes.hxx \
+       SALOMEDSImpl_AttributeStudyProperties.hxx \
+       SALOMEDSImpl_AttributeTableOfInteger.hxx \
+       SALOMEDSImpl_AttributeTableOfReal.hxx \
+       SALOMEDSImpl_AttributeTableOfString.hxx \
+       SALOMEDSImpl_AttributeTarget.hxx \
+       SALOMEDSImpl_AttributeTextColor.hxx \
+       SALOMEDSImpl_AttributeTextHighlightColor.hxx \
+       SALOMEDSImpl_AttributeTreeNode.hxx \
+       SALOMEDSImpl_AttributeUserID.hxx \
+       SALOMEDSImpl_Callback.hxx \
+       SALOMEDSImpl_ChildIterator.hxx \
+       SALOMEDSImpl_ChildNodeIterator.hxx \
+       SALOMEDSImpl_Driver.hxx \
+       SALOMEDSImpl_GenericAttribute.hxx \
+       SALOMEDSImpl_OCAFApplication.hxx \
+       SALOMEDSImpl_SComponent.hxx \
+       SALOMEDSImpl_SComponentIterator.hxx \
+       SALOMEDSImpl_SObject.hxx \
+       SALOMEDSImpl_StudyBuilder.hxx \
+       SALOMEDSImpl_StudyHandle.hxx \
+       SALOMEDSImpl_Study.hxx \
+       SALOMEDSImpl_StudyManager.hxx \
+       SALOMEDSImpl_Tool.hxx \
+       SALOMEDSImpl_UseCaseBuilder.hxx \
+       SALOMEDSImpl_UseCaseIterator.hxx
+
+libSalomeDSImpl_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSalomeDSImpl_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeDSImpl_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = testDS
+testDS_SOURCES  = testDS.cxx
+testDS_CPPFLAGS = $(COMMON_CPPFLAGS)
+testDS_LDADD    = libSalomeDSImpl.la $(COMMON_LIBS)
diff --git a/src/SALOMEDSImpl/Makefile.in b/src/SALOMEDSImpl/Makefile.in
deleted file mode 100644 (file)
index fa73429..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-#  File   : Makefile.in
-#  Author : Sergey RUIN
-#  Module : SALOME
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS= \
-       SALOMEDSImpl_Attributes.hxx \
-       SALOMEDSImpl_SObject.hxx \
-       SALOMEDSImpl_SComponent.hxx \
-       SALOMEDSImpl_Driver.hxx \
-       SALOMEDSImpl_Callback.hxx \
-       SALOMEDSImpl_ChildIterator.hxx \
-       SALOMEDSImpl_GenericAttribute.hxx \
-       SALOMEDSImpl_AttributeIOR.hxx \
-       SALOMEDSImpl_AttributeExternalFileDef.hxx \
-       SALOMEDSImpl_AttributeFileType.hxx \
-       SALOMEDSImpl_AttributePersistentRef.hxx \
-       SALOMEDSImpl_AttributeSequenceOfReal.hxx \
-       SALOMEDSImpl_AttributeSequenceOfInteger.hxx \
-       SALOMEDSImpl_AttributeDrawable.hxx \
-       SALOMEDSImpl_AttributeSelectable.hxx \
-       SALOMEDSImpl_AttributeExpandable.hxx  \
-       SALOMEDSImpl_AttributeOpened.hxx \
-       SALOMEDSImpl_AttributeFlags.hxx \
-       SALOMEDSImpl_AttributeGraphic.hxx \
-       SALOMEDSImpl_AttributeTextColor.hxx \
-       SALOMEDSImpl_AttributeTextHighlightColor.hxx \
-       SALOMEDSImpl_AttributePixMap.hxx \
-       SALOMEDSImpl_AttributeLocalID.hxx \
-       SALOMEDSImpl_AttributeTarget.hxx \
-       SALOMEDSImpl_AttributeTableOfInteger.hxx \
-       SALOMEDSImpl_AttributeTableOfReal.hxx \
-       SALOMEDSImpl_AttributeTableOfString.hxx \
-       SALOMEDSImpl_AttributeStudyProperties.hxx \
-       SALOMEDSImpl_AttributePythonObject.hxx \
-       SALOMEDSImpl_AttributeReal.hxx \
-       SALOMEDSImpl_AttributeInteger.hxx \
-       SALOMEDSImpl_AttributeUserID.hxx \
-       SALOMEDSImpl_AttributeTreeNode.hxx \
-       SALOMEDSImpl_AttributeName.hxx \
-       SALOMEDSImpl_AttributeComment.hxx \
-       SALOMEDSImpl_AttributeReference.hxx \
-       SALOMEDSImpl_UseCaseBuilder.hxx \
-       SALOMEDSImpl_UseCaseIterator.hxx \
-       SALOMEDSImpl_SComponentIterator.hxx \
-       SALOMEDSImpl_StudyBuilder.hxx \
-       SALOMEDSImpl_Study.hxx \
-       SALOMEDSImpl_StudyManager.hxx \
-       SALOMEDSImpl_OCAFApplication.hxx \
-       SALOMEDSImpl_ChildNodeIterator.hxx \
-
-LIB_CLIENT_IDL =
-LIB_SERVER_IDL =
-
-# Executables targets
-BIN = testDS
-BIN_SRC =
-BIN_CLIENT_IDL =
-BIN_SERVER_IDL =   
-
-# Libraries targets
-
-LIB = libSalomeDSImpl.la
-LIB_SRC =        SALOMEDSImpl_Tool.cxx \
-                 SALOMEDSImpl_Callback.cxx \
-                 SALOMEDSImpl_StudyHandle.cxx \
-                 SALOMEDSImpl_GenericAttribute.cxx \
-                 SALOMEDSImpl_SObject.cxx \
-                 SALOMEDSImpl_SComponent.cxx \
-                 SALOMEDSImpl_ChildIterator.cxx \
-                 SALOMEDSImpl_OCAFApplication.cxx \
-                 SALOMEDSImpl_AttributeIOR.cxx \
-                 SALOMEDSImpl_AttributeExternalFileDef.cxx \
-                 SALOMEDSImpl_AttributeFileType.cxx \
-                 SALOMEDSImpl_AttributePersistentRef.cxx \
-                 SALOMEDSImpl_AttributeSequenceOfReal.cxx \
-                 SALOMEDSImpl_AttributeSequenceOfInteger.cxx \
-                 SALOMEDSImpl_AttributeDrawable.cxx \
-                 SALOMEDSImpl_AttributeSelectable.cxx \
-                 SALOMEDSImpl_AttributeExpandable.cxx  \
-                 SALOMEDSImpl_AttributeOpened.cxx \
-                 SALOMEDSImpl_AttributeFlags.cxx \
-                 SALOMEDSImpl_AttributeGraphic.cxx \
-                 SALOMEDSImpl_AttributeTextColor.cxx \
-                 SALOMEDSImpl_AttributeTextHighlightColor.cxx \
-                 SALOMEDSImpl_AttributePixMap.cxx \
-                 SALOMEDSImpl_AttributeLocalID.cxx \
-                 SALOMEDSImpl_AttributeTarget.cxx \
-                 SALOMEDSImpl_AttributeTableOfInteger.cxx \
-                 SALOMEDSImpl_AttributeTableOfReal.cxx \
-                 SALOMEDSImpl_AttributeTableOfString.cxx \
-                 SALOMEDSImpl_AttributeStudyProperties.cxx \
-                 SALOMEDSImpl_AttributePythonObject.cxx \
-                 SALOMEDSImpl_AttributeReal.cxx \
-                 SALOMEDSImpl_AttributeInteger.cxx \
-                 SALOMEDSImpl_AttributeUserID.cxx \
-                 SALOMEDSImpl_AttributeTreeNode.cxx \
-                 SALOMEDSImpl_AttributeName.cxx \
-                 SALOMEDSImpl_AttributeComment.cxx \
-                 SALOMEDSImpl_AttributeReference.cxx \
-                 SALOMEDSImpl_ChildNodeIterator.cxx \
-                 SALOMEDSImpl_UseCaseBuilder.cxx \
-                 SALOMEDSImpl_UseCaseIterator.cxx \
-                 SALOMEDSImpl_SComponentIterator.cxx \
-                 SALOMEDSImpl_StudyBuilder.cxx \
-                 SALOMEDSImpl_Study.cxx \
-                 SALOMEDSImpl_StudyManager.cxx
-
-
-
-CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES)
-CXXFLAGS+=$(OCC_CXXFLAGS)
-LDFLAGS+= $(HDF5_LIBS) -lSalomeHDFPersist $(CAS_OCAF)
-
-# _CS_gbo_090604 Ajout Spécifique Calibre 3, pour l'utilisation de la version 5.12 de la bibliothèque OCC.
-# La bibliothèque OCC5.12 a Ã©té compilée sur Calibre 3 avec l'extention Xmu (impossible de compiler sans).
-# On est donc obligé ici, pour permettre l'édition de lien avec les bibliothèques OCC, de spécifier le
-# chemin d'accès aux bibliothèques Xmu
-#
-LDXMUFLAGS= -L/usr/X11R6/lib -lXmu
-LDFLAGS+=$(LDXMUFLAGS)
-LDFLAGSFORBIN=$(LDFLAGS) -lSalomeHDFPersist
-
-@CONCLUDE@
-
-
index 46d73cf32a6ec4598a30d9d2dad067144514c3b3..55716777c05bd1c230646626b8a4cc7bbf8b7969 100644 (file)
 //  Author : Sergey RUIN
 //  Module : SALOME
 
+#include "SALOMEDSImpl_AttributeComment.hxx"
+
 #ifndef WNT
 using namespace std;
 #endif
-#include "SALOMEDSImpl_AttributeComment.hxx"
 
 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_AttributeComment, SALOMEDSImpl_GenericAttribute )
 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_AttributeComment, SALOMEDSImpl_GenericAttribute )
index c0679aa92ff19bb952846bbea7a82e516279ad55..340bd3f7c8c9dd7484e2ed2ff7787c8244204421 100644 (file)
 //  Author : Sergey RUIN
 //  Module : SALOME
 
+#include "SALOMEDSImpl_AttributeDrawable.hxx"
+
 #ifndef WNT
 using namespace std;
 #endif
-#include "SALOMEDSImpl_AttributeDrawable.hxx"
 
 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_AttributeDrawable, SALOMEDSImpl_GenericAttribute )
 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_AttributeDrawable, SALOMEDSImpl_GenericAttribute )
index 5f4bc9c73093d41b4eae959585801fab0e72cff7..743fa016b217d2d885697113c23b09ea2b5c25c5 100644 (file)
 //  Author : Sergey RUIN
 //  Module : SALOME
 
+#include "SALOMEDSImpl_AttributeExpandable.hxx"
+
 #ifndef WNT
 using namespace std;
 #endif
-#include "SALOMEDSImpl_AttributeExpandable.hxx"
 
 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_AttributeExpandable, SALOMEDSImpl_GenericAttribute )
 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_AttributeExpandable, SALOMEDSImpl_GenericAttribute )
index 85b8355a694a95b593e651aa01a6deab8d173b3c..c5b1553bef0e5518126ff431cf41e799066cf7d4 100644 (file)
 //  Author : Sergey RUIN
 //  Module : SALOME
 
-#ifndef WNT
-using namespace std;
-#endif
 #include "SALOMEDSImpl_AttributeIOR.hxx"
 #include <TCollection_AsciiString.hxx>
 #include "SALOMEDSImpl_Study.hxx"
 #include <Standard_GUID.hxx>
 
+#ifndef WNT
+using namespace std;
+#endif
+
 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_AttributeIOR, SALOMEDSImpl_GenericAttribute )
 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_AttributeIOR, SALOMEDSImpl_GenericAttribute )
 
index dee0c253d97ef47b37570d3f3082a998f2363a34..99075680c82aeacc54d49ef6ff08f4dfe95ee7bf 100644 (file)
 //  Author : Sergey RUIN
 //  Module : SALOME
 
+#include "SALOMEDSImpl_AttributeInteger.hxx"
+
 #ifndef WNT
 using namespace std;
 #endif
-#include "SALOMEDSImpl_AttributeInteger.hxx"
 
 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_AttributeInteger,  SALOMEDSImpl_GenericAttribute)
 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_AttributeInteger, SALOMEDSImpl_GenericAttribute )
diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_AttributeParameter.cxx b/src/SALOMEDSImpl/SALOMEDSImpl_AttributeParameter.cxx
new file mode 100644 (file)
index 0000000..929dec9
--- /dev/null
@@ -0,0 +1,765 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDSImpl_AttributeParameter.cxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+
+#include "SALOMEDSImpl_AttributeParameter.hxx"
+#include <Standard_Failure.hxx>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <strstream>
+
+using namespace std;
+
+
+
+IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_AttributeParameter, SALOMEDSImpl_GenericAttribute )
+IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_AttributeParameter, SALOMEDSImpl_GenericAttribute )
+
+
+// Purpose: Each character in the string is replaced by 3 characters: '%' and hex number 
+//          of the character (2 characters)
+string convertString(const string& S)
+{
+  int length = S.size();
+  const char *s = S.c_str();
+  char *c = new char[3], *buffer = new char[length*3+1];
+  buffer[length*3] = (char)0;
+  for(int i = 0, pos = 0; i<length; i++, pos+=3) {
+    int val = (int)s[i];
+    buffer[pos] = '%';
+    sprintf(c, "%x", val);
+    buffer[pos+1] = c[0]; 
+    buffer[pos+2] = c[1];
+  }
+
+  string RS(buffer); 
+  delete c;
+  delete buffer;
+  return RS;
+}
+
+//Restors a string converted by the function convertString
+string restoreString(const string& S)
+{
+  int length = S.size();
+  char *c = new char[3], *buffer = new char[length/3+1];
+  buffer[length/3] = (char)0;
+  const char *s = S.c_str();
+  for(int i = 0, pos = 0; i<length; i+=3, pos++) {
+    c[0] = s[i+1];
+    c[1] = s[i+2];
+    c[2] = (char)0;
+    int val = strtol(c, NULL, 16);
+    buffer[pos] = (char)val;
+  }
+
+  string RS(buffer); 
+  delete c;
+  delete buffer;
+  return RS;
+}
+
+//=======================================================================
+/*!
+ * Function : GetID
+ * Purpose  : Returns GUID of the attribute
+ */
+//=======================================================================
+const Standard_GUID& SALOMEDSImpl_AttributeParameter::GetID ()
+{
+  static Standard_GUID ParemeterID ("BA75F3A1-E40B-46b8-8D24-B1D3C3BB1A8C");
+  return ParemeterID;
+}   
+
+//=======================================================================
+/*!
+ * Function : Set
+ * Purpose  : Adds an attribute to the label
+ */
+//=======================================================================
+Handle(SALOMEDSImpl_AttributeParameter) SALOMEDSImpl_AttributeParameter::Set (const TDF_Label& L) 
+{
+  Handle(SALOMEDSImpl_AttributeParameter) A;
+  if (!L.FindAttribute(SALOMEDSImpl_AttributeParameter::GetID(), A)) {
+    A = new  SALOMEDSImpl_AttributeParameter(); 
+    L.AddAttribute(A);
+  }
+
+  return A;
+}
+
+//=======================================================================
+/*!
+ * Function : SetInt
+ * Purpose  : Associates a integer value with the ID
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::SetInt(const string& theID, const int& theValue)
+{
+  CheckLocked();
+
+  Backup();
+
+  _ints[theID] = theValue;
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetInt
+ * Purpose  : Returns a int value associated with the given ID
+ */
+//=======================================================================
+int SALOMEDSImpl_AttributeParameter::GetInt(const string& theID)
+{
+  if(!IsSet(theID, PT_INTEGER)) Standard_Failure::Raise("Invalid ID");
+  return _ints[theID];
+}
+
+//=======================================================================
+/*!
+ * Function : SetReal
+ * Purpose  : Associates a double value with the ID
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::SetReal(const string& theID, const double& theValue)
+{
+  CheckLocked();
+
+  Backup();
+
+  _reals[theID] = theValue;
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetReal
+ * Purpose  : Returns a double value associated with the given ID
+ */
+//=======================================================================
+double SALOMEDSImpl_AttributeParameter::GetReal(const string& theID)
+{
+  if(!IsSet(theID, PT_REAL)) Standard_Failure::Raise("Invalid ID");
+  return _reals[theID];
+}
+
+//=======================================================================
+/*!
+ * Function : SetString
+ * Purpose  : Associates a string with the ID
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::SetString(const string& theID, const string& theValue)
+{
+  CheckLocked();
+
+  Backup();
+
+  _strings[theID] = theValue;
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetString
+ * Purpose  : Returns a string associated with the given ID
+ */
+//=======================================================================
+string SALOMEDSImpl_AttributeParameter::GetString(const string& theID)
+{
+  if(!IsSet(theID, PT_STRING)) Standard_Failure::Raise("Invalid ID");
+  return _strings[theID];
+}
+
+//=======================================================================
+/*!
+ * Function : SetBool
+ * Purpose  : Associates a bool value with the ID
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::SetBool(const string& theID, const bool& theValue)
+{
+  CheckLocked();
+
+  Backup();
+
+  _bools[theID] = theValue;
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetBool
+ * Purpose  : Returns a bool value associated with the ID
+ */
+//=======================================================================
+bool SALOMEDSImpl_AttributeParameter::GetBool(const string& theID)
+{
+  if(!IsSet(theID, PT_BOOLEAN)) Standard_Failure::Raise("Invalid ID");
+  return _bools[theID];
+}
+
+//=======================================================================
+/*!
+ * Function : SetRealArray
+ * Purpose  : Associates an array of double values with the given ID
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::SetRealArray(const string& theID, const vector<double>& theArray)
+{
+  CheckLocked();
+
+  Backup();
+
+  _realarrays[theID] = theArray;
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetRealArray
+ * Purpose  : Returns double values associated with the ID
+ */
+//=======================================================================
+vector<double> SALOMEDSImpl_AttributeParameter::GetRealArray(const string& theID)
+{
+  if(!IsSet(theID, PT_REALARRAY)) Standard_Failure::Raise("Invalid ID");
+  return _realarrays[theID];
+}
+
+//=======================================================================
+/*!
+ * Function : SetIntArray
+ * Purpose  : Associates an array of int values with the given ID
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::SetIntArray(const string& theID, const vector<int>& theArray)
+{
+  CheckLocked();
+
+  Backup();
+
+  _intarrays[theID] = theArray;
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetIntArray
+ * Purpose  : Returns int values associated with the ID
+ */
+//=======================================================================
+vector<int> SALOMEDSImpl_AttributeParameter::GetIntArray(const string& theID)
+{
+  if(!IsSet(theID, PT_INTARRAY)) Standard_Failure::Raise("Invalid ID");
+  return _intarrays[theID];
+}
+
+//=======================================================================
+/*!
+ * Function : SetStrArray
+ * Purpose  : Associates an array of string values with the given ID
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::SetStrArray(const string& theID, const vector<string>& theArray)
+{
+  CheckLocked();
+
+  Backup();
+
+  _strarrays[theID] = theArray;
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetStrArray
+ * Purpose  : Returns string values associated with the ID
+ */
+//=======================================================================
+vector<string> SALOMEDSImpl_AttributeParameter::GetStrArray(const string& theID)
+{
+  if(!IsSet(theID, PT_STRARRAY)) Standard_Failure::Raise("Invalid ID");
+  return _strarrays[theID];
+}
+
+//=======================================================================
+/*!
+ * Function : IsSet
+ * Purpose  : Returns true if for the ID of given type was assigned \n
+ *            a value in the attribute
+ */
+//=======================================================================
+bool SALOMEDSImpl_AttributeParameter::IsSet(const string& theID, const Parameter_Types theType)
+{
+  switch(theType) {
+  case PT_INTEGER: {
+    if(_ints.find(theID) != _ints.end()) return true;
+    break;
+  }
+  case PT_REAL: {
+    if(_reals.find(theID) != _reals.end()) return true;
+    break;
+  }
+  case PT_BOOLEAN: {
+    if(_bools.find(theID) != _bools.end()) return true;
+    break;
+  }
+  case PT_STRING: {
+    if(_strings.find(theID) != _strings.end()) return true;
+    break;
+  }
+  case PT_REALARRAY: {
+    if(_realarrays.find(theID) != _realarrays.end()) return true;
+    break;
+  }
+  case PT_INTARRAY: {
+    if(_intarrays.find(theID) != _intarrays.end()) return true;
+    break;
+  }
+  case PT_STRARRAY: {
+    if(_strarrays.find(theID) != _strarrays.end()) return true;
+    break;
+  }
+  default: return false;
+  }
+
+  return false;
+}
+
+//=======================================================================
+/*!
+ * Function : RemoveID
+ * Purpose  : Removes a parameter with given ID
+ */
+//=======================================================================
+bool SALOMEDSImpl_AttributeParameter::RemoveID(const string& theID, const Parameter_Types theType)
+{
+  Backup();
+  SetModifyFlag(); 
+
+  switch(theType) {
+  case PT_INTEGER: {
+    if(_ints.erase(theID)) return true;
+    break;
+  }
+  case PT_REAL: {
+    if(_reals.erase(theID)) return true;
+    break;
+  }
+  case PT_BOOLEAN: {
+    if(_bools.erase(theID)) return true;
+    break;
+  }
+  case PT_STRING: {
+    if(_strings.erase(theID)) return true;
+    break;
+  }
+  case PT_REALARRAY: {
+    if(_realarrays.erase(theID)) return true;
+    break;
+  }
+  case PT_INTARRAY: {
+    if(_intarrays.erase(theID)) return true;
+    break;
+  }
+  case PT_STRARRAY: {
+    if(_strarrays.erase(theID)) return true;
+    break;
+  }
+  default: return false;
+  }
+
+
+  return false;
+}
+
+
+//=======================================================================
+/*!
+ * Function : GetFather
+ * Purpose  : Returns a father attribute for this attribute
+ */
+//=======================================================================
+Handle(SALOMEDSImpl_AttributeParameter) SALOMEDSImpl_AttributeParameter::GetFather()
+{
+  Handle(SALOMEDSImpl_AttributeParameter) aFather;
+  TDF_Label L = Label();
+  if(L.IsRoot()) return aFather;
+
+  while(!L.IsRoot()) {
+    L = L.Father();
+    if(L.FindAttribute(SALOMEDSImpl_AttributeParameter::GetID(), aFather)) break; 
+  }
+
+  return aFather;
+}
+
+//=======================================================================
+/*!
+ * Function : HasFather
+ * Purpose  : Returns True if the attribute has a father attribute
+ */
+//=======================================================================
+bool SALOMEDSImpl_AttributeParameter::HasFather()
+{
+  TDF_Label L = Label();
+  if(L.IsRoot()) return false;
+  while(!L.IsRoot()) {
+    L = L.Father();
+    if(L.IsAttribute(SALOMEDSImpl_AttributeParameter::GetID())) return true; 
+  }
+
+  return false;
+}
+
+//=======================================================================
+/*!
+ * Function : IsRoot
+ * Purpose  : Returns True is the attribute is highest in an hierachy
+ */
+//=======================================================================
+bool SALOMEDSImpl_AttributeParameter::IsRoot()
+{
+  return ((HasFather())?false:true);
+}           
+
+//=======================================================================
+/*!
+ * Function : Clear
+ * Purpose  : Clears the content of the attribute
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::Clear()
+{
+  Backup();
+
+  _ints.clear();
+  _reals.clear();
+  _bools.clear();
+  _strings.clear();
+  _realarrays.clear();
+  _intarrays.clear();
+  _strarrays.clear();
+
+  SetModifyFlag(); 
+}
+
+//=======================================================================
+/*!
+ * Function : GetIDs
+ * Purpose  : Returns an array of all ID's of the given type
+ */
+//=======================================================================
+vector<string> SALOMEDSImpl_AttributeParameter::GetIDs(const Parameter_Types theType)
+{
+  
+  vector<string> anArray;
+  int i = 0;
+
+  switch(theType) {
+  case PT_INTEGER: {
+    if(_ints.size()) {
+      anArray.resize(_ints.size());
+      for(map<string,int>::const_iterator p = _ints.begin(); p != _ints.end(); p++, i++) 
+       anArray[i] =  p->first;
+    }
+    break;
+  }
+  case PT_REAL: {
+    if(_reals.size()) {
+      anArray.resize(_reals.size());
+      for(map<string,double>::const_iterator p = _reals.begin(); p != _reals.end(); p++, i++) 
+       anArray[i] = p->first;
+    }
+    break;
+  }
+  case PT_BOOLEAN: {
+    if(_bools.size()) {
+      anArray.resize(_bools.size());
+      for(map<string,bool>::const_iterator p = _bools.begin(); p != _bools.end(); p++, i++) 
+       anArray[i] = p->first;
+    }
+    break;
+  }
+  case PT_STRING: {
+    if(_strings.size()) {
+      anArray.resize(_strings.size());
+      for(map<string,string>::const_iterator p = _strings.begin(); p!= _strings.end(); p++) 
+       anArray[i] = p->first;
+    }
+    break;
+  }
+  case PT_REALARRAY: {
+    if(_realarrays.size()) {
+      anArray.resize(_realarrays.size());
+      for(map< string, vector<double> >::const_iterator p = _realarrays.begin(); p!= _realarrays.end(); p++) 
+       anArray[i] = p->first;
+    }
+    break;
+  }
+  case PT_INTARRAY: {
+    if(_intarrays.size()) {
+      anArray.resize(_intarrays.size());
+      for(map< string, vector<int> >::const_iterator p = _intarrays.begin(); p!= _intarrays.end(); p++) 
+       anArray[i] = p->first;
+    }
+    break;
+  }
+  case PT_STRARRAY: {
+    if(_strarrays.size()) {
+      anArray.resize(_strarrays.size());
+      for(map< string, vector<string> >::const_iterator p = _strarrays.begin(); p!= _strarrays.end(); p++) 
+       anArray[i] = p->first;
+    }
+    break;
+  }
+  default: return anArray;
+  }
+
+  return anArray;
+}
+
+//=======================================================================
+/*!
+ * Function : ID
+ * Purpose  : Rteurns an GUID of the attribute
+ */
+//=======================================================================
+const Standard_GUID& SALOMEDSImpl_AttributeParameter::ID () const { return GetID(); } 
+
+
+Handle(TDF_Attribute) SALOMEDSImpl_AttributeParameter::NewEmpty () const
+{  
+  return new SALOMEDSImpl_AttributeParameter(); 
+}
+
+//=======================================================================
+/*!
+ * Function : Restore
+ * Purpose  : Restors the content of the attribute from another
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::Restore(const Handle(TDF_Attribute)& with) 
+{
+  Handle(SALOMEDSImpl_AttributeParameter) A = Handle(SALOMEDSImpl_AttributeParameter)::DownCast (with);
+  _ints.clear();
+  _reals.clear();
+  _bools.clear();
+  _strings.clear();
+  _realarrays.clear();
+  _intarrays.clear();
+  _strarrays.clear();
+  
+  for(map<string,int>::const_iterator p = A->_ints.begin(); p!= A->_ints.end(); p++) _ints[p->first] = p->second;
+  for(map<string,double>::const_iterator p = A->_reals.begin(); p!= A->_reals.end(); p++) _reals[p->first] = p->second;
+  for(map<string,bool>::const_iterator p = A->_bools.begin(); p!= A->_bools.end(); p++) _bools[p->first] = p->second;
+  for(map<string,string>::const_iterator p = A->_strings.begin(); p!= A->_strings.end(); p++) 
+    _strings[p->first] = p->second;
+  for(map< string,vector<double> >::const_iterator p = A->_realarrays.begin(); p!= A->_realarrays.end(); p++) 
+    _realarrays[p->first] = p->second;  
+  for(map< string,vector<int> >::const_iterator p = A->_intarrays.begin(); p!= A->_intarrays.end(); p++) 
+    _intarrays[p->first] = p->second;  
+  for(map< string,vector<string> >::const_iterator p = A->_strarrays.begin(); p!= A->_strarrays.end(); p++) 
+    _strarrays[p->first] = p->second; 
+}
+
+//=======================================================================
+/*!
+ * Function : Paste
+ * Purpose  : Pastes the content of attribute to another
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::Paste (const Handle(TDF_Attribute)& into,
+                                            const Handle(TDF_RelocationTable)& RT) const
+{
+  into->Restore(this);
+}
+
+//=======================================================================
+/*!
+ * Function : Save
+ * Purpose  : Saves a content of the attribute as a string
+ */
+//=======================================================================
+TCollection_AsciiString SALOMEDSImpl_AttributeParameter::Save() 
+{ 
+  ostrstream buffer;
+  char *tmpBuffer = new char[255];
+
+  buffer << _ints.size() << " ";
+
+  for(map<string,int>::const_iterator p = _ints.begin(); p != _ints.end(); p++) {
+    buffer << convertString(p->first) << " " << p->second << " ";
+  }
+
+  buffer << _reals.size() << " ";
+  for(map<string,double>::const_iterator p =_reals.begin(); p != _reals.end(); p++) {
+    sprintf(tmpBuffer, "%.64e", p->second);
+    buffer << convertString(p->first) << " " << tmpBuffer << " ";
+  }
+
+  buffer << _bools.size() << " ";
+  for(map<string,bool>::const_iterator p = _bools.begin(); p != _bools.end(); p++) {
+     buffer << convertString(p->first) << " " << p->second << " ";
+  }
+
+  buffer << _strings.size() << " ";
+  for(map<string,string>::const_iterator p = _strings.begin(); p != _strings.end(); p++) {
+    buffer << convertString(p->first) << " " <<  convertString(p->second) << " ";
+  }
+
+  buffer << _realarrays.size() << " ";
+  for(map< string,vector<double> >::const_iterator p = _realarrays.begin(); p != _realarrays.end(); p++) {
+    vector<double> v(p->second);
+    sprintf(tmpBuffer, " %s %d ", convertString(p->first).c_str(), v.size());
+    buffer << tmpBuffer;
+    for(int i = 0; i<v.size(); i++) {
+      sprintf(tmpBuffer, " %.64e ", v[i]);
+      buffer << tmpBuffer;
+    }
+  }
+
+  buffer << _intarrays.size() << " ";
+  for(map< string,vector<int> >::const_iterator p = _intarrays.begin(); p != _intarrays.end(); p++) {
+    vector<int> v(p->second);
+    sprintf(tmpBuffer, " %s %d ", convertString(p->first).c_str(), v.size());
+    buffer << tmpBuffer;
+    for(int i = 0; i<v.size(); i++) {
+      sprintf(tmpBuffer, " %d ", v[i]);
+      buffer << tmpBuffer;
+    }
+  }
+
+  buffer << _strarrays.size() << " ";
+  for(map< string,vector<string> >::const_iterator p = _strarrays.begin(); p != _strarrays.end(); p++) {
+    vector<string> v(p->second);
+    sprintf(tmpBuffer, " %s %d ", convertString(p->first).c_str(), v.size());
+    buffer << tmpBuffer;
+    for(int i = 0; i<v.size(); i++) {
+      buffer << " " << convertString(v[i]) << " ";
+    }
+  }
+
+  delete tmpBuffer;
+
+  TCollection_AsciiString AS((char*)buffer.rdbuf()->str());
+
+  return AS; 
+}
+
+//=======================================================================
+/*!
+ * Function : Load
+ * Purpose  : Restores the attribute from the string
+ */
+//=======================================================================
+void SALOMEDSImpl_AttributeParameter::Load(const TCollection_AsciiString& theValue) 
+{ 
+  Backup();
+
+  _ints.clear();
+  _reals.clear();
+  _bools.clear();
+  _strings.clear();
+  _realarrays.clear();
+  _intarrays.clear();
+
+  istrstream buffer(theValue.ToCString(), strlen(theValue.ToCString()));
+
+  int size, val, ival;
+  double val2;
+  string s, id;
+
+  buffer >> size;
+  for(int i = 1; i<=size; i++) {
+    buffer >> id >> val;
+    _ints[restoreString(id)] = val;
+  }
+
+  buffer >> size;
+  for(int i = 1; i<=size; i++) {
+    buffer >> id >> val2;
+    _reals[restoreString(id)] = val2;
+  }
+
+  buffer >> size;
+  for(int i = 1; i<=size; i++) {
+    buffer >> id >> val;
+    _bools[restoreString(id)] = val;
+  }
+
+  buffer >> size;
+  for(int i = 1; i<=size; i++) {
+    buffer >> id >> s;
+    _strings[restoreString(id)] = restoreString(s);
+  }
+  
+  buffer >> size;
+  for(int i = 1; i<=size; i++) {
+    buffer >> id >> val;
+    vector<double> v;
+    v.resize(val);
+    for(int j = 0; j<val; j++) {
+      buffer >> val2;
+      v[j] = val2;
+    }
+    _realarrays[restoreString(id)] = v;
+  }
+
+  buffer >> size;
+  for(int i = 1; i<=size; i++) {
+    buffer >> id >> val;
+    vector<int> v;
+    v.resize(val);
+    for(int j = 0; j<val; j++) {
+      buffer >> ival;
+      v[j] = ival;
+    }
+    _intarrays[restoreString(id)] = v;
+  }
+  
+  buffer >> size;
+  for(int i = 1; i<=size; i++) {
+    buffer >> id >> val;
+    vector<string> v;
+    v.resize(val);
+    for(int j = 0; j<val; j++) {
+      buffer >> s;
+      v[j] = restoreString(s);
+    }
+    _strarrays[restoreString(id)] = v;
+  }
+} 
diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_AttributeParameter.hxx b/src/SALOMEDSImpl/SALOMEDSImpl_AttributeParameter.hxx
new file mode 100644 (file)
index 0000000..ab273ae
--- /dev/null
@@ -0,0 +1,119 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  File   : SALOMEDSImpl_AttributeIOR.hxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+#ifndef _SALOMEDSImpl_AttributeParameter_HeaderFile
+#define _SALOMEDSImpl_AttributeParameter_HeaderFile
+
+#include <Standard_DefineHandle.hxx>
+#include <TDF_Attribute.hxx>
+#include <TCollection_AsciiString.hxx>
+#include <TCollection_ExtendedString.hxx>
+#include <TDF_Label.hxx> 
+#include "SALOMEDSImpl_GenericAttribute.hxx"
+
+#include <vector>
+#include <string>
+#include <map>
+
+class Standard_GUID;
+class Handle(TDF_Attribute);
+class Handle(TDF_RelocationTable);
+
+
+DEFINE_STANDARD_HANDLE( SALOMEDSImpl_AttributeParameter, SALOMEDSImpl_GenericAttribute )
+
+enum Parameter_Types {PT_INTEGER, PT_REAL, PT_BOOLEAN, PT_STRING, PT_REALARRAY, PT_INTARRAY, PT_STRARRAY};
+
+/*!
+ Class: SALOMEDSImpl_AttributeParameter
+ Description : AttributeParameter is a universal container of basic types 
+*/
+
+class SALOMEDSImpl_AttributeParameter : public SALOMEDSImpl_GenericAttribute 
+{
+
+private:
+  
+  std::map<std::string, int>                     _ints;
+  std::map<std::string, double>                  _reals;
+  std::map<std::string, std::string>             _strings;
+  std::map<std::string, bool>                    _bools;
+  std::map< std::string, vector<double> >        _realarrays;
+  std::map< std::string, vector<int> >           _intarrays;
+  std::map< std::string, vector<std::string> >   _strarrays;
+
+public:
+  Standard_EXPORT static const Standard_GUID& GetID() ;
+
+  Standard_EXPORT  SALOMEDSImpl_AttributeParameter():SALOMEDSImpl_GenericAttribute("AttributeParameter") {}
+  Standard_EXPORT  static Handle(SALOMEDSImpl_AttributeParameter) Set (const TDF_Label& L);
+
+
+  Standard_EXPORT void SetInt(const std::string& theID, const int& theValue);
+  Standard_EXPORT int GetInt(const std::string& theID);
+
+  Standard_EXPORT void SetReal(const std::string& theID, const double& theValue);
+  Standard_EXPORT double GetReal(const std::string& theID);
+
+  Standard_EXPORT void SetString(const std::string& theID, const std::string& theValue);
+  Standard_EXPORT std::string GetString(const std::string& theID);
+  
+  Standard_EXPORT void SetBool(const std::string& theID, const bool& theValue);
+  Standard_EXPORT bool GetBool(const std::string& theID);
+  
+  Standard_EXPORT void SetRealArray(const std::string& theID, const std::vector<double>& theArray);
+  Standard_EXPORT std::vector<double> GetRealArray(const std::string& theID);
+  
+  Standard_EXPORT void SetIntArray(const std::string& theID, const std::vector<int>& theArray);
+  Standard_EXPORT std::vector<int> GetIntArray(const std::string& theID);
+
+  Standard_EXPORT void SetStrArray(const std::string& theID, const std::vector<std::string>& theArray);
+  Standard_EXPORT std::vector<std::string> GetStrArray(const std::string& theID);
+
+  Standard_EXPORT bool IsSet(const std::string& theID, const Parameter_Types theType);
+  
+  Standard_EXPORT bool RemoveID(const std::string& theID, const Parameter_Types theType);
+
+  Standard_EXPORT Handle(SALOMEDSImpl_AttributeParameter) GetFather();
+  Standard_EXPORT bool HasFather();
+  Standard_EXPORT bool IsRoot();
+
+  Standard_EXPORT std::vector<std::string> GetIDs(const Parameter_Types theType);
+
+  Standard_EXPORT void Clear();
+
+  Standard_EXPORT  virtual TCollection_AsciiString Save();
+  Standard_EXPORT  virtual void Load(const TCollection_AsciiString& theValue); 
+
+  Standard_EXPORT  const Standard_GUID& ID() const;
+  Standard_EXPORT  void Restore(const Handle(TDF_Attribute)& with) ;
+  Standard_EXPORT  Handle_TDF_Attribute NewEmpty() const;
+  Standard_EXPORT  void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const;
+  
+  Standard_EXPORT ~SALOMEDSImpl_AttributeParameter() {}
+
+public:
+  DEFINE_STANDARD_RTTI( SALOMEDSImpl_AttributeParameter )
+};
+
+#endif
index e593350f0c3484684d11c2b54ce9f531b66da013..4be4e027e9fb23dd63c649a882ab1637730903a7 100644 (file)
@@ -63,6 +63,7 @@ public :
 #include "SALOMEDSImpl_AttributeFileType.hxx"
 #include "SALOMEDSImpl_AttributeFlags.hxx"
 #include "SALOMEDSImpl_AttributeGraphic.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
 
 
 #define __AttributeTypeToGUIDForSObject \
@@ -93,7 +94,8 @@ public :
        if(theType == "AttributeFileType") return SALOMEDSImpl_AttributeFileType::GetID(); \
        if(theType == "AttributeFlags") return SALOMEDSImpl_AttributeFlags::GetID(); \
         if(theType == "AttributeGraphic") return SALOMEDSImpl_AttributeGraphic::GetID(); \
-       if(theType == "AttributeReference") return SALOMEDSImpl_AttributeReference::GetID();
+       if(theType == "AttributeReference") return SALOMEDSImpl_AttributeReference::GetID(); \
+       if(theType == "AttributeParameter") return SALOMEDSImpl_AttributeParameter::GetID();
 
 
 #define __FindOrCreateAttributeLocked(ClassName) if (strcmp(aTypeOfAttribute.ToCString(), #ClassName) == 0) { \
@@ -129,6 +131,7 @@ __FindOrCreateAttributeLocked(AttributeTableOfInteger) \
 __FindOrCreateAttributeLocked(AttributeTableOfReal) \
 __FindOrCreateAttributeLocked(AttributeTableOfString) \
 __FindOrCreateAttributeLocked(AttributePythonObject) \
+__FindOrCreateAttributeLocked(AttributeParameter) \
 __FindOrCreateAttribute(AttributePersistentRef) \
 __FindOrCreateAttribute(AttributeDrawable) \
 __FindOrCreateAttribute(AttributeSelectable) \
index e3d53663a3eee5ca0d45a9218f2149767a63112b..4a59e0b7bf607af9527612ce044e435dc87067a9 100644 (file)
@@ -23,6 +23,7 @@
 #include <TCollection_AsciiString.hxx>
 #include <SALOMEDSImpl_SComponent.hxx>
 #include <SALOMEDSImpl_SObject.hxx>
+#include <SALOMEDSImpl_TMPFile.hxx>
 
 
 class SALOMEDSImpl_Driver
@@ -31,15 +32,15 @@ public:
 
   virtual TCollection_AsciiString GetIOR() = 0;
 
-  virtual unsigned char* Save(const Handle(SALOMEDSImpl_SComponent)& theComponent,
-                             const TCollection_AsciiString& theURL,
-                             long& theStreamLength,
-                             bool isMultiFile) = 0;
+  virtual Handle(SALOMEDSImpl_TMPFile) Save(const Handle(SALOMEDSImpl_SComponent)& theComponent,
+                                           const TCollection_AsciiString& theURL,
+                                           long& theStreamLength,
+                                           bool isMultiFile) = 0;
 
-  virtual unsigned char* SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent,
-                                  const TCollection_AsciiString& theURL,
-                                  long& theStreamLength,
-                                  bool isMultiFile) = 0;
+  virtual Handle(SALOMEDSImpl_TMPFile) SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent,
+                                                const TCollection_AsciiString& theURL,
+                                                long& theStreamLength,
+                                                bool isMultiFile) = 0;
   
   virtual bool Load(const Handle(SALOMEDSImpl_SComponent)& theComponent,
                    const unsigned char* theStream,
@@ -70,10 +71,10 @@ public:
 
   virtual bool CanCopy(const Handle(SALOMEDSImpl_SObject)& theObject) = 0;
 
-  virtual unsigned char* CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, 
-                                 int& theObjectID,
-                                 long& theStreamLength) = 0;
-
+  virtual Handle(SALOMEDSImpl_TMPFile) CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, 
+                                               int& theObjectID,
+                                               long& theStreamLength) = 0;
+  
   virtual bool CanPaste(const TCollection_AsciiString& theComponentName, int theObjectID) = 0;
 
   virtual TCollection_AsciiString PasteInto(const unsigned char* theStream,
@@ -81,10 +82,10 @@ public:
                                            int theObjectID,
                                            const Handle(SALOMEDSImpl_SObject)& theObject) = 0;
 
-  virtual unsigned char* DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, 
-                                    bool isPublished, 
-                                   bool& isValidScript,
-                                   long& theStreamLength) = 0;
+  virtual Handle(SALOMEDSImpl_TMPFile) DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, 
+                                                 bool isPublished, 
+                                                 bool& isValidScript,
+                                                 long& theStreamLength) = 0;
 };
 
 class SALOMEDSImpl_DriverFactory
diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_IParameters.cxx b/src/SALOMEDSImpl/SALOMEDSImpl_IParameters.cxx
new file mode 100644 (file)
index 0000000..02115ab
--- /dev/null
@@ -0,0 +1,361 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+#include "SALOMEDSImpl_IParameters.hxx"
+#include <utilities.h>
+
+#include <TCollection_AsciiString.hxx>
+
+#include "SALOMEDSImpl_SObject.hxx"
+#include "SALOMEDSImpl_ChildIterator.hxx"
+
+using namespace std;
+
+#define _AP_LISTS_LIST_ "AP_LISTS_LIST"
+#define _AP_ENTRIES_LIST_ "AP_ENTRIES_LIST"
+#define _AP_PROPERTIES_LIST_ "AP_PROPERTIES_LIST"
+#define _AP_DUMP_PYTHON_ "AP_DUMP_PYTHON"
+
+/*!
+  Constructor
+*/
+SALOMEDSImpl_IParameters::SALOMEDSImpl_IParameters(const Handle(SALOMEDSImpl_AttributeParameter)& ap)
+{
+  if(ap.IsNull()) return;
+  _ap = ap;
+  Handle(SALOMEDSImpl_SObject) so = _ap->GetSObject();
+  _study = so->GetStudy();
+}
+
+SALOMEDSImpl_IParameters::~SALOMEDSImpl_IParameters()
+{
+  _compNames.clear();
+}
+
+int SALOMEDSImpl_IParameters::append(const string& listName, const string& value)
+{
+  if(_ap.IsNull()) return -1;
+  vector<string> v;
+  if(!_ap->IsSet(listName, PT_STRARRAY)) {
+    if(!_ap->IsSet(_AP_LISTS_LIST_, PT_STRARRAY)) _ap->SetStrArray(_AP_LISTS_LIST_, v);
+    if(listName != _AP_ENTRIES_LIST_ && 
+       listName != _AP_PROPERTIES_LIST_) {
+      append(_AP_LISTS_LIST_, listName);
+    }
+    _ap->SetStrArray(listName, v);
+  }
+  v = _ap->GetStrArray(listName);
+  v.push_back(value);
+  _ap->SetStrArray(listName, v);
+  return (v.size()-1);
+}
+
+int SALOMEDSImpl_IParameters::nbValues(const string& listName)
+{
+  if(_ap.IsNull()) return -1;
+  if(!_ap->IsSet(listName, PT_STRARRAY)) return 0;
+  vector<string> v = _ap->GetStrArray(listName);
+  return v.size();
+}
+
+vector<string> SALOMEDSImpl_IParameters::getValues(const string& listName)
+{
+  vector<string> v;
+  if(_ap.IsNull()) return v;
+  if(!_ap->IsSet(listName, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(listName);
+}
+
+
+string SALOMEDSImpl_IParameters::getValue(const string& listName, int index)
+{
+  if(_ap.IsNull()) return "";
+  if(!_ap->IsSet(listName, PT_STRARRAY)) return "";
+  vector<string> v = _ap->GetStrArray(listName);
+  if(index >= v.size()) return ""; 
+  return v[index];
+}
+
+vector<string> SALOMEDSImpl_IParameters::getLists()
+{
+  vector<string> v;
+  if(!_ap->IsSet(_AP_LISTS_LIST_, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(_AP_LISTS_LIST_);
+}
+
+void SALOMEDSImpl_IParameters::setParameter(const string& entry, const string& parameterName, const string& value)
+{
+  if(_ap.IsNull()) return;
+  vector<string> v;
+  if(!_ap->IsSet(entry, PT_STRARRAY)) {
+    append(_AP_ENTRIES_LIST_, entry); //Add the entry to the internal list of entries
+    _ap->SetStrArray(entry, v);
+  }
+  v = _ap->GetStrArray(entry);
+  v.push_back(parameterName);
+  v.push_back(value);
+  _ap->SetStrArray(entry, v);
+}
+
+
+string SALOMEDSImpl_IParameters::getParameter(const string& entry, const string& parameterName)
+{
+  if(_ap.IsNull()) return "";
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return "";
+  vector<string> v = _ap->GetStrArray(entry);
+  int length = v.size();
+  for(int i = 0; i<length; i+=1) {
+    if(v[i] == parameterName) return v[i+1];
+  }
+  return "";
+}
+
+
+vector<string> SALOMEDSImpl_IParameters::getAllParameterNames(const string& entry)
+{
+  vector<string> v, names;
+  if(_ap.IsNull()) return v; 
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return v;
+  v = _ap->GetStrArray(entry);
+  int length = v.size();
+  for(int i = 0; i<length; i+=2) {
+    names.push_back(v[i]);
+  }
+  return names;
+}
+
+vector<string> SALOMEDSImpl_IParameters::getAllParameterValues(const string& entry)
+{
+  vector<string> v, values;
+  if(_ap.IsNull()) return v; 
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return v;
+  v = _ap->GetStrArray(entry);
+  int length = v.size();
+  for(int i = 1; i<length; i+=2) {
+    values.push_back(v[i]);
+  }
+  return values; 
+}
+
+int SALOMEDSImpl_IParameters::getNbParameters(const string& entry)
+{
+  if(_ap.IsNull()) return -1;
+  if(!_ap->IsSet(entry, PT_STRARRAY)) return -1;
+  return  _ap->GetStrArray(entry).size()/2;
+}
+
+vector<string> SALOMEDSImpl_IParameters::getEntries()
+{
+  vector<string> v;
+  if(_ap.IsNull()) return v;
+  if(!_ap->IsSet(_AP_ENTRIES_LIST_, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(_AP_ENTRIES_LIST_);
+}
+
+void SALOMEDSImpl_IParameters::setProperty(const string& name, const std::string& value)
+{
+  if(_ap.IsNull()) return;
+  if(!_ap->IsSet(name, PT_STRING)) {
+    append(_AP_PROPERTIES_LIST_, name); //Add the property to the internal list of properties
+  }
+  _ap->SetString(name, value);
+}
+
+string SALOMEDSImpl_IParameters::getProperty(const string& name)
+{
+  if(_ap.IsNull()) return "";
+  if(!_ap->IsSet(name, PT_STRING)) return "";
+  return _ap->GetString(name);
+}
+
+vector<string> SALOMEDSImpl_IParameters::getProperties()
+{
+  vector<string> v;
+  if(_ap.IsNull()) return v;
+  if(!_ap->IsSet(_AP_PROPERTIES_LIST_, PT_STRARRAY)) return v;
+  return _ap->GetStrArray(_AP_PROPERTIES_LIST_);
+}
+
+string SALOMEDSImpl_IParameters::decodeEntry(const string& entry)
+{
+  if(!_study) return entry;
+  int pos = entry.rfind("_");
+  if(pos < 0 || pos >= entry.length()) return entry;
+
+  string compName(entry, 0, pos), compID, tail(entry, pos+1, entry.length()-1);
+  
+  if(_compNames.find(compName) == _compNames.end()) {
+    Handle(SALOMEDSImpl_SObject) so = _study->FindComponent((char*)compName.c_str());
+    if(!so) return entry;
+    compID = so->GetID().ToCString();
+    _compNames[compName] = compID;
+  }
+  else compID = _compNames[compName];
+  string newEntry(compID);
+  newEntry += (":"+tail);
+  
+  return newEntry;
+}
+
+
+bool SALOMEDSImpl_IParameters::isDumpPython(const Handle(SALOMEDSImpl_Study)& study, const string& theID)
+{
+  string anID;
+  if(theID == "") anID = getDefaultVisualComponent();
+  else anID = theID;
+
+  Handle(SALOMEDSImpl_AttributeParameter) ap = study->GetCommonParameters((char*)anID.c_str(), 0);
+  if(ap.IsNull()) return false;
+  if(!ap->IsSet(_AP_DUMP_PYTHON_, PT_BOOLEAN)) return false;
+  return (bool)ap->GetBool(_AP_DUMP_PYTHON_);
+}
+
+
+int SALOMEDSImpl_IParameters::getLastSavePoint(const Handle(SALOMEDSImpl_Study)& study, const string& theID)
+{
+  string anID;
+  if(theID == "") anID = getDefaultVisualComponent();
+  else anID = theID;
+
+
+  Handle(SALOMEDSImpl_SObject) so = study->FindComponent((char*)anID.c_str());
+  if(so.IsNull()) return -1;
+
+  Handle(SALOMEDSImpl_StudyBuilder) builder = study->NewBuilder();
+  Handle(SALOMEDSImpl_ChildIterator) anIter ( study->NewChildIterator( so ) );
+  int tag = -1;
+  for(; anIter->More(); anIter->Next())
+  {
+    Handle(SALOMEDSImpl_SObject) val( anIter->Value() );
+    Handle(SALOMEDSImpl_GenericAttribute) genAttr;
+    if(builder->FindAttribute(val, genAttr, "AttributeParameter")) tag = val->Tag();
+  }
+
+  return tag;
+}
+
+
+
+string SALOMEDSImpl_IParameters::getStudyScript(const Handle(SALOMEDSImpl_Study)& study, int savePoint, const std::string& theID)
+{
+  string anID;
+  if(theID == "") anID = getDefaultVisualComponent();
+  else anID = theID;
+
+  Handle(SALOMEDSImpl_AttributeParameter) ap = study->GetCommonParameters((char*)anID.c_str(), savePoint);
+  SALOMEDSImpl_IParameters ip(ap);
+
+  string dump("");
+
+  dump += "import iparameters\n";
+  dump += "ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters(\""+anID+"\", 1))\n\n";
+  
+  
+  vector<string> v = ip.getProperties();
+  if(v.size() > 0) {
+    dump += "#Set up visual properties:\n";
+    for(int i = 0; i<v.size(); i++) {
+      string prp = ip.getProperty(v[i]);
+      dump += "ipar.setProperty(\""+v[i]+"\", \""+prp+"\")\n";
+    }
+  }
+
+  v = ip.getLists();
+  if(v.size() > 0) {
+    dump += "#Set up lists:\n";
+    for(int i = 0; i<v.size(); i++) {
+      vector<string> lst = ip.getValues(v[i]);
+      dump += "# fill list "+v[i]+"\n";
+      for(int j = 0; j < lst.size(); j++)
+       dump += "ipar.append(\""+v[i]+"\", \""+lst[j]+"\")\n";
+    }
+  }
+
+  return dump;
+}
+
+string SALOMEDSImpl_IParameters::getDefaultScript(const Handle(SALOMEDSImpl_Study)& study, 
+                                             const string& moduleName, 
+                                             const string& shift, 
+                                             const string& theID)
+{
+  string anID;
+  if(theID == "") anID = getDefaultVisualComponent();
+  else anID = theID;
+
+  string dump("");
+
+  int savePoint = SALOMEDSImpl_IParameters::getLastSavePoint(study, anID);
+  if(savePoint < 0) return dump;
+  SALOMEDSImpl_IParameters ip = SALOMEDSImpl_IParameters(study->GetCommonParameters(anID.c_str(), savePoint));
+  if(!isDumpPython(study)) return dump;
+
+  Handle(SALOMEDSImpl_AttributeParameter) ap = study->GetModuleParameters(anID.c_str(), moduleName.c_str(), savePoint);
+  ip = SALOMEDSImpl_IParameters(ap);
+
+
+  dump += shift +"import iparameters\n";
+  dump += shift + "ipar = iparameters.IParameters(theStudy.GetModuleParameters(\""+anID+"\", \""+moduleName+"\", 1))\n\n";
+  
+  vector<string> v = ip.getProperties();
+  if(v.size() > 0) {
+    dump += shift +"#Set up visual properties:\n";
+    for(int i = 0; i<v.size(); i++) {
+      string prp = ip.getProperty(v[i]);
+      dump += shift +"ipar.setProperty(\""+v[i]+"\", \""+prp+"\")\n";
+    }
+  }
+
+  v = ip.getLists();
+  if(v.size() > 0) {
+    dump +=  shift +"#Set up lists:\n";
+    for(int i = 0; i<v.size(); i++) {
+      vector<string> lst = ip.getValues(v[i]);
+      dump += shift +"# fill list "+v[i]+"\n";
+      for(int j = 0; j < lst.size(); j++)
+       dump += shift +"ipar.append(\""+v[i]+"\", \""+lst[j]+"\")\n";
+    }
+  }
+
+  v = ip.getEntries();
+  if(v.size() > 0) {
+    dump += shift + "#Set up entries:\n";
+    for(int i = 0; i<v.size(); i++) {
+      vector<string> names = ip.getAllParameterNames(v[i]);
+      vector<string> values = ip.getAllParameterValues(v[i]);
+      string decodedEntry = ip.decodeEntry(v[i]);
+      Handle(SALOMEDSImpl_SObject) so = study->FindObjectID((char*)decodedEntry.c_str());
+      string so_name("");
+      if(!so.IsNull()) so_name = so->GetName().ToCString();
+      dump += shift + "# set up entry " + v[i] +" ("+so_name+")" + " parameters" + "\n";
+      for(int j = 0; j < names.size() && j < values.size(); j++)
+       dump += shift + "ipar.setParameter(\"" + v[i] + "\", \"" + names[j] + "\", \"" + values[j] + "\")\n";
+    }
+  }
+  
+  return dump;  
+}
+
+
+string SALOMEDSImpl_IParameters::getDefaultVisualComponent()
+{
+  return "Interface Applicative";
+}
+
+
diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_IParameters.hxx b/src/SALOMEDSImpl/SALOMEDSImpl_IParameters.hxx
new file mode 100644 (file)
index 0000000..4e6d505
--- /dev/null
@@ -0,0 +1,153 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+#ifndef SALOMEDSImpl_IParameters_H
+#define SALOMEDSImpl_IParameters_H
+
+#include <string>
+#include <vector>
+#include <map>
+
+#include "SALOMEDSImpl_AttributeParameter.hxx"
+#include "SALOMEDSImpl_Study.hxx"
+
+/*! 
+  Class which an interface to store the parameters of the objects
+*/
+class SALOMEDSImpl_IParameters
+{
+public:
+  SALOMEDSImpl_IParameters(const Handle(SALOMEDSImpl_AttributeParameter)& ap); 
+
+  virtual ~SALOMEDSImpl_IParameters();
+
+  /*!
+    Appends a string value to a named list. 
+    Returns a number of the added value.
+    Note: the name of the list MUST be unique
+   */
+  virtual int append(const std::string& listName, const std::string& value); 
+
+  /*!
+    Returns a number elements in the list
+   */
+  virtual int nbValues(const std::string& listName);
+
+  /*!
+    Returns a list of values in the list
+   */
+  virtual std::vector<std::string> getValues(const std::string& listName);
+
+  /*!
+    Returns a value with given %index, where %index is in range [0:nbValues-1]
+   */
+  virtual std::string getValue(const std::string& listName, int index);
+
+  /*!
+    Returns a list all entries lists
+   */
+  virtual std::vector<std::string> getLists();
+
+  /*!
+    Sets a new named parameter value for the given entry
+   */
+  virtual void setParameter(const std::string& entry, const std::string& parameterName, const std::string& value);
+
+  /*!
+    Gets a named parameter value for the given entry
+   */
+  virtual std::string getParameter(const std::string& entry, const std::string& parameterName);
+
+  /*!
+    Returns all parameter names of the given entry
+   */
+  virtual std::vector<std::string> SALOMEDSImpl_IParameters::getAllParameterNames(const std::string& entry);
+
+  /*!
+    Returns all parameter  values of the given entry
+   */
+  virtual std::vector<std::string> SALOMEDSImpl_IParameters::getAllParameterValues(const std::string& entry);
+
+  /*!
+    Returns a number of parameters of the given entry
+   */
+  virtual int getNbParameters(const std::string& entry);
+
+  /*!
+    Returns a list all entries 
+   */
+  virtual std::vector<std::string> getEntries();
+
+  /*!
+    Sets a global named property value
+   */
+  virtual void setProperty(const std::string& name, const std::string& value);
+
+  /*!
+    Gets a value of global named property
+   */
+  virtual std::string getProperty(const std::string& name);
+
+  /*!
+    Returns a list all properties 
+   */
+  virtual std::vector<std::string> getProperties();
+
+  /*!
+    Returns decoded entry that is an absolute entry
+   */
+  virtual std::string decodeEntry(const std::string& entry);
+
+
+  /*!
+    Returns whether there is the dumping visual parameters
+   */
+  static bool isDumpPython(const Handle(SALOMEDSImpl_Study)& study, const string& theID = "");  
+
+  /*!
+    Returns an ID of the last save point
+  */
+  static int getLastSavePoint(const Handle(SALOMEDSImpl_Study)& study, const std::string& theID = "");
+
+  /*!
+    Returns a Python script for the study, which sets up visual parameters
+  */
+  static std::string getStudyScript(const Handle(SALOMEDSImpl_Study)& study, int savePoint, const std::string& theID = "");
+
+  /*!
+    Returns a default Python script that set ups visual parameters for the given module
+    shift is a string that contain spaces to make valid Python script indentaion
+  */
+  static std::string getDefaultScript(const Handle(SALOMEDSImpl_Study)& study, 
+                                     const std::string& moduleName, 
+                                     const std::string& shift,
+                                     const std::string& theID = "");
+
+  /*!
+    Returns a default name of the component where the visula parameters are stored.
+  */
+  static std::string getDefaultVisualComponent();
+
+private:
+  Handle(SALOMEDSImpl_AttributeParameter) _ap;
+  Handle(SALOMEDSImpl_Study) _study;
+  std::map<std::string, std::string> _compNames;
+};
+
+
+#endif
index b3452db044d2ac1b670a243bff2e516fe9532312..ff3b3112e8e7f10af8db78348b4c6710d959b2ca 100644 (file)
@@ -46,6 +46,7 @@ using namespace std;
 #include "SALOMEDSImpl_AttributeReference.hxx"
 #include "SALOMEDSImpl_StudyHandle.hxx"
 #include "SALOMEDSImpl_Tool.hxx"
+#include "SALOMEDSImpl_IParameters.hxx"
 
 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_Study, MMgt_TShared )
 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_Study, MMgt_TShared )
@@ -1303,6 +1304,19 @@ bool SALOMEDSImpl_Study::DumpStudy(const TCollection_AsciiString& thePath,
   fp << "import " << aBatchModeScript << "\n" << endl;
   fp << "sys.path.insert( 0, \'" << thePath << "\')\n" << endl;
 
+
+  //Check if it's necessary to dump visual parameters
+  bool isDumpVisuals = SALOMEDSImpl_IParameters::isDumpPython(this);
+  int lastSavePoint = -1;
+  if(isDumpVisuals) {
+    lastSavePoint = SALOMEDSImpl_IParameters::getLastSavePoint(this);
+    if(lastSavePoint > 0) {
+      fp << SALOMEDSImpl_IParameters::getStudyScript(this, lastSavePoint);
+      fp << "\n" << endl;
+    }
+  }
+  
+
   Handle(TColStd_HSequenceOfAsciiString) aSeqOfFileNames = new TColStd_HSequenceOfAsciiString;
 
   //Iterate all components and create the componponents specific scripts.
@@ -1345,7 +1359,7 @@ bool SALOMEDSImpl_Study::DumpStudy(const TCollection_AsciiString& thePath,
 
     bool isValidScript;
     long aStreamLength  = 0;
-    unsigned char* aStream = aDriver->DumpPython(this, isPublished, isValidScript, aStreamLength);
+    Handle(SALOMEDSImpl_TMPFile) aStream = aDriver->DumpPython(this, isPublished, isValidScript, aStreamLength);
     if ( !isValidScript )
       isOk = false;
 
@@ -1379,16 +1393,18 @@ bool SALOMEDSImpl_Study::DumpStudy(const TCollection_AsciiString& thePath,
     }
 
     //Output the Python script generated by the component in the newly created file.
-    fp2 << aStream;
+    fp2 << aStream->Data();
     fp2.close();
 
-    if (aStream != NULL) delete [] aStream;
-
     //Add to the main script a call to RebuildData of the generated by the component the Python script
     fp << "import " << aScriptName << endl;
     fp << aScriptName << ".RebuildData(" << aBatchModeScript << ".myStudy)" << endl;
   }
 
+  if(isDumpVisuals) { //Output the call to Session's method restoreVisualState
+    fp << "iparameters.getSession().restoreVisualState(1)" << endl;
+  }
+
   fp << "salome.sg.updateObjBrowser(1)" << endl;
 
   fp.close();
@@ -1500,3 +1516,55 @@ void SALOMEDSImpl_Study::Modify()
   _errorCode = "";
   _doc->Modify();
 }
+
+//============================================================================
+/*! Function : 
+ *  Purpose  :
+ */
+//============================================================================
+Handle(SALOMEDSImpl_AttributeParameter) SALOMEDSImpl_Study::GetCommonParameters(const char* theID, int theSavePoint)
+{
+  if(theSavePoint < 0) return NULL;
+  Handle(SALOMEDSImpl_StudyBuilder) builder = NewBuilder();
+  Handle(SALOMEDSImpl_SObject) so = FindComponent((char*)theID);
+  if(so.IsNull()) so = builder->NewComponent((char*)theID); 
+  Handle(SALOMEDSImpl_SObject) newSO;
+  if(theSavePoint == 0) //Get an attribute that is placed on the component itself.
+    newSO = so;
+  else
+    newSO = builder->NewObjectToTag(so, theSavePoint);
+  return Handle(SALOMEDSImpl_AttributeParameter)::DownCast(builder->FindOrCreateAttribute(newSO, "AttributeParameter"));
+}
+
+//============================================================================
+/*! Function : 
+ *  Purpose  :
+ */
+//============================================================================
+Handle(SALOMEDSImpl_AttributeParameter) SALOMEDSImpl_Study::GetModuleParameters(const char* theID, 
+                                                                               const char* theModuleName,
+                                                                               int theSavePoint)
+{
+  if(theSavePoint <= 0) return NULL;
+  Handle(SALOMEDSImpl_AttributeParameter) main_ap = GetCommonParameters(theID, theSavePoint);
+  Handle(SALOMEDSImpl_SObject) main_so = main_ap->GetSObject();
+  Handle(SALOMEDSImpl_AttributeParameter) par;
+
+  Handle(SALOMEDSImpl_ChildIterator) it = NewChildIterator(main_so);
+  string moduleName(theModuleName);
+  for(; it->More(); it->Next()) {
+    Handle(SALOMEDSImpl_SObject) so(it->Value());
+    Handle(SALOMEDSImpl_GenericAttribute) ga;
+    if(so->FindAttribute(ga, "AttributeParameter")) {
+      par = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(ga);
+      if(!par->IsSet("AP_MODULE_NAME", (Parameter_Types)3)) continue; //3 -> PT_STRING
+      if(par->GetString("AP_MODULE_NAME") == moduleName) return par;
+    }
+  }
+
+  Handle(SALOMEDSImpl_StudyBuilder) builder = NewBuilder();
+  Handle(SALOMEDSImpl_SObject) so = builder->NewObject(main_so);
+  par  = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(builder->FindOrCreateAttribute(so, "AttributeParameter"));
+  par->SetString("AP_MODULE_NAME", moduleName);
+  return par;
+}
index d87b4ec8dc8d3946f92e5026e8d2c03f37e50e2a..c22b2cd77643afe79139fdd4d03b157e5e14c09f 100644 (file)
@@ -56,6 +56,7 @@ DEFINE_STANDARD_HANDLE( SALOMEDSImpl_Study, MMgt_TShared )
 #include "SALOMEDSImpl_UseCaseBuilder.hxx"
 #include "SALOMEDSImpl_AttributeStudyProperties.hxx"
 #include "SALOMEDSImpl_AttributeIOR.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
 #include "SALOMEDSImpl_Callback.hxx"
 #include "SALOMEDSImpl_Driver.hxx" 
 #include "SALOMEDSImpl_ChildIterator.hxx" 
@@ -254,9 +255,9 @@ public:
   Standard_EXPORT virtual bool HasCurrentContext() { return !_current.IsNull(); }
 
   Standard_EXPORT virtual bool DumpStudy(const TCollection_AsciiString& thePath, 
-                        const TCollection_AsciiString& theBaseName, 
-                        bool isPublished,
-                        SALOMEDSImpl_DriverFactory* theFactory);
+                                        const TCollection_AsciiString& theBaseName, 
+                                        bool isPublished,
+                                        SALOMEDSImpl_DriverFactory* theFactory);
 
   Standard_EXPORT static TCollection_AsciiString GetDumpStudyComment(const char* theComponentName = 0);
 
@@ -268,6 +269,12 @@ public:
   //This method marks the study as being modified
   Standard_EXPORT void Modify();
 
+  Standard_EXPORT Handle(SALOMEDSImpl_AttributeParameter) GetCommonParameters(const char* theID, int theSavePoint);
+
+  Standard_EXPORT Handle(SALOMEDSImpl_AttributeParameter) GetModuleParameters(const char* theID, 
+                                                                             const char* theModuleName,
+                                                                             int theSavePoint);
+
 public:
   DEFINE_STANDARD_RTTI( SALOMEDSImpl_Study )
 
index ebf67aeca7c1caa8739666e4af8b3221db0b6e26..f3f68e2da6fb1d29a10f59d826c0c2303145fee5 100644 (file)
@@ -23,8 +23,6 @@
 
 #include "SALOMEDSImpl_StudyManager.hxx"
 
-using namespace std;
-
 #include <CDF_Session.hxx>
 #include <CDF_DirectoryIterator.hxx>
 #include <TDF_Label.hxx>
@@ -52,6 +50,8 @@ using namespace std;
 #include <iostream>
 #include <stdlib.h>
 
+using namespace std;
+
 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_StudyManager, MMgt_TShared )
 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_StudyManager, MMgt_TShared )
 
@@ -153,16 +153,16 @@ Handle(SALOMEDSImpl_Study) SALOMEDSImpl_StudyManager::Open(const TCollection_Asc
   }
   catch (HDFexception)
     {
-#ifndef WNT
-      char eStr[strlen(aUrl.ToCString())+17];
-#else
+//#ifndef WNT
+//      char eStr[strlen(aUrl.ToCString())+17];
+//#else
          char *eStr;
          eStr = new char[strlen(aUrl.ToCString())+17];
-#endif
+//#endif
       sprintf(eStr,"Can't open file %s",aUrl.ToCString());
-#ifdef WNT
+//#ifdef WNT
          delete [] eStr;
-#endif
+//#endif
       _errorCode = TCollection_AsciiString(eStr);
       return NULL;
     }
@@ -195,11 +195,11 @@ Handle(SALOMEDSImpl_Study) SALOMEDSImpl_StudyManager::Open(const TCollection_Asc
   }
   catch (HDFexception)
     {
-#ifndef WNT
-      char eStr[strlen(aUrl.ToCString())+17];
-#else
+//#ifndef WNT
+//      char eStr[strlen(aUrl.ToCString())+17];
+//#else
          char *eStr = new char [strlen(aUrl.ToCString())+17];
-#endif
+//#endif
       sprintf(eStr,"Can't open file %s", aUrl.ToCString());
       _errorCode = TCollection_AsciiString(eStr);
       return NULL;
@@ -624,7 +624,7 @@ bool SALOMEDSImpl_StudyManager::Impl_SaveAs(const TCollection_AsciiString& aUrl,
 
              if (Engine != NULL)
                {
-                 unsigned char* aStream;
+                 Handle(SALOMEDSImpl_TMPFile) aStream;
                  long length;
 
                   if (theASCII) aStream = Engine->SaveASCII(sco,
@@ -643,7 +643,7 @@ bool SALOMEDSImpl_StudyManager::Impl_SaveAs(const TCollection_AsciiString& aUrl,
 
                    HDFdataset *hdf_dataset = new HDFdataset("FILE_STREAM", hdf_sco_group, HDF_STRING, aHDFSize, 1);
                    hdf_dataset->CreateOnDisk();
-                   hdf_dataset->WriteOnDisk(aStream);  //Save the stream in the HDF file
+                   hdf_dataset->WriteOnDisk(aStream->Data());  //Save the stream in the HDF file
                    hdf_dataset->CloseOnDisk();
                  }
 
@@ -663,8 +663,6 @@ bool SALOMEDSImpl_StudyManager::Impl_SaveAs(const TCollection_AsciiString& aUrl,
                  hdf_dataset=0; //will be deleted by hdf_sco_AuxFiles destructor
                  // Creation of the persistance reference  attribute
                  Translate_IOR_to_persistentID (sco, Engine, theMultiFile, theASCII);
-
-                 if(aStream != NULL) delete [] aStream;
                }
            }
          hdf_sco_group->CloseOnDisk();
@@ -741,6 +739,16 @@ bool SALOMEDSImpl_StudyManager::Impl_SaveAs(const TCollection_AsciiString& aUrl,
       _errorCode = "HDFexception ! ";
       return false;
     }
+  catch(std::exception& exc)
+    {
+      _errorCode = const_cast<char*>(exc.what());
+      return false;
+    }
+  catch(...)
+    {
+      _errorCode = "Unknown exception ! ";
+      return false;
+    }
   if (theASCII) { // save file in ASCII format
     HDFascii::ConvertFromHDFToASCII(aUrl.ToCString(), true);
   }
@@ -892,12 +900,11 @@ bool SALOMEDSImpl_StudyManager::CopyLabel(const Handle(SALOMEDSImpl_Study)& theS
       Handle(SALOMEDSImpl_SObject) aSO = theSourceStudy->FindObjectID(anEntry.ToCString());
       int anObjID;
       long aLen;
-      unsigned char* aStream = theEngine->CopyFrom(aSO, anObjID, aLen);
+      Handle(SALOMEDSImpl_TMPFile) aStream = theEngine->CopyFrom(aSO, anObjID, aLen);
       TCollection_ExtendedString aResStr("");
       for(a = 0; a < aLen; a++) {
-       aResStr += TCollection_ExtendedString(ToExtCharacter((Standard_Character)aStream[a]));
+       aResStr += TCollection_ExtendedString(ToExtCharacter(Standard_Character(aStream->Get(a))));
       }
-      if(aStream != NULL) delete [] aStream;
       SALOMEDSImpl_AttributeInteger::Set(aAuxTargetLabel, anObjID);
       SALOMEDSImpl_AttributeName::Set(aAuxTargetLabel, aResStr);
       continue;
diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_TMPFile.cxx b/src/SALOMEDSImpl/SALOMEDSImpl_TMPFile.cxx
new file mode 100644 (file)
index 0000000..64f677a
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+//  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
+//  File   : SALOMEDSImpl_SObject.cxx
+//  Author : Sergey RUIN
+//  Module : SALOME
+
+
+#include "SALOMEDSImpl_TMPFile.hxx"
+
+#include <Handle_Standard_Type.hxx>
+#include <Standard_Transient.hxx>
+
+
+IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_TMPFile, MMgt_TShared )
+IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_TMPFile, MMgt_TShared )
+
+SALOMEDSImpl_TMPFile::TOctet*
+SALOMEDSImpl_TMPFile
+::Data()
+{
+  return &Get(0);
+}
diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_TMPFile.hxx b/src/SALOMEDSImpl/SALOMEDSImpl_TMPFile.hxx
new file mode 100644 (file)
index 0000000..6ecd798
--- /dev/null
@@ -0,0 +1,47 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+#ifndef __SALOMEDSIMPL_TMPFILE_H__
+#define __SALOMEDSIMPL_TMPFILE_H__
+
+//Handle definition
+#include <MMgt_TShared.hxx>
+#include <Handle_MMgt_TShared.hxx>
+#include <Standard_DefineHandle.hxx>
+
+
+DEFINE_STANDARD_HANDLE( SALOMEDSImpl_TMPFile, MMgt_TShared );
+
+
+struct SALOMEDSImpl_TMPFile : public MMgt_TShared
+{
+  typedef unsigned char TOctet;
+
+  virtual size_t Size() = 0;
+
+  virtual TOctet* Data();
+
+  virtual TOctet& Get(size_t) = 0;
+
+  DEFINE_STANDARD_RTTI( SALOMEDSImpl_TMPFile );
+};
+
+
+#endif 
diff --git a/src/SALOMEDSImpl/Test/Makefile.am b/src/SALOMEDSImpl/Test/Makefile.am
new file mode 100644 (file)
index 0000000..8ff0435
--- /dev/null
@@ -0,0 +1,106 @@
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Paul RASCLE
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS= SALOMEDSImplTest.hxx
+
+# Scripts to be installed
+dist_salomescript_SCRIPTS = TestSALOMEDSImpl.py
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This directory defines the subdirectory src in the top source directory.
+RPATH=../..
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CPPUNIT_INCLUDES@ \
+       -I$(srcdir)/$(RPATH)/Basics -I$(srcdir)/$(RPATH)/Basics/Test \
+       -I$(srcdir)/$(RPATH)/SALOMELocalTrace -I$(srcdir)/$(RPATH)/SALOMELocalTrace/Test \
+       -I$(srcdir)/$(RPATH)/SALOMETraceCollector -I$(srcdir)/$(RPATH)/SALOMETraceCollector/Test \
+       -I$(srcdir)/$(RPATH)/NamingService -I$(srcdir)/$(RPATH)/NamingService/Test \
+       -I$(srcdir)/$(RPATH)/Utils -I$(srcdir)/$(RPATH)/Utils/Test \
+       -I$(srcdir)/$(RPATH)/ResourcesManager \
+       -I$(srcdir)/$(RPATH)/LifeCycleCORBA \
+       -I$(srcdir)/$(RPATH)/SALOMEDSImpl \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       @CPPUNIT_LIBS@ \
+       $(RPATH)/Basics/libSALOMEBasics.la \
+       $(RPATH)/ResourcesManager/libSalomeResourcesManager.la \
+       $(RPATH)/Container/libSalomeContainer.la \
+       $(RPATH)/NamingService/libSalomeNS.la \
+       $(RPATH)/Registry/libRegistry.la \
+       $(RPATH)/Notification/libSalomeNotification.la \
+       $(RPATH)/Utils/Test/libUtilsTest.la \
+       $(RPATH)/Utils/libOpUtil.la \
+       $(RPATH)/SALOMELocalTrace/Test/libSALOMELocalTraceTest.la \
+       $(RPATH)/SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(RPATH)/SALOMETraceCollector/Test/libSALOMETraceCollectorTest.la \
+       $(RPATH)/SALOMEDSImpl/libSalomeDSImpl.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSALOMEDSImplTest.la 
+libSALOMEDSImplTest_la_SOURCES = SALOMEDSImplTest.cxx
+libSALOMEDSImplTest_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSALOMEDSImplTest_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSALOMEDSImplTest_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestSALOMEDSImpl
+TestSALOMEDSImpl_SOURCES  = TestSALOMEDSImpl.cxx
+TestSALOMEDSImpl_CPPFLAGS = $(COMMON_CPPFLAGS)
+TestSALOMEDSImpl_LDADD    = \
+       libSALOMEDSImplTest.la ../libSalomeDSImpl.la \
+       $(RPATH)/NamingService/Test/libNamingServiceTest.la \
+       $(COMMON_LIBS)
+
diff --git a/src/SALOMEDSImpl/Test/SALOMEDSImplTest.cxx b/src/SALOMEDSImpl/Test/SALOMEDSImplTest.cxx
new file mode 100644 (file)
index 0000000..7ce2e54
--- /dev/null
@@ -0,0 +1,129 @@
+// Copyright (C) 2006  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+#include "SALOMEDSImplTest.hxx"
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <vector>
+#include <cstdlib>
+#include "utilities.h"
+
+#include "SALOMEDSImpl_AttributeParameter.hxx"
+#include "SALOMEDSImpl_StudyManager.hxx"
+#include "SALOMEDSImpl_Study.hxx"
+#include "SALOMEDSImpl_StudyBuilder.hxx"
+#include "SALOMEDSImpl_GenericAttribute.hxx"
+
+#include <TCollection_AsciiString.hxx>
+
+using namespace std;
+
+// ============================================================================
+/*!
+ * Set up the environment
+ */
+// ============================================================================
+
+void SALOMEDSImplTest::setUp()
+{
+  TCollection_AsciiString kernel(getenv("KERNEL_ROOT_DIR"));
+  TCollection_AsciiString subPath("/share/salome/resources");
+  TCollection_AsciiString csf_var = (kernel+subPath);
+  setenv("CSF_PluginDefaults", csf_var.ToCString(), 0);
+  setenv("CSF_SALOMEDS_ResourcesDefaults", csf_var.ToCString(), 0);
+}
+
+// ============================================================================
+/*!
+ *  - delete trace classes
+ */
+// ============================================================================
+
+void 
+SALOMEDSImplTest::tearDown()
+{
+}
+
+// ============================================================================
+/*!
+ * Check setting int value
+ */
+// ============================================================================
+void SALOMEDSImplTest::testAttributeParameter()
+{
+  Handle(SALOMEDSImpl_StudyManager) sm = new SALOMEDSImpl_StudyManager();
+  Handle(SALOMEDSImpl_Study) study = sm->NewStudy("Test");
+  Handle(SALOMEDSImpl_AttributeParameter) _ap = study->GetCommonParameters("TestComp", 0);
+
+  CPPUNIT_ASSERT(!_ap.IsNull());
+
+  _ap->SetInt("IntValue", 1);
+  CPPUNIT_ASSERT(_ap->IsSet("IntValue", PT_INTEGER));
+  CPPUNIT_ASSERT(_ap->GetInt("IntValue") == 1);
+
+  _ap->SetReal("RealValue", 1.2);
+  CPPUNIT_ASSERT(_ap->IsSet("RealValue", PT_REAL));
+  CPPUNIT_ASSERT(_ap->GetReal("RealValue") == 1.2);
+
+  _ap->SetString("StringValue", "hello");
+  CPPUNIT_ASSERT(_ap->IsSet("StringValue", PT_STRING));
+  CPPUNIT_ASSERT(_ap->GetString("StringValue") == "hello");
+
+  _ap->SetBool("BoolValue", 0);
+  CPPUNIT_ASSERT(_ap->IsSet("BoolValue", PT_BOOLEAN));
+  CPPUNIT_ASSERT(!_ap->GetBool("BoolValue"));
+
+  _ap->SetBool("BoolValue", 0);
+  CPPUNIT_ASSERT(_ap->IsSet("BoolValue", PT_BOOLEAN));
+  CPPUNIT_ASSERT(!_ap->GetBool("BoolValue"));
+
+  vector<int> intArray;
+  intArray.push_back(0);
+  intArray.push_back(1);
+
+  _ap->SetIntArray("IntArray", intArray);
+  CPPUNIT_ASSERT(_ap->IsSet("IntArray", PT_INTARRAY));
+  CPPUNIT_ASSERT(_ap->GetIntArray("IntArray")[0] == 0);
+  CPPUNIT_ASSERT(_ap->GetIntArray("IntArray")[1] == 1); 
+
+  vector<double> realArray;
+  realArray.push_back(0.0);
+  realArray.push_back(1.1);
+  
+  _ap->SetRealArray("RealArray", realArray);
+  CPPUNIT_ASSERT(_ap->IsSet("RealArray", PT_REALARRAY));
+  CPPUNIT_ASSERT(_ap->GetRealArray("RealArray")[0] == 0.0);
+  CPPUNIT_ASSERT(_ap->GetRealArray("RealArray")[1] == 1.1); 
+
+  vector<string> strArray;
+  strArray.push_back("hello");
+  strArray.push_back("world");
+  
+  _ap->SetStrArray("StrArray", strArray);
+  CPPUNIT_ASSERT(_ap->IsSet("StrArray", PT_STRARRAY));
+  CPPUNIT_ASSERT(_ap->GetStrArray("StrArray")[0] == "hello");
+  CPPUNIT_ASSERT(_ap->GetStrArray("StrArray")[1] == "world"); 
+
+}
+
+
+
diff --git a/src/SALOMEDSImpl/Test/SALOMEDSImplTest.hxx b/src/SALOMEDSImpl/Test/SALOMEDSImplTest.hxx
new file mode 100644 (file)
index 0000000..0abba82
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright (C) 2006  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+#ifndef _SALOMEDSImplTEST_HXX_
+#define _SALOMEDSImplTEST_HXX_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class SALOMEDSImplTest : public CppUnit::TestFixture
+{
+  CPPUNIT_TEST_SUITE( SALOMEDSImplTest );
+  CPPUNIT_TEST( testAttributeParameter );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+
+  void setUp();
+  void tearDown();
+  void testAttributeParameter();
+};
+
+#endif
diff --git a/src/SALOMEDSImpl/Test/TestSALOMEDSImpl.cxx b/src/SALOMEDSImpl/Test/TestSALOMEDSImpl.cxx
new file mode 100644 (file)
index 0000000..2456fc6
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
+
+// --- include all SALOMEDSImpl Test from basics until the present directory
+
+#include "SALOMEDSImplTest.hxx"
+
+// --- Registers the fixture into the 'registry'
+
+CPPUNIT_TEST_SUITE_REGISTRATION( SALOMEDSImplTest );
+
+// --- generic Main program from Basic/Test
+
+#include "BasicMainTest.hxx"
diff --git a/src/SALOMEDSImpl/Test/TestSALOMEDSImpl.py b/src/SALOMEDSImpl/Test/TestSALOMEDSImpl.py
new file mode 100644 (file)
index 0000000..985241a
--- /dev/null
@@ -0,0 +1,29 @@
+
+import sys, os,signal,string,commands
+import runSalome
+import orbmodule
+import TestKiller
+
+# get SALOME environment :
+
+args, modules_list, modules_root_dir = runSalome.get_config()
+runSalome.set_env(args, modules_list, modules_root_dir)
+
+# launch CORBA naming server
+
+clt=orbmodule.client()
+
+# launch CORBA logger server
+
+myServer=runSalome.LoggerServer(args)
+myServer.run()
+clt.waitLogger("Logger")
+
+# execute Unit Test
+
+command = ['TestSALOMEDSImpl']
+ret = os.spawnvp(os.P_WAIT, command[0], command)
+
+# kill Test process 
+
+TestKiller.killProcess(runSalome.process_id)
index 8adcc07b57df3aca835959cac70afc1107d15605..0f8f2f61ba7757d4204443310110063f34b74d3e 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <stdio.h>
 #include <iostream> 
+#include <vector>
 
 #include <TColStd_HSequenceOfTransient.hxx>
 #include <TCollection_AsciiString.hxx>
@@ -37,6 +38,8 @@
 #include "SALOMEDSImpl_StudyBuilder.hxx"
 #include "SALOMEDSImpl_SObject.hxx"
 #include "SALOMEDSImpl_SComponent.hxx"
+#include "SALOMEDSImpl_AttributeParameter.hxx"
+
 //#include "SALOMEDSImpl_.hxx"
 
 int main (int argc, char * argv[])
@@ -81,15 +84,106 @@ int main (int argc, char * argv[])
   aBuilder->RemoveObject(aSubSO);
   cout << "Remove: done" << endl;
 
+  cout << "Check AttributeTreeNode " << endl;
+  aTDFAttr =  aBuilder->FindOrCreateAttribute(aSO, "AttributeTreeNode");  
+  cout << Handle(SALOMEDSImpl_GenericAttribute)::DownCast(aTDFAttr)->Type() << endl;
+  cout << "Check AttributeTreeNode : done " << endl;
+
+  aTDFAttr =  aBuilder->FindOrCreateAttribute(aSO, "AttributeParameter");  
+  cout << Handle(SALOMEDSImpl_GenericAttribute)::DownCast(aTDFAttr)->Type() << endl;
+
   cout << "Check the attributes on SObject" << endl;
   Handle(TColStd_HSequenceOfTransient) aSeq = aSO->GetAllAttributes();
   for(int i = 1; i <= aSeq->Length(); i++) 
     cout << "Found: " << Handle(SALOMEDSImpl_GenericAttribute)::DownCast(aSeq->Value(i))->Type() << endl;
 
-  cout << "Check AttributeTreeNode " << endl;
-  aTDFAttr =  aBuilder->FindOrCreateAttribute(aSO, "AttributeTreeNode");  
-  cout << Handle(SALOMEDSImpl_GenericAttribute)::DownCast(aTDFAttr)->Type() << endl;
-  cout << "Check AttributeTreeNode : done " << endl;
+
+
+  cout << "Check AttributeParameter "   << endl;
+
+  Handle(SALOMEDSImpl_AttributeParameter) AP = Handle(SALOMEDSImpl_AttributeParameter)::DownCast(aTDFAttr);
+
+  cout << "AttributeParameter with type : " << AP->Type() << endl;
+  
+  AP->SetInt("1", 123);
+  cout << "IsSet for int: " << AP->IsSet("1", PT_INTEGER) << " value : " << AP->GetInt("1") << endl;
+  //for(int i = 2; i < 5; i++) AP->SetInt(i, i*i);
+
+  AP->SetReal("1", 123.123);
+  cout << "IsSet for real: " << AP->IsSet("1", PT_REAL) << " value : " << AP->GetReal("1") << endl;
+  //for(int i = 2; i < 5; i++) AP->SetReal(i, 0.1);
+
+  AP->SetString("1", "value is 123.123!");
+  cout << "IsSet for string: " << AP->IsSet("1", PT_STRING) << " value : " << AP->GetString("1") << endl; 
+  /*
+  for(int i = 2; i < 5; i++) {
+    TCollection_AsciiString s((double)(1.0/i));
+    cout << "Setting for " << i << " value : " << s  << endl;
+    AP->SetString(i, s); 
+  }
+  */
+
+  AP->SetBool("1", true);
+  cout << "IsSet for bool: " << AP->IsSet("1", PT_BOOLEAN) << " value : " << AP->GetBool("1") << endl;
+  //for(int i = 2; i < 5; i++) AP->SetBool(i, 0);
+  
+  vector<double> v;
+  v.push_back(111.111);
+  v.push_back(222.22222);
+  v.push_back(333.3333333);
+  AP->SetRealArray("1", v);
+  cout << "IsSet for array: " << AP->IsSet("1", PT_REALARRAY);
+  vector<double> v2 = AP->GetRealArray("1");
+  cout.precision(10);
+  cout << " values :  "; 
+  for(int i = 0; i<v2.size(); i++) cout << v2[i] << " ";
+  cout << endl;
+  
+  v[0] = 211.111;
+  v[1] = 422.22222;
+  v[2] = 633.3333333;
+  AP->SetRealArray("2", v);
+
+  vector<int> vi;
+  vi.push_back(1);
+  vi.push_back(2);
+  AP->SetIntArray("2", vi);
+  
+  vector<string> vs;
+  vs.push_back("hello, ");
+  vs.push_back("world!");
+  AP->SetStrArray("3", vs);        
+
+  TCollection_AsciiString as = AP->Save();
+  cout << "AS = " << as << endl;
+  AP->Load(as);
+  
+  cout << "Restored string with id = 1 is: " << AP->GetString("1") << endl;
+  cout << "Restored int with id = 2 is: " << AP->GetInt("1")  << endl;
+  cout << "Restored real with id = 3 is: " << AP->GetReal("1")  << endl;
+  cout << "Restored bool with id = 1 is: " << AP->GetBool("1")  << endl;
+  
+  v2 = AP->GetRealArray("2");
+  cout << "Restored real array with id = 2 is: ";
+  for(int i = 0; i<v2.size(); i++) cout << v2[i] << " ";
+  cout << endl;
+
+  vi = AP->GetIntArray("2");
+  cout << "Restored int array with id = 2 is: ";
+  for(int i = 0; i<vi.size(); i++) cout << vi[i] << " ";
+  cout << endl;
+  
+  vs = AP->GetStrArray("3");
+  cout << "Restored string array with id = 2 is: ";
+  for(int i = 0; i<vs.size(); i++) cout << vs[i] << " ";
+  cout << endl;
+
+  cout << "Check RemoveID 1 with type PT_INTEGER" << endl;
+  AP->RemoveID("1", PT_INTEGER);
+  cout << "IsSet with id = 1, type = PT_INTEGER : " << AP->IsSet("1", PT_INTEGER)  << endl;
+  cout << "Check RemoveID is done" << endl;
+  
+  cout << "Check AttributeParameter : done"   << endl;
 
   cout << "Test finished " << endl;    
   return 0;
index de612189795aa8d5146864424325996766a9b9ca..d70735f676d9632006f6558b41bfab5c33e68c95 100644 (file)
 #include <fstream>
 #include <cstdlib>
 
-using namespace std;
-
 #include "BaseTraceCollector.hxx"
 #include "LocalTraceBufferPool.hxx"
 
+using namespace std;
+
 // Class attributes initialisation, for class method BaseTraceCollector::run
 
 BaseTraceCollector* BaseTraceCollector::_singleton = 0;
-pthread_mutex_t BaseTraceCollector::_singletonMutex;
+pthread_mutex_t BaseTraceCollector::_singletonMutex = PTHREAD_MUTEX_INITIALIZER ;
 sem_t BaseTraceCollector::_sem;
 int BaseTraceCollector::_threadToClose = 0;
 pthread_t* BaseTraceCollector::_threadId = 0; // used to control single run
index c7d321ec6597dbb7093f1f8e1547a5fcf7efdcfc..a6ffdb3c038fadae280734dffb10562e3076276a 100644 (file)
@@ -51,12 +51,12 @@ using namespace std;
 // Class static attributes initialisation
 
 LocalTraceBufferPool* LocalTraceBufferPool::_singleton = 0;
-#ifndef WNT
-pthread_mutex_t LocalTraceBufferPool::_singletonMutex;
-#else
+//#ifndef WNT
+//pthread_mutex_t LocalTraceBufferPool::_singletonMutex;
+//#else
 pthread_mutex_t LocalTraceBufferPool::_singletonMutex =
   PTHREAD_MUTEX_INITIALIZER;
-#endif
+//#endif
 BaseTraceCollector *LocalTraceBufferPool::_myThreadTrace = 0;
 
 // ============================================================================
diff --git a/src/SALOMELocalTrace/Makefile.am b/src/SALOMELocalTrace/Makefile.am
new file mode 100644 (file)
index 0000000..f9cec5a
--- /dev/null
@@ -0,0 +1,50 @@
+#  SALOMELocalTrace : log on local machine
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume BOULANT (CSSI)
+#  Module : SALOME
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+salomeinclude_HEADERS = \
+       utilities.h \
+       LocalTraceBufferPool.hxx \
+       BaseTraceCollector.hxx
+
+lib_LTLIBRARIES = libSALOMELocalTrace.la
+
+libSALOMELocalTrace_la_SOURCES = \
+       BaseTraceCollector.cxx \
+       BaseTraceCollector.hxx \
+        LocalTraceCollector.cxx \
+       LocalTraceCollector.hxx \
+       FileTraceCollector.cxx \
+       FileTraceCollector.hxx \
+       LocalTraceBufferPool.cxx \
+       LocalTraceBufferPool.hxx
+
+libSALOMELocalTrace_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSALOMELocalTrace_la_CPPFLAGS = -I$(srcdir)/../Basics
+libSALOMELocalTrace_la_LIBADD   = ../Basics/libSALOMEBasics.la
diff --git a/src/SALOMELocalTrace/Makefile.in b/src/SALOMELocalTrace/Makefile.in
deleted file mode 100644 (file)
index daf7c9d..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#  SALOMELocalTrace : log on local machine
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= utilities.h \
-               LocalTraceBufferPool.hxx \
-               BaseTraceCollector.hxx
-
-EXPORT_PYSCRIPTS = 
-
-# Libraries targets
-
-LIB = libSALOMELocalTrace.la 
-LIB_SRC = BaseTraceCollector.cxx \
-         LocalTraceCollector.cxx \
-         FileTraceCollector.cxx \
-         LocalTraceBufferPool.cxx
-
-LIBS= @LIBS@ 
-LDFLAGS+= -lSALOMEBasics
-
-
-@CONCLUDE@
diff --git a/src/SALOMELocalTrace/Test/Makefile.am b/src/SALOMELocalTrace/Test/Makefile.am
new file mode 100644 (file)
index 0000000..3dd30e3
--- /dev/null
@@ -0,0 +1,78 @@
+#  SALOMELocalTrace : log on local machine
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# This directory defines the subdirectory src in the top source directory.
+SRCROOT=$(srcdir)/../..
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = SALOMELocalTraceTest.hxx
+
+# Executable scripts to be installed
+dist_salomescript_SCRIPTS = TestSALOMELocalTrace.py
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+
+lib_LTLIBRARIES = libSALOMELocalTraceTest.la
+libSALOMELocalTraceTest_la_SOURCES  = SALOMELocalTraceTest.cxx
+libSALOMELocalTraceTest_la_CPPFLAGS = \
+       @CPPUNIT_INCLUDES@ \
+       -I$(SRCROOT)/SALOMELocalTrace \
+       -I$(SRCROOT)/Basics
+
+libSALOMELocalTraceTest_la_LIBADD = \
+       @CPPUNIT_LIBS@ \
+       ../../SALOMELocalTrace/libSALOMELocalTrace.la
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestSALOMELocalTrace
+TestSALOMELocalTrace_SOURCES  = TestSALOMELocalTrace.cxx
+TestSALOMELocalTrace_CPPFLAGS = \
+       @CPPUNIT_INCLUDES@ \
+       -I$(SRCROOT)/Basics/Test
+
+TestSALOMELocalTrace_LDADD = \
+       @CPPUNIT_LIBS@ \
+       libSALOMELocalTraceTest.la \
+       ../../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../../Basics/libSALOMEBasics.la
diff --git a/src/SALOMELocalTrace/Test/Makefile.in b/src/SALOMELocalTrace/Test/Makefile.in
deleted file mode 100644 (file)
index 172313e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#  SALOMELocalTrace : log on local machine
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= SALOMELocalTraceTest.hxx
-
-EXPORT_PYSCRIPTS = TestSALOMELocalTrace.py
-
-# Libraries targets
-
-LIB = libSALOMELocalTraceTest.la 
-LIB_SRC = SALOMELocalTraceTest.cxx
-
-# Executables targets
-
-BIN = TestSALOMELocalTrace
-BIN_SRC = 
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGS+= -lSALOMELocalTrace
-
-LDFLAGSFORBIN+= \
- -lSALOMELocalTraceTest -lSALOMELocalTrace -lSALOMEBasics 
-
-@CONCLUDE@
diff --git a/src/SALOMETraceCollector/Makefile.am b/src/SALOMETraceCollector/Makefile.am
new file mode 100644 (file)
index 0000000..431d090
--- /dev/null
@@ -0,0 +1,35 @@
+#  SALOMETraceCollector
+#
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#  File   : Makefile.am
+#  Author : Guillaume BOULANT, CSSI
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# header files  
+salomeinclude_HEADERS = \
+       SALOMETraceCollector.hxx \
+       TraceCollector_WaitForServerReadiness.hxx
+
+# Libraries targets
+lib_LTLIBRARIES = libwith_loggerTraceCollector.la
+
+libwith_loggerTraceCollector_la_SOURCES  =\
+       SALOMETraceCollector.cxx \
+       TraceCollector_WaitForServerReadiness.cxx 
+
+libwith_loggerTraceCollector_la_CPPFLAGS =\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+libwith_loggerTraceCollector_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libwith_loggerTraceCollector_la_LIBADD   = \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CORBA_LIBS@
diff --git a/src/SALOMETraceCollector/Makefile.in b/src/SALOMETraceCollector/Makefile.in
deleted file mode 100644 (file)
index a05ab82..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#  SALOMELocalTrace : log on local machine
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= SALOMETraceCollector.hxx \
-               TraceCollector_WaitForServerReadiness.hxx
-
-EXPORT_PYSCRIPTS = 
-
-# Libraries targets
-
-LIB = libwith_loggerTraceCollector.la 
-LIB_SRC = SALOMETraceCollector.cxx \
-         TraceCollector_WaitForServerReadiness.cxx
-
-LIB_CLIENT_IDL = Logger.idl 
-LDFLAGS+= -lSALOMELocalTrace
-
-@CONCLUDE@
diff --git a/src/SALOMETraceCollector/Test/Makefile.am b/src/SALOMETraceCollector/Test/Makefile.am
new file mode 100644 (file)
index 0000000..dd715eb
--- /dev/null
@@ -0,0 +1,90 @@
+####################################### library
+#  SALOMELocalTrace : log on local machine
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+# header files  
+salomeinclude_HEADERS= SALOMETraceCollectorTest.hxx
+
+# Scripts to be installed
+dist_salomescript_SCRIPTS = TestSALOMETraceCollector.py
+
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This directory defines the subdirectory src in the top source directory.
+RPATH=../..
+
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CPPUNIT_INCLUDES@ \
+       -I$(srcdir)/$(RPATH)/Basics -I$(srcdir)/$(RPATH)/Basics/Test \
+       -I$(srcdir)/$(RPATH)/SALOMELocalTrace -I$(srcdir)/$(RPATH)/SALOMELocalTrace/Test\
+       -I$(srcdir)/$(RPATH)/SALOMETraceCollector \
+       -I$(top_builddir)/salome_adm/unix
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       @CPPUNIT_LIBS@ \
+       $(RPATH)/SALOMELocalTrace/Test/libSALOMELocalTraceTest.la $(RPATH)/SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(RPATH)/Basics/libSALOMEBasics.la
+
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSALOMETraceCollectorTest.la 
+libSALOMETraceCollectorTest_la_SOURCES = SALOMETraceCollectorTest.cxx
+libSALOMETraceCollectorTest_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSALOMETraceCollectorTest_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSALOMETraceCollectorTest_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestSALOMETraceCollector
+TestSALOMETraceCollector_SOURCES  = TestSALOMETraceCollector.cxx
+TestSALOMETraceCollector_CPPFLAGS = $(COMMON_CPPFLAGS)
+TestSALOMETraceCollector_LDADD    = libSALOMETraceCollectorTest.la $(COMMON_LIBS)
diff --git a/src/SALOMETraceCollector/Test/Makefile.in b/src/SALOMETraceCollector/Test/Makefile.in
deleted file mode 100644 (file)
index ddc7c53..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#  SALOMELocalTrace : log on local machine
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= SALOMETraceCollectorTest.hxx
-
-EXPORT_PYSCRIPTS = TestSALOMETraceCollector.py
-
-# Libraries targets
-
-LIB = libSALOMETraceCollectorTest.la 
-LIB_SRC = SALOMETraceCollectorTest.cxx
-
-# Executables targets
-
-BIN = TestSALOMETraceCollector
-BIN_SRC = 
-
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGS+=
-
-LDFLAGSFORBIN+= \
- -lSALOMELocalTraceTest -lSALOMELocalTrace -lSALOMEBasics \
- -lSALOMETraceCollectorTest
-
-@CONCLUDE@
diff --git a/src/TOOLSDS/Makefile.am b/src/TOOLSDS/Makefile.am
new file mode 100644 (file)
index 0000000..5737362
--- /dev/null
@@ -0,0 +1,55 @@
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = SALOMEDS_Tool.hxx 
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../Utils \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@ \
+       @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \
+       @HDF5_INCLUDES@ \
+       @BOOST_CPPFLAGS@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../Utils/libOpUtil.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CAS_KERNEL@
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libTOOLSDS.la
+libTOOLSDS_la_SOURCES =        \
+       SALOMEDS_Tool.cxx
+
+libTOOLSDS_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libTOOLSDS_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libTOOLSDS_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+# Nothing to build
+
+
diff --git a/src/TOOLSDS/Makefile.in b/src/TOOLSDS/Makefile.in
deleted file mode 100644 (file)
index 1b41aef..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#==============================================================================
-#  File      : Makefile.in
-#  Author    : Marc Tajchman
-#==============================================================================
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = SALOMEDS_Tool.hxx 
-
-# Libraries targets
-
-LIB = libTOOLSDS.la
-LIB_SRC =      \
-                 SALOMEDS_Tool.cxx \
-
-# Executables targets
-BIN = 
-BIN_SRC = 
-LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Exception.idl SALOME_GenericObj.idl
-BIN_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl
-BIN_CLIENT_IDL = 
-
-CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES) $(BOOST_CPPFLAGS) 
-CXXFLAGS+=$(OCC_CXXFLAGS) $(BOOST_CPPFLAGS) 
-LDFLAGS+= -lOpUtil $(CAS_KERNEL)
-
-@CONCLUDE@
-
-
index fa13a1eb42756a3ed27dbcdae66f5ab00c00a053..90263d1de00ff4116a630f832d185439c0931316 100644 (file)
@@ -150,112 +150,133 @@ void SALOMEDS_Tool::RemoveTemporaryFiles(const std::string& theDirectory,
 // function : PutFilesToStream
 // purpose  : converts the files from a list 'theFiles' to the stream
 //============================================================================
-SALOMEDS::TMPFile* 
-SALOMEDS_Tool::PutFilesToStream(const std::string& theFromDirectory,
-                               const SALOMEDS::ListOfFileNames& theFiles,
-                               const int theNamesOnly)
+namespace
 {
-  int i, aLength = theFiles.length();
-  if(aLength == 0)
-//    return NULL;
-    return (new SALOMEDS::TMPFile);
-
-  //Get a temporary directory for saved a file
-  TCollection_AsciiString aTmpDir(const_cast<char*>(theFromDirectory.c_str()));
-
-  long aBufferSize = 0;
-  long aCurrentPos;
-
-  int aNbFiles = 0;
-  int* aFileNameSize= new int[aLength];
-  long* aFileSize= new long[aLength];
-
-  //Determine the required size of the buffer
-
-  for(i=0; i<aLength; i++) {
-
-    //Check if the file exists
+  SALOMEDS::TMPFile* 
+  PutFilesToStream(const std::string& theFromDirectory,
+                  const SALOMEDS::ListOfFileNames& theFiles,
+                  const SALOMEDS::ListOfFileNames& theFileNames,
+                  const int theNamesOnly)
+  {
+    int i, aLength = theFiles.length();
+    if(aLength == 0)
+      return (new SALOMEDS::TMPFile);
+    
+    //Get a temporary directory for saved a file
+    TCollection_AsciiString aTmpDir(const_cast<char*>(theFromDirectory.c_str()));
+    
+    long aBufferSize = 0;
+    long aCurrentPos;
+    
+    int aNbFiles = 0;
+    int* aFileNameSize= new int[aLength];
+    long* aFileSize= new long[aLength];
     
-    if (!theNamesOnly) { // mpv 15.01.2003: if only file names must be stroed, then size of files is zero
-      TCollection_AsciiString aFullPath = aTmpDir + CORBA::string_dup(theFiles[i]);   
-      OSD_Path anOSDPath(aFullPath);
-      OSD_File anOSDFile(anOSDPath);
-      if(!anOSDFile.Exists()) continue;
+    //Determine the required size of the buffer
+    
+    for(i=0; i<aLength; i++) {
+      
+      //Check if the file exists
+      
+      if (!theNamesOnly) { // mpv 15.01.2003: if only file names must be stroed, then size of files is zero
+       TCollection_AsciiString aFullPath = aTmpDir + const_cast<char*>(theFiles[i].in());   
+       OSD_Path anOSDPath(aFullPath);
+       OSD_File anOSDFile(anOSDPath);
+       if(!anOSDFile.Exists()) continue;
 #ifdef WNT
-      ifstream aFile(aFullPath.ToCString(), ios::binary);
+       ifstream aFile(aFullPath.ToCString(), ios::binary);
 #else
-      ifstream aFile(aFullPath.ToCString());
+       ifstream aFile(aFullPath.ToCString());
 #endif
-      aFile.seekg(0, ios::end);
-      aFileSize[i] = aFile.tellg();
-      aBufferSize += aFileSize[i];              //Add a space to store the file
-    }
-    aFileNameSize[i] = strlen(theFiles[i])+1;
-    aBufferSize += aFileNameSize[i];          //Add a space to store the file name
-    aBufferSize += (theNamesOnly)?4:12;       //Add 4 bytes: a length of the file name,
-                                              //    8 bytes: length of the file itself
-    aNbFiles++;
-  } 
-
-  aBufferSize += 4;      //4 bytes for a number of the files that will be written to the stream;
-  unsigned char* aBuffer = new unsigned char[aBufferSize];  
-  if(aBuffer == NULL)
-//    return NULL; 
-    return (new SALOMEDS::TMPFile);
-
-  //Initialize 4 bytes of the buffer by 0
-  memset(aBuffer, 0, 4); 
-  //Copy the number of files that will be written to the stream
-  memcpy(aBuffer, &aNbFiles, ((sizeof(int) > 4) ? 4 : sizeof(int))); 
-
-
-  aCurrentPos = 4;
-
-  for(i=0; i<aLength; i++) {
-    ifstream *aFile;
-    if (!theNamesOnly) { // mpv 15.01.2003: we don't open any file if theNamesOnly = true
-      TCollection_AsciiString aFullPath = aTmpDir + CORBA::string_dup(theFiles[i]);
-      OSD_Path anOSDPath(aFullPath);
-      OSD_File anOSDFile(anOSDPath);
-      if(!anOSDFile.Exists()) continue;
+       aFile.seekg(0, ios::end);
+       aFileSize[i] = aFile.tellg();
+       aBufferSize += aFileSize[i];              //Add a space to store the file
+      }
+      aFileNameSize[i] = strlen(theFileNames[i])+1;
+      aBufferSize += aFileNameSize[i];          //Add a space to store the file name
+      aBufferSize += (theNamesOnly)?4:12;       //Add 4 bytes: a length of the file name,
+      //    8 bytes: length of the file itself
+      aNbFiles++;
+    } 
+    
+    aBufferSize += 4;      //4 bytes for a number of the files that will be written to the stream;
+    unsigned char* aBuffer = new unsigned char[aBufferSize];  
+    if(aBuffer == NULL)
+      return (new SALOMEDS::TMPFile);
+    
+    //Initialize 4 bytes of the buffer by 0
+    memset(aBuffer, 0, 4); 
+    //Copy the number of files that will be written to the stream
+    memcpy(aBuffer, &aNbFiles, ((sizeof(int) > 4) ? 4 : sizeof(int))); 
+    
+    
+    aCurrentPos = 4;
+    
+    for(i=0; i<aLength; i++) {
+      ifstream *aFile;
+      if (!theNamesOnly) { // mpv 15.01.2003: we don't open any file if theNamesOnly = true
+       TCollection_AsciiString aFullPath = aTmpDir + const_cast<char*>(theFiles[i].in());
+       OSD_Path anOSDPath(aFullPath);
+       OSD_File anOSDFile(anOSDPath);
+       if(!anOSDFile.Exists()) continue;
 #ifdef WNT
-      aFile = new ifstream(aFullPath.ToCString(), ios::binary);
+       aFile = new ifstream(aFullPath.ToCString(), ios::binary);
 #else
-      aFile = new ifstream(aFullPath.ToCString());
+       aFile = new ifstream(aFullPath.ToCString());
 #endif  
-    }
-    //Initialize 4 bytes of the buffer by 0
-    memset((aBuffer + aCurrentPos), 0, 4); 
-    //Copy the length of the file name to the buffer
-    memcpy((aBuffer + aCurrentPos), (aFileNameSize + i), ((sizeof(int) > 4) ? 4 : sizeof(int))); 
-    aCurrentPos += 4;
-
-    //Copy the file name to the buffer
-    memcpy((aBuffer + aCurrentPos), theFiles[i], aFileNameSize[i]);
-    aCurrentPos += aFileNameSize[i];
-    
-    if (!theNamesOnly) { // mpv 15.01.2003: we don't copy file content to the buffer if !theNamesOnly
-      //Initialize 8 bytes of the buffer by 0
-      memset((aBuffer + aCurrentPos), 0, 8); 
-      //Copy the length of the file to the buffer
-      memcpy((aBuffer + aCurrentPos), (aFileSize + i), ((sizeof(long) > 8) ? 8 : sizeof(long)));
-      aCurrentPos += 8;
+      }
+      //Initialize 4 bytes of the buffer by 0
+      memset((aBuffer + aCurrentPos), 0, 4); 
+      //Copy the length of the file name to the buffer
+      memcpy((aBuffer + aCurrentPos), (aFileNameSize + i), ((sizeof(int) > 4) ? 4 : sizeof(int))); 
+      aCurrentPos += 4;
       
-      aFile->seekg(0, ios::beg);
-      aFile->read((char *)(aBuffer + aCurrentPos), aFileSize[i]);
-      aFile->close();
-      delete(aFile);
-      aCurrentPos += aFileSize[i];
+      //Copy the file name to the buffer
+      memcpy((aBuffer + aCurrentPos), theFileNames[i], aFileNameSize[i]);
+      aCurrentPos += aFileNameSize[i];
+      
+      if (!theNamesOnly) { // mpv 15.01.2003: we don't copy file content to the buffer if !theNamesOnly
+       //Initialize 8 bytes of the buffer by 0
+       memset((aBuffer + aCurrentPos), 0, 8); 
+       //Copy the length of the file to the buffer
+       memcpy((aBuffer + aCurrentPos), (aFileSize + i), ((sizeof(long) > 8) ? 8 : sizeof(long)));
+       aCurrentPos += 8;
+       
+       aFile->seekg(0, ios::beg);
+       aFile->read((char *)(aBuffer + aCurrentPos), aFileSize[i]);
+       aFile->close();
+       delete(aFile);
+       aCurrentPos += aFileSize[i];
+      }
     }
+    
+    delete[] aFileNameSize;
+    delete[] aFileSize;
+    
+    
+    CORBA::Octet* anOctetBuf =  (CORBA::Octet*)aBuffer;
+    
+    return (new SALOMEDS::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1));
   }
-
-  delete[] aFileNameSize;
-  delete[] aFileSize;
   
-  
-  CORBA::Octet* anOctetBuf =  (CORBA::Octet*)aBuffer;
-  
-  return (new SALOMEDS::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1));
+}
+
+
+SALOMEDS::TMPFile* 
+SALOMEDS_Tool::PutFilesToStream(const std::string& theFromDirectory,
+                               const SALOMEDS::ListOfFileNames& theFiles,
+                               const int theNamesOnly)
+{
+  SALOMEDS::ListOfFileNames aFileNames(theFiles);
+  return ::PutFilesToStream(theFromDirectory,theFiles,aFileNames,theNamesOnly);
+}
+
+
+SALOMEDS::TMPFile* 
+SALOMEDS_Tool::PutFilesToStream(const SALOMEDS::ListOfFileNames& theFiles,
+                               const SALOMEDS::ListOfFileNames& theFileNames)
+{
+  return ::PutFilesToStream("",theFiles,theFileNames,0);
 }
 
 //============================================================================
index c36de54e7d4fcfd362ac94cb4f0d1e5078bcf772..7c7f33a0f49db2c86b26f69343d8e8d1abe9f525 100644 (file)
@@ -64,6 +64,10 @@ public:
                                             const SALOMEDS::ListOfFileNames& theFiles,
                                             const int theNamesOnly = 0);
 
+  // Converts files listed in <theFiles> which will be named as pointed in the <theFileNames> into a byte sequence TMPFile
+  static SALOMEDS::TMPFile* PutFilesToStream(const SALOMEDS::ListOfFileNames& theFiles,
+                                            const SALOMEDS::ListOfFileNames& theFileNames);
+
   // Converts a byte sequence <theStream> to files and places them in <theToDirectory>
   static SALOMEDS::ListOfFileNames_var PutStreamToFiles(const SALOMEDS::TMPFile& theStream,
                                                        const std::string& theToDirectory,
diff --git a/src/TestContainer/Makefile.am b/src/TestContainer/Makefile.am
new file mode 100644 (file)
index 0000000..9d8599c
--- /dev/null
@@ -0,0 +1,104 @@
+#  SALOME TestContainer : test of container creation and its life cycle
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.in
+#  Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
+#  Module : SALOME
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+# Scripts to be installed
+dist_salomescript_DATA = \
+       SALOME_TestComponentPy.py \
+       TestComponentPy.py \
+       TestLogger.py
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(srcdir)/../Registry \
+       -I$(srcdir)/../Notification \
+       -I$(srcdir)/../ResourcesManager \
+       -I$(srcdir)/../Container \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../Container/libSalomeContainer.la \
+       ../Registry/libRegistry.la \
+       ../Notification/libSalomeNotification.la \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeTestComponentEngine.la
+libSalomeTestComponentEngine_la_SOURCES  = \
+       SALOME_TestComponent_i.cxx \
+       SALOME_TestComponent_i.hxx
+
+libSalomeTestComponentEngine_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSalomeTestComponentEngine_la_LIBADD   = $(COMMON_LIBS)
+
+#LIB_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl SALOME_Exception.idl
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestContainer TestLogger
+TestContainer_SOURCES  = TestContainer.cxx
+TestContainer_CPPFLAGS = $(COMMON_CPPFLAGS)
+TestContainer_LDADD    = $(COMMON_LIBS) libSalomeTestComponentEngine.la
+
+TestLogger_SOURCES     = TestLogger.cxx
+TestLogger_CPPFLAGS    = $(COMMON_CPPFLAGS)
+TestLogger_LDADD       = $(COMMON_LIBS) libSalomeTestComponentEngine.la
diff --git a/src/TestContainer/Makefile.in b/src/TestContainer/Makefile.in
deleted file mode 100644 (file)
index 40a5e8e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#  SALOME TestContainer : test of container creation and its life cycle
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = SALOME_TestComponentPy.py TestComponentPy.py
-
-# Libraries targets
-
-LIB = libSalomeTestComponentEngine.la 
-LIB_SRC = SALOME_TestComponent_i.cxx
-LIB_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl SALOME_Exception.idl
-
-# Executables targets
-BIN = TestContainer TestLogger
-BIN_SRC = 
-
-LDFLAGS+= -lSalomeNotification -lSalomeNS -lSalomeContainer -lRegistry -lOpUtil -lSALOMELocalTrace -lSalomeResourcesManager
-LDFLAGSFORBIN+= -lSalomeNotification -lSalomeNS -lSalomeContainer -lRegistry -lOpUtil -lSALOMELocalTrace -lSalomeResourcesManager -lSALOMEBasics
-
-
-@CONCLUDE@
index 2dacf6dbbd5e886165a12cbda5abebbef970e5d8..c1f467441c0075a60ddc9f83182c98131dfdd5cd 100755 (executable)
@@ -62,7 +62,7 @@ except CosNaming.NamingContext.NotFound, ex:
     sys.exit(1)
 
 container = obj._narrow(Engines.Container)
-print container._get_machineName()
+print container.getHostName()
 comp = container.load_impl("SALOME_TestComponentPy","SALOME_TestComponentPy")
 print comp._get_instanceName()
 comp.ping()
index de2de52a08023a6b49900feb5cd31be575567f38..b5604d9d1fe38b4a000ce7247cd95834030b557b 100644 (file)
@@ -40,7 +40,6 @@
 #include "Utils_SINGLETON.hxx"
 #include "Utils_SALOME_Exception.hxx"
 #include "Utils_CommException.hxx"
-#include "SALOMETraceCollector.hxx"
 using namespace std;
 
 static ostream& operator<<(ostream& os, const CORBA::Exception& e)
@@ -81,7 +80,7 @@ int main (int argc, char * argv[])
 {
   // Initializing omniORB
   ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
-  CORBA::ORB_var &orb = init( argc , argv ) ;
+  CORBA::ORB_ptr orb = init( argc , argv ) ;
   //  LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
 
   try
@@ -94,6 +93,7 @@ int main (int argc, char * argv[])
 
       CORBA::Object_var obj = _NS.Resolve(containerName.c_str()) ;
       Engines::Container_var iGenFact = Engines::Container::_narrow(obj);
+      iGenFact->ping() ;
 
       int nbInstances = 5;
 
diff --git a/src/TestContainer/TestLogger.py b/src/TestContainer/TestLogger.py
new file mode 100644 (file)
index 0000000..2d1aa7e
--- /dev/null
@@ -0,0 +1,5 @@
+
+from SALOME_utilities import *
+
+MESSAGE("TestLogger.py : It's OK")
+
diff --git a/src/TestMPIContainer/Makefile.am b/src/TestMPIContainer/Makefile.am
new file mode 100644 (file)
index 0000000..9ba474d
--- /dev/null
@@ -0,0 +1,106 @@
+#  SALOME MPIContainer : implemenation of container based on MPI libraries
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+
+
+#
+# ===============================================================
+# _CS_gbo Caution !! This package may not work. I didn't test it
+# because no mpi soft is installed on my computer. To be checked.
+# ===============================================================
+#
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Header to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS = TestMPIComponentEngine.hxx
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+# _CS_gbo See wether it can be shared by all packages in a common include!!
+COMMON_CPPFLAGS=\
+       @MPI_INCLUDES@ \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(srcdir)/../NamingService \
+       -I$(srcdir)/../Utils \
+       -I$(srcdir)/../Registry \
+       -I$(srcdir)/../Notification \
+       -I$(srcdir)/../ResourcesManager \
+       -I$(srcdir)/../Container \
+       -I$(srcdir)/../MPIContainer \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       ../Registry/libRegistry.la \
+       ../Notification/libSalomeNotification.la \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       ../NamingService/libSalomeNS.la \
+       ../Utils/libOpUtil.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       ../Basics/libSALOMEBasics.la \
+       ../Container/libSalomeContainer.la \
+       ../MPIContainer/libSalomeMPIContainer.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CORBA_LIBS@
+
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libSalomeTestMPIComponentEngine.la
+libSalomeTestMPIComponentEngine_la_SOURCES = TestMPIComponentEngine.cxx
+libSalomeTestMPIComponentEngine_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libSalomeTestMPIComponentEngine_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libSalomeTestMPIComponentEngine_la_LIBADD   = $(COMMON_LIBS)
+
+
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestMPIContainer
+TestMPIContainer_SOURCES = TestMPIContainer.cxx
+TestMPIContainer_LDADD   = libSalomeTestMPIComponentEngine.la $(COMMON_LIBS) @MPI_LIBS@
+TestMPIContainer_CPPFLAGS = $(COMMON_CPPFLAGS)
diff --git a/src/TestMPIContainer/Makefile.in b/src/TestMPIContainer/Makefile.in
deleted file mode 100644 (file)
index 000d291..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#==============================================================================
-#  File      : Makefile.in
-#  Created   : mer jui 04 12:58:13 CEST 2003
-#  Author    : Bernard SECHER, CEA
-#  Project   : SALOME
-#  Copyright : CEA 2003
-#  $Header$
-#==============================================================================
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = 
-
-EXPORT_HEADERS = TestMPIComponentEngine.hxx
-
-# Libraries targets
-
-LIB = libSalomeTestMPIComponentEngine.la 
-LIB_SRC = TestMPIComponentEngine.cxx
-LIB_CLIENT_IDL = Logger.idl SALOME_MPIObject.idl SALOME_TestMPIComponent.idl SALOME_Component.idl
-
-# Executables targets
-BIN = TestMPIContainer
-BIN_SRC = 
-BIN_CLIENT_IDL = Logger.idl SALOME_MPIObject.idl SALOME_MPIContainer.idl SALOME_TestMPIComponent.idl SALOME_Exception.idl
-BIN_SERVER_IDL = 
-
-LDFLAGSFORBIN+= -lSalomeNotification -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeMPIContainer -lSalomeContainer -lRegistry -lOpUtil -lSALOMELocalTrace -lSALOMEBasics -lSalomeResourcesManager ${MPI_LIBS}
-
-CXXFLAGS+=${MPI_INCLUDES}
-CXX_DEPEND_FLAG+=${MPI_INCLUDES}
-
-@CONCLUDE@
index 8c7e80a1fe963bea5d86e217a0fe4bba2eabd2cf..dfe3b7f81f7a12be4e55d87427814e25bf3d3feb 100644 (file)
@@ -39,7 +39,6 @@
 # include "Utils_SINGLETON.hxx"
 #include "SALOME_NamingService.hxx"
 #include "OpUtil.hxx"
-#include "SALOMETraceCollector.hxx"
 using namespace std;
 
 int main (int argc, char * argv[])
diff --git a/src/UnitTests/Makefile.am b/src/UnitTests/Makefile.am
new file mode 100644 (file)
index 0000000..22bb96b
--- /dev/null
@@ -0,0 +1,83 @@
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+
+# Executable scripts to be installed
+dist_salomescript_SCRIPTS = UnitTests.py
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+
+bin_PROGRAMS = UnitTests
+UnitTests_SOURCES  = UnitTests.cxx
+UnitTests_CPPFLAGS =\
+       @CPPUNIT_INCLUDES@ \
+       -I$(srcdir)/../Basics -I$(srcdir)/../Basics/Test \
+       -I$(srcdir)/../SALOMELocalTrace -I$(srcdir)/../SALOMELocalTrace/Test \
+       -I$(srcdir)/../SALOMETraceCollector -I$(srcdir)/../SALOMETraceCollector/Test \
+       -I$(srcdir)/../NamingService -I$(srcdir)/../NamingService/Test \
+       -I$(srcdir)/../Utils -I$(srcdir)/../Utils/Test \
+       -I$(srcdir)/../Registry \
+       -I$(srcdir)/../Notification \
+       -I$(srcdir)/../ResourcesManager \
+       -I$(srcdir)/../LifeCycleCORBA -I$(srcdir)/../LifeCycleCORBA/Test \
+       -I$(srcdir)/../SALOMDESImpl -I$(srcdir)/../SALOMEDSImpl/Test \
+       -I$(srcdir)/../SALOMDES -I$(srcdir)/../SALOMEDS/Test \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+
+UnitTests_LDADD    =\
+       @CPPUNIT_LIBS@ \
+       ../Basics/libSALOMEBasics.la \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la ../SALOMELocalTrace/Test/libSALOMELocalTraceTest.la \
+       ../Registry/libRegistry.la \
+       ../Notification/libSalomeNotification.la \
+       ../ResourcesManager/libSalomeResourcesManager.la \
+       ../NamingService/libSalomeNS.la ../NamingService/Test/libNamingServiceTest.la \
+       ../Container/libSalomeContainer.la \
+       ../SALOMETraceCollector/Test/libSALOMETraceCollectorTest.la \
+       ../Utils/libOpUtil.la ../Utils/Test/libUtilsTest.la \
+       ../LifeCycleCORBA/libSalomeLifeCycleCORBA.la ../LifeCycleCORBA/Test/libLifeCycleCORBATest.la \
+       ../SALOMEDSImpl/libSalomeDSImpl.la ../SALOMEDSImpl/Test/libSALOMEDSImplTest.la \
+       ../SALOMEDS/libSalomeDS.la ../SALOMEDS/Test/libSALOMEDSTest.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CORBA_LIBS@
+
+
diff --git a/src/UnitTests/Makefile.in b/src/UnitTests/Makefile.in
deleted file mode 100644 (file)
index f765111..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= 
-
-EXPORT_PYSCRIPTS = UnitTests.py
-
-# Libraries targets
-
-LIB = 
-LIB_SRC =
-
-# Executables targets
-
-BIN = UnitTests
-BIN_SRC = 
-BIN_CLIENT_IDL = SALOME_Component.idl SALOME_TestComponent.idl \
-                SALOME_Exception.idl nstest.idl
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGSFORBIN+= \
- -lSALOMELocalTraceTest -lSALOMELocalTrace -lSALOMEBasics \
- -lSALOMETraceCollectorTest \
- -lUtilsTest -lOpUtil \
- -lNamingServiceTest -lSalomeNS \
- -lSalomeContainer -lSalomeResourcesManager \
- -lRegistry -lSalomeNotification \
- -lLifeCycleCORBATest -lSalomeLifeCycleCORBA \
-
-
-
-@CONCLUDE@
index d1198cc2179cd44256e4aeefe63e67ec92d24a18..edebe38bafa9a4defa809a96ebff4b8069dde577 100644 (file)
@@ -25,6 +25,8 @@
 #include "UtilsTest.hxx"
 #include "NamingServiceTest.hxx"
 #include "LifeCycleCORBATest.hxx"
+#include "SALOMEDSImplTest.hxx"
+#include "SALOMEDSTest.hxx"
 
 // --- Registers the fixture into the 'registry'
 
@@ -33,6 +35,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION( SALOMETraceCollectorTest );
 CPPUNIT_TEST_SUITE_REGISTRATION( UtilsTest );
 CPPUNIT_TEST_SUITE_REGISTRATION( NamingServiceTest );
 CPPUNIT_TEST_SUITE_REGISTRATION( LifeCycleCORBATest );
+CPPUNIT_TEST_SUITE_REGISTRATION( SALOMEDSImplTest );
+CPPUNIT_TEST_SUITE_REGISTRATION(SALOMEDSTest );
 
 // --- generic Main program from Basic/Test
 
diff --git a/src/Utils/Makefile.am b/src/Utils/Makefile.am
new file mode 100644 (file)
index 0000000..617fae4
--- /dev/null
@@ -0,0 +1,77 @@
+#  SALOME Utils : general SALOME's definitions and tools
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : SALOME
+#  $Header$
+
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+# header files  
+salomeinclude_HEADERS =\
+       OpUtil.hxx \
+       Utils_Timer.hxx \
+       Utils_CorbaException.hxx \
+       Utils_CommException.hxx \
+       Utils_SALOME_Exception.hxx \
+       Utils_ORB_INIT.hxx \
+       Utils_Identity.hxx \
+       Utils_SINGLETON.hxx \
+       Utils_DESTRUCTEUR_GENERIQUE.hxx \
+       Utils_ExceptHandlers.hxx \
+       Utils_Mutex.hxx
+
+# Scripts to be exported
+dist_salomescript_DATA =\
+       Utils_Identity.py \
+       SALOME_utilities.py
+
+# Libraries targets
+lib_LTLIBRARIES = libOpUtil.la
+libOpUtil_la_SOURCES =\
+       OpUtil.cxx Utils_Timer.cxx duplicate.cxx \
+       Utils_CommException.cxx \
+       Utils_SALOME_Exception.cxx \
+       Utils_Identity.cxx Utils_ORB_INIT.cxx \
+       Utils_DESTRUCTEUR_GENERIQUE.cxx \
+       Utils_ExceptHandlers.cxx \
+       Utils_Mutex.cxx
+
+libOpUtil_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+
+libOpUtil_la_CPPFLAGS = \
+       -I$(srcdir)/../Basics \
+       -I$(srcdir)/../SALOMELocalTrace \
+       -I$(top_builddir)/salome_adm/unix \
+       -I$(top_builddir)/idl \
+       @CORBA_CXXFLAGS@ @CORBA_INCLUDES@
+
+libOpUtil_la_LIBADD   = \
+       ../SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(top_builddir)/idl/libSalomeIDLKernel.la\
+       @CORBA_LIBS@
+
+
+
diff --git a/src/Utils/Makefile.in b/src/Utils/Makefile.in
deleted file mode 100644 (file)
index c862428..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-#  SALOME Utils : general SALOME's definitions and tools
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Marc Tajchman (CEA)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= \
-       OpUtil.hxx \
-       Utils_Timer.hxx \
-       Utils_CorbaException.hxx \
-       Utils_CommException.hxx \
-       Utils_SALOME_Exception.hxx \
-       Utils_ORB_INIT.hxx \
-       Utils_Identity.hxx \
-       Utils_SINGLETON.hxx \
-       Utils_DESTRUCTEUR_GENERIQUE.hxx \
-       Utils_ExceptHandlers.hxx \
-       Utils_SignalsHandler.h \
-       Utils_Mutex.hxx
-
-EXPORT_PYSCRIPTS = Utils_Identity.py SALOME_utilities.py
-# Libraries targets
-
-LIB = libOpUtil.la 
-LIB_SRC = OpUtil.cxx Utils_Timer.cxx duplicate.cxx \
-       Utils_CommException.cxx \
-       Utils_SALOME_Exception.cxx \
-       Utils_Identity.cxx Utils_ORB_INIT.cxx \
-       Utils_DESTRUCTEUR_GENERIQUE.cxx \
-       Utils_ExceptHandlers.cxx \
-       Utils_SignalsHandler.cxx \
-       Utils_Mutex.cxx
-
-LIB_SERVER_IDL = SALOME_Exception.idl
-
-LDFLAGS+= -lSALOMELocalTrace
-
-@CONCLUDE@
-
-
diff --git a/src/Utils/Test/Makefile.am b/src/Utils/Test/Makefile.am
new file mode 100644 (file)
index 0000000..5ef20d8
--- /dev/null
@@ -0,0 +1,88 @@
+####################################### library
+#  SALOMELocalTrace : log on local machine
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.am
+#  Author : Guillaume Boulant (CSSI)
+#  Module : KERNEL
+#  $Header$
+
+include $(top_srcdir)/salome_adm/unix/make_common_starter.am
+
+#
+# ===============================================================
+# Files to be installed
+# ===============================================================
+#
+# header files  
+salomeinclude_HEADERS= UtilsTest.hxx
+
+# Scripts to be installed
+dist_salomescript_SCRIPTS = TestUtils.py
+
+
+#
+# ===============================================================
+# Local definitions
+# ===============================================================
+#
+# This directory defines the subdirectory src in the top source directory.
+RPATH=../..
+
+# This local variable defines the list of CPPFLAGS common to all target in this package.
+COMMON_CPPFLAGS=\
+       @CPPUNIT_INCLUDES@ \
+       -I$(srcdir)/$(RPATH)/Basics -I$(srcdir)/$(RPATH)/Basics/Test \
+       -I$(srcdir)/$(RPATH)/SALOMELocalTrace -I$(srcdir)/$(RPATH)/SALOMELocalTrace/Test \
+       -I$(srcdir)/$(RPATH)/SALOMETraceCollector -I$(srcdir)/$(RPATH)/SALOMETraceCollector/Test \
+       -I$(srcdir)/$(RPATH)/Utils -I$(srcdir)/$(RPATH)/Utils/Test \
+       -I$(top_builddir)/salome_adm/unix
+
+# This local variable defines the list of dependant libraries common to all target in this package.
+COMMON_LIBS =\
+       @CPPUNIT_LIBS@ \
+       $(RPATH)/Utils/libOpUtil.la \
+       $(RPATH)/SALOMELocalTrace/Test/libSALOMELocalTraceTest.la $(RPATH)/SALOMELocalTrace/libSALOMELocalTrace.la \
+       $(RPATH)/SALOMETraceCollector/Test/libSALOMETraceCollectorTest.la \
+       $(RPATH)/Basics/libSALOMEBasics.la
+#
+# ===============================================================
+# Libraries targets
+# ===============================================================
+#
+lib_LTLIBRARIES = libUtilsTest.la 
+libUtilsTest_la_SOURCES = UtilsTest.cxx
+libUtilsTest_la_CPPFLAGS = $(COMMON_CPPFLAGS)
+libUtilsTest_la_LDFLAGS  = -no-undefined -version-info=0:0:0
+libUtilsTest_la_LIBADD    = $(COMMON_LIBS)
+
+#
+# ===============================================================
+# Executables targets
+# ===============================================================
+#
+bin_PROGRAMS = TestUtils
+TestUtils_SOURCES  = TestUtils.cxx
+TestUtils_CPPFLAGS = $(COMMON_CPPFLAGS)
+TestUtils_LDADD    = libUtilsTest.la $(COMMON_LIBS)
+
diff --git a/src/Utils/Test/Makefile.in b/src/Utils/Test/Makefile.in
deleted file mode 100644 (file)
index c01a6a2..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#  SALOMELocalTrace : log on local machine
-#
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
-#
-#
-#
-#  File   : Makefile.in
-#  Author : Paul RASCLE (EDF)
-#  Module : SALOME
-#  $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-# header files  
-EXPORT_HEADERS= UtilsTest.hxx
-
-EXPORT_PYSCRIPTS = TestUtils.py
-
-# Libraries targets
-
-LIB = libUtilsTest.la 
-LIB_SRC = UtilsTest.cxx
-
-# Executables targets
-
-BIN = TestUtils
-BIN_SRC = 
-
-CXXFLAGS += @CPPUNIT_INCLUDES@
-CPPFLAGS += @CPPUNIT_INCLUDES@
-
-LIBS= @LIBS@ @CPPUNIT_LIBS@
-
-LDFLAGS+=
-
-LDFLAGSFORBIN+= \
- -lSALOMELocalTraceTest -lSALOMELocalTrace -lSALOMEBasics \
- -lSALOMETraceCollectorTest \
- -lUtilsTest -lOpUtil
-
-@CONCLUDE@
diff --git a/src/Utils/Utils_SignalsHandler.cxx b/src/Utils/Utils_SignalsHandler.cxx
deleted file mode 100644 (file)
index c967473..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-//  KERNEL Utils : common utils for KERNEL
-//  Copyright (C) 2003  CEA
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
-//
-
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
-//  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org
-
-
-#include <stdexcept>
-#include <stdio.h>
-#include <signal.h>
-
-#include "Utils_SignalsHandler.h"
-
-
-//============================================================================
-//function : Handler 
-//purpose  : univisal handler for signals
-//============================================================================
-static void Handler(int theSigId)
-{
-  char aMessage[256] = "";
-  sprintf(aMessage,"Signal with ID = %d was cautch!",theSigId);
-  throw std::runtime_error(aMessage);
-}
-
-
-//=======================================================================
-//function : SetSigHandler
-//purpose  : Redefine signal handlers. If the handler of the signal is
-//           set as SIG_IGN. That's why the shells often ignore some 
-//           signal when starting child processes. We keep it.
-//=======================================================================
-static void SetSignalHandler(Utils_SignalsHandler::TSigHandlerCont& theSigHandlerCont,
-                                     int theSigId)
-{
-  TSigHandler anOldHandler = signal(theSigId,&Handler);
-  if(anOldHandler == SIG_IGN)
-    signal(theSigId,SIG_IGN);  
-  theSigHandlerCont[theSigId] = anOldHandler;
-}
-
-static TSigHandler StoreSignalHandler(Utils_SignalsHandler::TSigHandlerCont& theSigHandlerCont,
-                                     int theSigId)
-{
-  TSigHandler anOldHandler = signal(theSigId,&Handler);
-  signal(theSigId,anOldHandler);
-  if(anOldHandler == SIG_IGN)
-    signal(theSigId,SIG_IGN);  
-  theSigHandlerCont[theSigId] = anOldHandler;
-  return anOldHandler;
-}
-
-static void RestoreSigHandler(TSigHandler theSigHandler,
-                             int theSigId)
-{
-  signal(theSigId,theSigHandler);
-}
-
-
-//=======================================================================
-//function : Utils_SignalsHandler
-//purpose  : Constructor
-//=======================================================================
-Utils_SignalsHandler::Utils_SignalsHandler()
-{
-  // asv 28.02.05 : some signals are not defined on Windows.. why?  I don't know..
-#ifndef WNT
-  StoreSignalHandler(mySigHandlerCont,SIGHUP); // floating point exception
-  StoreSignalHandler(mySigHandlerCont,SIGQUIT); // quit
-  StoreSignalHandler(mySigHandlerCont,SIGBUS); // bus error
-  StoreSignalHandler(mySigHandlerCont,SIGSTKFLT); // stack fault.
-#endif
-  StoreSignalHandler(mySigHandlerCont,SIGFPE); // floating point exception  
-  StoreSignalHandler(mySigHandlerCont,SIGINT); // interrupt
-  StoreSignalHandler(mySigHandlerCont,SIGILL); // illegal instruction
-  StoreSignalHandler(mySigHandlerCont,SIGTERM); // termination
-  StoreSignalHandler(mySigHandlerCont,SIGSEGV); // segmentation 
-  //StoreSignalHandler(mySigHandlerCont,SIGABRT); // abort (ANSI).  
-  // portage CCRT
-  //  StoreSignalHandler(mySigHandlerCont,SIGSTKFLT); // stack fault.  
-}
-
-
-//=======================================================================
-//function : Utils_SignalsHandler
-//purpose  : destructor
-//=======================================================================
-Utils_SignalsHandler::~Utils_SignalsHandler() 
-{
-  TSigHandlerCont::iterator anIter = mySigHandlerCont.begin();
-  TSigHandlerCont::iterator anIterEnd = mySigHandlerCont.end();
-  for(; anIter != anIterEnd; anIter++)
-    RestoreSigHandler(anIter->second,anIter->first);
-}
-
-
-//=======================================================================
-//function : SetSigHandler
-//purpose  : sets new handler for pointed signal
-//=======================================================================
-TSigHandler Utils_SignalsHandler::SetSigHandler(int theSigId, 
-                                               TSigHandler theSigHandler)
-{
-  TSigHandler anOldHandler = signal(theSigId,theSigHandler);
-  if(anOldHandler == SIG_IGN)
-    signal(theSigId,SIG_IGN);  
-  mySigHandlerCont[theSigId] = anOldHandler;
-  return anOldHandler;
-}
diff --git a/src/Utils/Utils_SignalsHandler.h b/src/Utils/Utils_SignalsHandler.h
deleted file mode 100644 (file)
index 44228ba..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-//  KERNEL Utils : common utils for KERNEL
-//  Copyright (C) 2003  CEA
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
-//
-
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
-//  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org
-
-#ifndef _UTILS_SIGNALSHANDLER_H_
-#define _UTILS_SIGNALSHANDLER_H_
-
-
-#if defined UTILS_EXPORTS
-#if defined WIN32
-#define UTILS_EXPORT __declspec( dllexport )
-#else
-#define UTILS_EXPORT
-#endif
-#else
-#if defined WNT
-#define UTILS_EXPORT __declspec( dllimport )
-#else
-#define UTILS_EXPORT
-#endif
-#endif
-
-#include <map>
-typedef void (*TSigHandler)(int);
-
-
-class UTILS_EXPORT Utils_SignalsHandler{
- public:
-  Utils_SignalsHandler();
-  ~Utils_SignalsHandler();
-
-  TSigHandler GetSigHandler(int theSigId);
-  TSigHandler SetSigHandler(int theSigId, TSigHandler theSigHandler);
-  typedef std::map<int,TSigHandler> TSigHandlerCont;
-
- private:
-  TSigHandlerCont mySigHandlerCont;
-};
-
-
-class UTILS_EXPORT Utils_CASSignalsHandler: private Utils_SignalsHandler{
- public:
-  Utils_CASSignalsHandler();
-};
-
-
-#endif