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
cb23bdd547
Don't use parts of signal.h that aren't defined when using mingw
2013-07-11 12:46:52 -04:00
e70db68fac
Add implementation for ProcessSemaphore on windows
2013-07-11 12:46:05 -04:00
8b63e005a1
Include io.h on windows for access
2013-07-11 12:44:33 -04:00
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
d7b7953705
Use pbd/resource.h in PBD::FileManager
2013-07-11 12:42:53 -04:00