Commit Graph

384 Commits

Author SHA1 Message Date
Armin Novak
fbe95209e7 Readded AVRESAMPLE support as fallback. 2018-10-04 09:16:34 +02:00
Vladimir Lomov
41cc2b63cb Move from libavresample to libswresample
- The libavresample as part of FFmpeg was declared as deprecated in
    favor of libswresample on Dec 25 2017 in commit "lavr: deprecate the
    entire library"
    (c29038f304
    ;
    c29038f304).
    As major Linux distributions (RPM, DEB and Archlinux) provide now
    FFmpeg and libswresample as its part use the libswresample instead of
    libavresample.

Signed-off-by: Vladimir Lomov <vladimir@smoon7.vl-lomov.ru>
2018-10-04 08:35:04 +02:00
Armin Novak
3c7dfa0a03 Fix #2617: Removed MacPorts from CMake (default) search path. 2018-05-14 10:39:12 +02:00
David Fort
456b0e8934
Merge pull request #4453 from akallabeth/sound_channel_refactor
Sound channel refactoring
2018-05-03 11:56:58 +02:00
akallabeth
613e0be208
Merge pull request #4614 from kevans91/cmakemod
Abstract away CMake module installation setting, install differently on FreeBSD
2018-05-03 09:49:31 +02:00
Kyle Evans
824ace49ac Add SetFreeRDPCMakeInstallDir function to abstract away platform differences
Different platforms/systems may install CMake modules into different places. For
instance, FreeBSD will install modules into ${PREFIX}/share/cmake/Modules while
Linux distributions might install into ${PREFIX}/lib/cmake.

This leaves us with a useful abstraction- consumers only need to care about
the name of their subdirectory, and only one place needs to be patched to change
where this subdirectory lands.
2018-05-02 10:36:52 -05:00
Kyle Evans
92a8e28f20 Follow OpenBSD convention when installing manpages on FreeBSD
Both OS install third party man pages into ${PREFIX}/man/man${SECTION}, rather
than the convention established in the base system of share/man/man${SECTION}.
2018-05-02 09:31:19 -05:00
Armin Novak
887e94c588 Added patch from f-droid repo. (Christian Plattner) 2018-04-12 16:50:22 +02:00
Bernhard Miklautz
6383b2e33e
Merge pull request #3542 from akallabeth/thread_sanitizer
Added memory and thread sanitizer.
2018-04-11 11:01:38 +02:00
Martin Fleisz
dfd269e207 cmake: Fix finding OpenSSL 1.1.0 libs on Windows platforms 2018-04-11 10:18:46 +02:00
Armin Novak
ef6a03128a Added memory and thread sanitizer. 2018-04-06 08:27:52 +02:00
Armin Novak
4d45bd6661 Added CMake option WITH_DSP_EXPERIMENTAL
Some encoder/decoder formats are currently not really working or
have not been thouroughly tested. To allow fearless hackers
fine tuning this flag is added to easily enable/disable these formats.
2018-04-05 13:14:16 +02:00
Armin Novak
f89c1857b9 Rewrite of sound and microphone channels
The sound and microphone redirection channels (and in part TSMF)
did not properly decouple encoding/decoding from the backends used
to play/record sound.
Encapsulating encoding/decoding in rewritten freerdp_dsp_* functions
with variable backends, simplifying alsa/oss/pulse/... audio backends.
2018-04-05 13:14:16 +02:00
Armin Novak
e4cf045860 Extract version from file or git tag. 2017-11-22 11:07:05 +01:00
dodo040
60406794ce fix Kerberos flavour's detection (MIT/Heimdal) and double free for MIT<1.13 2017-11-13 16:20:56 +01:00
dodo040
b81f168f0e initial commit for kerberos support 2017-11-13 16:20:55 +01:00
Bernhard Miklautz
1aec784f75 feat: add support for .source_version
When building packages, especially when source packages are used, git is
not necessarily available or the source isn't provided in git. In those
cases it wasn't possible to set the GIT_REVISION and --version shows
"n/a" for the git revision.

If the file .source_version is available now the content of it is used
as GIT_REVISION. Packagers might want to add a .source_version file
when they don't build the packages from git.

Possible breaking change:

