Newer
Older
AC_COPYRIGHT([Copyright 1999-2020 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_PROG_LEX
AC_PROG_YACC
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])
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_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])

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"
Samuel Hocevar
committed
;;
Samuel Hocevar
committed
SYS=bsdi
CFLAGS="${CFLAGS} -pthread"
Samuel Hocevar
committed
;;
CFLAGS="${CFLAGS} -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 Workaround possible Xcode 11 bug
CFLAGS="${CFLAGS} -fno-stack-check"
CXXFLAGS="${CXXFLAGS} -fno-stack-check"
OBJCFLAGS="${OBJCFLAGS} -fno-stack-check"
dnl Force gcc "-arch" flag
ARCH_flag=""
case "${host_cpu}" in
i?86)
ARCH_flag="-arch i386"
X86ASMFLAGS="-f macho32"
X86ASMDEFS="${X86ASMDEFS} -DPREFIX"
;;
ppc64*)
ARCH_flag="-arch ppc64"
;;
ppc*)
ARCH_flag="-arch ppc"
;;
ARCH_flag="-arch x86_64"
X86ASMFLAGS="-f macho64"
X86ASMDEFS="${X86ASMDEFS} -DPREFIX"
;;

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

Felix Paul Kühne
committed
;;
esac
CFLAGS="${CFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu11 ${ARCH_flag}"
CXX="${CXX} -stdlib=libc++ -std=c++11"
CXXFLAGS="${CXXFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
CPPFLAGS="${CPPFLAGS} ${ARCH_flag}"
OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu11 ${ARCH_flag} -Werror=partial-availability"
LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,CoreServices])

Felix Paul Kühne
committed
AC_EGREP_CPP(yes,
[#import <TargetConditionals.h>
#if TARGET_OS_IPHONE
yes
#endif],
[HAVE_IOS="1"],
[HAVE_OSX="1"])
AC_EGREP_CPP(yes,
[#import <TargetConditionals.h>
#if TARGET_OS_TV
yes
#endif],
[HAVE_TVOS="1"
HAVE_IOS="0"
HAVE_OSX="0"
],)
Loading
Loading full blame...