|
darco |
b3016b |
|
|
darco |
b3016b |
## AC_ARG_WARNINGS()
|
|
darco |
b3016b |
##
|
|
darco |
b3016b |
## Provide the --enable-warnings configure argument, set to 'minimum'
|
|
darco |
b3016b |
## by default.
|
|
darco |
b3016b |
##
|
|
darco |
b3016b |
AC_DEFUN([AC_ARG_WARNINGS],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
AC_ARG_ENABLE([warnings],
|
|
darco |
b3016b |
[ --enable-warnings=[[none|minimum|maximum|hardcore]]
|
|
darco |
b3016b |
Control compiler pickyness. [[default=maximum]]],
|
|
darco |
b3016b |
[gtkmm_enable_warnings="$enableval"],
|
|
darco |
b3016b |
gtkmm_enable_warnings="maximum")
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_MSG_CHECKING([for compiler warning flags to use])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
gtkmm_warning_flags=''
|
|
darco |
b3016b |
|
|
darco |
b3016b |
case "$gtkmm_enable_warnings" in
|
|
darco |
b3016b |
none|no) gtkmm_warning_flags='';;
|
|
darco |
b3016b |
minimum|yes) gtkmm_warning_flags='-Wall -Wno-unused-parameter';;
|
|
dooglus |
02222d |
maximum) gtkmm_warning_flags='-W -Wall';;
|
|
dooglus |
02222d |
hardcore) gtkmm_warning_flags='-W -Wall -Werror';;
|
|
darco |
b3016b |
esac
|
|
darco |
b3016b |
|
|
darco |
b3016b |
gtkmm_use_flags=''
|
|
darco |
b3016b |
|
|
darco |
b3016b |
if test "x$gtkmm_warning_flags" != "x"
|
|
darco |
b3016b |
then
|
|
darco |
b3016b |
echo 'int foo() { return 0; }' > conftest.cc
|
|
darco |
b3016b |
|
|
darco |
b3016b |
for flag in $gtkmm_warning_flags
|
|
darco |
b3016b |
do
|
|
darco |
b3016b |
# Test whether the compiler accepts the flag. GCC doesn't bail
|
|
darco |
b3016b |
# out when given an unsupported flag but prints a warning, so
|
|
darco |
b3016b |
# check the compiler output instead.
|
|
darco |
b3016b |
gtkmm_cxx_out="`$CXX $flag -c conftest.cc 2>&1`"
|
|
darco |
b3016b |
rm -f conftest.$OBJEXT
|
|
darco |
b3016b |
test "x${gtkmm_cxx_out}" = "x" && \
|
|
darco |
b3016b |
gtkmm_use_flags="${gtkmm_use_flags:+$gtkmm_use_flags }$flag"
|
|
darco |
b3016b |
done
|
|
darco |
b3016b |
|
|
darco |
b3016b |
rm -f conftest.cc
|
|
darco |
b3016b |
gtkmm_cxx_out=''
|
|
darco |
b3016b |
fi
|
|
darco |
b3016b |
|
|
darco |
b3016b |
if test "x$gtkmm_use_flags" != "x"
|
|
darco |
b3016b |
then
|
|
darco |
b3016b |
for flag in $gtkmm_use_flags
|
|
darco |
b3016b |
do
|
|
darco |
b3016b |
case " $CXXFLAGS " in
|
|
darco |
b3016b |
*" $flag "*) ;; # don't add flags twice
|
|
darco |
b3016b |
*) CXXFLAGS="${CXXFLAGS:+$CXXFLAGS }$flag";;
|
|
darco |
b3016b |
esac
|
|
darco |
b3016b |
done
|
|
darco |
b3016b |
else
|
|
darco |
b3016b |
gtkmm_use_flags='none'
|
|
darco |
b3016b |
fi
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_MSG_RESULT([$gtkmm_use_flags])
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_DEFUN([AC_ARG_DEBUG],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
AC_MSG_CHECKING([for debug flags])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_ARG_ENABLE(debug,[ --enable-debug Build in debugging mode],[
|
|
darco |
b3016b |
debug=$enableval
|
|
darco |
b3016b |
],[
|
|
darco |
b3016b |
debug="no"
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
debug_flags=''
|
|
darco |
b3016b |
|
|
darco |
b3016b |
case "$debug" in
|
|
darco |
b3016b |
yes)
|
|
|
f99224 |
debug_flags="-D_DEBUG -g -O0"
|
|
|
f99224 |
CXXFLAGS="`echo $CXXFLAGS | sed s:-O.::` $debug_flags -fno-inline"
|
|
|
f99224 |
CFLAGS="`echo $CFLAGS | sed s:-O.::` $debug_flags"
|
|
darco |
b3016b |
;;
|
|
darco |
b3016b |
no|*)
|
|
pabs |
e04326 |
debug_flags="-DNDEBUG"
|
|
|
4409af |
CXXFLAGS="`echo $CXXFLAGS | sed 's:-g[[a-z-]]*\s::g' | sed 's:-g[[a-z-]]*$::'` $debug_flags"
|
|
|
4409af |
CFLAGS="`echo $CFLAGS | sed 's:-g[[a-z-]]*\s::g' | sed 's:-g[[a-z-]]*$::'` $debug_flags"
|
|
darco |
b3016b |
;;
|
|
darco |
b3016b |
esac
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_MSG_RESULT([$debug_flags])
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_DEFUN([AC_ARG_OPTIMIZATION],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
AC_MSG_CHECKING([for optimization flags])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_ARG_ENABLE(optimization,[ --enable-optimization=[[0,1,2,3,4]] Select optimization level (default=2)],[
|
|
darco |
b3016b |
optimization=$enableval
|
|
darco |
b3016b |
],[
|
|
darco |
b3016b |
optimization="2"
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
optimization_flags=''
|
|
darco |
b3016b |
case "$optimization" in
|
|
darco |
b3016b |
0|no) optimization_flags="-O0";;
|
|
pabs |
547032 |
1) optimization_flags="-O1";;
|
|
pabs |
547032 |
2|yes) optimization_flags="-O2";;
|
|
pabs |
547032 |
pass1) optimization_flags="-O2 -fprofile-arcs";;
|
|
pabs |
547032 |
pass2) optimization_flags="-O2 -fbranch-probabilities";;
|
|
pabs |
547032 |
3) optimization_flags="-O3";;
|
|
pabs |
547032 |
*) optimization_flags="-O4";;
|
|
darco |
b3016b |
esac
|
|
darco |
b3016b |
CXXFLAGS="`echo $CXXFLAGS | sed 's:-O.::g'` $optimization_flags"
|
|
darco |
b3016b |
CFLAGS="`echo $CFLAGS | sed 's:-O.::g'` $optimization_flags"
|
|
darco |
b3016b |
AC_MSG_RESULT([$optimization_flags])
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_DEFUN([AC_ARG_PROFILE_ARCS],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
AC_MSG_CHECKING([for arc profiling])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_ARG_ENABLE(profile-arcs,[ --enable-profile-arcs Enable arc profiling],[
|
|
darco |
b3016b |
profile_arcs=$enableval
|
|
darco |
b3016b |
],[
|
|
darco |
b3016b |
profile_arcs=no
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
if test $profile_arcs = "yes" ; then {
|
|
darco |
b3016b |
CXXFLAGS="$CXXFLAGS -fprofile-arcs";
|
|
darco |
b3016b |
CFLAGS="$CFLAGS -fprofile-arcs";
|
|
darco |
b3016b |
} ; fi
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_MSG_RESULT([$profile_arcs])
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_DEFUN([AC_ARG_BRANCH_PROBABILITIES],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
AC_MSG_CHECKING([for branch-probabilities])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_ARG_ENABLE(branch-probabilities,[ --enable-branch-probabilities Enable branch-probabilities],[
|
|
darco |
b3016b |
branch_probabilities=$enableval
|
|
darco |
b3016b |
],[
|
|
darco |
b3016b |
branch_probabilities=no
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
if test $branch_probabilities = "yes" ; then {
|
|
darco |
b3016b |
CXXFLAGS="$CXXFLAGS -fbranch-probabilities";
|
|
darco |
b3016b |
CFLAGS="$CFLAGS -fbranch-probabilities";
|
|
darco |
b3016b |
} ; fi
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_MSG_RESULT([$branch_probabilities])
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_DEFUN([AC_ARG_PROFILING],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
AC_MSG_CHECKING([for profiling])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_ARG_ENABLE(profiling,[ --enable-profiling Enable profiling using gprof],[
|
|
darco |
b3016b |
profiling=$enableval
|
|
darco |
b3016b |
],[
|
|
darco |
b3016b |
profiling=no
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
if test $profiling = "yes" ; then {
|
|
darco |
b3016b |
CFLAGS="$CFLAGS -pg";
|
|
darco |
b3016b |
CXXFLAGS="$CXXFLAGS -pg";
|
|
darco |
b3016b |
LDFLAGS="$LDFLAGS -pg";
|
|
darco |
b3016b |
LIBS="$LIBS";
|
|
darco |
b3016b |
} ; fi
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_MSG_RESULT([$profiling])
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
MINGW_FLAGS="-mno-cygwin"
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_DEFUN([AC_WIN32_QUIRKS],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
|
|
darco |
b3016b |
case "$host" in
|
|
darco |
b3016b |
*mingw*)
|
|
darco |
b3016b |
AC_MSG_CHECKING([the flavor of the compiler])
|
|
darco |
b3016b |
if ( $CC --version | grep -q mingw ) ; then {
|
|
darco |
b3016b |
AC_MSG_RESULT([compiler is mingw special])
|
|
darco |
b3016b |
LIBTOOL_PATCH_SED="
|
|
darco |
b3016b |
s/dir=\"\$absdir\"/dir=\`cygpath -d -m \"\$absdir\"\`/;
|
|
darco |
b3016b |
s/absdir=\`cd \"\$dir\" && pwd\`/absdir=\`cygpath -d -m \"\$dir\"\`/;
|
|
darco |
b3016b |
s/# We need an absolute path/dir=\`cygpath -d -m \"\$dir\"\` # We need an absolute path/;
|
|
darco |
b3016b |
s- /usr/lib- C:/mingw/lib-g;
|
|
darco |
b3016b |
s-\"/lib -\"C:/mingw/lib -g;
|
|
darco |
b3016b |
s- /lib/ - -g;
|
|
darco |
b3016b |
";
|
|
darco |
b3016b |
sys_lib_dlsearch_path_spec="C:/mingw/lib"
|
|
darco |
b3016b |
ac_default_prefix=`cygpath -d -m "$ac_default_prefix"`;
|
|
darco |
b3016b |
} else {
|
|
darco |
b3016b |
AC_MSG_RESULT([compiler is cygwin stock, adding -mno-cygwin])
|
|
darco |
b3016b |
CPP="$CPP $MINGW_FLAGS"
|
|
darco |
b3016b |
CC="$CC $MINGW_FLAGS"
|
|
darco |
b3016b |
CXX="$CXX $MINGW_FLAGS -L/usr/$host/lib -I/usr/include/c++/3.3.3/$host"
|
|
darco |
b3016b |
CXXCPP="$CXXCPP $MINGW_FLAGS"
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
} ; fi
|
|
darco |
b3016b |
|
|
darco |
b3016b |
LTCC="gcc"
|
|
darco |
b3016b |
CXXFLAGS="$CXXFLAGS -LC:/GTK/lib"
|
|
darco |
b3016b |
CFLAGS="$CFLAGS -LC:/GTK/lib"
|
|
|
06eb0a |
LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc"
|
|
|
06eb0a |
dnl LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc"
|
|
darco |
b3016b |
;;
|
|
darco |
b3016b |
*cygwin*)
|
|
|
06eb0a |
LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols"
|
|
|
06eb0a |
dnl LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console"
|
|
darco |
b3016b |
CXXFLAGS="$CXXFLAGS -I/target/include"
|
|
darco |
b3016b |
CFLAGS="$CFLAGS -I/target/include"
|
|
darco |
b3016b |
;;
|
|
darco |
b3016b |
powerpc-apple*)
|
|
darco |
b3016b |
echo Adding mac-specific optimization flags. . .
|
|
darco |
b3016b |
CXXFLAGS="$CXXFLAGS $G5OPTFLAGS"
|
|
darco |
b3016b |
;;
|
|
darco |
b3016b |
esac
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
])
|
|
darco |
b3016b |
|
|
darco |
b3016b |
AC_DEFUN([AC_LIBTOOL_PATCH],
|
|
darco |
b3016b |
[
|
|
darco |
b3016b |
|
|
darco |
b3016b |
if [[ "$LIBTOOL_PATCH_SED""x" != "x" ]] ; then {
|
|
darco |
b3016b |
printf "Patching libtool... "
|
|
darco |
b3016b |
cat libtool | sed "$LIBTOOL_PATCH_SED" > libtool2
|
|
darco |
b3016b |
rm libtool
|
|
darco |
b3016b |
mv libtool2 libtool
|
|
darco |
b3016b |
chmod +x libtool
|
|
darco |
b3016b |
AC_MSG_RESULT([patched])
|
|
darco |
b3016b |
} fi ;
|
|
darco |
b3016b |
|
|
darco |
b3016b |
|
|
darco |
b3016b |
])
|