diff options
Diffstat (limited to 'libtransport/includes/hicn/transport/portability/platform.h')
-rw-r--r-- | libtransport/includes/hicn/transport/portability/platform.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/libtransport/includes/hicn/transport/portability/platform.h b/libtransport/includes/hicn/transport/portability/platform.h new file mode 100644 index 000000000..282d27740 --- /dev/null +++ b/libtransport/includes/hicn/transport/portability/platform.h @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2021 Cisco and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +/* + * Extract the "MACINTOSH" flag from the compiler. + */ +#if defined(__APPLE__) +#define UNIX +#define MACINTOSH +#endif + +/* + * Extract the "SUNOS" flag from the compiler. + */ +#if defined(sun) +#define UNIX +#define SUNOS +#endif + +/* + * Extract the "LINUX" flag from compiler. + */ +#ifdef __linux__ +#define UNIX +#define LINUX +#endif + +/* + * Extract the "ANDROID" flag from compiler. + */ +#ifdef __ANDROID__ +#define UNIX +#define LINUX +#ifndef ANDROID +#define ANDROID +#endif +#endif + +/* + * Extract the "BSD" flag from compiler. + */ +#if defined(BSD) || defined(__FreeBSD__) || defined(__NetBSD__) || \ + defined(__OpenBSD__) +#define OS_BSD +#define UNIX +#endif + +/* + * Extract the "MSDOS" flag from the compiler. + */ +#ifdef __MSDOS__ +#define MSDOS +#undef UNIX +#endif + +/* + * Extract the "WINDOWS" flag from the compiler. + */ +#if defined(_Windows) || defined(__WINDOWS__) || defined(__WIN32__) || \ + defined(WIN32) || defined(__WINNT__) || defined(__NT__) || \ + defined(_WIN32) || defined(_WIN64) +#define WINDOWS +#ifdef _MSC_VER +#define MSV +#if defined(DEBUG) || defined(DEBUGTRACE) +#ifdef NDEBUG +#undef NDEBUG +#endif +#else +#ifndef NDEBUG +#define NDEBUG +#endif +#endif +#else +#undef MSV +#endif +#undef UNIX +#undef MSDOS +#endif + +/* + * Remove the WINDOWS flag when using MACINTOSH. + */ +#ifdef MACINTOSH +#undef WINDOWS +#endif + +/* + * Assume UNIX if not Windows, Macintosh or MSDOS. + */ +#if !defined(WINDOWS) && !defined(MACINTOSH) && !defined(MSDOS) +#define UNIX +#endif |