From: prascle
Date: Mon, 13 Mar 2006 12:18:26 +0000 (+0000)
Subject: PR: merge from branch BR_auto_V310 tag mergefrom_OCC_development_for_3_2_0a2_10mar06
X-Git-Tag: T_3_2_0a2_pre~1
X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=836c34a4e2dd99f1f302a2c3ae93a51cd182368f;p=modules%2Fkernel.git
PR: merge from branch BR_auto_V310 tag mergefrom_OCC_development_for_3_2_0a2_10mar06
---
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 000000000..e69de29bb
diff --git a/COPYING b/COPYING
new file mode 100644
index 000000000..d60c31a97
--- /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.
+
+ 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.)
+
+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.
+
+ 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.
+
+ 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
+
+ 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.
+
+
+ Copyright (C)
+
+ 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.
+
+ , 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
index 000000000..e69de29bb
diff --git a/DEPRECATED/Makefile.in b/DEPRECATED/Makefile.in
new file mode 100644
index 000000000..39f1d1672
--- /dev/null
+++ b/DEPRECATED/Makefile.in
@@ -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
index 000000000..81cde052a
--- /dev/null
+++ b/DEPRECATED/configure.in.base
@@ -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
index 000000000..64b47c344
--- /dev/null
+++ b/DEPRECATED/make_config.in
@@ -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
index 000000000..e8f17aa00
--- /dev/null
+++ b/Makefile.am
@@ -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
index 42dedf940..000000000
--- a/Makefile.in
+++ /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
index 000000000..e69de29bb
diff --git a/bin/Makefile.am b/bin/Makefile.am
new file mode 100644
index 000000000..eecb208a3
--- /dev/null
+++ b/bin/Makefile.am
@@ -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
diff --git a/bin/appliskel/killCurrentPort b/bin/appliskel/killCurrentPort
index bca506068..5d0a547cc 100755
--- a/bin/appliskel/killCurrentPort
+++ b/bin/appliskel/killCurrentPort
@@ -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`
diff --git a/bin/appliskel/runRemote.sh b/bin/appliskel/runRemote.sh
index 594616a07..293ecff6d 100755
--- a/bin/appliskel/runRemote.sh
+++ b/bin/appliskel/runRemote.sh
@@ -31,9 +31,12 @@
# --- 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 "$*"
diff --git a/bin/appliskel/runSession b/bin/appliskel/runSession
index 22d3fdd0f..c0a26ba13 100755
--- a/bin/appliskel/runSession
+++ b/bin/appliskel/runSession
@@ -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
diff --git a/bin/appliskel/runTests b/bin/appliskel/runTests
index 755825d79..8e360b05d 100755
--- a/bin/appliskel/runTests
+++ b/bin/appliskel/runTests
@@ -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}
diff --git a/bin/appliskel/searchFreePort.sh b/bin/appliskel/searchFreePort.sh
index 8108a93dc..3fd3c0dd8 100755
--- a/bin/appliskel/searchFreePort.sh
+++ b/bin/appliskel/searchFreePort.sh
@@ -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
diff --git a/bin/createAppli.sh b/bin/createAppli.sh
index 1ff6ed6de..36c6146b4 100755
--- a/bin/createAppli.sh
+++ b/bin/createAppli.sh
@@ -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
diff --git a/bin/killSalomeWithPort.py b/bin/killSalomeWithPort.py
index e52a25f88..9f0cd0dd9 100755
--- a/bin/killSalomeWithPort.py
+++ b/bin/killSalomeWithPort.py
@@ -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()
diff --git a/bin/launchConfigureParser.py b/bin/launchConfigureParser.py
index a9d0c273c..99540b3f3 100755
--- a/bin/launchConfigureParser.py
+++ b/bin/launchConfigureParser.py
@@ -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
index 000000000..cb41a7488
--- /dev/null
+++ b/bin/runIDLparser.in
@@ -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=[,icon=][,version=][,author=][,name=][,multistudy=][,remove=component_name] "
+ echo ""
+ echo " to have omniidl help:"
+ echo ""
+ echo " $0 -u "
+ echo ""
+ exit 1
+fi
+#============================================================
+
+# omiidl ====================================================
+omniidl -bIDLparser -I ${KERNEL_ROOT_DIR}/idl/salome $@
+#============================================================
diff --git a/bin/runNS.sh b/bin/runNS.sh
index b5c155a6c..589d2db50 100755
--- a/bin/runNS.sh
+++ b/bin/runNS.sh
@@ -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
index 000000000..970288626
--- /dev/null
+++ b/bin/runSalome.ksh
@@ -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
diff --git a/bin/runSalome.py b/bin/runSalome.py
index 98ff0a19f..8b19f288e 100755
--- a/bin/runSalome.py
+++ b/bin/runSalome.py
@@ -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
index 9f3afa861..000000000
--- a/bin/salome/runIDLparser.in
+++ /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=[,icon=][,version=][,author=][,name=][,multistudy=][,remove=component_name] "
- 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 $@
-#============================================================
diff --git a/build_configure b/build_configure
index d3294fb59..c682f1fad 100755
--- a/build_configure
+++ b/build_configure
@@ -1,224 +1,84 @@
-#!/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() 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() 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
index 000000000..a0073fb98
--- /dev/null
+++ b/clean_configure
@@ -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
index 000000000..7fe63445c
--- /dev/null
+++ b/configure.ac
@@ -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 .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
index 81cde052a..000000000
--- a/configure.in.base
+++ /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
index 000000000..30c621e67
--- /dev/null
+++ b/doc/Makefile.am
@@ -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
index 7295ede75..000000000
--- a/doc/Makefile.in
+++ /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
diff --git a/doc/SALOME_Application.txt b/doc/SALOME_Application.txt
index 590bf2c8f..83e016276 100644
--- a/doc/SALOME_Application.txt
+++ b/doc/SALOME_Application.txt
@@ -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
index 000000000..aebc24f86
--- /dev/null
+++ b/doc/index.txt
@@ -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
index 000000000..2c65d2236
--- /dev/null
+++ b/doc/kernel_resources.txt
@@ -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
+
+ 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() <::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_::Instance(), the pointer is returned
+with the same value even if this is done in different
+functions (threads ?)::
+
+ POINT *p1=SINGLETON_::Instance() ;
+ ...
+ POINT *p2=SINGLETON_::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_::Instance()`` which
+ returns a pointer to the single object ;
+
+* to create an object, ``SINGLETON_::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
index 000000000..eb02941b5
--- /dev/null
+++ b/doc/rst.css
@@ -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
index 000000000..05493e641
--- /dev/null
+++ b/doc/salome/DevelopersGuide/Makefile.am
@@ -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
index be472d9a6..000000000
--- a/doc/salome/DevelopersGuide/Makefile.in
+++ /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
index 562ffa05b..000000000
--- a/doc/salome/KernelResources/kernel_resources-1.html
+++ /dev/null
@@ -1,287 +0,0 @@
-
-
-
-
- SALOME Kernel resources for developer: Trace and debug Utilities
-
-
-
-
-
-Next
-Previous
-Contents
-
-
-
-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.
-
-
-
-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.
-
-
-
-SALOME provides C++ macros for trace and debug. These macros
-are in SALOME/src/SALOMELocalTrace/utilities.h
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, _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)
-
-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 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];
-
-
-
-Next
-Previous
-Contents
-
-
diff --git a/doc/salome/KernelResources/kernel_resources-2.html b/doc/salome/KernelResources/kernel_resources-2.html
deleted file mode 100644
index 62acf8ca3..000000000
--- a/doc/salome/KernelResources/kernel_resources-2.html
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
- SALOME Kernel resources for developer: Exceptions
-
-
-
-
-
-Next
-Previous
-Contents
-
-
-
-
-
-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.
-
-
-
-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 SALOME/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++
-
-The CORBA Client header for SALOME_Exception
and a Qt function
-header that displays a message box are provided in SALOME/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.
-
-
-Next
-Previous
-Contents
-
-
diff --git a/doc/salome/KernelResources/kernel_resources-3.html b/doc/salome/KernelResources/kernel_resources-3.html
deleted file mode 100644
index 27f61e78f..000000000
--- a/doc/salome/KernelResources/kernel_resources-3.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
- SALOME Kernel resources for developer: Miscellaneous tools
-
-
-
-
-Next
-Previous
-Contents
-
-
-
-
-
-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 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_()
.
-
-
-
-
-
-
-
-Next
-Previous
-Contents
-
-
diff --git a/doc/salome/KernelResources/kernel_resources.html b/doc/salome/KernelResources/kernel_resources.html
deleted file mode 100644
index e3819dc56..000000000
--- a/doc/salome/KernelResources/kernel_resources.html
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
- SALOME Kernel resources for developer
-
-
-
-
-
-Next
-Previous
-Contents
-
-SALOME Kernel resources for developer
-
-Antoine Yessayan, Paul Rascle Version 0.2 January 28, 2005
-
-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.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Next
-Previous
-Contents
-
-
diff --git a/doc/salome/KernelResources/kernel_resources.lyx b/doc/salome/KernelResources/kernel_resources.lyx
deleted file mode 100644
index 2c5935eab..000000000
--- a/doc/salome/KernelResources/kernel_resources.lyx
+++ /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
-\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() <::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_::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_::Instance() ;
-\layout Verbatim
-
-...
-
-\layout Verbatim
-
-POINT *p2=SINGLETON_::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_::Instance()
-\family default
- which returns a pointer to the single object ;
-\layout Itemize
-
-to create an object,
-\family typewriter
-SINGLETON_::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
index 000000000..f718bbc07
--- /dev/null
+++ b/doc/salome/Makefile.am
@@ -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
index a57414a82..000000000
--- a/doc/salome/Makefile.in
+++ /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
index 000000000..635272aec
--- /dev/null
+++ b/doc/salome/gui/Makefile.am
@@ -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
index ec67d8086..000000000
--- a/doc/salome/gui/Makefile.in
+++ /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
index b29cb2c04..000000000
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
index cb78b16ba..000000000
--- a/doc/salome/kernel_resources.ps
+++ /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 df60
-D<126012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007F
-C0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007FC0EE1FF0EE07FCEE
-01FF9338007F80EF1FC0A2EF7F80933801FF00EE07FCEE1FF0EE7FC04B48C7FCED07FCED
-1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA
-07FCEA3FF0EA7FC048CBFC12FC1270323279AD41>62 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fb cmsy10 10 1
-/Fb 1 16 df15
-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>I38 D<143814FC13011303EB07F8EB0FF0EB1FC0EB
-3F80EB7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E
-127EA3127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB
-07F8EB03FC130113001438164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E
-6C7E6C7E137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC1301
-14F8A3130314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA
-3FC0485A48C7FC5A5A1270164279B92C>II<147014F8AF003FB612E0B712F8A4C700F8C7FCB0147025267DAB
-2C>II<007FB512F0B612F8A36C14F01D
-0579942C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED
-0F80A2151F16005D153E157E157CA215FC5D14015D14035D14075D140F5D141F92C7FC5C
-143EA2147E147C14FC5C13015C13035C13075C130F5C131F91C8FC5B133EA2137E137C13
-FC5B12015B12035B12075B120F5B121F90C9FCA25A123E127E127C12FC5AA2127021417B
-B92C>II<1307497EA2131FA2133F13
-7F13FF5A1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477
-B32C>IIII<000FB512FE4880
-A35D0180C8FCADEB83FE90389FFF8090B512E015F8819038FE03FE9038F000FF01C07F49
-EB3F8090C7121F6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A248141F007EEC3F
-80007FEC7F006C6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FCEB0FF82334
-7CB22C>I56 DI<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>II<007FB512F8B612FCA36C14F839000FC000B3B3A5
-007FB512F8B612FCA36C14F81E3379B22C>I75 D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7
-FCA36C15F025337DB22C>IIII<007FB512C0B612F88115FF6C15802603
-F00013C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90
-B61280160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>II<
-387FFFFCB67E15E015F86C803907E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F4B
-C7FCEC01FE140790B55A5D15E081819038E007FCEC01FE1400157F81A8160FEE1F80A5D8
-7FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029347EB22C>I<90381FF80790B5EA0F80
-4814CF000714FF5A381FF01F383FC003497E48C7FC007E147F00FE143F5A151FA46CEC0F
-00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC0003EBFFC06C14F06C6C7F01077F90
-38007FFEEC07FF02001380153FED1FC0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC1F
-806D133F01E0EB7F009038FE01FF90B55A5D00F914F0D8F83F13C0D8700790C7FC23357C
-B32C>I<007FB612FCB712FEA43AFC007E007EA70078153CC71400B3AF90383FFFFCA249
-7F6D5BA227337EB22C>I<3B7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001F800
-B3AF6D130300015DA26D130700005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B01
-0313F86D5B9038003F802B3480B22C>I87 D<3A3FFF03FFE0484913F0148714076C6D13E03A01F800
-FE007F0000495A13FE017E5BEB7F03013F5B1487011F5B14CF010F5B14FF6D5BA26D90C7
-FCA26D5AA26D5AA2497EA2497EA2497F81EB0FCF81EB1FC7EC87F0EB3F83EC03F8EB7F01
-017E7FEBFE00497F0001147E49137F000380491480151FD87FFEEBFFFC6D5AB514FE6C15
-FC497E27337EB22C>II<003FB612C04815E0A4007EC7EA1FC0ED3F80A2ED7F00157E15FE4A5A
-003C5CC712034A5AA24A5A4A5AA24A5A4AC7FCA214FE495AA2495A495AA2495A495AA249
-5A49C8FCA213FE485AA24848EB03C049EB07E01207485A5B121F485AA248C7FCB7FCA46C
-15C023337CB22C>I<387FFFFCB512FEA314FC00FCC7FCB3B3B3B512FC14FEA36C13FC17
-416FB92C>I<127012F8A27E127C127E123E123F7EA27F120F7F12077F12037F12017F12
-007F137C137E133EA2133F7F80130F80130780130380130180130080147C147E143EA214
-3F8081140F81140781140381140181140081157CA2157E153E153F811680150FA2ED0700
-21417BB92C>I<387FFFFCB512FEA37EC7127EB3B3B3387FFFFEB5FCA36C13FC17417DB9
-2C>I<007FB6FCB71280A46C150021067B7D2C>95 D<3801FFF0000713FE001F6D7E15E0
-48809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F
-48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15
-FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>97 DI<903803FFE0011F13F801
-7F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2
-127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0
-010390C7FC21247AA32C>IIIIII<1307EB1FC0A2497EA36D5AA20107C7FC
-90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>
-I107 D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<
-3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF8
-3F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8
-D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6C
-B6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C
-01E0140029247FA32C>II<397FF01FE039FFF8FFF801FB13FE90B6FC6C15800001
-9038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14
-FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813
-F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I114 D<90387FF8700003B512F8120F5A5A387F
-C00F387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0
-C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE90
-38F007FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FC
-B71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB5128016
-0001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB
-000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE0713002924
-7FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A2
-6D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA2
-14C701075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>II<3A3FFF03FFF048018713F8A36C010313F03A00FC00
-7E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D
-5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E0001
-7C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01
-FFFCB5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D6D133E13
-7C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C013
-0114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87
-E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I<003FB612E04815F0
-A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495AC7485A4A5A4A5A4A5A4A5A4AC7FC
-EB01FC495AEB0FF0495A495A495A49C8FC4848EB01E04848EB03F0485A485A485A485A48
-5AB7FCA46C15E024247DA32C>I<15FF02071380141F147F91B512004913C04AC7FCEB03
-F85CB31307EB1FE013FF007F5BB55A49C8FC6D7E6C7FC67F131FEB07F01303B380EB01FE
-ECFFC06D13FF6E1380141F14070200130021417BB92C>I125
-D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fd ecbx1200 12 36
-/Fd 36 121 df<160C161EB3B0007FBB1280BC12C0A26C1A80C9001ECAFCB3B0160C4A4A
-7ABD57>43 D46 D49 DII58 D65
-DII69
-D76 DI<923807FFC092B512FE0207ECFFC0021F15F091267FFE0013FC
-902601FFF0EB1FFF01070180010313C04990C76C7FD91FFC6E6C7E49486F7E49486F7E01
-FF8348496F7E48496F1380A248496F13C0A24890C96C13E0A24819F04982003F19F8A300
-7F19FC49177FA400FF19FEAD007F19FC6D17FFA3003F19F8A26D5E6C19F0A26E5D6C19E0
-A26C6D4B13C06C19806E5D6C6D4B13006C6D4B5A6D6C4B5A6D6C4B5A6D6C4A5B6D01C001
-075B6D01F0011F5B010101FE90B5C7FC6D90B65A023F15F8020715C002004AC8FC030713
-C047467AC454>79 D82 DI<003FBA12E0
-A59026FE000FEB8003D87FE09338003FF049171F90C71607A2007E1803007C1801A30078
-1800A400F819F8481978A5C81700B3B3A20107B8FCA545437CC24E>I<007FBA12E0BB12
-F0A46C19E04406776757>95 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF8
-4848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC
-1307013F13F19038FFFC01000313E0481380381FFE00485A5B127F5B12FF5BA35DA26D5B
-6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90F
-FCC9FC322F7DAD36>97 DIIII<
-EDFF80020F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7F
-F0A2ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A52746
-7DC522>II<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA00
-7C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>105
-D108 D<90277F8007FEEC0FFC
-B590263FFFC090387FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D
-8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7E
-A24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB59038
-3FFF8092B512E0028114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02
-F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>II<90397FC00FF8B590B57E02C314E002CF14F89139DFC03F
-FC9139FF001FFE000301FCEB07FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF
-3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913806E4913006E495A9139DFC07F
-FC02CFB512F002C314C002C091C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F80
-7FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0F
-FC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>114
-D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48C7121F127E00FE
-140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15
-806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA2
-6DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C
->III119
-DI
-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>I43 DI46
-D<141E143E14FE1307137FB5FCA3138FEA000FB3B3A5007FB61280A4213679B530>49
-DII<001C15C0D81F80130701F8137F90B61280A216005D5D15F05D15
-804AC7FC14F090C9FCA7EB03FE90381FFFE0017F13F89038FE07FC9038F003FFD9C00113
-80496C13C090C7FC000E15E0C8127F16F0A216F8A3121FEA3FC0487E12FF7FA316F05B15
-FFD87F8014E0007EC713C0003E5B003F4913806C6C481300390FF01FFE6CB512F8000114
-E06C6C1380D90FF8C7FC25377BB530>53 D<49B47E010F13F0013F13FC9038FE01FF3A01
-F8007F804848EB3FC04848EB1FE0150F484814F01507121FA27F7F7F6D130F01FF14E014
-C09138E01FC06CEBF83F9138FE7F806C9038FFFE005D6C14F06C14FC6C14FF6D14806D14
-C090B612E0D803FD14F02607F07F13F848487E261FC00F13FC383F8003007F010013FE90
-C7127F151F00FE140715031501A21500A216FC7E6C14016D14F86C6C13036DEB07F06C6C
-EB0FE0D80FFEEB7FC00003B61200C614FC013F13F00103138027377CB530>56
-D65 DIIIIII73
-D76 DII<
-EDFFF8020FEBFF80027F14F0903A01FFC01FFC010790380007FFD91FFC010113C0D93FF0
-6D6C7E49486E7E49486E7E48496E7E48834890C86C7EA248486F1380A248486F13C0A200
-3F18E0A348486F13F0A400FF18F8AC007F18F06D5DA3003F18E0A26D5D001F18C0A26C6C
-4B13806C18006E5C6C6D4A5A6C5F6C6D4A5A6D6C4A5AD93FFC49485A6DB401075B0107D9
-C01F90C7FC010190B512FC6D6C14F0020F1480020001F8C8FC3D3B7BB948>IIIII<003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA200
-7C1707A200781703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>II<007FB9FCBA1280A36C18003905786A4A>95
-D97 D<13FFB5FCA412077EAF4AB47E020F13F0023F13FC9138FE03FFDAF000
-13804AEB7FC00280EB3FE091C713F0EE1FF8A217FC160FA217FEAA17FCA3EE1FF8A217F0
-6E133F6EEB7FE06E14C0903AFDF001FF80903AF8FC07FE009039F03FFFF8D9E00F13E0D9
-C00390C7FC2F3A7EB935>I<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C0
-48485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01
-E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13F00101138023
-257DA42A>I
-I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC
-1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F
-6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025
-257DA42C>II<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F48486C13
-8F003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907
-FE07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E0
-6C15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D5C6C
-6C495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>I<
-13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A7E4A
-14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>II<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>IIIII
-E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Ff ecbx1440 14.4 24
-/Ff 24 121 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
-FCB3B3B3A6007FB712FCA52E4E76CD42>49 DI<
-913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
-48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
-8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
-FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
-FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
-4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
-0F92C7FC010114FCD9001F1380374F7BCD42>I<932603FFF01407047F01FF140F0307B6
-00E0131F033F03F8133F92B700FE137F02039126C003FF13FF020F01F8C7EA3FC1023F01
-C0EC0FE391B5C80003B5FC4901FC814949814901E082011F498249498292CA7E49488349
-48835A4A83485B4885A24849187FA2485B1B3FA2485B1B1FA25AA21B0091CDFCA2B5FCAE
-7EA280A36C1A1FA36C7FA21B3F6C7F1B3E6C7F1B7E6C6D187C6C1AFC6E18F86C19016D6C
-EF03F06D7E6FEE07E06D6DEE0FC001076DEE1F806D01F8EE3F006D6D16FE6D01FF4B5A02
-3F01C0EC07F8020F01FCEC3FF00203903AFFC001FFC0020091B6C7FC033F15FC030715F0
-DB007F1480040301F0C8FC505479D25F>67 D69 D77
-D<003FBB12FCA59126C0007FEB000301FCC7ED003FD87FF0F00FFE491807491803491801
-90C81600A2007E1A7EA3007C1A3EA500FC1A3F481A1FA6C91700B3B3AC49B912C0A55051
-7BD05B>84 DI97 DI<913803FFE0023F13FE91B67E010315E0010F903800
-3FF8D93FFCEB07FC4948497E4948131F4849497E485B485BA24890C7FC5A5B003F6F5A70
-5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE0F80A26C6D141F18006C6D5C6C6D
-143E6C6D147E6C6D5C6D6C495A6DB4EB07F0010F9038C01FE06D90B5128001014AC7FCD9
-003F13F80203138031387CB63A>I<943803FF80040FB5FCA5EE003F170FB3A4913803FF
-80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF813014948
-7F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA3121F
-7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F01
-0790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13F8
-49B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F4849
-6D7E48824890C77E1880485A82003F17C0A3485A18E082A212FFA290B8FCA401FCCAFCA6
-127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C6D147E
-D97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC020113E0
-33387CB63C>I103 D<133FEBFFC0487F487FA2487FA66C5BA26C5B6C5B
-013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C547CD324>105
-D108
-D110 D<913801FFC0023F13FE91B67E010315E0010F018013F8903A3FFC001F
-FED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F4883488349153F001F83A2003F
-8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2001F5FA26C6C4B5AA26C
-6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB46CB45A010790B512F0
-010115C0D9003F49C8FC020313E039387CB642>II<90393FF001FCB590380FFF804B13E0037F13F0
-9238FE1FF89138F1F83F00019138F07FFC6CEBF3E015C0ECF780A2ECFF00EE3FF84AEB1F
-F0EE0FE093C7FC5CA45CB3ABB612FEA52E367DB535>114 D<903903FFC00E011FEBFC1E
-90B6127E000315FE3907FE003FD80FF0130F4848130348481301491300127F90C8127EA2
-48153EA27FA27F01F091C7FC13FCEBFF806C13FEECFFF06C14FE6F7E6C15E06C816C15FC
-6C81C681133F010F15801301D9000F14C0EC003F030713E0150100F880167F6C153FA216
-1F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03FE9039FF801FFC486CB512F0D8F8
-1F14C0D8F00791C7FC39E0007FF02B387CB634>I<147CA614FCA41301A31303A21307A2
-130F131F133F137F13FF1203000F90B512FEB7FCA426007FFCC8FCB3A9EE0F80ABEE1F00
-6D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C023F1380DA03FEC7FC294D7ECB33
->II120
-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>I65 DI<913803FF80021F13F891B6FC4915C013075B4948C61380D97FF0130FD9FFC013034A
-13014890C9FC485A485A5B120F5B485AA2485AA3485AA448CAFCAC6C7EA46C7EA36C7EA2
-6C7E7F12077F6C7E6C6C15206C6D14E06E1301D97FF0130FD91FFE137F6DB6FC6D15C001
-0115006D5C021F13F0020313802B3E7BBB35>III<913803FF80023F13F891B512FE0103ECFFC04915E0
-5B90383FFE00D97FF0EB1FC0D9FFC013074A13014890C8124048481500485A5B120F5B48
-5AA2485AA3485AA448CAFCA992383FFFF0A36C7EA2ED0007A26C7EA36C7EA26C7E7F1207
-7F6C7E6C7E6C7F80EB7FF0D93FFE137F010FB6FC7F6D15C001001500023F13F802031380
-2C3E7BBB37>71 D<12FFB3B3B3A4083A79B917>73 D76 D
-I79
-DI82 DIII97 D<12FEB3A4EB01FCEB0FFF013F13C090B57EB67E9038F03FF8
-EBC007496C7EEB0001486D7EA2157FA3ED3F80AAED7F00A35D5D14016C5CEB80039038C0
-0FF89038F03FF090B55A485C6D5BD91FFEC7FC380007F8213D7ABB2B>IIII<14FF010313C0130F5B5BEB7F819038FE00404913
-0012015BA21203ADB512FCA5D803F8C7FCB3AE1A3D7FBC19>I<903907E001F890383FFC
-1F90397FFEFFFC48B6FC5A9039F81FF8003907F00FE048486C7EEBC003A248486C7EA76C
-6C485AA2EBE0076C6C485A6C6C485A48B5FC5D4849C7FCEB3FFC381F07E090C9FCA37F7F
-6CB512C015F815FE6CECFF8016C04815E05A3A3F80007FF048C7120F007EEC03F8481401
-A46C1403007E15F0D87F80130F6C6CEB1FE03A1FFC01FFC06CB612806C1500000114FC6C
-6C13F0010790C7FC26387EA52A>I<12FEB3A4EB01FC90380FFF804913C0017F13E090B5
-12F039FFF81FF8EBE007EBC003018013FC14011300A35AB3A71E3C7ABB2B>I<12FFA812
-00AC127FB3B308397BB814>I<12FEB3A5EC03FE4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC
-495A5C495A495A495A495A495A497EB57EA280EBF7F813E3EBC1FCEB80FE497E487F6E7E
-81141F6E7E8114076E7E6E7E811400157F1680213C7ABB29>107
-D<12FEB3B3B3A6073C7ABB14>IIIII<14F0EAFC07130F13
-3F137F13FF00FD130013FCEAFFF05B5BA25B90C7FCA35AB3A414267AA51C>114
-DII<00FEEB01FCB3AA1403A214076C131F387F807F90B5FC6C
-13F914F1000F13C1D803FCC7FC1E267AA42B>II<00
-FED901FEEB01FC007F17F802031403A2018013DF003FEE07F01407ED9F80D81FC016E002
-0F140F158FD80FE002C013C0030F131F141FED07E0D807F01680021E143F143E0003DA03
-F0130013F8023C5C0001017C147EED01F813FC027814FE0000D9F8005BA24A13FC017C5D
-167D137E5C013EEC3DF0013F143F5C011F5D161F36257FA439>III
-E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fh ecrm1000 10 69
-/Fh 69 123 df27
-DI<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485A
-A212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F1207
-7F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40
-D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7F
-A21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A2
-5BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<1530B3A8B912FCA2C800
-30C8FCB3A836367BAF41>43 D<121C127FEAFF80A213C0A3127F121C1200A412011380A2
-120313005A1206120E5A5A5A12600A19798817>II<121C127FEA
-FF80A5EA7F00121C0909798817>I48 DIII<1538A2157815F8A2140114031407A2140F141F141B14331473146314C313011483
-EB030313071306130C131C131813301370136013C01201EA038013005A120E120C5A1238
-12305A12E0B712F8A3C73803F800AA4A7E0103B512F8A325387EB72A>I<0006140CD807
-80133C9038F003F890B5FC5D5D158092C7FC14FC38067FE090C9FCAAEB07F8EB1FFE9038
-780F809038E007E03907C003F0496C7E130000066D7E81C8FC8181A21680A4121C127F5A
-7FA390C713005D12FC00605C12704A5A6C5C6C1303001E495A6C6C485A3907E03F800001
-B5C7FC38007FFCEB1FE021397CB62A>II<123012
-38123E003FB612E0A316C05A168016000070C712060060140E5D5D00E014304814705D5D
-C712014A5A4AC7FC1406140E5CA25C1478147014F05C1301A213035C1307A2130FA3131F
-5CA2133FA5137FA96DC8FC131E233A7BB72A>II<121C
-127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>58
-D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A213C0A3127F121C1200A412
-011380A2120313005A1206120E5A5A5A12600A3479A317>I63 D<1538A3157CA315FEA34A7EA3
-4A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC
-6003A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121F
-A2496E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3
-373C7DBB3E>65 DI<913A01FF800180020FEBE003027F13F8903A01
-FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F
-12014848151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD12
-7F6DED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15
-386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13
-F002011380313D7BBA3C>IIII72 DI<013FB512E0A39039001FFC00EC07F8B3B3A3123FEA
-7F80EAFFC0A44A5A1380D87F005B0070131F6C5C6C495A6C49C7FC380781FC3801FFF038
-007F80233B7DB82B>I76
-DIIIIIII<003FB812E0A3D9C003EB001F273E0001FE130348EE01F000781600007017
-70A300601730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C
->IIII89
-D<003FB7FCA39039FC0001FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A
-12704B5A5E006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC
-5B495AA2495A5C130F4948EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700
-485A495C001F5D48485C5E4848495A49130FB8FCA329397BB833>I<007FB81280B912C0
-A26C17803204797041>95 D97 DIIII<147E903803
-FF8090380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801
-F8C7FCB3AB487E387FFFF8A31C3B7FBA19>IIIIIII<2703F00FF0EB1FE000FFD9
-3FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01
-FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA34025
-7EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE
-496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>II<39
-03F01FE000FFEB7FF89038F1E07E9039F3801F803A07F7000FC0D803FEEB07E049EB03F0
-4914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE0
-01F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357E
-A42E>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03
-E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>114
-DI<1318A5
-1338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580
-EB7C03017E13006D5AEB0FFEEB01F81A347FB220>IIII<
-B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D6C5AECC07001
-0F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7E090380383F0
-90380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC3FF0D8FFFE90
-B51280A329247FA32C>II<003FB512FCA2EB8003
-D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F150014FE495AA2
-C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B4848130C4848
-131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fi ecss2074 20.74 19
-/Fi 19 119 df65
-D69
-D75 DII79 D<923801FFF8033FEBFFE0
-4AB612FC0207EDFF80021F16E0027F16F891B812FE0103EFFF80499026FE000F14C04901
-E0EB007F490180140F4948C800031380D97FF815004948167F02C0161F4849160F4890CA
-120749EF0100000795C7FC5B485AA2485AA35B123FA87FA2121F7FA27F120F7F7F6C7F80
-6C7F6C7F14FC6C13FF6D13C06D13F86DEBFF806D14F86D14FF6D15F06D15FF6D6C15E06E
-15F8020F15FE020381DA007F15C0030781030081040F80040080050F7F05017F716C1380
-061F13C018077213E07213F084F17FF8193FF11FFCA2190FF107FEA319031AFFA285A91A
-FE1903A3F107FCA20020180F007019F8007C181F007E19F0007F183F01C0EF7FE06DEFFF
-C0D8FFF85E01FE4C13806D6C030F13006C01E04B5A001F01FCED7FFC6CD9FF80903803FF
-F8000302FC013F5BC691B75A6D5F010F94C7FC010316FCD9007F15F0020F15C002014AC8
-FCDA000713E0487979F659>83 D99 DIII108 D110 DII114 D<91380FFFC091B512FE0107ECFFC001
-1F15F8017F15FE90B812804817C05A489038F0003F4890C70003138049EC007FD81FF815
-1F491507003F16014992C7FCA2485AA77FA26C7E7F7F6CB4FC6C13C014F86CEBFF806C14
-FC6CECFFE06C15FC6D14FF6D15C0010F81010315F8010081020F80DA007F7F03071480DB
-003F13C0160F040313E01600EF7FF0173FA2EF1FF8A2170FA7EF1FF0A20070163F127C00
-7FEE7FE001C015FF01F0020313C0B5020F138002F0137F91B712006C5E001F5E000716F0
-C65E011F1580010302FCC7FCD9000F13C0354C7CCA3D>I117
-DI
-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()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(<::)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_:)o(:I)o(ns)o(tan)o(ce)o
-(\(\))c(;)0 3219 y(...)0 3333 y(POINT)k(*p2=SINGLETON_:)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
index 000000000..09511f953
--- /dev/null
+++ b/doc/salome/tui/Makefile.am
@@ -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
index eeaff820d..000000000
--- a/doc/salome/tui/Makefile.in
+++ /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
index 000000000..941046314
--- /dev/null
+++ b/doc/txt2html.sh
@@ -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
index 000000000..96bbfb6b0
--- /dev/null
+++ b/doc/userguide.txt
@@ -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
index 000000000..3f41523bf
--- /dev/null
+++ b/idl/Makefile.am
@@ -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
index 9ac8e2c24..000000000
--- a/idl/Makefile.in
+++ /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
-
diff --git a/idl/SALOMEDS.idl b/idl/SALOMEDS.idl
index de883d82e..4c21467c8 100644
--- a/idl/SALOMEDS.idl
+++ b/idl/SALOMEDS.idl
@@ -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();
diff --git a/idl/SALOMEDS_Attributes.idl b/idl/SALOMEDS_Attributes.idl
index 80afd5603..9306818dc 100644
--- a/idl/SALOMEDS_Attributes.idl
+++ b/idl/SALOMEDS_Attributes.idl
@@ -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
index 64b47c344..000000000
--- a/make_config.in
+++ /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
index 000000000..3d4fad5e5
--- /dev/null
+++ b/resources/DEPRECATED/Plugin.in
@@ -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
index 000000000..b8f2d501f
--- /dev/null
+++ b/resources/Makefile.am
@@ -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
index 3d4fad5e5..000000000
--- a/resources/Plugin.in
+++ /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
index 000000000..17e24c797
--- /dev/null
+++ b/salome_adm/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = unix
diff --git a/salome_adm/Makefile.in b/salome_adm/Makefile.in
deleted file mode 100644
index 4dfafb94b..000000000
--- a/salome_adm/Makefile.in
+++ /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
index 000000000..df82af032
--- /dev/null
+++ b/salome_adm/unix/DEPRECATED/Doxyfile
@@ -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 , where
+# is the value of the INPUT_FILTER tag, and 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
index 000000000..670ac5756
--- /dev/null
+++ b/salome_adm/unix/DEPRECATED/F77config.h.in
@@ -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
index 000000000..19d28510f
--- /dev/null
+++ b/salome_adm/unix/DEPRECATED/config.h.in
@@ -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 and it should be used (not on Ultrix).
+ */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_BITS_SIGSET_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_BSTRING_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_DL_H
+
+/* Define to 1 if you have the 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 header file. */
+#undef HAVE_FLOATINGPOINT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_FLOAT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_FSTREAM
+
+/* Define to 1 if you have the 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 header file. */
+#undef HAVE_GETOPT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_IEEEFP_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_IOMANIP
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_IOMANIP_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_IOS
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_IOSTREAM
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_IOSTREAM_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_IOS_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_ISTREAM
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_ISTREAM_H
+
+/* Define to 1 if you have the 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 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 header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_NET_IF_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_OSFCN_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_OSTREAM
+
+/* Define to 1 if you have the 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 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 header file. */
+#undef HAVE_SIGFPE_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SIGINFO_H
+
+/* Define to 1 if you have the 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 header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the 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 header file. */
+#undef HAVE_STREAM_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the 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 header file. */
+#undef HAVE_SYSENT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_IPC_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_MACHSIG_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_MMAN_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SEM_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SIGINFO_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SIGNAL_H
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the