The variable PRODUCT_VERSION isn't available anymore. Use GIT_REVISION
instead.
2017-10-06 15:02:23 +02:00
David Fort
babeb34d88 Merge pull request #4060 from akallabeth/icu_support
Using ICU instead of custom unicode conversion.
2017-09-25 09:33:58 +02:00
Armin Novak
47feecf8d5 Added FindICU from CMake 3.7 for backward compatibility 2017-08-16 15:26:26 +02:00
Mike Gilbert
368989526c Fix gstreamer-1.0 detection 2017-07-28 16:31:41 -04:00
Armin Novak
1868acb0ac Using ICU instead of custom unicode conversion.
If WITH_ICU CMake option is set the unicode conversion routines
use ICU instead of custom conversion code.
2017-07-26 13:00:45 +02:00
Bernhard Miklautz
1a4cfa05cc Don't use an option for WITH_GFX_H264
CMAKE_DEPENDENT_OPTION the option is initialized on the first run and
then saved. Later configuration changes are not considered anymore.
Therefor use an variable instead of an option here.
2017-07-19 09:46:07 +02:00
Armin Novak
e09b6a9f84 Fixed config option. 2017-07-17 10:56:45 +02:00
Armin Novak
e3aa889e9d Disable WITH_GFX_H264 if no backend compiled in. 2017-07-17 09:32:34 +02:00
Armin Novak
5764d5a78a Disable GFX H264 if no backend compiled in. 2017-07-17 09:25:21 +02:00
Armin Novak
ec0992e938 Added pkg-config to cmake OpenH264 detection. 2017-05-10 12:35:20 +02:00
David PHAM-VAN
c7924b554d Rewrite drive channel using WinPR functions 2017-03-13 14:18:46 -07:00
Armin Novak
50cd702a15 Updated KRB5 detection, added error case handler
* Linking against KRB5 library now, no dynamic usage.
* Added proper CMake detection script for KRB5 detection
* Added some additional error conditions.
2017-02-21 10:54:34 +01:00
Armin Novak
9158fe0e3e Support old CMake versions without TIMESTAMP #3727 2017-01-31 16:53:04 +01:00
Martin Fleisz
ac12d46f27 Merge pull request #3715 from akallabeth/reproducible_build
Reproducible build
2017-01-26 11:10:17 +01:00
Armin Novak
a14892773c Added CCACHE detection and option to disable. 2017-01-25 09:05:27 +01:00
Armin Novak
00d71f6216 Use CMake TIMESTAMP, remove newline from TODAY 2017-01-24 11:12:15 +01:00
Bernhard M. Wiedemann
3606a42c52 make build reproducible
by allowing build systems to use a constant date instead of the current one
see https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable

This call is designed to work with GNU date. If BSD support is a concern, it can be added.
2017-01-23 09:52:13 +01:00
Bernhard Miklautz
14d076735e Merge pull request #3705 from akallabeth/android_openssl_1_1
Android openssl 1 1
2017-01-19 12:05:26 +01:00
Armin Novak
548927eb2e Renamed OpenSSL library
To avoid collisions with system provided OpenSSL use
a different (unique) library name for android builds.
2017-01-16 16:39:06 +01:00
Bernhard Miklautz
d817469b78 Install man pages
* man pages are only build/installed if WITH_MANPAGES is enabled
* create a new cmake function install_freerdp_man to unified install man
  pages
* install all man pages using the new function
* update the nightly packages accordingly
2017-01-16 11:34:32 +01:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Armin Novak
930045ef12 Added leak detector option, made conflicting options exclusive. 2016-10-10 09:29:09 +02:00
Armin Novak
9c64e77a84 Disabled thread local storage on iOS.
iOS does not support Thread Local Storage.
Disabling it for now until a solution is found.
Print a compiler warning informing developers about this issue.
2016-10-06 13:43:10 +02:00
Armin Novak
b719178a8f Removed obsolete DEBUG_GDI 2016-10-06 13:43:02 +02:00
Armin Novak
bc49c16c60 Removed obsolete options. 2016-10-06 13:43:02 +02:00
Armin Novak
3c8d0bbeab Added address sanitizer to options. 2016-10-06 13:43:02 +02:00
Martin Fleisz
3586e33866 Merge pull request #3435 from akallabeth/uuid_find_fix
CMake FindUUID fixes.
2016-08-25 09:00:56 +02:00
Marc-André Moreau
a04f3242a1 cmake: fix Android toolchain missing usage of CMAKE_PREFIX_PATH 2016-07-19 21:53:23 -04:00
Norbert Federa
89c25276b4 Merge pull request #3384 from akallabeth/android64_build
Android64 build fixes
2016-07-06 13:58:10 +02:00
Armin Novak
b7f8dc3d43 Fixed UUID find. 2016-06-27 10:37:24 +02:00
Norbert Federa
90cdfa7646 cmake: replaced STATIC_CHANNELS with BUILTIN_CHANNELS 2016-06-15 13:36:27 +02:00
Armin Novak
20568af6a4 Updated toolchain file, added new variable for lib64 detection. 2016-06-03 13:02:13 +02:00
Armin Novak
10460d3ebc Fixed android library detection. 2016-06-03 13:01:59 +02:00
Marc-André Moreau
915b9a15b1 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	winpr/libwinpr/bcrypt/CMakeLists.txt
2016-05-11 11:05:17 -04:00
Bernhard Miklautz
2c0e73b075 client: disable the client interface per default
libxfreerdp-client doesn't necessarily provide a stable interface
therefore it isn't built and installed anymore per default.

