Ryujinx-GtkSharp/configure.ac
2016-05-11 09:50:01 +02:00

320 lines
7.8 KiB
Plaintext

AC_INIT(gtk-sharp, 3.20.4)
AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign])
AC_CANONICAL_HOST
AC_CONFIG_HEADERS(config.h)
AM_MAINTAINER_MODE
AC_CONFIG_MACRO_DIR([m4])
API_VERSION=3.0.0.0
AC_SUBST(API_VERSION)
CAIRO_API_VERSION=1.12.0.0
AC_SUBST(CAIRO_API_VERSION)
POLICY_VERSIONS=""
AC_SUBST(POLICY_VERSIONS)
PACKAGE_VERSION=gtk-sharp-3.0
AC_SUBST(PACKAGE_VERSION)
WIN64DEFINES=
AC_MSG_CHECKING([whether we're on Windows])
case "$host" in
x86_64-*-mingw*|x86_64-*-cygwin*)
WIN64DEFINES="-define:WIN64LONGS"
platform_win32=yes
AC_MSG_RESULT([yes, 64-bit])
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
if test "x$cross_compiling" = "xno"; then
CC="gcc -g"
HOST_CC="gcc"
fi
;;
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
AC_MSG_RESULT([yes, 32-bit])
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
if test "x$cross_compiling" = "xno"; then
CC="gcc -g"
HOST_CC="gcc"
fi
;;
*)
platform_win32=no
AC_MSG_RESULT([no])
;;
esac
AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes)
AC_CHECK_TOOL(CC, gcc, gcc)
AC_PROG_CC
AC_PROG_INSTALL
dnl may require a specific autoconf version
dnl AC_PROG_CC_FOR_BUILD
dnl CC_FOR_BUILD not automatically detected
CC_FOR_BUILD=$CC
BUILD_EXEEXT=
if test "x$cross_compiling" = "xyes"; then
CC_FOR_BUILD=cc
BUILD_EXEEXT=""
fi
AC_SUBST(CC_FOR_BUILD)
AC_SUBST(HOST_CC)
AC_SUBST(BUILD_EXEEXT)
# Set STDC_HEADERS
AC_HEADER_STDC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
# not 64 bit clean in cross-compile
AC_CHECK_SIZEOF(void *, 4)
CFLAGS="${CFLAGS} -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wshadow -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings"
if test "x$enable_maintainer_mode" = "xyes"; then
DEBUG_FLAGS='-debug'
RUNTIME_DEBUG_FLAGS=' --debug'
else
DEBUG_FLAGS=
RUNTIME_DEBUG_FLAGS=
AC_ARG_ENABLE(debug, [ --enable-debug Build debugger (.mdb) files for dlls],
DEBUG_FLAGS='-debug'
)
fi
enable_msi="no"
if test "x$platform_win32" = "xyes"; then
AC_PATH_PROG(WIX, candle, no)
if test "x$WIX" != "xno" ; then
enable_msi="yes"
fi
fi
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
AC_MSG_ERROR([You need to install pkg-config])
fi
AC_CHECK_SIZEOF(off_t)
OFF_T_FLAGS="-define:OFF_T_$ac_cv_sizeof_off_t"
AC_SUBST(OFF_T_FLAGS)
MONO_REQUIRED_VERSION=3.2.8
PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
AC_PATH_PROG(GACUTIL, gacutil, no)
if test "x$GACUTIL" = "xno" ; then
AC_MSG_ERROR([No gacutil tool found. You need to install either the mono or .Net SDK.])
fi
AC_PATH_PROG(AL, al, no)
if test "x$AL" = "xno" ; then
AC_MSG_ERROR([No al tool found. You need to install either the mono or .Net SDK.])
fi
if test "x$has_mono" = "xtrue"; then
GACUTIL_FLAGS='/package $(PACKAGE_VERSION) /gacdir $(DESTDIR)$(prefix)/lib'
GENERATED_SOURCES_FILES=generated/*/*.cs
GENERATED_SOURCES_OPTION=$GENERATED_SOURCES_FILES
ASSEMBLYINFO=/AssemblyInfo.cs
AC_PATH_PROG(RUNTIME, mono, no)
# libmono and glib required for gui-thread-check profiler module
PKG_CHECK_MODULES(PROFILER, mono-2 glib-2.0)
AM_CONDITIONAL(ENABLE_THREADCHECK, true)
# If mono is found, it's in the path. Require it to be in the path at runtime as well
if test "x$RUNTIME" != "no" ; then
RUNTIME="mono$RUNTIME_DEBUG_FLAGS"
fi
AC_PATH_PROG(CSC, mcs, no)
if test `uname -s` = "Darwin"; then
LIB_PREFIX=
LIB_SUFFIX=.dylib
else
LIB_PREFIX=.so
LIB_SUFFIX=
fi
SDCHECK="`$GACUTIL /l |grep ^System.Drawing, | head -n1 |cut -f1 -d','`"
if test "x$SDCHECK" = "xSystem.Drawing"; then
enable_dotnet=yes
else
enable_dotnet=no
fi
dnl End of has_mono = true
else
dnl Check for .NET Framework
AC_PATH_PROG(CSC, csc.exe, no)
CSFLAGS="-nologo -platform:x86"
GACUTIL_FLAGS=
GENERATED_SOURCES_FILES="generated\\\\*.cs"
GENERATED_SOURCES_OPTION="-recurse:$GENERATED_SOURCES_FILES"
ASSEMBLYINFO=\\\\AssemblyInfo.cs
AM_CONDITIONAL(ENABLE_THREADCHECK, false)
enable_dotnet=yes
RUNTIME=
LIB_PREFIX=
LIB_SUFFIX=.dylib
fi
CS="C#"
if test "x$CSC" = "xno" ; then
AC_MSG_ERROR([No $CS compiler found. You need to install either mono (>=$MONO_REQUIRED_VERSION) or .Net])
fi
AC_SUBST(RUNTIME)
AC_SUBST(CSC)
AC_SUBST(GACUTIL)
AC_SUBST(GACUTIL_FLAGS)
AC_SUBST(LIB_PREFIX)
AC_SUBST(LIB_SUFFIX)
AC_SUBST(GENERATED_SOURCES_FILES)
AC_SUBST(GENERATED_SOURCES_OPTION)
AC_SUBST(ASSEMBLYINFO)
GTK_REQUIRED_VERSION=3.0.0
GLIB_REQUIRED_VERSION=2.32.0
PKG_CHECK_MODULES(GLIB, gobject-2.0 >= $GLIB_REQUIRED_VERSION)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
PKG_CHECK_MODULES(GIO, gio-2.0 >= $GLIB_REQUIRED_VERSION)
AC_SUBST(GIO_CFLAGS)
AC_SUBST(GIO_LIBS)
CSFLAGS="$CSFLAGS $DEBUG_FLAGS $WIN64DEFINES"
AC_SUBST(CSFLAGS)
PKG_CHECK_MODULES(PANGO, pango)
AC_SUBST(PANGO_CFLAGS)
AC_SUBST(PANGO_LIBS)
PKG_CHECK_MODULES(ATK, atk)
AC_SUBST(ATK_CFLAGS)
AC_SUBST(ATK_LIBS)
PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED_VERSION)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
AC_PATH_PROG(MDOC, mdoc, no)
if test "x$MDOC" = "xno"; then
enable_monodoc=no
doc_sources_dir=
else
enable_monodoc=yes
doc_sources_dir="`pkg-config --variable=sourcesdir monodoc`"
fi
AC_SUBST(MDOC)
AM_CONDITIONAL(ENABLE_DOTNET, test "x$enable_dotnet" = "xyes")
AM_CONDITIONAL(ENABLE_MONODOC, test "x$enable_monodoc" = "xyes")
AM_CONDITIONAL(ENABLE_MSI, test "x$enable_msi" = "xyes")
AC_SUBST(CFLAGS)
AC_OUTPUT([
AssemblyInfo.cs
Makefile
policy.config
sources/Makefile
parser/Makefile
parser/gapi-3.0.pc
parser/gapi3-parser
generator/Makefile
generator/gapi3-codegen
generator/gapi3-fixup
glib/Makefile
glib/glib-sharp-3.0.pc
glib/glib-sharp.dll.config
gio/Makefile
gio/gio-sharp-3.0.pc
gio/gio-sharp.dll.config
gio/glue/Makefile
cairo/AssemblyInfo.cs
cairo/Makefile
pango/Makefile
pango/pango-sharp.dll.config
pango/glue/Makefile
atk/Makefile
atk/atk-sharp.dll.config
atk/glue/Makefile
gdk/Makefile
gdk/gdk-sharp-3.0.pc
gdk/gdk-sharp.dll.config
gtk/Makefile
gtk/gtk-sharp-3.0.pc
gtk/gtk-sharp.dll.config
gtk/glue/Makefile
gtk/gui-thread-check/Makefile
gtk/gui-thread-check/profiler/Makefile
gtkdotnet/Makefile
gtkdotnet/gtk-dotnet.dll.config
gtkdotnet/gtk-dotnet-3.0.pc
doc/Makefile
msi/gtk-sharp-3.0.wxs
msi/Makefile
msi/unmanaged/Makefile
sample/GtkDemo/Makefile
sample/Makefile
sample/pixmaps/Makefile
sample/test/Makefile
sample/valtest/Makefile
sample/valtest/valtest.exe.config
sample/opaquetest/Makefile
sample/opaquetest/opaquetest.exe.config
sample/gio/Makefile
sample/gtk-gio/Makefile
])
if test x$platform_win32 = xyes; then
# Get rid of 'cyg' prefixes in library names
sed -e "s/\/cyg\//\/\//" libtool > libtool.new; mv libtool.new libtool; chmod 755 libtool
fi
if test "x$enable_mono_cairo" = "xyes"; then
cairo_comment="building local copy"
else
cairo_comment="using system assembly"
fi
echo "---"
echo "Configuration summary"
echo ""
echo " * Installation prefix = $prefix"
echo " * $CS compiler: $CSC $CSFLAGS"
echo ""
echo " Optional assemblies included in the build:"
echo ""
echo " * gtk-dotnet.dll: $enable_dotnet"
echo ""
echo " NOTE: if any of the above say 'no' you may install the"
echo " corresponding development packages for them, rerun"
echo " autogen.sh to include them in the build."
echo ""
echo " * Documentation build enabled: $enable_monodoc "
if test "x$enable_monodoc" = "xyes" -a "x$doc_sources_dir" != "x$prefix/lib/monodoc/sources"; then
echo " WARNING: The install prefix is different than the monodoc prefix."
echo " Monodoc will not be able to load the documentation."
fi
echo "---"
if test "x$has_mono" = "xtrue"; then
mono_prefix=`pkg-config --variable=prefix mono`
mono_prefix_canonical=`readlink -m $mono_prefix`
if test "x$mono_prefix_canonical" != "x$prefix"; then
AC_MSG_WARN(Prefix to use ($prefix) is not the same as Mono's ($mono_prefix_canonical).
Consider using ./configure --prefix=$mono_prefix_canonical
See the README for more information.
)
fi
fi