Commit Graph

447 Commits

Author SHA1 Message Date
Kevin Sapper
e293b0b9b3 Problem: Setting TOOLCHAIN env vars should be done by helper
Solution: Migrate the properties and the selection for the correct env
and abi to the helper. There's no need for the user to specify them.
2020-02-12 21:36:41 +01:00
Kevin Sapper
511d39c179 Problem: Unable to overwrite the ANDROID_BUILD_DIR
Solution: Use pwd only a default value
2020-02-12 16:20:27 +01:00
Kevin Sapper
341f56ccac Problem: Android build is hard to understand
Solution: Modify the build scripts so the user can specify the platform
for which to build, e.g. `./build.sh arm`. This approach originally
significantly reduces the parameters which have to be set before running
the script.

Further the build process is documented in a README now.
2020-02-12 12:22:27 +01:00
Luca Boccassi
a7b328a79a Revert "Problem: nuget internal metadata not maintained, no relicense"
Relicense grant received.

This reverts commit d2a8be8da7.
2020-02-03 16:23:38 +01:00
Luca Boccassi
d2a8be8da7 Problem: nuget internal metadata not maintained, no relicense
Solution: remove it for now
2020-02-03 13:40:42 +01:00
Luca Boccassi
068385c951 Problem: internal reimplementation of strlcpy used by default on Linux
Solution: use libbsd by default when available, and the internal implementation
only as a fallback, to take advantage of Linux distros maintenance of the
string libraries.
2019-12-28 16:21:06 +01:00
Simon Giesecke
334e837b88 Problem: ws_engine uses unsafe strcpy
Solution: use strcpy_s instead (define custom if not available)
2019-12-25 13:56:26 +01:00
Stephan Senkbeil
8089529148 Problem: ZMQ_HAVE_PTHREAD_SET_AFFINITY not set correctly
Solution: Set correct define in CMake check and add the cmakedefine
2019-12-13 14:42:45 +01:00
Simon Giesecke
18edd28955 Problem: clang version used for analysis is outdated
Solution: update to clang 8
2019-12-08 15:24:48 +01:00
Luca Boccassi
bfa8cf3089 Problem: test_pair_tcp_cap_net_admin requires sudo but is enabled by default in CMake
Solution: add an option to enable it, and default to false. Enable it in
the CI so we don't lose coverage, as it works on Travis.

Fixes #3725
2019-10-31 09:37:22 +00:00
Simon Giesecke
66d0f3511f Problem: ipc transport not supported under Windows
Solution: implement support
2019-10-29 23:04:54 +01:00
Benjamin Deroche
c995032595 Fix android build fail check when using a different locale than english 2019-10-28 16:48:54 +01:00
Benjamin Deroche
0d0899bc0d Download the NDK only the first time 2019-10-28 16:48:54 +01:00
Benjamin Deroche
7ee36a177a Make sure the new file erase the old one and don't get a different name 2019-10-28 16:03:22 +01:00
Benjamin Deroche
947893e79f Keep the unzip quiet but make sure it doesn't fail silently 2019-10-28 16:02:57 +01:00
Benjamin Deroche
d2099b7593 Problem: Android build script is severely outdated
Solution: Migrate build scripts from Android NDK r11c to r20.
- Standalone toolchain
- Migration from GCC to Clang
- Migration from libgnustl to libc++
- Dropped support for API level below 16 (Android 4.1), previously it was API level 9 (Android 2.3)
- Dropped support for mips architecture
- The build script now start the build of all 4 Android architectures (arm, arm64, x86, x86_64)
2019-10-25 23:07:04 +02:00
somdoron
7296fb5b15 problem: unsecured websocket is rarely used in production
Solution: support websocket with tls (wss)
2019-10-02 08:58:26 +03:00
somdoron
9be8334938 problem: sha1 external module conflict with czmq
Solution: allow to use external library (nss) for sha1 to avoid the conflict
2019-09-11 15:01:28 +03:00
Christopher Hall
ba679bcce8 problem: configure for DragonFly need FreeBSD also defined
solution: on DragonFly also define ZMQ_HAVE_FREEBSD
          in addition to ZMQ_HAVe_DRAGONFLY

