Give slight priority to radius ducks. That way, it's possible to select the radius...
[synfig.git] / synfig-studio / trunk / m4 / subs.m4
1
2 ## AC_ARG_WARNINGS()
3 ##
4 ## Provide the --enable-warnings configure argument, set to 'minimum'
5 ## by default.
6 ##
7 AC_DEFUN([AC_ARG_WARNINGS],
8 [
9   AC_ARG_ENABLE([warnings],
10       [  --enable-warnings=[[none|minimum|maximum|hardcore]]
11                           Control compiler pickyness.  [[default=maximum]]],
12       [gtkmm_enable_warnings="$enableval"],
13       gtkmm_enable_warnings="maximum")
14
15   AC_MSG_CHECKING([for compiler warning flags to use])
16
17   gtkmm_warning_flags=''
18
19   # -W is now known as -Wextra, but that's not known by gcc 2 or 3
20   case "$gtkmm_enable_warnings" in
21     none|no)     gtkmm_warning_flags='';;
22     minimum|yes) gtkmm_warning_flags='-Wall -Wno-unused-parameter';;
23     maximum)     gtkmm_warning_flags='-W -Wall';;
24     hardcore)    gtkmm_warning_flags='-W -Wall -Werror';;
25   esac
26
27   gtkmm_use_flags=''
28
29   if test "x$gtkmm_warning_flags" != "x"
30   then
31     echo 'int foo() { return 0; }' > conftest.cc
32
33     for flag in $gtkmm_warning_flags
34     do
35       # Test whether the compiler accepts the flag.  GCC doesn't bail
36       # out when given an unsupported flag but prints a warning, so
37       # check the compiler output instead.
38       gtkmm_cxx_out="`$CXX $flag -c conftest.cc 2>&1`"
39       rm -f conftest.$OBJEXT
40       test "x${gtkmm_cxx_out}" = "x" && \
41         gtkmm_use_flags="${gtkmm_use_flags:+$gtkmm_use_flags }$flag"
42     done
43
44     rm -f conftest.cc
45     gtkmm_cxx_out=''
46   fi
47
48   if test "x$gtkmm_use_flags" != "x"
49   then
50     for flag in $gtkmm_use_flags
51     do
52       case " $CXXFLAGS " in
53         *" $flag "*) ;; # don't add flags twice
54         *)           CXXFLAGS="${CXXFLAGS:+$CXXFLAGS }$flag";;
55       esac
56     done
57   else
58     gtkmm_use_flags='none'
59   fi
60
61   AC_MSG_RESULT([$gtkmm_use_flags])
62 ])
63
64
65
66
67 AC_DEFUN([AC_ARG_DEBUG],
68 [
69         AC_MSG_CHECKING([for debug flags])
70
71         AC_ARG_ENABLE(debug,[  --enable-debug           Build in debugging mode],[
72                 debug=$enableval
73         ],[
74                 debug="no"
75         ])
76         debug_flags=''
77
78         case "$debug" in
79                 yes)
80                         debug_flags="-D_DEBUG -g"
81                 ;;
82                 half)
83                         debug_flags="-DNDEBUG -g"
84                 ;;
85                 no|*)
86                         debug_flags="-DNDEBUG -Wno-deprecated"
87                 ;;
88         esac
89
90
91         CXXFLAGS="`echo $CXXFLAGS | sed s:-g::` $debug_flags"
92         CFLAGS="`echo $CFLAGS | sed s:-g::` $debug_flags"
93
94         AC_MSG_RESULT([$debug_flags])
95 ])
96
97
98
99
100 AC_DEFUN([AC_ARG_OPTIMIZATION],
101 [
102         AC_MSG_CHECKING([for optimization flags])
103
104         AC_ARG_ENABLE(optimization,[  --enable-optimization=[[0,1,2,3,4]] Select optimization level (default=2)],[
105                 optimization=$enableval
106         ],[
107                 optimization="2"
108         ])
109         optimization_flags=''
110         case "$optimization" in
111                 0|no)   optimization_flags="-O0";;
112                 1)              optimization_flags="-O1";;
113                 2|yes)  optimization_flags="-O2";;
114                 pass1)  optimization_flags="-O2 -fprofile-arcs";;
115                 pass2)  optimization_flags="-O2 -fbranch-probabilities";;
116                 3)              optimization_flags="-O3";;
117                 *)              optimization_flags="-O4";;
118         esac
119         CXXFLAGS="`echo $CXXFLAGS | sed 's:-O.::g'` $optimization_flags"
120         CFLAGS="`echo $CFLAGS | sed 's:-O.::g'` $optimization_flags"
121         AC_MSG_RESULT([$optimization_flags])    
122 ])
123
124 AC_DEFUN([AC_ARG_PROFILE_ARCS],
125 [
126         AC_MSG_CHECKING([for arc profiling])
127
128         AC_ARG_ENABLE(profile-arcs,[  --enable-profile-arcs      Enable arc profiling],[
129                 profile_arcs=$enableval
130         ],[
131                 profile_arcs=no
132         ])
133         
134         if test $profile_arcs = "yes" ; then {
135                 CXXFLAGS="$CXXFLAGS -fprofile-arcs";
136                 CFLAGS="$CFLAGS -fprofile-arcs";
137         } ; fi
138                 
139         AC_MSG_RESULT([$profile_arcs])  
140 ])
141
142 AC_DEFUN([AC_ARG_BRANCH_PROBABILITIES],
143 [
144         AC_MSG_CHECKING([for branch-probabilities])
145
146         AC_ARG_ENABLE(branch-probabilities,[  --enable-branch-probabilities      Enable branch-probabilities],[
147                 branch_probabilities=$enableval
148         ],[
149                 branch_probabilities=no
150         ])
151         
152         if test $branch_probabilities = "yes" ; then {
153                 CXXFLAGS="$CXXFLAGS -fbranch-probabilities";
154                 CFLAGS="$CFLAGS -fbranch-probabilities";
155         } ; fi
156                 
157         AC_MSG_RESULT([$branch_probabilities])  
158 ])
159
160 AC_DEFUN([AC_ARG_PROFILING],
161 [
162         AC_MSG_CHECKING([for profiling])
163
164         AC_ARG_ENABLE(profiling,[  --enable-profiling      Enable profiling using gprof],[
165                 profiling=$enableval
166         ],[
167                 profiling=no
168         ])
169         
170         if test $profiling = "yes" ; then {
171                 CFLAGS="$CFLAGS -pg";
172                 CXXFLAGS="$CXXFLAGS -pg";
173                 LDFLAGS="$LDFLAGS -pg";
174                 LIBS="$LIBS";
175         } ; fi
176                 
177         AC_MSG_RESULT([$profiling])     
178 ])
179
180 MINGW_FLAGS="-mno-cygwin"
181
182
183 AC_DEFUN([AC_WIN32_QUIRKS],
184 [
185
186 case "$host" in
187   *mingw*)
188     AC_MSG_CHECKING([the flavor of the compiler])
189     if ( $CC --version | grep -q mingw ) ; then {
190         AC_MSG_RESULT([compiler is mingw special])
191         LIBTOOL_PATCH_SED="
192             s/dir=\"\$absdir\"/dir=\`cygpath -d -m \"\$absdir\"\`/;
193             s/absdir=\`cd \"\$dir\" && pwd\`/absdir=\`cygpath -d -m \"\$dir\"\`/;
194             s/# We need an absolute path/dir=\`cygpath -d -m \"\$dir\"\` # We need an absolute path/;
195             s- /usr/lib- C:/mingw/lib-g;
196             s-\"/lib -\"C:/mingw/lib -g;
197             s- /lib/ - -g;
198         ";
199         sys_lib_dlsearch_path_spec="C:/mingw/lib"
200         ac_default_prefix=`cygpath -d -m "$ac_default_prefix"`;
201     } else {
202     AC_MSG_RESULT([compiler is cygwin stock, adding -mno-cygwin])
203     CPP="$CPP $MINGW_FLAGS"
204     CC="$CC $MINGW_FLAGS"
205     CXX="$CXX $MINGW_FLAGS -L/usr/$host/lib -I/usr/include/c++/3.3.3/$host"
206     CXXCPP="$CXXCPP $MINGW_FLAGS"
207
208
209 } ; fi
210
211     LTCC="gcc"
212     CXXFLAGS="$CXXFLAGS -LC:/GTK/lib"
213     CFLAGS="$CFLAGS -LC:/GTK/lib"
214     LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc" 
215 dnl    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc"
216     ;;
217   *cygwin*)
218     LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols"
219 dnl    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console"
220     CXXFLAGS="$CXXFLAGS -I/target/include"
221     CFLAGS="$CFLAGS -I/target/include"
222     ;;
223   powerpc-apple*)
224     echo Adding mac-specific optimization flags. . .
225     CXXFLAGS="$CXXFLAGS $G5OPTFLAGS"
226     ;;
227 esac
228
229
230 ])
231
232 AC_DEFUN([AC_LIBTOOL_PATCH],
233 [
234
235 if [[ "$LIBTOOL_PATCH_SED""x" != "x" ]] ; then {
236     printf "Patching libtool... "
237     cat libtool | sed "$LIBTOOL_PATCH_SED" > libtool2
238     rm libtool
239     mv libtool2 libtool
240     chmod +x libtool
241     AC_MSG_RESULT([patched])
242 } fi ;
243
244
245 ])