Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
grafikrobot committed Jun 26, 2020
2 parents ce27597 + 512ea1f commit 632ea76
Show file tree
Hide file tree
Showing 100 changed files with 3,337 additions and 1,763 deletions.
4 changes: 2 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
*.gitattributes text svneol=native#text/plain

# Scriptish formats
*.bat text svneol=native#text/plain
*.bat text eol=crlf svneol=crlf#text/plain
*.bsh text svneol=native#text/x-beanshell
*.cgi text svneol=native#text/plain
*.cmd text svneol=native#text/plain
*.cmd text eol=crlf svneol=crlf#text/plain
*.js text svneol=native#text/javascript
*.php text svneol=native#text/x-php
*.pl text svneol=native#text/x-perl
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*.code-workspace
*.py[co]
/.vscode
/doc/bin
Expand Down
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/src/engine/b2",
"args": ["-sBOOST_BUILD_PATH=${workspaceFolder}" "toolset=clang"],
"args": ["-sBOOST_BUILD_PATH=${workspaceFolder}", "toolset=clang"],
"stopAtEntry": true,
"cwd": "${workspaceFolder}/test",
"environment": [],
Expand Down
95 changes: 42 additions & 53 deletions Jamroot.jam
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)

import path ;
import package ;
import os ;
import "class" : new ;
import bison ;
import errors ;
import feature ;
import indirect ;
import os ;
# import package ;
import path ;
import set ;
import stage : add-install-dir ;
import toolset ;
import bison ;
import indirect ;
import "class" : new ;
import type ;
import virtual-target ;
import errors ;

path-constant SELF : . ;

Expand Down Expand Up @@ -109,30 +110,6 @@ else
}
explicit jamgram.cpp ;

#|
Generate the embedded jambase.
|#

feature.feature mkjambase : : dependency free ;
toolset.flags mkjambase TOOL <mkjambase> ;

exe mkjambase
: src/engine/mkjambase.cpp
;
explicit mkjambase ;

actions mkjambase bind TOOL
{
"$(TOOL)" "$(<)" "$(>)"
}

make jambase.cpp
: src/engine/Jambase
: @mkjambase
: <location>src/engine
<mkjambase>mkjambase <dependency>mkjambase ;
explicit jambase.cpp ;

#|
Define the b2 executable. Sources are based on platform.
TODO: Make platform specific source be no-ops when not needed.
Expand Down Expand Up @@ -183,7 +160,6 @@ exe b2
<target-os>vms:<source>$(b2_src_vms)
<target-os>$(unix_os):<source>$(b2_src_unix)
<dependency>jamgram.cpp
<dependency>jambase.cpp
<toolset>msvc:<find-static-library>kernel32
<toolset>msvc:<find-static-library>advapi32
<toolset>msvc:<find-static-library>user32
Expand All @@ -194,18 +170,30 @@ explicit b2 ;
Installation of the engine, build, and example files.
|#

feature.feature b2-install-layout : standard portable : incidental propagated ;

add-install-dir b2prefix-standard : : prefix ;
add-install-dir b2bindir-standard : : bindir ;
add-install-dir b2coredir-standard : boost-build/src : datarootdir ;
add-install-dir b2examplesdir-standard : boost-build/examples : datarootdir ;

add-install-dir b2prefix-portable : : prefix ;
add-install-dir b2bindir-portable : : b2prefix-portable ;
add-install-dir b2coredir-portable : .b2 : b2prefix-portable ;
add-install-dir b2examplesdir-portable : .b2/examples : b2prefix-portable ;

local ext = "" ;
if [ os.on-windows ] || [ os.on-vms ]
{
ext = ".exe" ;
}

package.install boost-build-engine boost-build
: # properties
: # binaries
$(SELF)/src/engine/b2$(ext)
install b2-engine
: $(SELF)/src/engine/b2$(ext)
: <b2-install-layout>standard:<location>(b2bindir-standard)
<b2-install-layout>portable:<location>(b2bindir-portable)
;
explicit boost-build-engine ;
explicit b2-engine ;

local examples ;
for local e in [ glob-tree-ex $(SELF)/example : * : . .svn ]
Expand All @@ -215,18 +203,18 @@ for local e in [ glob-tree-ex $(SELF)/example : * : . .svn ]
examples += $(e) ;
}
}
package.install-data boost-build-examples
: # Which subdir of $prefix/share
boost-build
install b2-examples
: # What to install
$(examples)
: # What is the root of the directory
<install-source-root>.
: # What is the root of the directory
<install-source-root>example
# Which subdir of $prefix/share
<b2-install-layout>standard:<location>(b2examplesdir-standard)
<b2-install-layout>portable:<location>(b2examplesdir-portable)
;
explicit boost-build-examples ;
explicit b2-examples ;

local .core-sources =
$(SELF)/boost-build.jam
$(SELF)/src/build-system.jam
[ path.glob-tree $(SELF)/src/build : *.jam ]
[ path.glob-tree $(SELF)/src/contrib : *.jam ]
Expand All @@ -247,25 +235,26 @@ if $(python-exe)
;
}

package.install-data boost-build-core
: # Which subdir of $prefix/share
boost-build
: # What to install
install b2-core
: # What to install
$(.core-sources)
: # What is the root of the directory
<install-source-root>.
: # What is the root of the directory
<install-source-root>src
# Which subdir of $prefix/share
<b2-install-layout>standard:<location>(b2coredir-standard)
<b2-install-layout>portable:<location>(b2coredir-portable)
;
explicit boost-build-core ;
explicit b2-core ;

#|
Only install example files when requested to avoid bloating install footprint.
|#
if --with-examples in [ modules.peek : ARGV ]
{
alias install : boost-build-engine boost-build-core boost-build-examples ;
alias install : b2-engine b2-core b2-examples ;
}
else
{
alias install : boost-build-engine boost-build-core ;
alias install : b2-engine b2-core ;
}
explicit install ;
64 changes: 64 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Use, modification, and distribution are
# subject to 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)
#
# Copyright Rene Rivera 2015-2020.

branches:
only:
- /master.*/
- /develop.*/
- /feature\/.*/

environment:
matrix:
- job_name: 'Visual Studio 2015, Test'
job_group: 'Test'
TOOLSET: vc14
TEST_TOOLSET: msvc
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- job_name: 'Visual Studio 2013, Test'
job_group: 'Test'
TOOLSET: vc12
TEST_TOOLSET: msvc
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015

build_script:
- cmd: |
cd src/engine
PATH=%PATH%;%CXX_PATH%
- cmd: |
./build.bat %TOOLSET%
- cmd: |
cd ../..
src\engine\b2.exe -v
before_test:
-cmd: |
HOME=%HOMEDRIVE%%HOMEPATH%
echo "using" %TEST_TOOLSET% ":" ":" %CXX% ";" > "%HOME%/user-config.jam"
for:
- matrix:
only:
- job_group: 'Test'

test_script:
- cmd: |
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> TEST"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
cd test
python test_all.py %TEST_TOOLSET%
cd ..
- cmd: |
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> NO WARNINGS"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
src\engine\b2.exe --debug-configuration b2 warnings-as-errors=on toolset=%TEST_TOOLSET%
- cmd: |
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> BOOTSTRAP"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
bootstrap.bat %TOOLSET%
b2.exe --debug-configuration --prefix=./.b2 install toolset=%TEST_TOOLSET%
Loading

0 comments on commit 632ea76

Please sign in to comment.