Signed-off-by: Christopher Hall <hsw@ms2.hinet.net>
2019-08-06 12:11:00 +08:00
Luca Boccassi
77cd206100 Problem: errors do not fail ABI CI test
Solution: set -e in ci_build.sh like in other scripts
2019-07-10 17:08:29 +01:00
myd7349
bb3fa9c048
Problem: Missing ZeroMQ_INCLUDE_DIR when only static lib is built 2019-07-09 13:50:24 +08:00
Simon Giesecke
8996912cad Problem: generated ZeroMQConfig.cmake does not work when only static or shared library was built
Solution: check for availability of shared/static libzmq targets
2019-05-08 05:19:39 -04:00
Simon Giesecke
9e4b6632c2 Problem: misspelled ar program name
Solution: fix spelling
2019-05-07 10:37:47 -04:00
Iwan Paolucci
c65fa0a34d Problem: QNX crosscompiler needs additional parameters to chosse the correct platform
Solution: Use a toolchain file for QNX x86
2019-04-18 13:41:32 +02:00
Jacques Germishuys
b26542bbfc Problem: strnlen may not be available
Solution: Provide an implementation
2019-03-18 11:37:53 +00:00
Simon Giesecke
36d265ee7d Problem: redundant parentheses in return statements
Solution: remove them
2019-03-01 05:46:10 -05:00
Simon Giesecke
120edd9809 Problem: selection of condition_variable_t implementation is confusing and not configurable
Solution: move configuration to build definition
2019-02-12 03:47:26 -05:00
Luca Boccassi
f9b0945c1b Problem: have to check ABI compatibility manually
Solution: automate it on Travis
2019-01-20 16:38:17 +00:00
Luca Boccassi
4a0c83fb12 Problem: yqueue false sharing issues on PPC64
Solution: detect cacheline size for aligment purposes at build time
instead of hard-coding it, so that PPC and S390 can align to a value
greater than the 64 bytes default.
Uses libc getconf program, and falls back to the previous value of 64
if not found.
2019-01-19 20:08:14 +00:00
Luca Boccassi
7f34ca52c8 Problem: Android helper does not redirect pkg-config
Solution: set the appropriate options, environment variables and paths
so that the host pkg-config files are ignored, and the target ones are
used instead (if any)
2018-12-17 13:58:04 +00:00
Luca Boccassi
28d5ce3dfa Problem: pkg-config file cannot be used for static linking
Solution: use requires.private, which pkg-config expands recursively
so that dependencies of dependencies can be linked against when
using pkg-config --static
2018-12-15 00:44:00 +00:00
Jean-Christophe Fillion-Robin
b1d4955065
cmake: Streamline integration allowing config of CMAKE_*_OUTPUT_DIRECTORY
Setting EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH variables is deprecated
2018-07-24 18:22:45 -04:00
jdavidberger
3b26c7f8e1
Switched android platform check to official form
See https://markmail.org/message/5ekhfztchs45lz3n#query:+page:1+mid:jfqgzrmwm37uyrt6+state:results
2018-07-18 12:14:33 -06:00
Simon Giesecke
21ad652a1e Problem: syntax error in shell script
Solution: add missing quotation marks
2018-06-15 10:00:57 +02:00
Simon Giesecke
67b602fe76 Problem: unused variable warnings for values only used in asserts
Solution: use a Debug build for analysis
2018-05-31 11:25:35 +02:00
Simon Giesecke
0dce223341 Problem: no check if noexcept is supported by compiler
Solution: add compile check
2018-05-30 22:50:30 +02:00
Simon Giesecke
b791645a49 Problem: project key is not unique across organizations
Solution: prefix project key with repo name
2018-05-24 18:04:43 +02:00
Simon Giesecke
4d3516f634 Problem: no static analysis under Linux
Solution: activate clang-tidy, scan-build and sonar-scanner
2018-05-24 13:44:46 +02:00
Simon Giesecke
af6d70ec72 Problem: prepared Visual Studio solution files are hard to maintain and redundant with CMake builds
Solution: declare them as deprecated
2018-05-23 17:26:28 +02:00
Simon Giesecke
d326434b37 Problem: API poller cannot be set independently from I/O thread poller, poll I/O thread poller broken on Windows
Solution: change platform definitions to separate API poller from I/O thread poller, disallow configuring poll I/O thread poller on Windows
2018-05-22 18:36:04 +02:00
Luca Boccassi
4ff814f204 Problem: getrandom test does not check if it's working
Solution: check return value in autoconf and CMake. On some platforms
the function is available but not implemented (eg: GNU/Hurd).
2018-05-09 10:41:20 +01:00
Jorik Caljouw
45b0ff59ff Add ip_resolver.cpp and ip_resolver.hpp for vs2015 libzmq project 2018-05-08 14:04:05 +02:00
Luca Boccassi
5210fa4e8d
Merge pull request #3066 from AxelNennker/patch-3
Update android_build_helper.sh
2018-04-29 17:19:08 +01:00
Axel Nennker
1d25658332
Update android_build_helper.sh
Minimum platform for arm is android-14
2018-04-29 17:56:16 +02:00
Axel Nennker
d36c1ca5e0
Update README.md
added missing = to export VARIABLE=VALUE
2018-04-29 17:52:31 +02:00
Axel Nennker
990268e1db
use HTTPS when downloading a binary before excuting it check hashes
Changed  the download URL to use HTTPS.
Provided the hashes for version r10e
Replaces /home/zmq by $HOME
2018-04-29 17:18:38 +02:00
Luca Boccassi
099070c396 Problem: clang-format Travis job broken
Solution: don't run configure
2018-03-27 21:53:47 +01:00
Min RK
8fb5b10d8a Problem: make dist results are not tested (#3024)
* always run tests from tarball of `make dist`

ensures that tests will not pass if critical files are omitted from releases

* add explicit make dist only for non-default builds

distcheck should already cover this for default builds

* don’t verify that valgrind/coverage tests can be run from dists

* add various files missing from dists

- missing template from cmake
- add missing android build files
- add some missing ci_build.sh scripts
2018-03-27 17:36:30 +01:00
Manuel Segura
4726f7262d Pull request to merge porting to WindRiver VxWorks 6.x (#2966)
* Problem: Still need to port over more files to VxWorks 6.x

Solution: Port more files to VxWorks 6.x

* Problem: Need to port over remaining files to VxWorks 6.x. Also remove POSIX thread dependency for VxWorks (because of priority inversion problem in POSIX mutexes with VxWorks 6.x processes)

Solution: Port over remaining files to VxWorks 6.x. Also removed POSIX thread dependency for VxWorks

* Problem: Needed to modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x.

Solution:  Modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x
2018-03-10 11:03:02 +00:00
Luca Boccassi
19060345e4 Problem: TIPC availability check is too strict (#2977)
* Problem: TIPC availability check is too strict

Solution: at build time only check if the API is available. In the tests
do a first check and a skip if the functionality is not available.

TIPC needs an in-tree but not loaded by default kernel module, tipc.ko
to be loaded, which requires root, so it is unlikely to be available on
any build system by default.
This will allow most distributions to ship with TIPC support built in,
and to avoid tests failure if the module is not there.

* Problem: no Travis tests for TIPC

Solution: mark one job with sudo: required and load the kernel module

* Problem: CMake fails when test returns 77 (skip)

Solution: set property to let it mark the test as skipped as intended
2018-03-09 17:47:42 +01:00