105 lines
2.6 KiB
Plaintext
105 lines
2.6 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_PREREQ(2.63)
|
|
|
|
AC_INIT([libmodplug], [0.8.9.0])
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
|
|
|
AM_INIT_AUTOMAKE
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
|
AC_CONFIG_HEADERS([src/config.h])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AM_MAINTAINER_MODE([enable])
|
|
|
|
dnl Checks for programs.
|
|
dnl I am disabling static libraries here because otherwise libtool insists on
|
|
dnl compiling everything twice -- once with and once without -fPIC. Pisses me
|
|
dnl off. Just do everything with -fPIC, damnit! Compiling everything twice
|
|
dnl probably wastes more cycles than not using -fPIC saves.
|
|
AC_DISABLE_STATIC
|
|
AC_DISABLE_STATIC([])
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_LANG([C++])
|
|
AC_C_BIGENDIAN
|
|
|
|
#AC_LIBTOOL_WIN32_DLL
|
|
#AC_PROG_LIBTOOL
|
|
LT_INIT([win32-dll])
|
|
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS([inttypes.h stdint.h malloc.h])
|
|
AC_CHECK_FUNCS(sinf)
|
|
|
|
CXXFLAGS="$CXXFLAGS -fno-exceptions -Wall -ffast-math -fno-common -D_REENTRANT"
|
|
|
|
AC_CANONICAL_HOST
|
|
case "$host" in
|
|
*mingw* | *cygwin*)
|
|
LT_LDFLAGS="-no-undefined"
|
|
;;
|
|
*)
|
|
LT_LDFLAGS=""
|
|
;;
|
|
esac
|
|
AC_SUBST(LT_LDFLAGS)
|
|
|
|
# require 10.5+ for osx/x86_64 builds
|
|
case "$host" in
|
|
x86_64-*-darwin*)
|
|
CXXFLAGS="$CXXFLAGS -mmacosx-version-min=10.5"
|
|
LDFLAGS="$LDFLAGS -mmacosx-version-min=10.5" ;;
|
|
esac
|
|
|
|
# symbol visibility
|
|
ac_save_CXXFLAGS="$CXXFLAGS"
|
|
CXXFLAGS="$CXXFLAGS -fvisibility=hidden -Werror"
|
|
AC_CACHE_CHECK([if compiler supports visibility attributes],[libmodplug_cv_gcc_visibility],
|
|
AC_TRY_COMPILE([void foo(void);
|
|
__attribute__((visibility("default"))) void foo(void) {}],
|
|
[],
|
|
[libmodplug_cv_gcc_visibility=yes],
|
|
[libmodplug_cv_gcc_visibility=no])
|
|
)
|
|
# we want symbol -fvisibility for elf targets, however it works
|
|
# with darwin/macho too. other than that, windows, dos and os2
|
|
# do not need it: for any such targets, the -Werror switch is
|
|
# supposed to fail the above check. (I'm adding the manual test
|
|
# below nonetheless, just in case.)
|
|
case $host_os in
|
|
mingw*|cygwin*|emx*|*djgpp)
|
|
libmodplug_cv_gcc_visibility=no
|
|
;;
|
|
esac
|
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
|
if test $libmodplug_cv_gcc_visibility = yes ;then
|
|
CXXFLAGS="$CXXFLAGS -DSYM_VISIBILITY -fvisibility=hidden"
|
|
fi
|
|
|
|
case ${target_os} in
|
|
*sun* | *solaris*)
|
|
CXXFLAGS="$CXXFLAGS -fpermissive"
|
|
;;
|
|
esac
|
|
|
|
# portable types. requires autoconf 2.60
|
|
# `configure' will check if these are defined in system headers.
|
|
# if not, it will auto-detect and define them in `config.h'
|
|
AC_TYPE_INT8_T
|
|
AC_TYPE_UINT8_T
|
|
AC_TYPE_INT16_T
|
|
AC_TYPE_UINT16_T
|
|
AC_TYPE_INT32_T
|
|
AC_TYPE_UINT32_T
|
|
AC_TYPE_INT64_T
|
|
AC_TYPE_UINT64_T
|
|
|
|
MODPLUG_LIBRARY_VERSION=1:0:0
|
|
|
|
AC_SUBST(MODPLUG_LIBRARY_VERSION)
|
|
|
|
AC_CONFIG_FILES([Makefile
|
|
src/Makefile
|
|
libmodplug.pc])
|
|
AC_OUTPUT
|