Merge branch 'develop' into develop-rootless
This commit is contained in:
commit
6eb8e1e095
15
.editorconfig
Normal file
15
.editorconfig
Normal file
@ -0,0 +1,15 @@
|
||||
# Copyright 2018 Rene Rivera
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
tab_width = 4
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.yml]
|
||||
indent_size = 2
|
23
LICENSE.txt
Normal file
23
LICENSE.txt
Normal file
@ -0,0 +1,23 @@
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by
|
||||
this license (the "Software") to use, reproduce, display, distribute,
|
||||
execute, and transmit the Software, and to prepare derivative works of the
|
||||
Software, and to permit third-parties to whom the Software is furnished to
|
||||
do so, all subject to the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including
|
||||
the above license grant, this restriction and the following disclaimer,
|
||||
must be included in all copies of the Software, in whole or in part, and
|
||||
all derivative works of the Software, unless such copies or derivative
|
||||
works are solely in the form of machine-executable object code generated by
|
||||
a source language processor.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
@ -1,4 +1,6 @@
|
||||
= Boost.Build User Manual
|
||||
:copyright: Copyright 2018 Rene Rivera; Copyright 2006, 2014 Vladimir Prus
|
||||
:author: Rene Rivera, Vladimir Prus, Steven Watanabe
|
||||
:toc: left
|
||||
:toclevels: 3
|
||||
:sectanchors:
|
||||
|
21
index.html
Normal file
21
index.html
Normal file
@ -0,0 +1,21 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0; URL=../doc/html/index.html">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
Automatic redirection failed, please go to
|
||||
<a href="./doc/html/index.html">./doc/html/index.html</a>
|
||||
<p>Distributed under the Boost Software License, Version 1.0. (See accompanying file
|
||||
<a href="LICENSE.txt">LICENSE.txt</a> or copy at
|
||||
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>).
|
||||
</p>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<!--
|
||||
Copyright Rene Rivera 2013-2018
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE.txt or copy at www.boost.org/LICENSE_1_0.txt).
|
||||
-->
|
@ -31,8 +31,9 @@ error_exit ()
|
||||
echo "### ./build.sh gcc"
|
||||
echo "###"
|
||||
echo "### Toolsets supported by this script are:"
|
||||
echo "### acc, como, darwin, gcc, intel-darwin, intel-linux, kcc, kylix,"
|
||||
echo "### mipspro, pathscale, pgi, qcc, sun, sunpro, tru64cxx, vacpp"
|
||||
echo "### acc, clang, como, darwin, gcc, intel-darwin, intel-linux,"
|
||||
echo "### kcc, kylix, mipspro, pathscale, pgi, qcc, sun, sunpro,"
|
||||
echo "### tru64cxx, vacpp"
|
||||
echo "###"
|
||||
echo "### A special toolset; cc, is available which is used as a fallback"
|
||||
echo "### when a more specific toolset is not found and the cc command is"
|
||||
@ -79,6 +80,7 @@ Guess_Toolset ()
|
||||
elif test_uname AIX && test_path xlc; then BOOST_JAM_TOOLSET=vacpp
|
||||
elif test_uname FreeBSD && test_path freebsd-version && test_path clang; then BOOST_JAM_TOOLSET=clang
|
||||
elif test_path gcc ; then BOOST_JAM_TOOLSET=gcc
|
||||
elif test_path clang ; then BOOST_JAM_TOOLSET=clang
|
||||
elif test_path icc ; then BOOST_JAM_TOOLSET=intel-linux
|
||||
elif test -r /opt/intel/cc/9.0/bin/iccvars.sh ; then
|
||||
BOOST_JAM_TOOLSET=intel-linux
|
||||
|
@ -1138,12 +1138,12 @@ static void debug_start_child( int argc, const char * * argv )
|
||||
assert( debug_state == DEBUG_NO_CHILD );
|
||||
if ( ! CreatePipe( &pipe1[ 0 ], &pipe1[ 1 ], &sa, 0 ) )
|
||||
{
|
||||
printf("internal error\n");
|
||||
printf("internal error: CreatePipe:1: 0x$08x\n", GetLastError());
|
||||
return;
|
||||
}
|
||||
if ( ! CreatePipe( &pipe2[ 0 ], &pipe2[ 1 ], &sa, 0 ) )
|
||||
{
|
||||
printf("internal error\n");
|
||||
printf("internal error: CreatePipe:2: 0x$08x\n", GetLastError());
|
||||
CloseHandle( pipe1[ 0 ] );
|
||||
CloseHandle( pipe1[ 1 ] );
|
||||
return;
|
||||
@ -1223,8 +1223,19 @@ static void debug_start_child( int argc, const char * * argv )
|
||||
int pid;
|
||||
int i;
|
||||
assert( debug_state == DEBUG_NO_CHILD );
|
||||
pipe(pipe1);
|
||||
pipe(pipe2);
|
||||
if (pipe(pipe1) == -1)
|
||||
{
|
||||
printf("internal error: pipe:1: %s\n", strerror(errno));
|
||||
return;
|
||||
}
|
||||
if (pipe(pipe2) == -1)
|
||||
{
|
||||
close( pipe1[ 0 ] );
|
||||
close( pipe1[ 1 ] );
|
||||
printf("internal error: pipe:2: %s\n", strerror(errno));
|
||||
return;
|
||||
}
|
||||
|
||||
pid = fork();
|
||||
if ( pid == -1 )
|
||||
{
|
||||
@ -1232,7 +1243,9 @@ static void debug_start_child( int argc, const char * * argv )
|
||||
close( pipe1[ 0 ] );
|
||||
close( pipe1[ 1 ] );
|
||||
close( pipe2[ 0 ] );
|
||||
close( pipe1[ 1 ] );
|
||||
close( pipe2[ 1 ] );
|
||||
printf("internal error: fork: %s\n", strerror(errno));
|
||||
return;
|
||||
}
|
||||
else if ( pid == 0 )
|
||||
{
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
/* This file is ALSO:
|
||||
* Copyright 2001-2004 David Abrahams.
|
||||
* Copyright 2018 Rene Rivera
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* (See accompanying file LICENSE_1_0.txt or copy at
|
||||
* http://www.boost.org/LICENSE_1_0.txt)
|
||||
@ -98,8 +99,19 @@
|
||||
|
||||
|
||||
#include "jam.h"
|
||||
|
||||
#include "patchlevel.h"
|
||||
|
||||
/* Keep JAMVERSYM in sync with VERSION. */
|
||||
/* It can be accessed as $(JAMVERSION) in the Jamfile. */
|
||||
#define JAM_STRINGIZE(X) JAM_DO_STRINGIZE(X)
|
||||
#define JAM_DO_STRINGIZE(X) #X
|
||||
#define VERSION_MAJOR_SYM JAM_STRINGIZE(VERSION_MAJOR)
|
||||
#define VERSION_MINOR_SYM JAM_STRINGIZE(VERSION_MINOR)
|
||||
#define VERSION_PATCH_SYM JAM_STRINGIZE(VERSION_PATCH)
|
||||
#define VERSION VERSION_MAJOR_SYM "." VERSION_MINOR_SYM
|
||||
#define JAMVERSYM "JAMVERSION=" VERSION
|
||||
|
||||
#include "builtins.h"
|
||||
#include "class.h"
|
||||
#include "compile.h"
|
||||
@ -274,7 +286,7 @@ int main( int argc, char * * argv, char * * arg_environ )
|
||||
#ifdef JAM_DEBUGGER
|
||||
|
||||
is_debugger = 0;
|
||||
|
||||
|
||||
if ( getoptions( argc - 1, argv + 1, "-:l:m:d:j:p:f:gs:t:ano:qv", optv ) < 0 )
|
||||
usage( progname );
|
||||
|
||||
|
@ -3,15 +3,15 @@
|
||||
*
|
||||
* This file is part of Jam - see jam.c for Copyright information.
|
||||
*/
|
||||
/*
|
||||
This file is ALSO:
|
||||
Copyright 2018 Rene Rivera
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
|
||||
/* Keep JAMVERSYM in sync with VERSION. */
|
||||
/* It can be accessed as $(JAMVERSION) in the Jamfile. */
|
||||
|
||||
#define VERSION_MAJOR 2018
|
||||
#define VERSION_MINOR 2
|
||||
#define VERSION_PATCH 0
|
||||
#define VERSION_MAJOR_SYM "2018"
|
||||
#define VERSION_MINOR_SYM "02"
|
||||
#define VERSION_PATCH_SYM "00"
|
||||
#define VERSION "2018.02"
|
||||
#define JAMVERSYM "JAMVERSION=2018.02"
|
||||
#define VERSION_MINOR 02
|
||||
#define VERSION_PATCH 00
|
||||
|
||||
|
@ -85,47 +85,47 @@ toolset.flags clang-linux.link OPTIONS <threading>multi/<target-os>windows : -pt
|
||||
# C and C++ compilation
|
||||
|
||||
rule compile.c++ ( targets * : sources * : properties * ) {
|
||||
local pth-file = [ on $(<) return $(PCH_FILE) ] ;
|
||||
local pch-file = [ on $(<) return $(PCH_FILE) ] ;
|
||||
|
||||
if $(pth-file) {
|
||||
DEPENDS $(<) : $(pth-file) ;
|
||||
if $(pch-file) {
|
||||
DEPENDS $(<) : $(pch-file) ;
|
||||
clang-linux.compile.c++.with-pch $(targets) : $(sources) ;
|
||||
}
|
||||
else {
|
||||
clang-linux.compile.c++.without-pth $(targets) : $(sources) ;
|
||||
clang-linux.compile.c++.without-pch $(targets) : $(sources) ;
|
||||
}
|
||||
}
|
||||
|
||||
actions compile.c++.without-pth {
|
||||
actions compile.c++.without-pch {
|
||||
"$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
actions compile.c++.with-pch bind PCH_FILE
|
||||
{
|
||||
"$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pth -Xclang "$(PCH_FILE)" -o "$(<)" "$(>)"
|
||||
"$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pch -Xclang "$(PCH_FILE)" -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
rule compile.c ( targets * : sources * : properties * )
|
||||
{
|
||||
local pth-file = [ on $(<) return $(PCH_FILE) ] ;
|
||||
local pch-file = [ on $(<) return $(PCH_FILE) ] ;
|
||||
|
||||
if $(pth-file) {
|
||||
DEPENDS $(<) : $(pth-file) ;
|
||||
if $(pch-file) {
|
||||
DEPENDS $(<) : $(pch-file) ;
|
||||
clang-linux.compile.c.with-pch $(targets) : $(sources) ;
|
||||
}
|
||||
else {
|
||||
clang-linux.compile.c.without-pth $(targets) : $(sources) ;
|
||||
clang-linux.compile.c.without-pch $(targets) : $(sources) ;
|
||||
}
|
||||
}
|
||||
|
||||
actions compile.c.without-pth
|
||||
actions compile.c.without-pch
|
||||
{
|
||||
"$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
actions compile.c.with-pch bind PCH_FILE
|
||||
{
|
||||
"$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pth -Xclang "$(PCH_FILE)" -c -o "$(<)" "$(>)"
|
||||
"$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pch -Xclang "$(PCH_FILE)" -c -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -137,7 +137,7 @@ rule compile.c++.pch ( targets * : sources * : properties * ) {
|
||||
}
|
||||
|
||||
actions compile.c++.pch {
|
||||
$(RM) -f "$(<)" && "$(CONFIG_COMMAND)" -c -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pth -o "$(<)" "$(>)"
|
||||
$(RM) -f "$(<)" && "$(CONFIG_COMMAND)" -c -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pch -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
rule compile.c.pch ( targets * : sources * : properties * ) {
|
||||
@ -145,7 +145,7 @@ rule compile.c.pch ( targets * : sources * : properties * ) {
|
||||
|
||||
actions compile.c.pch
|
||||
{
|
||||
$(RM) -f "$(<)" && "$(CONFIG_COMMAND)" -c -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pth -o "$(<)" "$(>)"
|
||||
$(RM) -f "$(<)" && "$(CONFIG_COMMAND)" -c -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pch -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
|
@ -74,7 +74,7 @@ rule init ( version ? : command * : options * )
|
||||
local compiler = "\"$(command)\"" ;
|
||||
compiler = "$(compiler:J= )" ;
|
||||
|
||||
version ?= [ MATCH "version ([0-9.]+)" : [ SHELL "$(compiler) --version" ] ] ;
|
||||
version ?= [ MATCH "version ([0-9.]+)" : [ SHELL "$(compiler) -v 2>&1" ] ] ;
|
||||
|
||||
.notice "using compiler '$(compiler)', version '$(version)'" ;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user