To archive the same behavior as before this change -
libxfreerdp-client.so built and a library version set - use
-DWITH_CLIENT_INTERFACE=ON -DCLIENT_INTERFACE_SHARED=ON
when running cmake.

This also fixes the build on windows without WITH_CLIENT_INTERFACE
enabled.
2016-05-09 12:20:38 +02:00
Bernhard Miklautz
81d30cc480 Disable comm tests per default
comm tests require a serial device for testing. If the test environment
isn't available the tests will return errors therefore the tests are
now disabled per default. They can be (re-)enabled by using the cmake
option BUILD_COMM_TESTS.
2016-05-02 16:59:25 +02:00
Bernhard Miklautz
4a9da95b0d Tests: Disable TESTS_WTSAPI_EXTRA per default
TESTS_WTSAPI_EXTRA was mistakenly always enabled if BUILD_TESTING
was enabled.
2016-04-19 12:46:54 +02:00
Marc-André Moreau
4d629a7999 freerdp: UWP porting 2016-03-29 16:03:15 -04:00
Bernhard Miklautz
5a7ac964c3 build/win32: fix DLL version information
Swap build and patch.
Now uses the format major.minor.patch.build
2016-02-29 16:00:35 +01:00
Bernhard Miklautz
541abee480 cmake/FindWayland: cleanup
* use consistent naming
* remove trailing blanks
2016-02-25 21:57:56 +01:00
David FORT
c1c43f91c7 Fixed detection of wayland libs 2016-02-23 14:09:53 +01:00
David FORT
5dcb3dfe8b Fix compilation and detection under debian/ubuntu 2016-02-23 14:09:53 +01:00
David FORT
87d6caa69a Integrate UWAC in to the FreeRDP source tree
So the wayland client can still be built without installing UWAC as a dependency.
2016-02-23 14:09:53 +01:00
David FORT
bc31c00865 Fixed detection of UWAC library 2016-02-23 14:09:53 +01:00
David FORT
ded17d9d0c Move wayland client to UWAC 2016-02-23 14:09:53 +01:00
Martin Fleisz
56a0c4c336 Merge pull request #3097 from akallabeth/android_api_upgrade_v4
Android api upgrade and restructuring
2016-02-04 16:20:59 +01:00
David PHAM-VAN
506749b93c Activate WITH_MACAUDIO flag if the build is for OS X 2016-02-02 11:58:05 -08:00
Armin Novak
61633a1c66 Fixed android build issues. 2016-02-01 15:21:07 +01:00
Bernhard Miklautz
b8136a3769 build: remove FREERDP_MONOLITHIC_BUILD
FREERDP_MONOLITHIC_BUILD was obsolete for a while and unused
2016-01-12 17:32:32 +01:00
Armin Novak
197ba27d72 Changed symbol install to OFF. 2015-12-15 17:19:58 +01:00
Armin Novak
cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Armin Novak
7b371560fc Fixed cmake_dependent_option use. 2015-11-10 14:20:02 +01:00
Armin Novak
9b7c35e122 Fixed WITH_CLIENT_CHANNELS dependencies. 2015-11-04 13:15:37 +01:00
Armin Novak
1ba4f9b67f Added WITH_CLIENT_COMMON option. 2015-11-04 09:53:13 +01:00
David FORT
9ea301983d Adds a systemd journal appender 2015-10-30 14:50:14 +01:00
Bernhard Miklautz
7aca1e0dc5 Merge pull request #2910 from dupondje/master
FindGStreamer_1_0: fix build failure for new gstreamer versions
2015-10-16 10:38:11 +02:00
Jean-Louis Dupond
bea27fd919 FindGStreamer_1_0: fix build failure for new gstreamer versions 2015-10-04 18:17:33 +02:00
Marc-André Moreau
8e3baed882 cmake: add mbed TLS detection 2015-09-15 20:52:46 -04:00
Armin Novak
4ed701bf35 media foundation support now a compile time option. 2015-08-11 07:58:43 +02:00
Marc-André Moreau
9400ccb4bc libfreerdp-codec: add x264 stubs 2015-07-28 16:01:34 -04:00
Marc-André Moreau
ddf2519f1e Merge pull request #2719 from bmiklautz/pull/2481
OSS, tsmf, usb and BSD fixes and improvements
2015-06-26 08:27:22 -04:00
Bernhard Miklautz
749d93ae39 client/android: misc updates and fixes
* increase minimum required SDK to 14
* change functions from void to BOOL where required to have proper
  return values
