Linux build : fix undefined pragma
[scilab.git] / scilab / m4 / compiler.m4
1 dnl
2 dnl Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 dnl Copyright (C) S/E - 2013/2013 - Sylvestre Ledru
4 dnl Copyright (C) Scilab Enterprises - 2014 - Clement DAVID
5 dnl
6 dnl Copyright (C) 2012 - 2016 - Scilab Enterprises
7 dnl
8 dnl This file is hereby licensed under the terms of the GNU GPL v2.0,
9 dnl pursuant to article 5.3.4 of the CeCILL v.2.1.
10 dnl This file was originally licensed under the terms of the CeCILL v2.1,
11 dnl and continues to be available under such terms.
12 dnl For more information, see the COPYING file which you should have received
13 dnl along with this program.
14
15 dnl CHECK_COMPILER_ARG(LANG, ARG, ACTION-IF-NOT_FOUND)
16 AC_DEFUN([CHECK_COMPILER_ARG],[
17     AC_LANG_PUSH([$1])
18     AC_MSG_CHECKING([if the $1 compiler accepts $2])
19     ac_save_$3="$$3"
20     $3="$$3 $$2"
21
22     AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
23        [AC_MSG_RESULT([yes])
24        $4="$2"
25        ],
26        [AC_MSG_RESULT([no])]
27     )
28     $3="$ac_save_$3";
29     AC_LANG_POP([$1])
30
31 ])
32
33
34 AC_DEFUN([AC_CHECK_STDCPP_STATIC],[
35
36 AC_ARG_ENABLE(static-system-lib,
37     AC_HELP_STRING([--enable-static-system-lib],[Enable the usage of the static stdc++ and libgcc libs]),
38 )
39
40 # Check if -static-libstdc++ and -static-libgcc are supported.
41 saved_LDFLAGS="$LDFLAGS"
42
43 compiler_manage_static_libs=no
44 USE_STATIC_SYSTEM_LIB=no
45
46 if test "x$enable_static_system_lib" == "xyes"; then
47 # The user ask for an explicit enable.
48    USE_STATIC_SYSTEM_LIB=yes
49 fi
50
51
52 LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc"
53 AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc])
54 AC_LANG_PUSH(C++)
55 AC_LINK_IFELSE([AC_LANG_SOURCE([
56 #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
57 #error -static-libstdc++ not implemented
58 #endif
59 int main() {return 0;}])],
60   [AC_MSG_RESULT([yes]); compiler_manage_static_libs=yes],
61   [AC_MSG_RESULT([no])])
62 AC_LANG_POP(C++)
63
64 LDFLAGS="$saved_LDFLAGS"
65 if test "x$compiler_manage_static_libs" == "xno" -a "x$enable_static_system_lib" == "xyes"; then
66    AC_MSG_ERROR([The $CC compiler does not support the options -static-libstdc++/-static-libgcc. Update your compiler or use the option --disable-static-system-lib])
67 fi
68
69 if test "x$compiler_manage_static_libs" == "xno"; then
70    echo "-static-libstdc++ -static-libgcc unsupported by the compiler. Skipped"
71    USE_STATIC_SYSTEM_LIB=no
72 fi
73
74 AM_CONDITIONAL(USE_STATIC_SYSTEM_LIB, test "$USE_STATIC_SYSTEM_LIB" == yes)
75
76 ])