mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 10:39:02 -04:00
Merge branch 'insp3' into master.
This commit is contained in:
commit
20a1892e31
@ -176,7 +176,7 @@ non-interactive configuration is started and any omitted values are defaulted.
|
||||
|
||||
<|BOLD CXX=<NAME>|> Sets the C++ compiler to use when building the
|
||||
server. If not specified then the build system
|
||||
will search for c++, g++, clang++ or icpc.
|
||||
will search for c++, g++, clang++, icpx, or icpc.
|
||||
<|BOLD INSPIRCD_VERBOSE=<0|1>|> Shows additional information for debugging.
|
||||
|
||||
If you have any problems with configuring InspIRCd then visit our IRC channel
|
||||
@ -265,7 +265,7 @@ sub get_compiler_info($) {
|
||||
}
|
||||
|
||||
sub find_compiler {
|
||||
my @compilers = qw(c++ g++ clang++ icpc);
|
||||
my @compilers = qw(c++ g++ clang++ icpx icpc);
|
||||
for my $compiler (shift // @compilers) {
|
||||
return $compiler if __test_compiler $compiler;
|
||||
return "xcrun $compiler" if $^O eq 'darwin' && __test_compiler "xcrun $compiler";
|
||||
|
@ -90,7 +90,7 @@ ifeq ($(COMPILER), AppleClang)
|
||||
endif
|
||||
|
||||
# Enable Clang-specific compiler warnings.
|
||||
ifeq ($(COMPILER), $(filter $(COMPILER), AppleClang Clang))
|
||||
ifeq ($(COMPILER), $(filter $(COMPILER), AppleClang IntelClang Clang))
|
||||
CORECXXFLAGS += -Wshadow-all -Wshorten-64-to-32
|
||||
endif
|
||||
|
||||
|
@ -19,9 +19,12 @@
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#if defined __INTEL_COMPILER // Also defines __clang__ and __GNUC__
|
||||
#if defined __INTEL_COMPILER // Also defines __GNUC__
|
||||
# define INSPIRCD_COMPILER_NAME "Intel"
|
||||
# define INSPIRCD_COMPILER_VERSION (__INTEL_COMPILER / 100) << '.' << (__INTEL_COMPILER % 100)
|
||||
#elif defined __INTEL_CLANG_COMPILER // Also defines __clang__
|
||||
# define INSPIRCD_COMPILER_NAME "IntelClang"
|
||||
# define INSPIRCD_COMPILER_VERSION (__INTEL_CLANG_COMPILER / 10000) << '.' << ((__INTEL_CLANG_COMPILER % 10000) / 100)
|
||||
#elif defined __clang__ // Also defines __GNUC__
|
||||
# if defined __apple_build_version__
|
||||
# define INSPIRCD_COMPILER_NAME "AppleClang"
|
||||
|
@ -344,6 +344,12 @@ namespace OpenSSL
|
||||
setoptions |= SSL_OP_NO_TLSv1_2;
|
||||
#endif
|
||||
|
||||
#ifdef SSL_OP_NO_TLSv1_3
|
||||
// Enable TLSv1.3 by default.
|
||||
if (!tag->getBool("tlsv13", true))
|
||||
setoptions |= SSL_OP_NO_TLSv1_3;
|
||||
#endif
|
||||
|
||||
if (!setoptions && !clearoptions)
|
||||
return; // Nothing to do
|
||||
|
||||
|
69
tools/test-build
Executable file
69
tools/test-build
Executable file
@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env perl
|
||||
#
|
||||
# InspIRCd -- Internet Relay Chat Daemon
|
||||
#
|
||||
# Copyright (C) 2013-2016, 2019-2022 Sadie Powell <sadie@witchery.services>
|
||||
#
|
||||
# This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
# redistribute it and/or modify it under the terms of the GNU General Public
|
||||
# License as published by the Free Software Foundation, version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
use v5.10.0;
|
||||
use strict;
|
||||
use warnings FATAL => qw(all);
|
||||
|
||||
use File::Basename qw(dirname);
|
||||
use FindBin qw($RealDir);
|
||||
|
||||
use lib dirname $RealDir;
|
||||
use make::common;
|
||||
use make::configure;
|
||||
|
||||
$ENV{INSPIRCD_DEBUG} = 3;
|
||||
$ENV{INSPIRCD_VERBOSE} = 1;
|
||||
|
||||
execute 'git', 'clean', '-dfx';
|
||||
|
||||
my $root = dirname $RealDir;
|
||||
my @compilers = $#ARGV >= 0 ? @ARGV : qw(g++ clang++ icpx icpc);
|
||||
for my $compiler (@compilers) {
|
||||
if (system "$compiler -v > /dev/null 2>&1") {
|
||||
say STDERR "Skipping $compiler as it is not installed on this system!";
|
||||
next;
|
||||
}
|
||||
$ENV{CXX} = $compiler;
|
||||
my @socketengines = qw(select);
|
||||
push @socketengines, 'epoll' if test_header $compiler, 'sys/epoll.h';
|
||||
push @socketengines, 'kqueue' if test_file $compiler, 'kqueue.cpp';
|
||||
push @socketengines, 'poll' if test_header $compiler, 'poll.h';
|
||||
for my $socketengine (@socketengines) {
|
||||
say "Attempting to build using the $compiler compiler and the $socketengine socket engine...";
|
||||
my @configure_flags;
|
||||
push @configure_flags, '--disable-ownership' unless $>;
|
||||
if (defined $ENV{TEST_BUILD_MODULES}) {
|
||||
execute "$root/configure", '--enable-extras', $ENV{TEST_BUILD_MODULES};
|
||||
push @configure_flags, '--disable-auto-extras';
|
||||
}
|
||||
if (execute "$root/configure", '--development', '--socketengine', $socketengine, @configure_flags) {
|
||||
say STDERR "Failed to configure using the $compiler compiler and the $socketengine socket engine!";
|
||||
exit 1;
|
||||
}
|
||||
if (execute 'make', '--directory', $root, '--jobs', get_cpu_count() + 1, 'install') {
|
||||
say STDERR "Failed to compile using the $compiler compiler and the $socketengine socket engine!";
|
||||
exit 1;
|
||||
}
|
||||
say "Building using the $compiler compiler and the $socketengine socket engine succeeded!";
|
||||
}
|
||||
|
||||
execute 'git', 'clean', '-dfx';
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user