* update the JAVA classes and JNI accordingly
* add return value checks for *alloc and strdup
2015-06-22 19:10:00 +02:00
ivan-83
83a40a32a7 * tsmf: OSS code cleanup
+ urbdrc: add devd support (not tested)
* fix FindUUID detection ubder BSD
* wlog: fix prev commit: build error on Windows
* cmdline: add /usb syntax help
2015-05-27 22:58:41 +03:00
Marc-André Moreau
4c5ac6cfb0 cmake: add PULSE_FOUND variable to FindPulse.cmake 2015-05-20 11:27:36 -04:00
Mike Gilbert
2355b54f85 Remove the ARM_FP_ABI option
It's unclear why this option would be necessary, and it causes problems
when people do not match it to their toolchain and CFLAGS.

To set the float abi, either use a toolchain with an appropriate default
or set the float-abi option in the CFLAGS environment variable.

This should resolve #2586.
2015-05-01 17:35:21 -04:00
Armin Novak
ac15ce2da8 Added mutex debug flag.
When mutex debugging is enabled now a stack trace
is logged, if a mutex is locked on destruction.
2015-04-28 08:55:49 +02:00
Hardening
6cd7713e12 Merge pull request #2544 from bmiklautz/boolenization
change return types of callbacks to BOOL
2015-04-22 11:01:27 +02:00
Bryan Everly
8c75127a67 Necessary changes to get latest branch working on OpenBSD 5.6 2015-04-21 14:42:06 -04:00
Bernhard Miklautz
43695bc15d ios: updates to build with xcode6+
* update tool chain to use clang instead of gcc
* add compatibility function for fwrite
2015-04-21 14:16:32 +02:00
Armin Novak
de4d571208 Added openh264_dll to library name hints. 2015-03-25 10:41:40 +01:00
ivan-83
4f8f84f33b + some files for OSS, missed from prev commit 2015-03-09 09:31:27 +03:00
Andreas Bergmeier
08cd9a0a2f Added support for finding OpenSLES with CMake + Android. 2015-03-01 21:16:56 +01:00
Bernhard Miklautz
67fb97f68f wtsapi: add TestWtsApiExtra
Move wtsapi tests that only make sense when run within a session
("interactive") to TestWtsApiExtra since they either brake automated
builds or don't make sense if the return value isn't checked.

TestWtsApiExtra is not build by default but can be enabled by specifying
-DTESTS_WTSAPI_EXTRA=ON (this option is only available if BUILD_TESTING
is enabled).

The tests set the ctest label WTSAPI_EXTRA and can therefore also
be run explicitly with ctest -L WTSAPI_EXTRA.
2015-02-10 18:05:40 +01:00
Petr Sumbera
8510373b04 Fixes Solaris bus error on sparc. 2015-02-05 08:46:56 -08:00
Marc-André Moreau
8f8676a20e Merge pull request #2355 from xsumbe00/master
Fixes some build issues on Solaris 11.
2015-02-04 11:34:02 -05:00
Marc-André Moreau
261f493b04 Merge pull request #2340 from akallabeth/openssl_detection_fix
Openssl detection fix
2015-02-04 11:31:49 -05:00
Petr Sumbera
68619b660b "ar" and zero or several 'm' matches also to "sparc". Adding '^' at the begiinning seems like the safest option. 2015-02-03 13:14:40 -08:00
Bernhard Miklautz
c228860082 ringbuffer: add option to enable/disable debugging
Add option WITH_DEBUG_RINGBUFFER to enable/disable ringbuffer debugging
at compile time.

Even if it is possible to filter specific wlog tags it's not yet
possible to exclude one or more and ringbuffer adds massive debugging
output if enabled and WLOG_LEVEL is set to DEBUG.
2015-02-03 15:28:05 +01:00
Armin Novak
6229d6218e Added additional search path suffix for OpenH264. 2015-01-30 08:54:10 +01:00
Armin Novak
b5c7093477 Fixed OpenSSL version regex
Starting with OpenSSL 1.0.2 source code is reformatted.
This patch takes care of the differences in the define
spacing.
2015-01-30 08:54:10 +01:00
Bernhard Miklautz
421d5858e9 build: set minimum wayland version to 1.3.0 2015-01-21 12:33:39 +01:00
Bernhard Miklautz
9f27000518 build: improve wayland detection
* add support to check wayland client version
* set minimum required version to 0.95
2015-01-18 22:23:50 +01:00
Bernhard Miklautz
b35dc849ee build: improve X11 detection on OS X
/usr/X11R6 doesn't exist on OS X per default (anymore). Therefore add
PATHS to all X11 detection modules pointing to the Xquarz installation
directory in /opt/X11.
For FindX11 it was also necessary to ensure that the frameworks are
searched as last (after PATHS) otherwise it could happen that X11 headers
of a framework (e.g. Tk.framework) were used.
2014-12-12 17:43:14 +01:00
Marc-André Moreau
ae4a8bdc70 cmake: fix PulseAudio.cmake version detection 2014-12-04 14:06:29 -05:00