historical/toontown-classic.git/panda/include/dtool_platform.h
2024-01-16 11:20:27 -06:00

86 lines
2.1 KiB
C

/**
* PANDA 3D SOFTWARE
* Copyright (c) Carnegie Mellon University. All rights reserved.
*
* All use of this software is subject to the terms of the revised BSD
* license. You should have received a copy of this license along
* with this source code in a file named "LICENSE."
*
* @file dtool_platform.h
* @author drose
* @date 2009-08-03
*/
#ifndef DTOOL_PLATFORM_H
#define DTOOL_PLATFORM_H
/* This file defines the macro DTOOL_PLATFORM, which is used in
PandaSystem and a few other places to report the current platform
string. In practice, this string is primarily useful for the
packaged runtime system. */
#include "dtool_config.h"
#if defined(DTOOL_PLATFORM)
// This has already been defined explicitly by the Config.pp file.
#elif defined(_WIN64)
#define DTOOL_PLATFORM "win_amd64"
#elif defined(_WIN32)
#define DTOOL_PLATFORM "win_i386"
#elif defined(__APPLE__)
#if defined(BUILD_IPHONE)
#define DTOOL_PLATFORM "iphone"
#elif defined(__ppc__)
#define DTOOL_PLATFORM "osx_ppc"
#elif defined(__i386__)
#define DTOOL_PLATFORM "osx_i386"
#elif defined(__x86_64)
#define DTOOL_PLATFORM "osx_amd64"
#endif
#elif defined(__FreeBSD__)
#if defined(__x86_64)
#define DTOOL_PLATFORM "freebsd_amd64"
#elif defined(__i386__)
#define DTOOL_PLATFORM "freebsd_i386"
#endif
#elif defined(__ANDROID__)
#if defined(__ARM_ARCH_7A__)
#define DTOOL_PLATFORM "android_armv7a"
#elif defined(__aarch64__)
#define DTOOL_PLATFORM "android_aarch64"
#elif defined(__arm__)
#define DTOOL_PLATFORM "android_arm"
#elif defined(__mips__)
#define DTOOL_PLATFORM "android_mips"
#elif defined(__x86_64)
#define DTOOL_PLATFORM "android_amd64"
#elif defined(__i386__)
#define DTOOL_PLATFORM "android_i386"
#endif
#elif defined(__aarch64__)
#define DTOOL_PLATFORM "linux_aarch64"
#elif defined(__x86_64)
#define DTOOL_PLATFORM "linux_amd64"
#elif defined(__i386)
#define DTOOL_PLATFORM "linux_i386"
#elif defined(__arm__)
#define DTOOL_PLATFORM "linux_arm"
#elif defined(__ppc__)
#define DTOOL_PLATFORM "linux_ppc"
#endif
#if !defined(DTOOL_PLATFORM) && !defined(CPPPARSER)
#error "Can't determine platform; please define DTOOL_PLATFORM in Config.pp file."
#endif
#endif