From: srn Date: Wed, 31 Oct 2007 13:59:27 +0000 (+0000) Subject: Added CASCatch package X-Git-Tag: V4_1_0a3~3 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=bf008d1073980b964efd3e687f87437bd7b0af9d;p=modules%2Fgui.git Added CASCatch package --- diff --git a/configure.ac b/configure.ac index 562861069..6c8757899 100644 --- a/configure.ac +++ b/configure.ac @@ -618,6 +618,7 @@ AC_OUTPUT([ \ ./doc/salome/tui/Makefile \ ./doc/salome/tui/GUI/doxyfile \ ./src/Makefile \ + ./src/CASCatch/Makefile \ ./src/Qtx/Makefile \ ./src/Style/Makefile \ ./src/DDS/Makefile \ diff --git a/src/CASCatch/CASCatch.hxx b/src/CASCatch/CASCatch.hxx new file mode 100644 index 000000000..03541f951 --- /dev/null +++ b/src/CASCatch/CASCatch.hxx @@ -0,0 +1,55 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +#ifndef _CASCatch_HeaderFile +#define _CASCatch_HeaderFile + +#include +#include + + +#ifdef try +# undef try +#endif + +#ifdef catch +# undef catch +#endif + +#ifdef NO_CXX_EXCEPTION +# if defined(DO_ABORT) +# define CASCatch_TRY \ + Standard_ErrorHandler _Function; \ + K_SETJMP = 1 ; \ + if(DoesNotAbort(_Function)) +# else //If DO_ABORT is not defined +# define CASCatch_TRY \ + Standard_ErrorHandler _Function; \ + if(DoesNotAbort(_Function)) +# endif //DO_ABORT +# define CASCatch_CATCH(Error) \ + else if(_Function.Catches(STANDARD_TYPE(Error))) +#else +# define CASCatch_TRY try +# define CASCatch_CATCH catch +#endif //NO_CXX_EXCEPTION + + +#endif diff --git a/src/CASCatch/CASCatch_CatchSignals.cxx b/src/CASCatch/CASCatch_CatchSignals.cxx new file mode 100644 index 000000000..b039baaa2 --- /dev/null +++ b/src/CASCatch/CASCatch_CatchSignals.cxx @@ -0,0 +1,333 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +#include "CASCatch_CatchSignals.hxx" + +#include "CASCatch_Failure.hxx" +#include "CASCatch_ErrorHandler.hxx" +#include + +#define MAX_HANDLER_NUMBER 6 + + +//================================================================================ +/*! Public - + * \brief creates a CASCatch_CatchSignals + */ +//================================================================================ +CASCatch_CatchSignals::CASCatch_CatchSignals() + :myIsActivated(Standard_False) +{ + + Standard_Integer i = 0; + for(; i<=MAX_HANDLER_NUMBER; i++) + mySigStates[i] = NULL; +} + +#ifndef WNT + +//================================ UNIX part ================================================== + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef LIN +#include +#endif + +//============================== +typedef void (ACT_SIGIO_HANDLER)(void) ; + +ACT_SIGIO_HANDLER *ADR_ACT_SIGIO_HANDLER = NULL ; + +typedef void (* SIG_PFV) (int); + +#ifdef SUN +# include +#endif + +#ifdef SOLARIS +# include +# include +# include +# include +#endif + +#include +#include + +#ifdef LIN +# include +# include +#else +# ifdef SA_SIGINFO +# ifndef AIX +# include +# endif +# endif +#endif + + +#ifdef IRIX +# include +# include +#endif + + +//================================================================================ +/*! Private - + * \brief universal handler for signals + */ +//================================================================================ +static void Handler(const OSD_Signals theSig, const OSD_Signals) +{ + sigset_t set; + sigemptyset(&set); + sigaddset(&set, theSig); + sigprocmask(SIG_UNBLOCK, &set, NULL) ; + + TCollection_AsciiString aMessage(theSig); + aMessage+=" signal detected"; + + CASCatch_Failure::Raise(aMessage.ToCString()); +} + + +#ifdef SA_SIGINFO +//================================================================================ +/*! Private - + * \brief handler for SIGSEGV signal + */ +//================================================================================ +static void SegvHandler(const OSD_Signals, const Standard_Address, const Standard_Address) +{ + sigset_t set; + sigemptyset(&set); + sigaddset(&set, SIGSEGV); + sigprocmask (SIG_UNBLOCK, &set, NULL); + + CASCatch_Failure::Raise("SIGSEGV detected"); +} +#endif + + +//================================================================================ +/*! Public - + * \brief activates a signals handling + */ +//================================================================================ +void CASCatch_CatchSignals::Activate() +{ + if(myIsActivated) return; + + struct sigaction act; + + Standard_Integer i = 0; + for(; i<=MAX_HANDLER_NUMBER; i++) + mySigStates[i] = new struct sigaction(); //Initialize structures + + int stat; + act.sa_handler = (SIG_PFV) &Handler ; + sigemptyset(&act.sa_mask) ; + + + stat = sigaction(SIGHUP,&act,(struct sigaction*)mySigStates[0]); // ...... hangup + stat = sigaction(SIGFPE,&act,(struct sigaction*) mySigStates[1]); // ...... floating point exception + stat = sigaction(SIGINT,&act,(struct sigaction*)mySigStates[2]); // ...... interrupt + stat = sigaction(SIGQUIT,&act,(struct sigaction*)mySigStates[3]); // ...... quit + stat = sigaction(SIGBUS,&act,(struct sigaction*)mySigStates[4]); // ...... bus error + stat = sigaction(SIGILL,&act,(struct sigaction*)mySigStates[5]); // ...... illegal instruction + +#ifdef SA_RESTART + act.sa_flags = SA_RESTART ; +#else + act.sa_flags = 0 ; +#endif + act.sa_handler = (SIG_PFV) &SegvHandler ; + +#ifdef SA_SIGINFO // OSF,SOLARIS,IRIX + act.sa_flags = act.sa_flags | SA_SIGINFO ; +# ifdef SOLARIS + act.sa_sigaction = (void(*)(int, siginfo_t *, void*)) &SegvHandler ; +# endif +#endif + + stat = sigaction( SIGSEGV , &act , (struct sigaction*)mySigStates[6]); // ...... segmentation violation + + myIsActivated = Standard_True; +} + + +//================================================================================ +/*! Public - + * \brief deactivates a signals handling + */ +//================================================================================ +void CASCatch_CatchSignals::Deactivate() +{ + if(!myIsActivated) return; + + struct sigaction oact; + int stat; + + stat = sigaction(SIGHUP,(struct sigaction*)mySigStates[0],&oact); // ...... hangup + stat = sigaction(SIGFPE,(struct sigaction*)mySigStates[1],&oact); // ...... floating point exception + stat = sigaction(SIGINT,(struct sigaction*)mySigStates[2],&oact); // ...... interrupt + stat = sigaction(SIGQUIT,(struct sigaction*)mySigStates[3],&oact); // ...... quit + stat = sigaction(SIGBUS,(struct sigaction*)mySigStates[4],&oact); // ...... bus error + stat = sigaction(SIGILL,(struct sigaction*)mySigStates[5],&oact); // ...... illegal instruction + stat = sigaction(SIGSEGV,(struct sigaction*)mySigStates[6],&oact); // ...... segmentation violation + + + Standard_Integer i = 0; + for(; i<=MAX_HANDLER_NUMBER; i++) + delete (struct sigaction*)mySigStates[i]; + + myIsActivated = Standard_False; +} + + + +#else +//====================================== WNT part ==================================================== +#include + +#include +#include +#include + +#define _OSD_FPX ( _EM_DENORMAL | _EM_INEXACT | _EM_UNDERFLOW | _EM_ZERODIVIDE | _EM_OVERFLOW) //Mask these exceptions + +//================================================================================ +/*! Private - + * \brief handler for unexpected exceptions + */ +//================================================================================ +static Standard_Integer WntHandler(const Standard_Address theExceptionInfo) +{ + LPEXCEPTION_POINTERS lpXP = ( LPEXCEPTION_POINTERS )theExceptionInfo; + DWORD dwExceptionCode = lpXP -> ExceptionRecord -> ExceptionCode; + + TCollection_AsciiString aMessage((Standard_Integer)dwExceptionCode); + aMessage+=" Exception code - unexpected exception"; + + CASCatch_Failure::Raise(aMessage.ToCString()); + + return EXCEPTION_EXECUTE_HANDLER; +} + +void SIGWntHandler(int , int ) ; +static void (*SIGWNTHANDLER)(int) = ( void (*)(int) ) ( &SIGWntHandler ) ; + + +//================================================================================ +/*! Private - + * \brief handler for signals + */ +//================================================================================ +static void SIGWntHandler(const int signum , const int theCode) +{ + + void (*OLDSIGWNTHANDLER)(int) ; + switch( signum ) { + case SIGFPE : + _fpreset() ; + _clearfp() ; + _controlfp ( _OSD_FPX, _MCW_EM ); + OLDSIGWNTHANDLER = signal( signum , SIGWNTHANDLER ); + + if(theCode == _FPE_UNDERFLOW || theCode == _FPE_INEXACT) return; + CASCatch_Failure::Raise ("Floating point error"); + break; + case SIGSEGV : + OLDSIGWNTHANDLER = signal( signum , SIGWNTHANDLER ); + CASCatch_Failure::Raise("Access violation"); + break; + case SIGILL : + OLDSIGWNTHANDLER = signal( signum , SIGWNTHANDLER ); + CASCatch_Failure::Raise("Illegal instruction" ); + break; + } +} + + +//================================================================================ +/*! Public - + * \brief activates a signals handling + */ +//================================================================================ +void CASCatch_CatchSignals::Activate() +{ + if(myIsActivated) return; + + mySigStates[0] = SetUnhandledExceptionFilter (( LPTOP_LEVEL_EXCEPTION_FILTER )&WntHandler); + + myFloatOpWord = _controlfp(0, 0); + _controlfp ( _OSD_FPX, _MCW_EM ); //Enable floating point exceptions + + mySigStates[1] = signal( SIGSEGV , SIGWNTHANDLER ); + mySigStates[2] = signal( SIGFPE , SIGWNTHANDLER ); + mySigStates[3] = signal( SIGILL , SIGWNTHANDLER ); + + myIsActivated = Standard_True; +} + +//================================================================================ +/*! Public - + * \brief deactivates a signals handling + */ +//================================================================================ +void CASCatch_CatchSignals::Deactivate() +{ + if(!myIsActivated) return; + + SetUnhandledExceptionFilter (( LPTOP_LEVEL_EXCEPTION_FILTER )mySigStates[0]); + + _controlfp ( myFloatOpWord, _MCW_EM ); + + signal( SIGSEGV , ( void (*)(int) )mySigStates[1]); + signal( SIGFPE , ( void (*)(int) )mySigStates[2]); + signal( SIGILL , ( void (*)(int) )mySigStates[3]); + + Standard_Integer i = 0; + for(; i<=MAX_HANDLER_NUMBER; i++) + mySigStates[i] = NULL; + + myIsActivated = Standard_False; +} + +#endif + +//================================================================================ +/*! Private - + * \brief deactivates a signals handling + */ +//================================================================================ +void CASCatch_CatchSignals::Destroy() +{ + if(myIsActivated) Deactivate(); +} + diff --git a/src/CASCatch/CASCatch_CatchSignals.hxx b/src/CASCatch/CASCatch_CatchSignals.hxx new file mode 100644 index 000000000..a3fc42c3e --- /dev/null +++ b/src/CASCatch/CASCatch_CatchSignals.hxx @@ -0,0 +1,63 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +#ifndef _CASCatch_CatchSignals_HeaderFile +#define _CASCatch_CatchSignals_HeaderFile + +#include + +/*! + * \class CASCatch_CatchSignals + * \brief This class controls an exception handling + * + */ +class CASCatch_CatchSignals { + +public: + + // Methods PUBLIC + // +Standard_EXPORT CASCatch_CatchSignals(); +Standard_EXPORT void Destroy() ; +~CASCatch_CatchSignals() { Destroy(); } +Standard_EXPORT void Activate() ; +Standard_EXPORT void Deactivate() ; + +private: + +/*!\var mySigStates[7], private + * \brief stores signals' handler functions + */ +Standard_Address mySigStates[7]; + +/*!\var myFloatOpWord + * \brief stores a float operation word, private + */ +Standard_Integer myFloatOpWord; + +/*!\var myIsActivated + * \brief stores a flag whether a catcher is activated, private] + */ +Standard_Boolean myIsActivated; + +}; + + +#endif diff --git a/src/CASCatch/CASCatch_ErrorHandler.cxx b/src/CASCatch/CASCatch_ErrorHandler.cxx new file mode 100644 index 000000000..49af8d356 --- /dev/null +++ b/src/CASCatch/CASCatch_ErrorHandler.cxx @@ -0,0 +1,122 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +#ifdef NO_CXX_EXCEPTION + +#include "CASCatch_ErrorHandler.hxx" + +// During setjmp()/longjmp() K_SETJMP_CASCatch is non zero (try) +// So if there is an abort request and if K_SETJMP_CASCatch is non zero, the abort +// request will be ignored. If the abort request do a raise during a setjmp +// or a longjmp, there will be a "terminating SEGV" impossible to handle. + + +Standard_EXPORT int K_SETJMP_CASCatch = 0 ; + +static Handle(CASCatch_Failure) GlbError; //Last caught Error, Null if there is no error + +static CASCatch_ErrorHandler* Top = 0; //The top of the Errors Stack + +//======================================================================= +//function : CASCatch_ErrorHandler +//purpose : Constructor +//======================================================================= +CASCatch_ErrorHandler::CASCatch_ErrorHandler () +{ + Previous = Top; + Top = this; + CaughtError.Nullify(); + GlbError.Nullify(); +} + +//======================================================================= +//function : ~CASCatch_ErrorHandler +//purpose : Destructor : Delete the ErrorHandler and Abort if there is a 'Error'. +//======================================================================= +CASCatch_ErrorHandler::~CASCatch_ErrorHandler() +{ + Top = Top->Previous; + if( !GlbError.IsNull() ) Abort(); +} + +//======================================================================= +//function : Abort: make a longjmp to the saved Context. +//purpose : Abort if there is a non null 'Error' +//======================================================================= +void CASCatch_ErrorHandler::Abort () +{ + //==== Check if can do the "longjmp" ======================================= + if(Top == NULL || Top->Label == NULL) { + cout << "*** Abort *** an exception was raised, but no catch was found." << endl; + cout << "\t... The exception is:" << GlbError; + exit(1); + } + +#ifdef DO_ABORT + if ( K_SETJMP_CASCatch ) + cout << "Recursive abort ===> Terminating SEGV ..." << endl ; + K_SETJMP_CASCatch = 1 ; +#endif + + longjmp(Top->Label, Standard_True); +} + +//======================================================================= +//function : Catches +//purpose : If there is a 'Error', and it is in good type +// returns True and clean 'Error', else returns False. +//======================================================================= +Standard_Boolean CASCatch_ErrorHandler::Catches + (const Handle(Standard_Type)& AType) +{ +#ifdef DO_ABORT + K_SETJMP_CASCatch = 0 ; +#endif + if(GlbError.IsNull()) + return Standard_False; + + if(GlbError->IsKind(AType)){ + CaughtError = GlbError; + GlbError.Nullify(); + return Standard_True; + } else { + return Standard_False; + } +} + +//======================================================================= +//function : LastCaughtError +//purpose : +//======================================================================= +Handle(CASCatch_Failure) CASCatch_ErrorHandler::LastCaughtError() +{ + return Top->CaughtError; +} + +//======================================================================= +//function : Error +//purpose : +//======================================================================= +void CASCatch_ErrorHandler::Error(const Handle(CASCatch_Failure)& aError) +{ + GlbError = aError; +} + +#endif diff --git a/src/CASCatch/CASCatch_ErrorHandler.hxx b/src/CASCatch/CASCatch_ErrorHandler.hxx new file mode 100644 index 000000000..05c6b2356 --- /dev/null +++ b/src/CASCatch/CASCatch_ErrorHandler.hxx @@ -0,0 +1,92 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +#ifndef _CASCatch_ErrorHandler_HeaderFile +#define _CASCatch_ErrorHandler_HeaderFile + +#include "CASCatch_Failure.hxx" + +#include +#include + + +extern int K_SETJMP_CASCatch ; + +/*! + * \class CASCatch_ErrorHandler + * \brief This class is an exception handler, private + * + */ +class CASCatch_ErrorHandler +{ + friend class CASCatch_Failure; // To execute the raise exception. + + public: + + Standard_EXPORT CASCatch_ErrorHandler(); + Standard_EXPORT ~CASCatch_ErrorHandler(); + Standard_EXPORT Standard_Boolean Catches (const Handle(Standard_Type)&); + + private: + Standard_EXPORT static void Abort(); + Standard_EXPORT static void Error(const Handle(CASCatch_Failure)&); + Standard_EXPORT static Handle(CASCatch_Failure) LastCaughtError(); + + //==== The fields =========================================================== + private: + CASCatch_ErrorHandler* Previous; + Handle(CASCatch_Failure) CaughtError; + + public: + jmp_buf Label; + +}; + +#undef CASCatch_TRY +#define CASCatch_TRY try + +#undef CASCatch_CATCH +#define CASCatch_CATCH catch + + +#ifdef NO_CXX_EXCEPTION +# undef CASCatch_TRY +# undef CASCatch_CATCH + +# if defined(DO_ABORT) + +# define DoesNotAbort_CASCatch(aHandler) !(K_SETJMP_CASCatch = setjmp(aHandler.Label)) + +# define CASCatch_TRY CASCatch_ErrorHandler _Function; \ + K_SETJMP_CASCatch = 1 ; \ + if(DoesNotAbort_CASCatch(_Function)) + +# else //If DO_ABORT is not defined +# define DoesNotAbort_CASCatch(aHandler) !setjmp(aHandler.Label) + +# define CASCatch_TRY CASCatch_ErrorHandler _Function; \ + if(DoesNotAbort_CASCatch(_Function)) +# endif //DO_ABORT + + +# define CASCatch_CATCH(Error) else if(_Function.Catches(STANDARD_TYPE(Error))) +#endif //NO_CXX_EXCEPTION + +#endif //_CASCatch_ErrorHandler_HeaderFile diff --git a/src/CASCatch/CASCatch_Failure.cxx b/src/CASCatch/CASCatch_Failure.cxx new file mode 100644 index 000000000..6e5d3d884 --- /dev/null +++ b/src/CASCatch/CASCatch_Failure.cxx @@ -0,0 +1,126 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +#include "CASCatch_Failure.hxx" +#include "CASCatch_ErrorHandler.hxx" +#include +#include +#include + +IMPLEMENT_STANDARD_HANDLE( CASCatch_Failure, Standard_Transient ) +IMPLEMENT_STANDARD_RTTIEXT( CASCatch_Failure, Standard_Transient ) + + +#ifndef NO_CXX_EXCEPTION +static Handle(CASCatch_Failure) RaisedError; +#endif + +//================================================================================ +/*! Public - + * \brief creates a CASCatch_Failure + */ +//================================================================================ +CASCatch_Failure::CASCatch_Failure () { myMessage = "Signal detected";} + + +//================================================================================ +/*! Public - + * \brief creates a CASCatch_Failure with a message + * \param an exception message + */ +//================================================================================ +CASCatch_Failure::CASCatch_Failure (const Standard_CString AString) +{ + if(AString) { + myMessage = new Standard_Character[strlen(AString) + 1]; + strcpy(myMessage,AString); + } +} + +//================================================================================ +/*! Public - + * \brief returns the last caught exception + */ +//================================================================================ +Handle(CASCatch_Failure) CASCatch_Failure::Caught() +{ +#ifdef NO_CXX_EXCEPTION + return CASCatch_ErrorHandler::LastCaughtError(); +#else + return RaisedError ; +#endif +} + +//================================================================================ +/*! Public - + * \brief raises a CASCatch_Failure exception + * \param an exception message + */ +//================================================================================ +void CASCatch_Failure::Raise (const Standard_CString AString) +{ + Handle(CASCatch_Failure) E = new CASCatch_Failure() ; + E->Reraise (AString) ; +} + + +//================================================================================ +/*! Public - + * \brief re-raises a CASCatch_Failure exception + * \param an exception message + */ +//================================================================================ +void CASCatch_Failure::Reraise (const Standard_CString AString) +{ + if(AString){ + myMessage = new Standard_Character[strlen(AString) + 1]; + strcpy(myMessage,AString); + } + +#ifdef NO_CXX_EXCEPTION + CASCatch_ErrorHandler::Error(this) ; + CASCatch_ErrorHandler::Abort(); +#else + RaisedError = this ; + Throw() ; +#endif +} + +//================================================================================ +/*! Public - + * \brief returns an exception message + */ +//================================================================================ +Standard_CString CASCatch_Failure::GetError() const +{ + return myMessage; +} + +//================================================================================ +/*! Public - + * \brief Is called when using standard C++ exceptions + */ +//================================================================================ +void CASCatch_Failure::Throw() const +{ +#ifndef NO_CXX_EXCEPTION + throw CASCatch_Failure() ; +#endif +} + diff --git a/src/CASCatch/CASCatch_Failure.hxx b/src/CASCatch/CASCatch_Failure.hxx new file mode 100644 index 000000000..102f0ec4e --- /dev/null +++ b/src/CASCatch/CASCatch_Failure.hxx @@ -0,0 +1,60 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +#ifndef _CASCATCH_FAILURE_HeaderFile +#define _CASCATCH_FAILURE_HeaderFile + +#include +#include +DEFINE_STANDARD_HANDLE( CASCatch_Failure, Standard_Transient ) + +#include + +/*! + * \class CASCatch_Failure + * \brief This class presents an exception to be thrown + * + */ +class CASCatch_Failure : public Standard_Transient +{ + +public: + +Standard_EXPORT CASCatch_Failure(); +Standard_EXPORT CASCatch_Failure(const Standard_CString aString); +Standard_EXPORT void Reraise(const Standard_CString aMessage) ; +Standard_EXPORT Standard_CString GetError() const; +Standard_EXPORT static Handle_CASCatch_Failure Caught() ; +Standard_EXPORT static void Raise(const Standard_CString aMessage = "") ; +Standard_EXPORT virtual void Throw() const;public: + +public: + +DEFINE_STANDARD_RTTI( CASCatch_Failure ) + +private: +/*!\var myMessage + * \brief stores an exception message + */ +Standard_CString myMessage; + +}; + + +#endif diff --git a/src/CASCatch/Makefile.am b/src/CASCatch/Makefile.am new file mode 100644 index 000000000..a4b9f7156 --- /dev/null +++ b/src/CASCatch/Makefile.am @@ -0,0 +1,41 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# File : Makefile.in +# Author : Sergey RUIN (OCN) +# Module : SALOME + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + + +salomeinclude_HEADERS = CASCatch.hxx \ + CASCatch_CatchSignals.hxx \ + CASCatch_ErrorHandler.hxx \ + CASCatch_Failure.hxx + +lib_LTLIBRARIES = libCASCatch.la +libCASCatch_la_SOURCES = \ + CASCatch_CatchSignals.cxx \ + CASCatch_ErrorHandler.cxx \ + CASCatch_Failure.cxx + +COMMON_CPPFLAGS = \ + @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ + +libCASCatch_la_CPPFLAGS = $(COMMON_CPPFLAGS) +libCASCatch_la_LIBADD = $(CAS_KERNEL) diff --git a/src/CASCatch/Makefile.in b/src/CASCatch/Makefile.in new file mode 100644 index 000000000..84a7fd7ab --- /dev/null +++ b/src/CASCatch/Makefile.in @@ -0,0 +1,778 @@ +# Makefile.in generated by automake 1.9 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# File : Makefile.in +# Author : Sergey RUIN (OCN) +# Module : SALOME + +# +# ============================================================ +# This file defines the common definitions used in several +# Makefile. This file must be included, if needed, by the file +# Makefile.am. +# ============================================================ +# + + +SOURCES = $(libCASCatch_la_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = $(salomeinclude_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in \ + $(top_srcdir)/adm_local/unix/make_common_starter.am +subdir = ./src/CASCatch +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = \ + $(top_srcdir)/adm_local/unix/config_files/check_GLViewer.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_OCCViewer.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_Plot2dViewer.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_PyConsole.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_QxGraphViewer.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_SalomeObject.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_SupervGraphViewer.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_VTKViewer.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_disable_Corba.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_msg2qm.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_pyqt.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_qt.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_qwt.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_sip.m4 \ + $(top_srcdir)/adm_local/unix/config_files/check_vtk.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" \ + "$(DESTDIR)$(salomeincludedir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +am__DEPENDENCIES_1 = +libCASCatch_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libCASCatch_la_OBJECTS = libCASCatch_la-CASCatch_CatchSignals.lo \ + libCASCatch_la-CASCatch_ErrorHandler.lo \ + libCASCatch_la-CASCatch_Failure.lo +libCASCatch_la_OBJECTS = $(am_libCASCatch_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) +depcomp = $(SHELL) $(top_srcdir)/salome_adm/unix/config_files/depcomp +am__depfiles_maybe = depfiles +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libCASCatch_la_SOURCES) +DIST_SOURCES = $(libCASCatch_la_SOURCES) +salomeincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(salomeinclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ +BOOST_LIBS = @BOOST_LIBS@ +BOOST_LIBSUFFIX = @BOOST_LIBSUFFIX@ +BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@ +CAS_CPPFLAGS = @CAS_CPPFLAGS@ +CAS_CXXFLAGS = @CAS_CXXFLAGS@ +CAS_DATAEXCHANGE = @CAS_DATAEXCHANGE@ +CAS_KERNEL = @CAS_KERNEL@ +CAS_LDFLAGS = @CAS_LDFLAGS@ +CAS_LDPATH = @CAS_LDPATH@ +CAS_MATH = @CAS_MATH@ +CAS_MODELER = @CAS_MODELER@ +CAS_OCAF = @CAS_OCAF@ +CAS_OCAFVIS = @CAS_OCAFVIS@ +CAS_STDPLUGIN = @CAS_STDPLUGIN@ +CAS_TKTopAlgo = @CAS_TKTopAlgo@ +CAS_VIEWER = @CAS_VIEWER@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CORBA_CXXFLAGS = @CORBA_CXXFLAGS@ +CORBA_INCLUDES = @CORBA_INCLUDES@ +CORBA_LIBS = @CORBA_LIBS@ +CORBA_ROOT = @CORBA_ROOT@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CPPUNIT_INCLUDES = @CPPUNIT_INCLUDES@ +CPPUNIT_IS_OK_FALSE = @CPPUNIT_IS_OK_FALSE@ +CPPUNIT_IS_OK_TRUE = @CPPUNIT_IS_OK_TRUE@ +CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CXXTMPDPTHFLAGS = @CXXTMPDPTHFLAGS@ +CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@ +CYGPATH_W = @CYGPATH_W@ +C_DEPEND_FLAG = @C_DEPEND_FLAG@ +DEFS = @DEFS@ +DEPCC = @DEPCC@ +DEPCXX = @DEPCXX@ +DEPCXXFLAGS = @DEPCXXFLAGS@ +DEPDIR = @DEPDIR@ +DISABLE_GLVIEWER = @DISABLE_GLVIEWER@ +DISABLE_OCCVIEWER = @DISABLE_OCCVIEWER@ +DISABLE_PLOT2DVIEWER = @DISABLE_PLOT2DVIEWER@ +DISABLE_PYCONSOLE = @DISABLE_PYCONSOLE@ +DISABLE_QXGRAPHVIEWER = @DISABLE_QXGRAPHVIEWER@ +DISABLE_SALOMEOBJECT = @DISABLE_SALOMEOBJECT@ +DISABLE_SUPERVGRAPHVIEWER = @DISABLE_SUPERVGRAPHVIEWER@ +DISABLE_VTKVIEWER = @DISABLE_VTKVIEWER@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_WITH_PYTHON = @DOXYGEN_WITH_PYTHON@ +DOXYGEN_WITH_STL = @DOXYGEN_WITH_STL@ +DVIPS = @DVIPS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_GLVIEWER_FALSE = @ENABLE_GLVIEWER_FALSE@ +ENABLE_GLVIEWER_TRUE = @ENABLE_GLVIEWER_TRUE@ +ENABLE_OCCVIEWER_FALSE = @ENABLE_OCCVIEWER_FALSE@ +ENABLE_OCCVIEWER_TRUE = @ENABLE_OCCVIEWER_TRUE@ +ENABLE_PLOT2DVIEWER_FALSE = @ENABLE_PLOT2DVIEWER_FALSE@ +ENABLE_PLOT2DVIEWER_TRUE = @ENABLE_PLOT2DVIEWER_TRUE@ +ENABLE_PYCONSOLE_FALSE = @ENABLE_PYCONSOLE_FALSE@ +ENABLE_PYCONSOLE_TRUE = @ENABLE_PYCONSOLE_TRUE@ +ENABLE_QXGRAPHVIEWER_FALSE = @ENABLE_QXGRAPHVIEWER_FALSE@ +ENABLE_QXGRAPHVIEWER_TRUE = @ENABLE_QXGRAPHVIEWER_TRUE@ +ENABLE_SALOMEOBJECT_FALSE = @ENABLE_SALOMEOBJECT_FALSE@ +ENABLE_SALOMEOBJECT_TRUE = @ENABLE_SALOMEOBJECT_TRUE@ +ENABLE_SUPERVGRAPHVIEWER_FALSE = @ENABLE_SUPERVGRAPHVIEWER_FALSE@ +ENABLE_SUPERVGRAPHVIEWER_TRUE = @ENABLE_SUPERVGRAPHVIEWER_TRUE@ +ENABLE_VTKVIEWER_FALSE = @ENABLE_VTKVIEWER_FALSE@ +ENABLE_VTKVIEWER_TRUE = @ENABLE_VTKVIEWER_TRUE@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GUI_DISABLE_CORBA = @GUI_DISABLE_CORBA@ +GUI_ENABLE_CORBA_FALSE = @GUI_ENABLE_CORBA_FALSE@ +GUI_ENABLE_CORBA_TRUE = @GUI_ENABLE_CORBA_TRUE@ +HAVE_SSTREAM = @HAVE_SSTREAM@ +HDF5_INCLUDES = @HDF5_INCLUDES@ +HDF5_LIBS = @HDF5_LIBS@ +HDF5_MT_LIBS = @HDF5_MT_LIBS@ +IDL = @IDL@ +IDLCXXFLAGS = @IDLCXXFLAGS@ +IDLPYFLAGS = @IDLPYFLAGS@ +IDL_CLN_CXX = @IDL_CLN_CXX@ +IDL_CLN_H = @IDL_CLN_H@ +IDL_CLN_OBJ = @IDL_CLN_OBJ@ +IDL_SRV_CXX = @IDL_SRV_CXX@ +IDL_SRV_H = @IDL_SRV_H@ +IDL_SRV_OBJ = @IDL_SRV_OBJ@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +IS_SIP_NEW_FALSE = @IS_SIP_NEW_FALSE@ +IS_SIP_NEW_TRUE = @IS_SIP_NEW_TRUE@ +IS_SIP_V4_FALSE = @IS_SIP_V4_FALSE@ +IS_SIP_V4_TRUE = @IS_SIP_V4_TRUE@ +KERNEL_CXXFLAGS = @KERNEL_CXXFLAGS@ +KERNEL_LDFLAGS = @KERNEL_LDFLAGS@ +KERNEL_ROOT_DIR = @KERNEL_ROOT_DIR@ +KERNEL_SITE_DIR = @KERNEL_SITE_DIR@ +LATEX = @LATEX@ +LDEXPDYNFLAGS = @LDEXPDYNFLAGS@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXML_INCLUDES = @LIBXML_INCLUDES@ +LIBXML_LIBS = @LIBXML_LIBS@ +LIB_LOCATION_SUFFIX = @LIB_LOCATION_SUFFIX@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MACHINE = @MACHINE@ +MAKEINFO = @MAKEINFO@ +MOC = @MOC@ +MODULE_NAME = @MODULE_NAME@ +MSG2QM = @MSG2QM@ +OBJEXT = @OBJEXT@ +OGL_INCLUDES = @OGL_INCLUDES@ +OGL_LIBS = @OGL_LIBS@ +OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@ +OMNIORB_IDL = @OMNIORB_IDL@ +OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ +OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ +OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@ +OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@ +OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@ +OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@ +OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@ +OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@ +OMNIORB_IDL_TIE_CXX = @OMNIORB_IDL_TIE_CXX@ +OMNIORB_IDL_TIE_H = @OMNIORB_IDL_TIE_H@ +OMNIORB_INCLUDES = @OMNIORB_INCLUDES@ +OMNIORB_LIBS = @OMNIORB_LIBS@ +OMNIORB_ROOT = @OMNIORB_ROOT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +PYQT_INCLUDES = @PYQT_INCLUDES@ +PYQT_LIBS = @PYQT_LIBS@ +PYQT_SIPFLAGS = @PYQT_SIPFLAGS@ +PYQT_SIPS = @PYQT_SIPS@ +PYTHON = @PYTHON@ +PYTHONHOME = @PYTHONHOME@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_LIBS = @PYTHON_LIBS@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_SITE = @PYTHON_SITE@ +PYTHON_SITE_EXEC = @PYTHON_SITE_EXEC@ +PYTHON_SITE_INSTALL = @PYTHON_SITE_INSTALL@ +PYTHON_SITE_PACKAGE = @PYTHON_SITE_PACKAGE@ +PYTHON_VERSION = @PYTHON_VERSION@ +PYUIC = @PYUIC@ +QTDIR = @QTDIR@ +QT_INCLUDES = @QT_INCLUDES@ +QT_LIBS = @QT_LIBS@ +QT_MT_INCLUDES = @QT_MT_INCLUDES@ +QT_MT_LIBS = @QT_MT_LIBS@ +QT_ROOT = @QT_ROOT@ +QT_VERS = @QT_VERS@ +QT_VERSION = @QT_VERSION@ +QWT_INCLUDES = @QWT_INCLUDES@ +QWT_LIBS = @QWT_LIBS@ +RANLIB = @RANLIB@ +ROOT_BUILDDIR = @ROOT_BUILDDIR@ +ROOT_SRCDIR = @ROOT_SRCDIR@ +RST2HTML = @RST2HTML@ +RST2HTML_IS_OK_FALSE = @RST2HTML_IS_OK_FALSE@ +RST2HTML_IS_OK_TRUE = @RST2HTML_IS_OK_TRUE@ +SETX = @SETX@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIP = @SIP@ +SIP_INCLUDES = @SIP_INCLUDES@ +SIP_LIBS = @SIP_LIBS@ +SIP_VERS = @SIP_VERS@ +STDLIB = @STDLIB@ +STRIP = @STRIP@ +SWIG = @SWIG@ +SWIG_FLAGS = @SWIG_FLAGS@ +TEMP = @TEMP@ +UIC = @UIC@ +VERSION = @VERSION@ +VTKPY_MODULES = @VTKPY_MODULES@ +VTK_INCLUDES = @VTK_INCLUDES@ +VTK_LIBS = @VTK_LIBS@ +XVERSION = @XVERSION@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +acx_pthread_config = @acx_pthread_config@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = $(prefix)/bin/@PACKAGE@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +cppunit_ok = @cppunit_ok@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/@PACKAGE@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ + +# Standard directory for installation +salomeincludedir = $(includedir)/@PACKAGE@ +salomescriptdir = $(bindir) + +# Directory for installing idl files +salomeidldir = $(prefix)/idl/@PACKAGE@ + +# Directory for installing resource files +salomeresdir = $(prefix)/share/@PACKAGE@/resources/@MODULE_NAME@ + +# Directories for installing admin files +admlocaldir = $(prefix)/adm_local +admlocalunixdir = $(admlocaldir)/unix +admlocalm4dir = $(admlocaldir)/unix/config_files + +# Shared modules installation directory +sharedpkgpythondir = $(pkgpythondir)/shared_modules + +# Documentation directory +docdir = $(datadir)/doc/@PACKAGE@ +EXTRA_DIST = $(MOC_FILES:%_moc.cxx=%.h) $(nodist_salomeres_DATA:%.qm=resources/%.po) +salomeinclude_HEADERS = CASCatch.hxx \ + CASCatch_CatchSignals.hxx \ + CASCatch_ErrorHandler.hxx \ + CASCatch_Failure.hxx + +lib_LTLIBRARIES = libCASCatch.la +libCASCatch_la_SOURCES = \ + CASCatch_CatchSignals.cxx \ + CASCatch_ErrorHandler.cxx \ + CASCatch_Failure.cxx + +COMMON_CPPFLAGS = \ + @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ + +libCASCatch_la_CPPFLAGS = $(COMMON_CPPFLAGS) +libCASCatch_la_LIBADD = $(CAS_KERNEL) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cxx .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/adm_local/unix/make_common_starter.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ./src/CASCatch/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu ./src/CASCatch/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libCASCatch.la: $(libCASCatch_la_OBJECTS) $(libCASCatch_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libCASCatch_la_LDFLAGS) $(libCASCatch_la_OBJECTS) $(libCASCatch_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libCASCatch_la-CASCatch_CatchSignals.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libCASCatch_la-CASCatch_ErrorHandler.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libCASCatch_la-CASCatch_Failure.Plo@am__quote@ + +.cxx.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cxx.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cxx.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +libCASCatch_la-CASCatch_CatchSignals.lo: CASCatch_CatchSignals.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libCASCatch_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libCASCatch_la-CASCatch_CatchSignals.lo -MD -MP -MF "$(DEPDIR)/libCASCatch_la-CASCatch_CatchSignals.Tpo" -c -o libCASCatch_la-CASCatch_CatchSignals.lo `test -f 'CASCatch_CatchSignals.cxx' || echo '$(srcdir)/'`CASCatch_CatchSignals.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libCASCatch_la-CASCatch_CatchSignals.Tpo" "$(DEPDIR)/libCASCatch_la-CASCatch_CatchSignals.Plo"; else rm -f "$(DEPDIR)/libCASCatch_la-CASCatch_CatchSignals.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CASCatch_CatchSignals.cxx' object='libCASCatch_la-CASCatch_CatchSignals.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libCASCatch_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libCASCatch_la-CASCatch_CatchSignals.lo `test -f 'CASCatch_CatchSignals.cxx' || echo '$(srcdir)/'`CASCatch_CatchSignals.cxx + +libCASCatch_la-CASCatch_ErrorHandler.lo: CASCatch_ErrorHandler.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libCASCatch_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libCASCatch_la-CASCatch_ErrorHandler.lo -MD -MP -MF "$(DEPDIR)/libCASCatch_la-CASCatch_ErrorHandler.Tpo" -c -o libCASCatch_la-CASCatch_ErrorHandler.lo `test -f 'CASCatch_ErrorHandler.cxx' || echo '$(srcdir)/'`CASCatch_ErrorHandler.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libCASCatch_la-CASCatch_ErrorHandler.Tpo" "$(DEPDIR)/libCASCatch_la-CASCatch_ErrorHandler.Plo"; else rm -f "$(DEPDIR)/libCASCatch_la-CASCatch_ErrorHandler.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CASCatch_ErrorHandler.cxx' object='libCASCatch_la-CASCatch_ErrorHandler.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libCASCatch_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libCASCatch_la-CASCatch_ErrorHandler.lo `test -f 'CASCatch_ErrorHandler.cxx' || echo '$(srcdir)/'`CASCatch_ErrorHandler.cxx + +libCASCatch_la-CASCatch_Failure.lo: CASCatch_Failure.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libCASCatch_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libCASCatch_la-CASCatch_Failure.lo -MD -MP -MF "$(DEPDIR)/libCASCatch_la-CASCatch_Failure.Tpo" -c -o libCASCatch_la-CASCatch_Failure.lo `test -f 'CASCatch_Failure.cxx' || echo '$(srcdir)/'`CASCatch_Failure.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libCASCatch_la-CASCatch_Failure.Tpo" "$(DEPDIR)/libCASCatch_la-CASCatch_Failure.Plo"; else rm -f "$(DEPDIR)/libCASCatch_la-CASCatch_Failure.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CASCatch_Failure.cxx' object='libCASCatch_la-CASCatch_Failure.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libCASCatch_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libCASCatch_la-CASCatch_Failure.lo `test -f 'CASCatch_Failure.cxx' || echo '$(srcdir)/'`CASCatch_Failure.cxx + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-salomeincludeHEADERS: $(salomeinclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(salomeincludedir)" || $(mkdir_p) "$(DESTDIR)$(salomeincludedir)" + @list='$(salomeinclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(salomeincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(salomeincludedir)/$$f'"; \ + $(salomeincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(salomeincludedir)/$$f"; \ + done + +uninstall-salomeincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(salomeinclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(salomeincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(salomeincludedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/../../adm_local/unix + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(salomeincludedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-salomeincludeHEADERS + +install-exec-am: install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \ + uninstall-salomeincludeHEADERS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am \ + install-libLTLIBRARIES install-man \ + install-salomeincludeHEADERS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-salomeincludeHEADERS + + +# common rules + +# moc-files generation +%_moc.cxx: %.h + $(MOC) $< -o $@ + +# qm-files generation +%.qm: resources/%.po + $(MSG2QM) $< $@ + +mostlyclean-local: + rm -f @builddir@/*_moc.cxx + rm -f @builddir@/*.qm + +# tests +tests: unittest + +unittest: $(UNIT_TEST_PROG) + @if test "x$(UNIT_TEST_PROG)" != "x"; then \ + $(UNIT_TEST_PROG); \ + fi; +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/Makefile.am b/src/Makefile.am index 69a213ffb..1524bcbac 100755 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -24,7 +24,7 @@ # Module : SALOME # $Header$ -SUBDIRS = Qtx Style DDS QDS SUIT STD CAF CAM SUITApp LogWindow ObjBrowser Prs +SUBDIRS = CASCatch Qtx Style DDS QDS SUIT STD CAF CAM SUITApp LogWindow ObjBrowser Prs if ENABLE_SALOMEOBJECT SUBDIRS += OBJECT