diff options
Diffstat (limited to 'm4/ax_platform.m4')
-rw-r--r-- | m4/ax_platform.m4 | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/m4/ax_platform.m4 b/m4/ax_platform.m4 new file mode 100644 index 0000000..f3da57d --- /dev/null +++ b/m4/ax_platform.m4 @@ -0,0 +1,103 @@ +# =========================================================================== +# http:// +# =========================================================================== +# +# SYNOPSIS +# +# AX_PLATFORM +# +# DESCRIPTION +# +# Provide target and host defines. +# +# LICENSE +# +# Copyright (c) 2012 Brian Aker <brian@tangent.org> +# Copyleft (ↄ) 2013 Jacob Appelbaum <jacob@appelbaum.net> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 1 + AC_DEFUN([AX_PLATFORM], + [AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_CANONICAL_TARGET]) + + AC_DEFINE_UNQUOTED([HOST_VENDOR],["$host_vendor"],[Vendor of Build System]) + AC_DEFINE_UNQUOTED([HOST_OS],["$host_os"], [OS of Build System]) + AC_DEFINE_UNQUOTED([HOST_CPU],["$host_cpu"], [CPU of Build System]) + + AC_DEFINE_UNQUOTED([TARGET_VENDOR],["$target_vendor"],[Vendor of Target System]) + AC_DEFINE_UNQUOTED([TARGET_OS],["$target_os"], [OS of Target System]) + AC_DEFINE_UNQUOTED([TARGET_CPU],["$target_cpu"], [CPU of Target System]) + + AS_CASE([$target_os], + [*mingw32*], + [TARGET_OS_WINDOWS="true" + AC_DEFINE([TARGET_OS_WINDOWS], [1], [Whether we are building for Windows]) + AC_DEFINE([WINVER], [WindowsXP], [Version of Windows]) + AC_DEFINE([_WIN32_WINNT], [0x0501], [Magical number to make things work]) + AC_DEFINE([EAI_SYSTEM], [11], [Another magical number]) + AH_BOTTOM([ +#ifndef HAVE_SYS_SOCKET_H +# define SHUT_RD SD_RECEIVE +# define SHUT_WR SD_SEND +# define SHUT_RDWR SD_BOTH +#endif + ])], + [*mingw*], + [TARGET_OS_MINGW="true" + AC_DEFINE([TARGET_OS_MINGW],[1],[Whether we build for MinGW])], + [*cygwin*], + [TARGET_OS_CYGWIN="true" + AC_DEFINE([TARGET_OS_CYGWIN],[1],[Whether we build for Cygwin])], + [*haiku*], + [TARGET_OS_HAIKU="true" + AC_DEFINE([TARGET_OS_HAIKU],[1],[Whether we build for Haiku])], + [*freebsd*], + [TARGET_OS_FREEBSD="true" + AC_DEFINE([TARGET_OS_FREEBSD],[1],[Whether we are building for FreeBSD])], + [*kfreebsd*-gnu], + [TARGET_OS_GNUKFREEBSD="true" + TARGET_OS_FREEBSD="true" + AC_DEFINE([TARGET_OS_FREEBSD],[1],[Whether we are building for FreeBSD]) + AC_DEFINE([TARGET_OS_GNUKFREEBSD],[1],[Whether we are building for GNU/kFreeBSD])], + [*netbsd*], + [TARGET_OS_NETBSD="true" + AC_DEFINE([TARGET_OS_NETBSD],[1],[Whether we are building for NetBSD])], + [*openbsd*], + [TARGET_OS_OPENBSD="true" + AC_DEFINE([TARGET_OS_OPENBSD],[1],[Whether we are building for OpenBSD])], + [*dragonfly*], + [TARGET_OS_DRAGONFLYBSD="true" + AC_DEFINE([TARGET_OS_DRAGONFLYBSD],[1],[Whether we are building for DragonFly BSD])], + [*bsd*], + [TARGET_OS_BSD="true" + AC_DEFINE([TARGET_OS_BSD],[1],[Whether we are building for some other *BSD])], + [*solaris*],[AC_DEFINE([TARGET_OS_SOLARIS],[1],[Whether we are building for Solaris])], + [*darwin*], + [TARGET_OS_OSX="true" + AC_DEFINE([TARGET_OS_OSX],[1],[Whether we build for OSX])], + [*linux*], + [TARGET_OS_LINUX="true" + AC_DEFINE([TARGET_OS_LINUX],[1],[Whether we build for Linux])], + [*gnu*], + [TARGET_OS_GNUHURD="true" + AC_DEFINE([TARGET_OS_GNUHURD],[1],[Whether we build for GNU/Hurd])]) + + AM_CONDITIONAL([TARGET_WIN32],[test "x${TARGET_OS_WINDOWS}" = "xtrue"]) + AM_CONDITIONAL([TARGET_MINGW],[test "x${TARGET_OS_MINGW}" = "xtrue"]) + AM_CONDITIONAL([TARGET_CYGWIN],[test "x${TARGET_OS_CYGWIN}" = "xtrue"]) + AM_CONDITIONAL([TARGET_HAIKU],[test "x${TARGET_OS_HAIKU}" = "xtrue"]) + AM_CONDITIONAL([TARGET_OSX],[test "x${TARGET_OS_OSX}" = "xtrue"]) + AM_CONDITIONAL([TARGET_GNUHURD],[test "x${TARGET_OS_GNUHURD}" = "xtrue"]) + AM_CONDITIONAL([TARGET_LINUX],[test "x${TARGET_OS_LINUX}" = "xtrue"]) + AM_CONDITIONAL([TARGET_FREEBSD],[test "x${TARGET_OS_FREEBSD}" = "xtrue"]) + AM_CONDITIONAL([TARGET_GNUKFREEBSD],[test "x${TARGET_OS_GNUKFREEBSD}" = "xtrue"]) + AM_CONDITIONAL([TARGET_NETBSD],[test "x${TARGET_OS_NETBSD}" = "xtrue"]) + AM_CONDITIONAL([TARGET_OPENBSD],[test "x${TARGET_OS_OPENBSD}" = "xtrue"]) + AM_CONDITIONAL([TARGET_DRAGONFLYBSD],[test "x${TARGET_OS_DRAGONFLYBSD}" = "xtrue"]) + AM_CONDITIONAL([TARGET_BSD],[test "x${TARGET_OS_BSD}" = "xtrue"]) + ]) |