Blame ETL/m4/subs.m4

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
])