13
0
Commit Graph

656 Commits

Author SHA1 Message Date
dfec88e1a3 add proper namespace to PBD::demangle for systems without execinfo 2013-12-29 13:59:37 -05:00
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
b1231696ca Mingw64 has pthread_t available, and does not need a thread ID comparison function 2013-12-19 13:04:04 -05:00
dc60753dde Use correct header include for _fullpath
According to http://msdn.microsoft.com/en-us/library/506720ff(v=vs.120).aspx
2013-12-07 20:48:02 +10:00
a7961f04cf fix error in mingw version of realpath() 2013-12-05 17:43:15 -05:00
ef2c1ff92f add (likely, partial) windows implementation of POSIX realpath() for COMPILER_MINGW where the latter is not available, to the only place realpath() is used 2013-12-05 17:40:21 -05:00
e0cc10540d extra source no longer required 2013-12-05 17:24:39 -05:00
bab60c2e8c we don't use realpath() anymore so there is need for a special mingw include 2013-12-05 17:23:18 -05:00
c0e5506994 we don't use realpath() anymore so there is need for a special mingw include 2013-12-05 17:21:50 -05:00
8970446d7e additional source file for mingw build 2013-12-05 14:48:45 -05:00
597c9c9b25 make mingw-based pthread comparison function work with both 32 and 64 bit variants of mingw 2013-12-05 14:46:40 -05:00
b7835cd7b1 workaround compilation issues with assembler in fpu code and mingw 2013-12-05 14:45:17 -05:00
3a885d6177 Only use __declspec(dllimport/dllexport) for MSVC compiler
Use the gcc visibility attributes when building with the MinGW compiler(gcc).
GCC also supports the __declspec syntax but it will not compile at the moment
until the issues(which may not even be exactly the same issues as with MSVC)
are resolved.
2013-12-05 21:11:18 +10:00
6bd36896e7 'libs/pbd' - DLL visibility stuff and associated changes needed for building with MSVC. Currently includes debugging information and things that are just commented out until we have known compatibility with the other platforms (i.e. contains stuff to be removed at a later date) 2013-12-01 14:26:08 +00:00
0cca272431 try to fix various warnings from gcc when optimization flags are enabled 2013-11-04 21:32:41 -05:00
f85c67501c reverse the visibility.h files assumptions that we don't build shared libs by default
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.

Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
b855e5f322 Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/wscript
	libs/ardour/ardour/audioregion.h
	libs/ardour/ardour/debug.h
	libs/ardour/ardour/directory_names.h
	libs/ardour/ardour/filesystem_paths.h
	libs/ardour/ardour/session_event.h
	libs/gtkmm2ext/gtkmm2ext/utils.h
	libs/panners/1in2out/wscript
	libs/panners/2in2out/wscript
	libs/panners/vbap/wscript
	libs/pbd/pbd/debug.h
	libs/pbd/pbd/file_utils.h
	libs/pbd/pbd/pathexpand.h
	libs/pbd/pbd/ringbuffer.h
	libs/pbd/pbd/ringbufferNPT.h
	libs/pbd/pbd/search_path.h
	libs/pbd/pbd/stacktrace.h
	libs/pbd/pbd/uuid.h
	libs/pbd/pbd/uuid_boost.h
	libs/surfaces/control_protocol/control_protocol/basic_ui.h
	libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
2fab8182cc add -fvisibility=hidden to libgtkmm2ext, and make things work 2013-10-17 14:36:41 -04:00
2eabeebdc5 add -fvisibility=hidden to libpbd, and make things work 2013-10-17 13:51:02 -04:00
f3d2ca0d9a get everything compiling with libardour built using -fvisibility=hidden 2013-10-17 12:41:28 -04:00
24d2b5ec92 add export visibility macros across libardour 2013-10-17 10:02:11 -04:00
c5115c9a3c add export visibility control to libpbd (works thus far on linux/gcc) 2013-10-16 23:30:28 -04:00
e5888d3983 merge with master and fix 2 conflicts 2013-10-16 22:06:56 -04:00
97c68cc2b1 Merge branch 'windows' into windows+cc
Conflicts (hopefully resolved):
	libs/pbd/stacktrace.cc
2013-10-15 17:38:08 +01:00
69a8fc43e2 Merge branch 'master' into windows 2013-10-15 11:17:12 -04:00
8a76441b0f re-fix typo in PBD::demangle() for systems without execinfo.h 2013-10-15 10:52:29 -04:00
a29b83c124 fix namespace issue with demangle on systems without execinfo.h 2013-10-15 10:41:42 -04:00
89738cc3c2 fix typo in PBD::demangle() for systems without execinfo.h 2013-10-15 10:33:03 -04:00
e466ce40ad Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/ardour_ui.cc
2013-10-14 19:31:22 +01:00
4fac237fdc 'PBD::demangle()' - Minor modification to keep MSVC happy 2013-10-14 17:40:15 +01:00
b5f36f5788 fix up parsing of send gain MIDI bindings so that they actually work 2013-10-10 16:16:59 -04:00
2a6a16f980 merge with master, fixing conflicts in 3 wscript files 2013-10-09 14:00:42 -04:00
300b484cf6 Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/ardour_ui.cc
	gtk2_ardour/ardour_ui.h
	gtk2_ardour/ardour_ui_options.cc
