-# XXX: do this with an M4 macro?
-#dnl Check for various -W flags
-#for flag in "" all unreachable-code conversion sign-compare disabled-optimization
-#do
-# AC_CACHE_CHECK([if \$CC accepts -W${flag}],
-# [ac_cv_c_W${flag}],
-# [CFLAGS="-W${flag} ${CFLAGS_save}"
-# AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
-# if test "${ac_cv_c_W${flag}}" != "no"; then
-# CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-# CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-# OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-# fi
-#done
-
-AC_CACHE_CHECK([if \$CC accepts -Wall],
- [ac_cv_c_Wall],
- [CFLAGS="-Wall ${CFLAGS_save}"
- AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
-
-AC_CACHE_CHECK([if \$CC accepts -Wconversion],
- [ac_cv_c_Wconversion],
- [CFLAGS="-Wconversion ${CFLAGS_save}"
- AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
-
-AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
- [ac_cv_c_Wunreachable_code],
- [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
- AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
-
-AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
- [ac_cv_c_Wsign_compare],
- [CFLAGS="-Wsign-compare ${CFLAGS_save}"
- AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
-
-if test "${ac_cv_c_Wall}" != "no"; then
- CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
- CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
- OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
-if test "${ac_cv_c_Wsign_compare}" != "no"; then
- CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
- CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
- OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
-dnl Check for -pipe
-AC_CACHE_CHECK([if \$CC accepts -pipe],
- [ac_cv_c_pipe],
- [CFLAGS="${CFLAGS_save} -pipe"
- AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
-if test "${ac_cv_c_pipe}" != "no"; then
- CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
- CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
- OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
+RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings old-style-definition missing-prototypes packed volatile-register-var])
+RDC_PROG_CC_FLAGS_IFELSE([-pipe])
+
+dnl This helps detect broken plugins with undefined symbols
+dnl Better fail loudly at build-time than silenty at run-time.
+RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
+ VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
+])