Salome HOME
DCQ : Merge with Ecole_ete_a6.
[modules/kernel.git] / salome_adm / unix / config_files / ac_cxx_depend_flag.m4
1 dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3 dnl 
4 dnl  This library is free software; you can redistribute it and/or 
5 dnl  modify it under the terms of the GNU Lesser General Public 
6 dnl  License as published by the Free Software Foundation; either 
7 dnl  version 2.1 of the License. 
8 dnl 
9 dnl  This library is distributed in the hope that it will be useful, 
10 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 dnl  Lesser General Public License for more details. 
13 dnl 
14 dnl  You should have received a copy of the GNU Lesser General Public 
15 dnl  License along with this library; if not, write to the Free Software 
16 dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17 dnl 
18 dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
19 dnl
20 dnl
21 dnl
22 dnl @synopsis AC_C_DEPEND_FLAG
23 dnl
24 dnl define C_DEPEND_FLAG
25 dnl define CXX_DEPEND_FLAG
26 dnl
27 dnl @version $Id$
28 dnl @author Marc Tajchman
29 dnl
30 AC_DEFUN(AC_DEPEND_FLAG,
31 [AC_CACHE_CHECK(which flag for dependency information generation,
32 ac_cv_depend_flag,
33 [AC_LANG_SAVE
34  AC_LANG_C
35  echo "conftest.o: conftest.c" > conftest.verif
36  echo "int  main() { return 0; }" > conftest.c
37
38  C_DEPEND_FLAG=
39  for ac_C_DEPEND_FLAG in -xM -MM -M ; do
40
41     rm -f conftest.d conftest.err
42     ${CC-cc} ${ac_C_DEPEND_FLAG} -c conftest.c 1> conftest.d 2> conftest.err
43     if test -f conftest.u ; then
44        mv conftest.u conftest.d
45     fi
46
47     rm -f conftest
48     diff -b -B conftest.d conftest.verif > conftest
49     if test ! -s conftest ; then
50        C_DEPEND_FLAG=${ac_C_DEPEND_FLAG}
51        break
52     fi
53  done
54
55 dnl use gcc option -MG : asume unknown file will be construct later
56  rm -f conftest.d conftest.err
57  ${CC-cc} ${C_DEPEND_FLAG} -MG -c conftest.c 1> conftest.d 2> conftest.err
58  if test -f conftest.u ; then
59     mv conftest.u conftest.d
60  fi
61  rm -f conftest
62  diff -b -B conftest.d conftest.verif > conftest
63  if test ! -s conftest ; then
64     C_DEPEND_FLAG=${C_DEPEND_FLAG}" -MG"
65  fi
66
67  rm -f conftest*
68  if test "x${C_DEPEND_FLAG}" = "x" ; then
69     echo "cannot determine flag (C language)"
70     exit
71  fi
72
73  echo -n " C : " ${C_DEPEND_FLAG}
74
75  AC_LANG_CPLUSPLUS
76  echo "conftest.o: conftest.cxx" > conftest.verif
77  echo "int  main() { return 0; }" > conftest.cxx
78
79  CXX_DEPEND_FLAG=
80  for ac_CXX_DEPEND_FLAG in -xM -MM -M ; do
81
82     rm -f conftest.d conftest.err
83     ${CXX-c++} ${ac_CXX_DEPEND_FLAG} -c conftest.cxx 1> conftest.d 2> conftest.err
84     if test -f conftest.u ; then
85        mv conftest.u conftest.d
86     fi
87
88     rm -f conftest
89     diff -b -B conftest.d conftest.verif > conftest
90     if test ! -s conftest ; then
91        CXX_DEPEND_FLAG=${ac_CXX_DEPEND_FLAG}
92        break
93     fi
94  done
95
96 dnl use g++ option -MG : asume unknown file will be construct later
97  rm -f conftest.d conftest.err
98  ${CXX-c++} ${CXX_DEPEND_FLAG} -MG -c conftest.cxx 1> conftest.d 2> conftest.err
99  if test -f conftest.u ; then
100     mv conftest.u conftest.d
101  fi
102  rm -f conftest
103  diff -b -B conftest.d conftest.verif > conftest
104  if test ! -s conftest ; then
105     CXX_DEPEND_FLAG=${CXX_DEPEND_FLAG}" -MG"
106  fi
107
108
109  rm -f conftest*
110  if test "x${CXX_DEPEND_FLAG}" = "x" ; then
111     echo "cannot determine flag (C++ language)"
112     exit
113  fi
114
115  echo -n " C++ : " ${CXX_DEPEND_FLAG}
116  AC_LANG_RESTORE
117
118  AC_SUBST(C_DEPEND_FLAG)
119  AC_SUBST(CXX_DEPEND_FLAG)
120 ])
121 ])