2013-10-06 11:56:03 +01:00
3aee160b19 provide PBD::demangle() even on platforms without HAVE_EXECINFO 2013-10-04 12:22:00 -04:00
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
7a30e63eaa fix merge conflicts with master 2013-09-14 16:42:40 -04:00
8ddd12a60d Rename SearchPath class Searchpath
Windows headers define SearchPath which means we have to undefine it
where necessary. This is a pain and can be tricksy, so I feel renaming
the class slightly is the easiest solution.
2013-09-06 14:31:11 +10:00
060c56cc3f Minor tweaks to MSVC build (hopefully of little consequence) 2013-08-26 17:50:17 +01:00
ee1b49f87e fix merge conflicts from master 2013-08-24 12:18:06 -04:00
04bf9d1e95 fix newly-appearing crash-at-close caused by muddled thinking in pbd/pthread_utils
threads created with this code can now just return a value as they normally would, and the
infrastructure will ensure cleanup. there is no longer any reason to call pthread_exit_pbd()
and so that has been removed.
2013-08-15 11:44:47 -04:00
e6521bb043 Merge branch 'master' into cairocanvas 2013-08-14 13:11:34 -04:00
63745512bc Call setup_libpbd_enums in PBD::init for portability 2013-08-13 20:15:47 +10:00
1db894f886 Call Gio::init from PBD::init instead of ARDOUR::init
PBD needs Gio for PBD::copy_file and perhaps others
2013-08-13 20:15:47 +10:00
29193c76cc Add PBD::init and PBD::cleanup
A bit of refactoring to move initialization of libpbd into libpbd
rather than rely on "client" code(ui,libardour,tests etc) to do it
2013-08-13 20:15:47 +10:00
Michael Fisher
71e2fbbcff Resolve duplicate symbol 'cocoa_open_uri' on OSX builds.
cocoa_open_uri.mm was being added to the source list
twice and also compiling twice. This patch enusres it is
only added once.
2013-08-08 15:26:19 -04:00
Michael Fisher
9afb71eb5a Stop compiler warning about NSURL 2013-08-08 15:26:18 -04:00
Michael Fisher
bfbc55a673 Proper OSX/CLANG/CXX11 support in stl_delete.h
- replaces fix in 066df0d218
- Check if _LIBCPP_VECTOR is defined for vector_delete.
  This is defined in libc++'s headers which Apple is using
  instead of libstdc++
2013-08-08 15:26:17 -04:00
59a3b797d7 fix compiler warnings. 2013-08-08 15:26:16 -04:00
Michael R. Fisher
ea08feec48 Temporary OSX/Clang/C++11 workaround
- Adds a directive that includes <vector> upon specific conditions
- WIP
2013-08-08 15:23:10 -04:00
daad42dd6c Revert "Remove non-portable and unnused header includes"
This reverts commit 7ef79d3f4b.
2013-08-08 15:23:08 -04:00
cebd189239 Remove non-portable and unnused header includes 2013-08-08 15:23:08 -04:00
8c28b3ad07 add new files from test changes by timbyr 2013-08-08 15:23:08 -04:00
20311ed2f3 Use test_search_path to find test data in xpath test 2013-08-08 15:23:08 -04:00
cdaa32d2c6 Add test_search_path function in PBD testsuite 2013-08-08 15:23:08 -04:00
490311bc08 'libs/ardour' - Main body of changes required for building with MSVC 2013-08-04 15:36:07 +01:00
fa59391f6a 'libs/ardour' - Use 'const_iterator' where appropriate (required to be buildable with MSVC) 2013-08-04 15:06:10 +01:00
aaabaf5d3c Merge branch 'master' into windows 2013-08-02 12:51:24 -04:00
Michael Fisher
71c26e2820 Resolve duplicate symbol 'cocoa_open_uri' on OSX builds.
cocoa_open_uri.mm was being added to the source list
twice and also compiling twice. This patch enusres it is
only added once.
2013-08-02 12:01:47 -04:00
Michael Fisher
d882b03f7d Stop compiler warning about NSURL 2013-08-02 08:59:32 -05:00
6a436fd826 fix merge conflict from master 2013-07-31 20:11:15 -04:00
98c6ca5abc Merge branch 'windows' of git.ardour.org:ardour/ardour into windows 2013-07-31 15:09:50 +01:00
Michael Fisher
a8456b3766 Proper OSX/CLANG/CXX11 support in stl_delete.h
- replaces fix in 066df0d218
- Check if _LIBCPP_VECTOR is defined for vector_delete.
  This is defined in libc++'s headers which Apple is using
  instead of libstdc++
