Newer
Older
AC_COPYRIGHT([Copyright 1999-2022 VLC authors and VideoLAN])
VERSION_MAJOR=4

Rémi Denis-Courmont
committed
CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
CODENAME="Otto Chriek"
AC_CONFIG_SRCDIR([src/libvlc.c])
AC_CONFIG_AUX_DIR([autotools])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_LIBOBJ_DIR([compat])
AC_CANONICAL_HOST
Samuel Hocevar
committed
AM_INIT_AUTOMAKE([tar-ustar color-tests foreign])
AC_CONFIG_HEADERS([config.h])
AM_MAINTAINER_MODE([enable])
AH_VERBATIM([FORTIFY_SOURCE],
[/* Enable compile-time and run-time bounds-checking, and some warnings,
without upsetting glibc 2.15+ or toolchains predefining _FORTIFY_SOURCE */
#if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__
# define _FORTIFY_SOURCE 2
#endif])
AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of <windows.h>.])
Samuel Hocevar
committed
AC_PROG_CXX

Jean-Paul Saman
committed
AC_PROG_CPP
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files])
AC_CHECK_PROGS([DESKTOP_FILE_VALIDATE], [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :)
AC_ARG_VAR([BUILDCC], [Build system C11 or C99 compiler command])
AC_CHECK_PROGS([BUILDCC], [c11-gcc c11 c99-gcc c99], [false])
AS_IF([test "$BUILDCC" = "false"], [
AC_MSG_ERROR([Cannot find native C99 compiler: please define BUILDCC.])
])
dnl Check for compiler properties
AC_C_CONST
AC_C_INLINE

Rémi Denis-Courmont
committed
AC_C_RESTRICT
AX_CXX_COMPILE_STDCXX_14([noext], [mandatory])
AX_CXX_TYPEOF
AC_LANG_POP([C++])
dnl Extend the --help string at the current spot.
AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
dnl Allow binary package maintainer to pass a custom string to avoid
AS_HELP_STRING([--with-binary-version=STRING],
[To avoid plugins cache problem between binary version]),[],[])
AS_IF([test -n "${with_binary_version}"],[
AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
[Binary specific version])
])
dnl Prevent clang from accepting unknown flags with a mere warning
AX_CHECK_COMPILE_FLAG([-Werror=invalid-command-line-argument], [
AX_APPEND_FLAG([-Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_FLAG([-Werror=invalid-command-line-argument], [CXXFLAGS])
AX_APPEND_FLAG([-Werror=invalid-command-line-argument], [OBJCFLAGS])
])
AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option], [
AX_APPEND_FLAG([-Werror=unknown-warning-option], [CFLAGS])
AX_APPEND_FLAG([-Werror=unknown-warning-option], [CXXFLAGS])
AX_APPEND_FLAG([-Werror=unknown-warning-option], [OBJCFLAGS])
dnl Some Qt version are generating tons of warning that cannot be
dnl avoided so mute them...
AX_CHECK_COMPILE_FLAG([-Wno-deprecated-copy], [
VLC_ADD_CXXFLAGS([qt],[-Wno-deprecated-copy])
])

Felix Paul Kühne
committed
HAVE_IOS="0"
HAVE_OSX="0"
dnl Set x86 asm flags and defines
X86ASMFLAGS=""
case "${host_cpu}" in
i?86)
X86ASMFLAGS="-f elf32"
X86ASMDEFS="-DARCH_X86_32=1 -DARCH_X86_64=0"
;;
x86_64)
X86ASMFLAGS="-f elf64"
X86ASMDEFS="-DARCH_X86_32=0 -DARCH_X86_64=1"
;;
esac
Samuel Hocevar
committed
SYS=unknown
;;
Samuel Hocevar
committed
SYS=linux
CFLAGS="${CFLAGS} -pthread"
CXXFLAGS="${CXXFLAGS} -pthread"
Samuel Hocevar
committed
;;
Samuel Hocevar
committed
SYS=bsdi
CFLAGS="${CFLAGS} -pthread"
CXXFLAGS="${CXXFLAGS} -pthread"
Samuel Hocevar
committed
;;
CFLAGS="${CFLAGS} -pthread"
CXXFLAGS="${CXXFLAGS} -pthread"
CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
LDFLAGS="${LDFLAGS} -L/usr/local/lib"
ac_cv_ld_z_defs=no
;;
openbsd*)
SYS=openbsd
CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include"
LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/"
;;
netbsd*)
SYS=netbsd
;;
dragonfly*)
SYS=dragonfly
Samuel Hocevar
committed
;;
dnl Work around an Xcode 11 bug, fixed in Xcode 11.3.1
AX_APPEND_FLAG([-fno-stack-check], [CFLAGS])
AX_APPEND_FLAG([-fno-stack-check], [CXXFLAGS])
AX_APPEND_FLAG([-fno-stack-check], [OBJCFLAGS])
case "${host_cpu}" in
i?86)
X86ASMFLAGS="-f macho32"
AX_APPEND_FLAG([-DPREFIX], [X86ASMDEFS])
;;
X86ASMFLAGS="-f macho64"
AX_APPEND_FLAG([-DPREFIX], [X86ASMDEFS])
;;

Felix Paul Kühne
committed
arm*)
ac_cv_c_bigendian="no"
ac_cv_c_attribute_packed="no"

Felix Paul Kühne
committed
;;
esac
AX_APPEND_FLAG([-D_INTL_REDIRECT_MACROS], [CPPFLAGS])
AX_APPEND_FLAG([-stdlib=libc++], [CXXFLAGS])
AX_APPEND_FLAG([-Werror=partial-availability], [OBJCFLAGS])
AX_APPEND_FLAG([-Wl,-headerpad_max_install_names], [LDFLAGS])
VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
dnl This is not supported when bitcode is enabled. In that case, we need
dnl to disable the static bank loader.
AC_MSG_CHECKING([if -Wl,-U is allowed])
VLC_SAVE_FLAGS
AX_APPEND_FLAG([-Wl,-U,_my_array],[LDFLAGS])
[AC_LANG_PROGRAM([[
__attribute__((visibility("default"))) extern int my_array[];
int foo() { return my_array[0]; }
Loading
Loading full blame...