[smpeg] Don't clobber CXXFLAGS
TellowKrinkle
tellowkrinkle at gmail.com
Sun Mar 8 19:07:34 EDT 2020
Actually, it looks like the `-std=c++03` makes windows msys2 builds fail to find sys/select.h. Go with `-Wno-narrowing` instead.
Index: configure.in
===================================================================
--- configure.in (revision 413)
+++ configure.in (working copy)
@@ -65,7 +65,7 @@
case "$target" in
alpha*-*-linux*)
if test x$ac_cv_prog_gcc = xyes; then
- CFLAGS="$CFLAGS -mcpu=ev4 -Wa,-mall"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -mcpu=ev4 -Wa,-mall"
fi
;;
sparc*-*-solaris*)
@@ -115,17 +115,17 @@
, enable_debug=yes)
if test x$enable_debug != xyes; then
if test x$ac_cv_prog_gcc = xyes; then
- CFLAGS="$CFLAGS -fexpensive-optimizations -fomit-frame-pointer"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -fexpensive-optimizations -fomit-frame-pointer"
fi
case "$target" in
i486-*-*) # Yeah right. :)
if test x$ac_cv_prog_gcc = xyes; then
- CFLAGS="$CFLAGS -march=486"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -march=486"
fi
;;
i?86-*-*)
if test x$ac_cv_prog_gcc = xyes; then
- CFLAGS="$CFLAGS -march=pentium -mcpu=pentiumpro"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -march=pentium -mcpu=pentiumpro"
fi
;;
esac
@@ -137,7 +137,7 @@
:,
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
)
-CFLAGS="$CFLAGS $SDL_CFLAGS"
+SMPEG_CFLAGS="$SMPEG_CFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
dnl See if we need to pass -lm for the math library
@@ -158,7 +158,7 @@
AC_MSG_RESULT($use_mmx)
if test x$use_mmx = xyes; then
- CFLAGS="$CFLAGS -DUSE_MMX"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -DUSE_MMX"
ASFLAGS="$ASFLAGS -DUSE_MMX"
CCASFLAGS="$CCASFLAGS -DUSE_MMX"
fi
@@ -169,7 +169,7 @@
[ --enable-timestamp-sync enable system timestamp sync [default=yes]],
, enable_timestamp_sync=no)
if test x$enable_timestamp_sync = xyes; then
- CFLAGS="$CFLAGS -DUSE_TIMESTAMP_SYNC"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -DUSE_TIMESTAMP_SYNC"
fi
dnl Enable the use of the system thread
@@ -177,7 +177,7 @@
[ --enable-threaded-system enable system thread [default=no]],
, enable_threaded_system=no)
if test x$enable_threaded_system = xyes; then
- CFLAGS="$CFLAGS -DUSE_SYSTEM_THREAD"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -DUSE_SYSTEM_THREAD"
fi
dnl Disable using a thread for the video callback
@@ -185,7 +185,7 @@
[ --enable-video-callback-thread enable video callback thread [default=yes]],
, enable_video_callback_thread=yes)
if test x$enable_video_callback_thread = xno; then
- CFLAGS="$CFLAGS -DDISABLE_VIDEO_CALLBACK_THREAD"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -DDISABLE_VIDEO_CALLBACK_THREAD"
fi
dnl Enable threaded audio
@@ -193,7 +193,7 @@
[ --enable-threaded-audio enable threaded audio [default=yes]],
, enable_threaded_audio=yes)
if test x$enable_threaded_audio = xyes; then
- CFLAGS="$CFLAGS -DTHREADED_AUDIO"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -DTHREADED_AUDIO"
fi
dnl Disable assertions in release builds
@@ -201,20 +201,21 @@
[ --enable-assertions Enable consistency checks in decoding [default=no]],
, enable_assertions=no)
if test x$enable_assertions != xyes; then
- CFLAGS="$CFLAGS -DNDEBUG"
+ SMPEG_CFLAGS="$SMPEG_CFLAGS -DNDEBUG"
fi
dnl Activate compiler warnings
-CFLAGS="$CFLAGS -Wall"
+SMPEG_CFLAGS="$SMPEG_CFLAGS -Wall"
dnl Add the source include directories
-CFLAGS="$CFLAGS -I.. -DNOCONTROLS"
-CFLAGS="$CFLAGS -I\$(top_srcdir) -I\$(top_srcdir)/audio -I\$(top_srcdir)/video"
-CXXFLAGS="$CFLAGS"
+SMPEG_CFLAGS="$SMPEG_CFLAGS -I.. -DNOCONTROLS"
+SMPEG_CFLAGS="$SMPEG_CFLAGS -I\$(top_srcdir) -I\$(top_srcdir)/audio -I\$(top_srcdir)/video"
+dnl Set CFLAGS and CXXFLAGS based on above options
+CFLAGS="$CFLAGS $SMPEG_CFLAGS"
+dnl Need C++03 because C++11 has stricter rules on narrowing conversion
+CXXFLAGS="$CXXFLAGS -Wno-narrowing $SMPEG_CFLAGS"
-dnl C++ flags are the same as the C flags
-CXXFLAGS="$CFLAGS"
if test x$GCC = xyes; then
# Check to see if options -fno-rtti -fno-exceptions are supported
AC_MSG_CHECKING(if $CXX supports -fno-rtti -fno-exceptions)
> 2020/03/07 2:45、TellowKrinkle <tellowkrinkle at gmail.com>のメール:
>
> This way the user can add CXXFLAGS and not have them be overwritten by CFLAGS
>
> Also adds the `-std=c++03` flag because newer compilers default to C++11 which breaks the build due to new rules on narrowing conversions. Possible alternative solution is to add `-Wno-narrowing` instead
>
> Index: configure.in
> ===================================================================
> --- configure.in (revision 413)
> +++ configure.in (working copy)
> @@ -65,7 +65,7 @@
> case "$target" in
> alpha*-*-linux*)
> if test x$ac_cv_prog_gcc = xyes; then
> - CFLAGS="$CFLAGS -mcpu=ev4 -Wa,-mall"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -mcpu=ev4 -Wa,-mall"
> fi
> ;;
> sparc*-*-solaris*)
> @@ -115,17 +115,17 @@
> , enable_debug=yes)
> if test x$enable_debug != xyes; then
> if test x$ac_cv_prog_gcc = xyes; then
> - CFLAGS="$CFLAGS -fexpensive-optimizations -fomit-frame-pointer"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -fexpensive-optimizations -fomit-frame-pointer"
> fi
> case "$target" in
> i486-*-*) # Yeah right. :)
> if test x$ac_cv_prog_gcc = xyes; then
> - CFLAGS="$CFLAGS -march=486"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -march=486"
> fi
> ;;
> i?86-*-*)
> if test x$ac_cv_prog_gcc = xyes; then
> - CFLAGS="$CFLAGS -march=pentium -mcpu=pentiumpro"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -march=pentium -mcpu=pentiumpro"
> fi
> ;;
> esac
> @@ -137,7 +137,7 @@
> :,
> AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
> )
> -CFLAGS="$CFLAGS $SDL_CFLAGS"
> +SMPEG_CFLAGS="$SMPEG_CFLAGS $SDL_CFLAGS"
> LIBS="$LIBS $SDL_LIBS"
>
> dnl See if we need to pass -lm for the math library
> @@ -158,7 +158,7 @@
> AC_MSG_RESULT($use_mmx)
>
> if test x$use_mmx = xyes; then
> - CFLAGS="$CFLAGS -DUSE_MMX"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -DUSE_MMX"
> ASFLAGS="$ASFLAGS -DUSE_MMX"
> CCASFLAGS="$CCASFLAGS -DUSE_MMX"
> fi
> @@ -169,7 +169,7 @@
> [ --enable-timestamp-sync enable system timestamp sync [default=yes]],
> , enable_timestamp_sync=no)
> if test x$enable_timestamp_sync = xyes; then
> - CFLAGS="$CFLAGS -DUSE_TIMESTAMP_SYNC"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -DUSE_TIMESTAMP_SYNC"
> fi
>
> dnl Enable the use of the system thread
> @@ -177,7 +177,7 @@
> [ --enable-threaded-system enable system thread [default=no]],
> , enable_threaded_system=no)
> if test x$enable_threaded_system = xyes; then
> - CFLAGS="$CFLAGS -DUSE_SYSTEM_THREAD"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -DUSE_SYSTEM_THREAD"
> fi
>
> dnl Disable using a thread for the video callback
> @@ -185,7 +185,7 @@
> [ --enable-video-callback-thread enable video callback thread [default=yes]],
> , enable_video_callback_thread=yes)
> if test x$enable_video_callback_thread = xno; then
> - CFLAGS="$CFLAGS -DDISABLE_VIDEO_CALLBACK_THREAD"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -DDISABLE_VIDEO_CALLBACK_THREAD"
> fi
>
> dnl Enable threaded audio
> @@ -193,7 +193,7 @@
> [ --enable-threaded-audio enable threaded audio [default=yes]],
> , enable_threaded_audio=yes)
> if test x$enable_threaded_audio = xyes; then
> - CFLAGS="$CFLAGS -DTHREADED_AUDIO"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -DTHREADED_AUDIO"
> fi
>
> dnl Disable assertions in release builds
> @@ -201,20 +201,21 @@
> [ --enable-assertions Enable consistency checks in decoding [default=no]],
> , enable_assertions=no)
> if test x$enable_assertions != xyes; then
> - CFLAGS="$CFLAGS -DNDEBUG"
> + SMPEG_CFLAGS="$SMPEG_CFLAGS -DNDEBUG"
> fi
>
> dnl Activate compiler warnings
> -CFLAGS="$CFLAGS -Wall"
> +SMPEG_CFLAGS="$SMPEG_CFLAGS -Wall"
>
> dnl Add the source include directories
> -CFLAGS="$CFLAGS -I.. -DNOCONTROLS"
> -CFLAGS="$CFLAGS -I\$(top_srcdir) -I\$(top_srcdir)/audio -I\$(top_srcdir)/video"
> -CXXFLAGS="$CFLAGS"
> +SMPEG_CFLAGS="$SMPEG_CFLAGS -I.. -DNOCONTROLS"
> +SMPEG_CFLAGS="$SMPEG_CFLAGS -I\$(top_srcdir) -I\$(top_srcdir)/audio -I\$(top_srcdir)/video"
>
> +dnl Set CFLAGS and CXXFLAGS based on above options
> +CFLAGS="$CFLAGS $SMPEG_CFLAGS"
> +dnl Need C++03 because C++11 has stricter rules on narrowing conversion
> +CXXFLAGS="$CXXFLAGS -std=c++03 $SMPEG_CFLAGS"
>
> -dnl C++ flags are the same as the C flags
> -CXXFLAGS="$CFLAGS"
> if test x$GCC = xyes; then
> # Check to see if options -fno-rtti -fno-exceptions are supported
> AC_MSG_CHECKING(if $CXX supports -fno-rtti -fno-exceptions)
>
More information about the smpeg
mailing list