2019-11-02 22:25:47 +00:00
|
|
|
AC_PREREQ([2.69])
|
|
|
|
AC_INIT([futurerestore], m4_esyscmd([git rev-list --count HEAD | tr -d '\n']), [tihmstar@gmail.com])
|
2016-12-28 16:43:26 +00:00
|
|
|
|
|
|
|
AC_CANONICAL_SYSTEM
|
2016-12-31 15:19:05 +00:00
|
|
|
AC_CANONICAL_HOST
|
2019-11-02 22:25:47 +00:00
|
|
|
|
|
|
|
AM_INIT_AUTOMAKE([subdir-objects])
|
|
|
|
AC_CONFIG_HEADERS([config.h])
|
|
|
|
AC_CONFIG_MACRO_DIRS([m4])
|
|
|
|
|
2019-12-25 19:01:47 +00:00
|
|
|
# Versioning.
|
2019-11-02 22:25:47 +00:00
|
|
|
AC_DEFINE([VERSION_COMMIT_COUNT], "m4_esyscmd([git rev-list --count HEAD | tr -d '\n'])", [Git commit count])
|
|
|
|
AC_DEFINE([VERSION_COMMIT_SHA], "m4_esyscmd([git rev-parse HEAD | tr -d '\n'])", [Git commit sha])
|
|
|
|
AC_SUBST([VERSION_COMMIT_COUNT], ["m4_esyscmd([git rev-list --count HEAD | tr -d '\n'])"])
|
|
|
|
AC_SUBST([VERSION_COMMIT_SHA], ["m4_esyscmd([git rev-parse HEAD | tr -d '\n'])"])
|
|
|
|
|
|
|
|
# Checks for programs.
|
|
|
|
AC_PROG_CXX
|
|
|
|
AC_PROG_CC
|
|
|
|
|
2019-12-25 19:01:47 +00:00
|
|
|
# Check for operating system.
|
2016-12-31 15:19:05 +00:00
|
|
|
AC_MSG_CHECKING([whether we need platform-specific build settings])
|
|
|
|
case $host_os in
|
|
|
|
darwin* )
|
|
|
|
CXXFLAGS+=" -stdlib=libc++"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2019-12-25 19:01:47 +00:00
|
|
|
# Checks the flags.
|
2019-11-02 22:25:47 +00:00
|
|
|
CFLAGS="-DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1"
|
|
|
|
CXXFLAGS+=" -std=c++11"
|
|
|
|
CFLAGS+=" -std=c11"
|
|
|
|
|
2016-12-28 16:43:26 +00:00
|
|
|
AC_DEFUN([AX_UNPRECIOUS], [
|
2019-11-02 22:25:47 +00:00
|
|
|
m4_define([_AC_PRECIOUS_VARS], m4_bpatsubst(_AC_PRECIOUS_VARS, [$1], []))
|
2016-12-28 16:43:26 +00:00
|
|
|
])
|
|
|
|
AX_UNPRECIOUS([CFLAGS])
|
|
|
|
export CFLAGS
|
|
|
|
|
2019-11-02 22:25:47 +00:00
|
|
|
AC_CONFIG_SUBDIRS(external/idevicerestore external/tsschecker)
|
2016-12-28 16:43:26 +00:00
|
|
|
AC_CONFIG_SRCDIR([futurerestore])
|
|
|
|
|
2019-12-25 19:01:47 +00:00
|
|
|
# Checks the libraries.
|
2019-11-05 22:35:01 +00:00
|
|
|
LIBIPATCHER_REQUIRES_STR="libipatcher >= 61"
|
2019-11-03 13:41:22 +00:00
|
|
|
LIBPLIST_REQUIRES_STR="libplist >= 2.0.0"
|
|
|
|
LIBZIP_REQUIRES_STR="libzip >= 0.10"
|
|
|
|
LIBIMOBILEDEVICE_REQUIRES_STR="libimobiledevice-1.0 >= 1.2.1"
|
|
|
|
LIBFRAGMENTZIP_REQUIRES_STR="libfragmentzip >= 47"
|
|
|
|
LIBIRECOVERY_REQUIRES_STR="libirecovery >= 0.2.0"
|
2019-11-05 22:35:01 +00:00
|
|
|
IMG4TOOL_REQUIRES_STR="libimg4tool >= 162"
|
2019-11-03 13:41:22 +00:00
|
|
|
LIBGENERAL_REQUIRES_STR="libgeneral >= 26"
|
|
|
|
|
|
|
|
PKG_CHECK_MODULES(libplist, libplist >= 2.0.0)
|
|
|
|
PKG_CHECK_MODULES(libzip, $LIBZIP_REQUIRES_STR)
|
|
|
|
PKG_CHECK_MODULES(libimobiledevice, $LIBIMOBILEDEVICE_REQUIRES_STR)
|
|
|
|
PKG_CHECK_MODULES(libfragmentzip, $LIBFRAGMENTZIP_REQUIRES_STR)
|
|
|
|
PKG_CHECK_MODULES(libirecovery, $LIBIRECOVERY_REQUIRES_STR)
|
|
|
|
PKG_CHECK_MODULES(libimg4tool, $IMG4TOOL_REQUIRES_STR)
|
|
|
|
PKG_CHECK_MODULES(libgeneral, $LIBGENERAL_REQUIRES_STR)
|
2016-12-28 16:43:26 +00:00
|
|
|
|
2017-06-02 18:07:10 +00:00
|
|
|
# Optional module libipatcher
|
|
|
|
AC_ARG_WITH([libipatcher],
|
|
|
|
[AS_HELP_STRING([--without-libipatcher],
|
|
|
|
[build with bundle-less odysseus support (default is yes)])],
|
|
|
|
[build_libipatcher=false],
|
|
|
|
[build_libipatcher=true])
|
|
|
|
|
|
|
|
PKG_PROG_PKG_CONFIG
|
2017-06-25 18:25:59 +00:00
|
|
|
LIBIPATCHER_FLAGS=$($PKG_CONFIG --cflags libipatcher)
|
2017-06-02 18:07:10 +00:00
|
|
|
if [test -z "$LIBIPATCHER_FLAGS"]; then
|
|
|
|
do_libipatcher=no
|
|
|
|
else
|
|
|
|
AC_MSG_CHECKING([for futurerestore libipatcher])
|
|
|
|
if test "$build_libipatcher" = "true"; then
|
2019-11-03 13:41:22 +00:00
|
|
|
PKG_CHECK_MODULES(libipatcher, $LIBIPATCHER_REQUIRES_STR)
|
2019-11-02 22:25:47 +00:00
|
|
|
AC_DEFINE(HAVE_LIBIPATCHER, 1, [Define if you have libipatcher])
|
|
|
|
do_libipatcher=yes
|
2017-06-02 18:07:10 +00:00
|
|
|
else
|
|
|
|
do_libipatcher=no
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_LIBIPATCHER],[test "x$do_libipatcher" = "xyes"])
|
|
|
|
|
2019-11-02 22:25:47 +00:00
|
|
|
AC_DEFINE(CUSTOM_LOGGING, 1, [required for futurerestore])
|
|
|
|
|
2016-12-28 16:43:26 +00:00
|
|
|
LT_INIT
|
|
|
|
|
|
|
|
AC_OUTPUT([
|
|
|
|
Makefile
|
|
|
|
futurerestore/Makefile
|
|
|
|
])
|
2017-06-02 18:07:10 +00:00
|
|
|
|
|
|
|
echo "
|
|
|
|
Configuration for $PACKAGE $VERSION:
|
|
|
|
-------------------------------------------
|
|
|
|
|
|
|
|
Install prefix ..........: $prefix
|
|
|
|
With libipatcher ........: $do_libipatcher
|
|
|
|
Now type 'make' to build $PACKAGE $VERSION,
|
|
|
|
and then 'make install' for installation.
|
|
|
|
"
|