Some preliminary changes needed to support building with VS2019
(these get me about as far as 'libardour' )
This commit is contained in:
parent
24e0391679
commit
b496a71d2e
@ -58,7 +58,7 @@
|
||||
using Temporal::max_samplepos;
|
||||
using Temporal::max_samplecnt;
|
||||
|
||||
#if __GNUC__ < 3
|
||||
#if defined (__GNUC__) && (__GNUC__ < 3)
|
||||
typedef int intptr_t;
|
||||
#endif
|
||||
|
||||
|
@ -17,6 +17,8 @@
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifdef FPU_AVX_FMA_SUPPORT
|
||||
|
||||
#include "ardour/mix.h"
|
||||
|
||||
#include <immintrin.h>
|
||||
@ -135,3 +137,5 @@ x86_fma_mix_buffers_with_gain(
|
||||
}
|
||||
} while (0);
|
||||
}
|
||||
|
||||
#endif // FPU_AVX_FMA_SUPPORT
|
||||
|
@ -753,7 +753,7 @@ bool bValidPath = false;
|
||||
#if (_WIN32_WINNT >= 0x0500)
|
||||
if (0 == strRootFileSystemType.compare("NTFS"))
|
||||
{
|
||||
if (TestForMinimumSpecOS()) // Hard links were only available from Win2K onwards
|
||||
if (TestForMinimumSpecOS(NULL)) // Hard links were only available from Win2K onwards
|
||||
if (0 == CreateHardLinkA(link_filepath, existing_filepath, NULL))
|
||||
{ // Note that the above API call cannot create a link to a directory, so
|
||||
// should we also be checking that the supplied path was actually a file?
|
||||
@ -882,7 +882,7 @@ bool bValidPath = false;
|
||||
std::transform(strRootFileSystemType.begin(), strRootFileSystemType.end(), strRootFileSystemType.begin(), ::toupper);
|
||||
#if (_WIN32_WINNT >= 0x0500)
|
||||
if (0 == strRootFileSystemType.compare("NTFS"))
|
||||
if (TestForMinimumSpecOS()) // Hard links were only available from Win2K onwards
|
||||
if (TestForMinimumSpecOS(NULL)) // Hard links were only available from Win2K onwards
|
||||
if (0 == DeleteFileA(link_filepath))
|
||||
ret = GetLastError();
|
||||
else
|
||||
|
@ -217,18 +217,22 @@ LIBPBD_API double PBD_APICALLTYPE trunc(double x);
|
||||
|
||||
namespace PBD {
|
||||
|
||||
LIBPBD_API bool PBD_APICALLTYPE TestForMinimumSpecOS(char *revision="currently ignored");
|
||||
LIBPBD_API char* PBD_APICALLTYPE realpath (const char *original_path, char resolved_path[_MAX_PATH+1]);
|
||||
LIBPBD_API int PBD_APICALLTYPE mkstemp (char *template_name);
|
||||
LIBPBD_API int PBD_APICALLTYPE ntfs_link (const char *existing_filepath, const char *link_filepath);
|
||||
LIBPBD_API int PBD_APICALLTYPE ntfs_unlink (const char *link_filepath);
|
||||
|
||||
// These are used to replicate 'dirent.h' functionality
|
||||
LIBPBD_API DIR* PBD_APICALLTYPE opendir (const char *szPath);
|
||||
LIBPBD_API struct dirent* PBD_APICALLTYPE readdir (DIR *pDir);
|
||||
LIBPBD_API int PBD_APICALLTYPE closedir (DIR *pDir);
|
||||
|
||||
} // namespace PBD
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1900)
|
||||
LIBPBD_API char* PBD_APICALLTYPE realpath (const char *original_path, char resolved_path[_MAX_PATH+1]);
|
||||
LIBPBD_API int PBD_APICALLTYPE mkstemp (char *template_name);
|
||||
|
||||
// JE - 30-01-2021 (AFAICT these ones aren't needed any more)
|
||||
LIBPBD_API bool PBD_APICALLTYPE TestForMinimumSpecOS(char *revision="currently ignored");
|
||||
LIBPBD_API int PBD_APICALLTYPE ntfs_link (const char *existing_filepath, const char *link_filepath);
|
||||
LIBPBD_API int PBD_APICALLTYPE ntfs_unlink (const char *link_filepath);
|
||||
#endif
|
||||
|
||||
} // namespace PBD */
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
@ -36,7 +36,7 @@
|
||||
*/
|
||||
#ifndef __FLOAT_CAST_H__ // Added by JE - 30-11-2009
|
||||
#define __FLOAT_CAST_H__
|
||||
#if (defined (WIN32) || defined (_WIN32))
|
||||
#if defined (WIN32) || defined (_WIN32)
|
||||
|
||||
#include <math.h>
|
||||
|
||||
|
@ -47,12 +47,6 @@
|
||||
#include <glib.h>
|
||||
#include <ardourext/float_cast.h>
|
||||
|
||||
// 'std::isnan()' is not available in MSVC. Assume '_isnan(double)'
|
||||
#define isnan(val) _isnan((double)val)
|
||||
|
||||
// 'std::isinf()' is not available in MSVC. Assume '!_finite(double)'
|
||||
#define isinf(val) !_finite((double)val)
|
||||
|
||||
// 'INFINITY' is not defined in MSVC. Assume 'HUGE_VAL'
|
||||
#ifndef INFINITY
|
||||
#define INFINITY HUGE_VAL
|
||||
@ -69,6 +63,8 @@
|
||||
#define X_OK 1
|
||||
|
||||
// Miscellaneous #defines
|
||||
// JE - (these ones believed to be no longer needed from VS2015 onward)
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1900)
|
||||
#define __attribute__(x)
|
||||
#define llabs _abs64
|
||||
#define atoll _atoi64
|
||||
@ -76,9 +72,10 @@
|
||||
#define getcwd _getcwd
|
||||
#define getpid _getpid
|
||||
#define snprintf _snprintf
|
||||
#define random rand
|
||||
#define link ntfs_link
|
||||
#define unlink ntfs_unlink
|
||||
#endif
|
||||
#define random rand
|
||||
#define strcasecmp stricmp
|
||||
#define strncasecmp strnicmp
|
||||
#define strtok_r( _s, _sep, _lasts ) \
|
||||
@ -217,10 +214,17 @@ inline int64_t abs(int64_t val) throw()
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// fmin() and fmax()
|
||||
// fmin() and fmax() etc.
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1900)
|
||||
#define fmin(a, b) __min((double)a, (double)b)
|
||||
#define fmax(a, b) __max((double)a, (double)b)
|
||||
|
||||
// 'std::isnan()' is not available in early versions of MSVC. Assume '_isnan(double)'
|
||||
#define isnan(val) _isnan((double)val)
|
||||
|
||||
// 'std::isinf()' is not available in early versions of MSVC. Assume '!_finite(double)'
|
||||
#define isinf(val) !_finite((double)val)
|
||||
|
||||
#endif
|
||||
|
||||
// approximate POSIX pipe()
|
||||
|
Loading…
Reference in New Issue
Block a user