2013-07-29 14:43:11 -05:00
cd28d62b26 fix compiler warnings. 2013-07-28 20:32:52 +02:00
338f53e69a Further changes to msvc/pbd (mostly to add support for getopt and getopt_long) 2013-07-24 17:46:25 +01:00
7f882b5a92 Correct a typo in 'msvc_pbd.h' 2013-07-24 10:22:16 +01:00
b02fb1dbea Reinstate include of regex.h for Linux and MinGW build
I'm not sure how boost/regex.h is relevant but it doesn't enable the
build to succeed in on Linux or using Mingw so if this is not an error
and required for msvc build then fix it
2013-07-22 13:42:05 +10:00
9d774969fc Adapt libs/pbd/ffs.cc to be buildable with MSVC 2013-07-18 12:08:34 +01:00
57e53d577b break symbol name cycle on non-win32-non-gcc platforms 2013-07-17 13:50:04 -04:00
5f15bc9f9f Merge branch 'windows' of git.ardour.org:ardour/ardour into windows 2013-07-17 18:15:51 +01:00
110972e59a JOHNE source files (needed for building libpbd with MSVC) 2013-07-17 14:53:17 +01:00
650964f320 Merge branch 'master' into windows 2013-07-17 08:05:59 -04:00
5f2fcb2e32 Add PBD::ffs function 2013-07-17 19:29:34 +10:00
11335e4bf0 Allow PBD::canonical_path to compile with mingw build 2013-07-17 19:07:23 +10:00
57f9a4c344 Merge branch 'windows' of git://git.ardour.org/ardour/ardour into windows 2013-07-17 08:24:36 +01:00
350ed31655 Remaining changes needed for building libpdb on Windows (except for adding the extra JE source modules) 2013-07-17 08:08:46 +01:00
105652ad09 Accommodate 'pthread-win32' and 'boost/regex' (for libpbd) 2013-07-17 08:06:26 +01:00
c7306f5732 Other (Windows specific) includes for libpbd 2013-07-17 07:38:20 +01:00
e257b79ecd 'libs/pbd/file_utils.cc' didn't apply cleanly for some reason 2013-07-16 19:13:18 +01:00
7b480eaa27 Windows (compiler specific) includes for libpbd 2013-07-16 18:00:49 +01:00
Michael R. Fisher
066df0d218 Temporary OSX/Clang/C++11 workaround
- Adds a directive that includes <vector> upon specific conditions
- WIP
2013-07-15 22:57:35 -05:00
15be154515 use g_unlink() rather than unlink() universally, requires <glib/gstdio.h> in several files 2013-07-15 14:29:00 -04:00
00ae5492f4 (reapply with fixes) Build system changes to support mingw build target 2013-07-15 13:43:17 -04:00
96ea407d1a Revert "Build system changes to support mingw build target"
This reverts commit 94145732f3.
2013-07-15 13:21:22 -04:00
94145732f3 Build system changes to support mingw build target 2013-07-15 13:16:09 -04:00
020ca43ed0 add and Update mutex test that is no longer necessary now that glib has been fixed 2013-07-15 12:53:16 -04:00
f08d9591e6 Fix reading and writing of files on windows in PBD::FileManager 2013-07-15 07:55:36 -04:00
5131b8300f Use g_open instead of ::open in PBD::FileManager
g_open is a macro that evaluates to ::open on linux(and mac) so this
is only a change for windows.
2013-07-15 07:54:29 -04:00
e8ecd32732 Add test for Glib::Mutex::trylock
Behaviour of this method is different on WIN32
2013-07-13 17:00:18 -04:00
ccdc6fcd6a Add DEBUG_TRACE output to file utility functions in libpbd 2013-07-13 16:55:40 -04:00
550eeecc63 Add header include required by mingw compiler 2013-07-13 16:44:59 -04:00
ad89d1e031 Use custom comparator in threadmap for pthread impl with mingw 2013-07-13 08:44:58 -04:00
c43ff1113d Add ::localtime_r implementation for mingw 2013-07-11 15:00:22 -04:00
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
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
57f3ba6a1f Add wrapping class for glib atomic counter 2013-07-11 14:37:27 -04:00
2218a70d37 Add timersub macro for platforms where it isn't defined 2013-07-11 14:30:38 -04:00
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
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
7626cd68ac Hide UI request mechanism from inheriting classes 2013-07-11 12:52:46 -04:00
5d20b3e24e Ifdef unix specific test for mingw build 2013-07-11 12:47:56 -04:00