86 lines
2.1 KiB
C
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
|