gimp/m4macros/detectcflags.m4

21 lines
523 B
Plaintext
Raw Normal View History

acinclude.m4 m4macros/Makefile.am new macro: GIMP_DETECT_CFLAGS; used to 2005-07-31 Manish Singh <yosh@gimp.org> * acinclude.m4 * m4macros/Makefile.am * m4macros/detectcflags.m4: new macro: GIMP_DETECT_CFLAGS; used to detect which of a set of compiler options a compiler supports. * configure.in: use the above for the altivec and -fno-strict-aliasing flags. Also, use it to detect the presence of -mmmx and -msse, since those are needed to compile even MMX/SSE assembly with gcc 4.0. Define MMX/SSE_EXTRA_CFLAGS. * app/composite/Makefile.am: compile each of the composite flavors into their own library, so we can use automake's per-target CFLAGS. Use MMX/SSE/ALTIVEC_EXTRA_CFLAGS in the appropriate places. Build libappcomposite.a out of the resulting objects. * app/composite/gimp-composite-3dnow.c * app/composite/gimp-composite-altivec.c * app/composite/gimp-composite-mmx.c * app/composite/gimp-composite-sse.c * app/composite/gimp-composite-sse2.c * app/composite/gimp-composite-vis.c * app/composite/make-installer.py: move the _init functions into the installers, so only actually mmx/sse/etc. code gets compiled under the appropriate CFLAGS. * app/composite/gimp-composite-3dnow-installer.c * app/composite/gimp-composite-altivec-installer.c * app/composite/gimp-composite-mmx-installer.c * app/composite/gimp-composite-sse-installer.c * app/composite/gimp-composite-sse2-installer.c * app/composite/gimp-composite-vis-installer.c: regenerated. * app/composite/gimp-composite.c: remove useless cpu-accel.h include.
2005-08-01 12:45:34 +08:00
dnl GIMP_DETECT_CFLAGS(RESULT, FLAGSET)
dnl Detect if the compiler supports a set of flags
AC_DEFUN([GIMP_DETECT_CFLAGS],
[
$1=
for flag in $2; do
if test -z "[$]$1"; then
$1_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror $flag"
acinclude.m4 m4macros/Makefile.am new macro: GIMP_DETECT_CFLAGS; used to 2005-07-31 Manish Singh <yosh@gimp.org> * acinclude.m4 * m4macros/Makefile.am * m4macros/detectcflags.m4: new macro: GIMP_DETECT_CFLAGS; used to detect which of a set of compiler options a compiler supports. * configure.in: use the above for the altivec and -fno-strict-aliasing flags. Also, use it to detect the presence of -mmmx and -msse, since those are needed to compile even MMX/SSE assembly with gcc 4.0. Define MMX/SSE_EXTRA_CFLAGS. * app/composite/Makefile.am: compile each of the composite flavors into their own library, so we can use automake's per-target CFLAGS. Use MMX/SSE/ALTIVEC_EXTRA_CFLAGS in the appropriate places. Build libappcomposite.a out of the resulting objects. * app/composite/gimp-composite-3dnow.c * app/composite/gimp-composite-altivec.c * app/composite/gimp-composite-mmx.c * app/composite/gimp-composite-sse.c * app/composite/gimp-composite-sse2.c * app/composite/gimp-composite-vis.c * app/composite/make-installer.py: move the _init functions into the installers, so only actually mmx/sse/etc. code gets compiled under the appropriate CFLAGS. * app/composite/gimp-composite-3dnow-installer.c * app/composite/gimp-composite-altivec-installer.c * app/composite/gimp-composite-mmx-installer.c * app/composite/gimp-composite-sse-installer.c * app/composite/gimp-composite-sse2-installer.c * app/composite/gimp-composite-vis-installer.c: regenerated. * app/composite/gimp-composite.c: remove useless cpu-accel.h include.
2005-08-01 12:45:34 +08:00
AC_MSG_CHECKING([whether [$]CC understands [$]flag])
AC_TRY_COMPILE([], [], [$1_works=yes], [$1_works=no])
AC_MSG_RESULT([$]$1_works)
CFLAGS="[$]$1_save_CFLAGS"
if test "x[$]$1_works" = "xyes"; then
$1="$flag"
fi
fi
done
])