1 /*--------------------------------------------------------------------
2  *
3  *	Copyright (c) 1991-2021 by the GMT Team (https://www.generic-mapping-tools.org/team.html)
4  *	See LICENSE.TXT file for copying and redistribution conditions.
5  *
6  *	This program is free software; you can redistribute it and/or modify
7  *	it under the terms of the GNU Lesser General Public License as published by
8  *	the Free Software Foundation; version 3 or any later version.
9  *
10  *	This program is distributed in the hope that it will be useful,
11  *	but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *	GNU Lesser General Public License for more details.
14  *
15  *	Contact info: www.generic-mapping-tools.org
16  *--------------------------------------------------------------------*/
17 /*
18  * gmt_common_runpath.h contains prototypes of functions shared between GMT and PSL
19  *
20  * Author:  Florian Wobbe
21  * Date:    3-MAR-2012
22  * Version: 5
23  */
24 
25 /*!
26  * \file gmt_common_runpath.h
27  * \brief Prototypes of functions shared between GMT and PSL
28  */
29 
30 #pragma once
31 #ifndef GMT_COMMON_RUNPATH_H
32 #define GMT_COMMON_RUNPATH_H
33 
34 #ifdef __cplusplus      /* Basic C++ support */
35 extern "C" {
36 #endif
37 
38 /* CMake definitions: This must be first! */
39 #include "gmt_config.h"
40 
41 /* Declaration modifiers for DLL support (MSC et al) */
42 #include "declspec.h"
43 
44 /* Prototypes */
45 #if defined (__APPLE__)
46 #	define GMT_runtime_bindir(result, argv) gmt_runtime_bindir_osx(result)
47 	EXTERN_MSC char *gmt_runtime_bindir_osx (char *result);
48 #elif defined (_WIN32)
49 #	define GMT_runtime_bindir(result, argv) GMT_runtime_bindir_win32(result)
50 	EXTERN_MSC char *GMT_runtime_bindir_win32 (char *result);
51 #else
52 	EXTERN_MSC char *GMT_runtime_bindir (char *result, const char *candidate);
53 #endif
54 
55 EXTERN_MSC char *gmt_runtime_libdir (char *result);
56 EXTERN_MSC char *gmt_guess_sharedir (char *sharedir, const char *runpath);
57 
58 #ifdef __cplusplus
59 }
60 #endif
61 
62 #endif  /* !GMT_COMMON_RUNPATH_H */
63