Commit Graph

8409 Commits

Author SHA1 Message Date
Paul Davis
abd478d1c8 Include pthread.h in butler.h for mingw build
Jack2 on windows doesn't include pthread headers so it is necessary
to include them explicitly.
2013-07-11 15:11:22 -04:00
Paul Davis
9f7e293c3b Use Glib::usleep for portability 2013-07-11 15:10:10 -04:00
Paul Davis
01a4c3186a Use PBD::pthread_name in debug output for portability 2013-07-11 15:09:29 -04:00
Paul Davis
2b93c878d0 Disable some non-portable code that is only used for debugging 2013-07-11 15:08:47 -04:00
Paul Davis
fa2dcea820 Use jack_native_thread_t for portability
Requires future attention in AudioEngine due to timbyr's use JACK2 extension to JACK API
2013-07-11 15:08:10 -04:00
Paul Davis
a69847b671 Include pbd/localtime_r.h for mingw build 2013-07-11 15:00:56 -04:00
Paul Davis
c43ff1113d Add ::localtime_r implementation for mingw 2013-07-11 15:00:22 -04:00
Paul Davis
5d125e1eae Use PBD::pthread_name in debug output 2013-07-11 14:58:00 -04:00
Paul Davis
09e471545b remove direct of realpath(2), replace with canonical_path() which is a no-op on windows 2013-07-11 14:57:16 -04:00
Paul Davis
2ddab2d2f6 Use PBD::GlibSemaphore in Butler to signal requests on windows 2013-07-11 14:41:08 -04:00
Robin Gareus
75f0dfb4a8 fix compiler warning 2013-07-11 20:39:24 +02:00
Paul Davis
29f178aa4b Add PBD::GlibSemaphore class that uses PBD::atomic_counter etc.
PBD::Semaphore can really be used instead of this class now,
but it didn't exist when I needed this class and it is header only, which
causes some problems because windows.h is included
2013-07-11 14:38:53 -04:00
Paul Davis
57f3ba6a1f Add wrapping class for glib atomic counter 2013-07-11 14:37:27 -04:00
Paul Davis
dd55df80f0 Refactor the non-portable parts of Butler thread into new functions 2013-07-11 14:36:43 -04:00
Paul Davis
0f1ed673d0 Move request pipe setup into separate function 2013-07-11 14:35:26 -04:00
Paul Davis
6a8901eb8d Include pbd/timersub.h in session_midi.cc 2013-07-11 14:31:15 -04:00
Paul Davis
2218a70d37 Add timersub macro for platforms where it isn't defined 2013-07-11 14:30:38 -04:00
Paul Davis
b6afce39a4 Undef SearchPath where needed as it is defined via windows.h
This is pretty annoying, might even be worth renaming the class
2013-07-11 14:27:24 -04:00
Paul Davis
4d71933f5b Add cast for mingw compiler 2013-07-11 14:23:20 -04:00
Paul Davis
742753a996 Don't require liblrdf on windows
This removes dependence on liblrdf, libraptor and libxslt
2013-07-11 14:20:02 -04:00
Paul Davis
1b21eec042 Fix for ambiguity of UUID type on windows 2013-07-11 14:13:55 -04:00
Paul Davis
83ed3d7dcc Use glibmm for modules instead of dlfch.h 2013-07-11 13:58:48 -04:00
Paul Davis
058ebf98b9 Disable increasing open file limit on windows 2013-07-11 13:55:03 -04:00
Paul Davis
ef9ed302e3 Add necessary header include for int64_t type 2013-07-11 13:53:35 -04:00
Paul Davis
0e513f0469 Include header that declares ::free for mingw build 2013-07-11 13:53:12 -04:00
Paul Davis
157b0e385a Disable peakfile reading and writing on windows for now
There is no point trying to implement this until it can be tested
2013-07-11 13:52:29 -04:00
Paul Davis
27a5a589ed INFINITE is defined via windows.h so undefine it 2013-07-11 13:05:24 -04:00
Paul Davis
0c3bbd41dd Fix for mingw compiler 2013-07-11 13:04:39 -04:00
Paul Davis
350bd56a06 Fix evoral test to compile with mingw 2013-07-11 13:03:55 -04:00
Paul Davis
2b9f50ffc7 include winsock2.h on windows in libsmf for htons/l etc. 2013-07-11 13:03:24 -04:00
Paul Davis
8d1f88f87b Include unistd.h for usleep on MinGW 2013-07-11 13:01:16 -04:00
Paul Davis
ab8918fa73 Changes to get IPMIDIPort to compile(but not functional) on MinGW 2013-07-11 13:00:42 -04:00
Paul Davis
8a9cdd04c5 Include pthread.h as it isn't included via jack headers on windows 2013-07-11 12:58:44 -04:00
Paul Davis
4adb2f97cc Use timeout source to process ui requests on windows
Using a timeout source to process ui events/requests is suboptimal
but it works for the moment. Have to use g_source functions as glibmm
functions are not thread safe AFAIK.

Behaviour should be exactly the same on unix.
2013-07-11 12:56:35 -04:00
Paul Davis
7626cd68ac Hide UI request mechanism from inheriting classes 2013-07-11 12:52:46 -04:00
Paul Davis
5d20b3e24e Ifdef unix specific test for mingw build 2013-07-11 12:47:56 -04:00
Paul Davis
cb23bdd547 Don't use parts of signal.h that aren't defined when using mingw 2013-07-11 12:46:52 -04:00
Paul Davis
e70db68fac Add implementation for ProcessSemaphore on windows 2013-07-11 12:46:05 -04:00
Paul Davis
8b63e005a1 Include io.h on windows for access 2013-07-11 12:44:33 -04:00
Paul Davis
daf570ea5d Add an empty implementation of PBD::mountpoint for mingw
PBD::mountpoint is only used to find peakfiles for old sessions, so it might
not be necessary to implement this for windows.
2013-07-11 12:43:55 -04:00
Paul Davis
d7b7953705 Use pbd/resource.h in PBD::FileManager 2013-07-11 12:42:53 -04:00
Paul Davis
4eff7b4e82 Add pbd/resource.h for portable access to resource limits 2013-07-11 12:41:55 -04:00
Paul Davis
38ebf63961 Fallback to gettimeofday for access time in FileManager 2013-07-11 12:39:24 -04:00
Paul Davis
acc13d37a7 Use boost::tokenizer in PBD::parse_debug_options for portability 2013-07-11 12:36:16 -04:00
Paul Davis
36a55b8674 Use boost::uuid instead of libuuid 2013-07-11 12:30:32 -04:00
Paul Davis
62cfd6a752 Only call configure in surface subdirectories if the required deps are available
I think these checks should probably be in the surface build files so they
are self contained...
2013-07-11 12:23:05 -04:00
Paul Davis
5162181767 Fix some usage of non-standard types for portability 2013-07-11 12:05:37 -04:00
Paul Davis
b9fa882c56 Use PBD::pthread_name in debug output instead of pthread_self 2013-07-11 12:01:17 -04:00
Paul Davis
1fad4714e3 Use PBD::pthread_name in debug output for portability 2013-07-11 11:53:24 -04:00
Paul Davis
2048f766e9 Use pthread_equal in libmidi++ for portability 2013-07-11 11:51:59 -04:00