Commit Graph

107 Commits

Author SHA1 Message Date
makise-homura 782299b7ef Determine gtkver for wxWidgets more correctly 2020-12-07 22:40:36 +03:00
Sven Eden 0ac4f945c0 Remove */lib paths from m4 (Issu #4095: boinc fails to link with LLD)
BOINC fails to link with LLD because of /usr/lib in the link command
line.

LLD does not continue to search for the correct library, once it
finds one that doesn't fit. This is made by design and will not
change.
See also : https://bugs.gentoo.org/732024

The reason for LLD failing is, that its build system puts -L/usr and
-L/usr/lib into the command line options. While these are not
neccessary at all, they cause LLD to find 32bit libraries on 64bit
systems first. As these 32bit libraries can not be used, LLD errors
out.

This commit removes the superfluous hard-coded injection of -L/usr
and -L/usr/lib into the command line.
The resulting build system has been tested with
* Clang + LLD
* gcc + ld.bfd
* gcc + ld.gold

Bug: #4095
Signed-off-by: Sven Eden <sven.eden@prydeworx.com>
2020-11-14 17:23:54 +01:00
Vitalii Koshura 12ef169143
Additional clean-up
Remove sqlite3.dll from *.ism files
Remove sqlite3 as a build dependency
Remove sqlite3 from load_dependencies.bat

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2020-07-15 16:44:54 +02:00
Jia Yuan Lo 049454e03c Add wildcard to be uniform across all Android...
...triple (see NDK clang -print-target-triple)
2020-06-22 11:46:41 +08:00
Jia Yuan Lo 0c0cf1e610 Add boinc_alt_platform for 64bit Android 2020-06-22 11:46:41 +08:00
Jia Yuan Lo b5faa09a9b Fix boinc platform strings for Android
Some compiled clients may appear as "$ARCH-unknown-linux-android" instead of "$ARCH-android-linux-gnu" to project servers
This is because of Android NDK specifies "$ARCH-linux-android" triplets and users forget to specify "--with-boinc-platform"
Fix this in "boinc_platform.m4" so that Android boinc platform strings changes are not needed across all projects
boinc_alt_platform is excluded to prepare for 64bit only Android devices
Users can add back requesting 32bit tasks with "--with-boinc-alt-platform" during compile or "<alt_platform>" during runtime
2020-06-22 11:46:41 +08:00
Jia Yuan Lo 8a0d19cefd Remove trailing slash from --with-libcurl 2020-05-05 14:48:25 +08:00
Jia Yuan Lo 6a0a141ce3
Prefer curl-config from --with-libcurl
If "--with-libcurl" is passed, prefer using "curl-config" from directory instead of system provided
2020-05-02 16:12:03 +08:00
Jia Yuan Lo b83bf6e571
Add check for "-L/..." in "$SSL_LIBS"
Checking for "-lssl" in "$LIBCURL" may not be enough to find where is the SSL lib
The test may fail with "cannot find -lssl" and "cannot find -lcrypto"
Add additional check if "$SSL_LIBS" can provide the SSL lib before moving on
2020-04-14 11:51:36 +08:00
Christian Beer a5dad9b895 Build: whitespace only changes 2019-04-20 13:31:13 +02:00
Christian Beer 6dbf55fd9a Tests: add unit testing framework using googletest
* enable coverage reports from gcc and disable optimizations via option to configure
* install googletest library into buildcache
* script to compile and run unit tests using cmake
* first set of unit tests originaly contributed by Keith Uplinger

There are several hardcoded paths and assumptions made in order to get this working on Travis CI. New tooling is using cmake for cross platform builds and as such is not easy to use with an autotools based system.
It's not ideal but better than nothing.
2019-04-20 13:30:03 +02:00
Juha Sointusalo ce3db105b0 build: remove Fortran checks
While science apps may use Fortran BOINC itself doesn't use it making
the checks useless.

Removing the checks reduces verbosity of configure a little bit making
its output more accessible.
2019-03-22 22:12:04 +02:00
Juha Sointusalo fbed9f3290
Merge pull request #3050 from BOINC/cb_wxwidgets_31_compatibility
Manager: adjust wxWidgets 3.1 compatibility
2019-03-21 21:19:28 +02:00
Juha Sointusalo 64350e3955 build: fix removing ln test directory
Fixes "/bin/rmdir: failed to remove 'ln_test': No such file or directory"
error message from configure.
2019-02-09 23:24:50 +02:00
Juha Sointusalo af1e1cb360 Build: prepare m4 macros for wxWidgets 3.1
Since wxWidgets 3.1 the webview library is not in the dfault set of libraries and needs to be specified explicitly. Since it is optional for BOINC the wxWidgets detection macro needed to be augmented to allow optional libraries.
2019-02-09 16:28:50 +01:00
Christian Beer fbd15aff54 Build: update wxWidgets macro from wxWidgets 3.1.2
Copied from 9a9ff29098/wxwin.m4
This in part reverts commit 51e2473 (Solaris specific CFLAGS and LIBS adjustments).
2019-02-09 13:17:20 +01:00
Gilles Dartiguelongue 0844c86caa Reduces unneeded calls to test 2018-10-24 16:52:33 +02:00
Christian Beer d23e7736dd Build: fail if wxWidgets lib can not be found but is required
Currently the build system will silently disable the Manager build when wxWidgets is missing or not a recent enough version.

Fix #1714
2017-10-25 10:09:47 +02:00
Christian Beer 0a02ac343e Build: remove extra whitespace 2017-10-25 10:09:10 +02:00
Christian Beer 6e8c08b38f Build: test if hard links are really working
The AFS filesystem does not allow hard links between files in different directories. We fall back to symbolic links in that case.
2017-04-11 15:16:08 +02:00
Eric J Korpela 0c08a4ef92 Work around for bug in RHEL6 curl 7.19.7 port (curl-config --libs reports
incorrectly.)
2016-09-07 16:31:13 -07:00
Christian Beer cc67f461cf Build: remove --disable-wx-debug
WxWidgets switched to using -DNDEBUG to disable debugging in version 2.9.1 and enabling it by default. My previous change (530eb18) made the debug version the default and one had to disable the debugging for release builds. This is fixed now and the non-debug version is the default. Now WxWidgets debug assertions are switched on if --enable-debug is specified.

fixes #1476
2016-01-26 17:46:56 +01:00
Christian Beer 530eb18989 Build: fix --disable-wx-debug configure option
Debug support is by default enabled since wxWidgets 2.9.1 and can be explicitly disabled by setting the compiler flag -DNDEBUG.
2015-11-06 13:57:02 +01:00
Eric J Korpela 2cb6745a76 Removed duplicate predefinition of gtkver 2014-06-20 09:42:40 -07:00
Eric J Korpela 67613c1901 Changed BOINC_OPTIONS_WXWIDGETS to find correct GTK toolset 2014-06-18 14:57:26 -07:00
Eric J Korpela e4013f5c5f Fixed typo 2014-05-02 09:43:14 -07:00
U-X1\korpela 025fc460f4 Removed unnecessary (since 1999) check for 16-bit compilers and made 64-bit
detection better.
2014-05-02 08:17:26 -07:00
U-X1\korpela 34fbfd3297 WIN32 Cross Compile Fixes 2014-05-01 17:44:34 -07:00
U-X1\korpela c8ba190f66 Removed accidentally committed libtool macros 2014-04-29 07:51:33 -07:00
U-X1\korpela 4a357acddc Changes for mingw32 cross compile 2014-04-29 07:50:33 -07:00
Eric J Korpela 252b8b2783 - AUTOCONF: hack to permit AX_PTHREADS to work on autoconf 2.59 2013-08-15 11:36:13 -07:00
Eric J Korpela 4195aa9ff6 Updated to latest version of the GNU autoconf pthread detection macro. 2013-07-02 13:10:30 -07:00
Rom Walton ae8e51e063 Linux: Revert previous change, it did not have the desired effect. 2013-06-19 14:43:02 -04:00
Rom Walton eff79ccc0e Linux: the Linux file system layout on Debian?/Ubuntu appears to be going through some changes. libxcb-dpms.so is now located in /usr/lib/{i686-linux-gnu|x86_64-linux-gnu}. sah_check_lib.m4 was not able to find that library during its checks. 2013-06-19 14:36:06 -04:00
Eric J Korpela 348c675592 Modified CHECK_SSL to check existence of -ldl and -lz before adding them to
SSL_LIBS on non-pkg-config systems.
2013-03-05 15:06:38 +01:00
Eric J Korpela 9b191c409a - Modifications to autoconf scripts for non-standard openssl installs 2013-03-05 14:17:54 +01:00
David Anderson afdc69a8a8 More Line Ending Changes 2013-03-04 17:19:38 +01:00
Eric J Korpela 630dcb0835 - First fixes for out-of-source-tree configure and compile - samples/example_app will no longer build by default. To build person compile must run make in the example_app directory in-source-tree. Thats because the Makefile is not and should not be generated by automake. 2013-03-01 16:19:16 +01:00
David Anderson d5d9921f5c - Unix build tweaks. Fixes #1193 (I think)
svn path=/trunk/boinc/; revision=25804
2012-06-27 05:03:16 +00:00
David Anderson 7c51512cbf - transitioner: the format string for a DB query had %.15d instead of %.15e.
That produced a messed-up query that assigned garbage values to:
        host_app_version.turnaround_var
        host_app_version.turnaround_q
        host_app_version.max_jobs_per_day
        host_app_version.consecutive_valid
    To repair these:
        - set turnaround_var and turnaround_q to zero
        - if max_jobs_per_day is outside of
            (0..config.daily_result_quota)
            set it to config.daily_result_quota
        - if consecutive_valid is outside (0..1000), set it to zero
    I added a script, html/ops/repair_21812.php, that does this;
    if you ran server code between [21181] and [21812], run this script.
- scheduler/transitioner: add <debug_quota> log flag
- changed the build system to always use -Wall
    (if we'd done this before, this bug wouldn't have happened)
- fixed a bunch of other compile warnings


svn path=/trunk/boinc/; revision=21812
2010-06-25 18:54:37 +00:00
Rom Walton 72a6d60d6b re-enable debug support in manager?
svn path=/trunk/boinc/; revision=20502
2010-02-10 19:39:13 +00:00
Rom Walton a62b72785b svn path=/trunk/boinc/; revision=20458 2010-02-06 08:21:13 +00:00
David Anderson 4d96415576 - client: fix bug introduced in [19035] that causes wrong nidle instances
(and resulting work fetch problems)
- Unix build: don't touch svn_version.sh if it hasn't changed,
    to avoid remake of sched/ (from Gabor Gombas)

svn path=/trunk/boinc/; revision=19096
2009-09-18 19:26:34 +00:00
David Anderson ba23e2fa83 svn path=/trunk/boinc/; revision=19081 2009-09-17 20:20:58 +00:00
David Anderson 3bd098a9fd svn path=/trunk/boinc/; revision=19080 2009-09-17 20:13:29 +00:00
David Anderson d7aacaac32 - don't include config.h from network.h (Gabor Gombas)
svn path=/trunk/boinc/; revision=18428
2009-06-16 18:51:33 +00:00
Rom Walton 385da4f3e7 Sqlite3 support for build system
svn path=/trunk/boinc/; revision=18147
2009-05-18 17:09:02 +00:00
Rom Walton 11941a791d Add Sqlite3 support to build system
svn path=/trunk/boinc/; revision=18144
2009-05-18 15:32:58 +00:00
Eric J. Korpela d46a5759a4 Removed a couple of debugging statements.
svn path=/trunk/boinc/; revision=17414
2009-02-28 20:31:09 +00:00
Eric J. Korpela 8f3abcc835 - Added checks for net/*.h, arpa/*.h, netinet/*.h and code to figure out
which of those files to include
    - Modified MAC address check to work on some non-Linux unixes.
      (mac_address.cpp)
    - Added suggested change to "already attached to project" checking.
      (ProjectInfoPage.cpp)
    - changed includes of standard c header files to their c++ equivalents
      (i.e. replaced <stdio.h> with <cstdio>) for namespace protection.
    - replaced "using namespace std;" with more explicit "using std::function" in
      several files.
    - Fixed bug in checking whether the os is OS/2 and added conditional OS_OS2
      to the build environment. (boinc_platform.m4,configure.ac)
    - Changed build environment to not use -nostandardlibs unless we are using
      G++ and static linkage is specified. (configure.ac)
    - Added makefiles and package building files for solaris CSW package manager.
    - Fixed bug with attempting to find login name using logname. (configure.ac)
    - Added ifdef HAVE_* protection around some include files commonly found in
      sys.
    - Added support for unified binary for x86_64/i686-pc-solaris.
      (cs_platforms.cpp)
    - generate_host_cpid() now uses MAC address on non-linux unix.
      (hostinfo_network.cpp)
    - Macro BOINC_SET_COMPILE_FLAGS now doesn't check gcc only flags on non-gcc
      compilers. (boinc_set_compile_flags.m4)
    - Library compiles no longer depend upon the library extension or require
      the library to be prefixed with lib.
    - More fixes for fcgi builds.
    - Added declaration of "struct ether_addr" and ether_ntoa().  Have not yet
      implemented ether_ntoa() for machines that don't have it, or where it is
      buggy.  (unix_util.h)
    - Added FCGI::perror() which calls FCGI_perror(). (boinc_fcgi.{h,cpp})
    - Fixed library Makefiles so that all required headers get installed.


svn path=/trunk/boinc/; revision=17388
2009-02-26 00:23:23 +00:00