Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/libarchive/cat/bsdcat_platform.h
39482 views
1
/*-
2
* SPDX-License-Identifier: BSD-2-Clause
3
*
4
* Copyright (c) 2003-2007 Tim Kientzle
5
* All rights reserved.
6
*/
7
8
/*
9
* This header is the first thing included in any of the bsdtar
10
* source files. As far as possible, platform-specific issues should
11
* be dealt with here and not within individual source files.
12
*/
13
14
#ifndef BSDCAT_PLATFORM_H_INCLUDED
15
#define BSDCAT_PLATFORM_H_INCLUDED
16
17
#if defined(PLATFORM_CONFIG_H)
18
/* Use hand-built config.h in environments that need it. */
19
#include PLATFORM_CONFIG_H
20
#else
21
/* Not having a config.h of some sort is a serious problem. */
22
#include "config.h"
23
#endif
24
25
#ifdef HAVE_LIBARCHIVE
26
/* If we're using the platform libarchive, include system headers. */
27
#include <archive.h>
28
#include <archive_entry.h>
29
#else
30
/* Otherwise, include user headers. */
31
#include "archive.h"
32
#include "archive_entry.h"
33
#endif
34
35
/* How to mark functions that don't return. */
36
/* This facilitates use of some newer static code analysis tools. */
37
#undef __LA_NORETURN
38
#if defined(__GNUC__) && (__GNUC__ > 2 || \
39
(__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
40
#define __LA_NORETURN __attribute__((__noreturn__))
41
#elif defined(_MSC_VER)
42
#define __LA_NORETURN __declspec(noreturn)
43
#else
44
#define __LA_NORETURN
45
#endif
46
47
#endif /* !BSDCAT_PLATFORM_H_INCLUDED */
48
49