Skip to content

Commit 0a8dc44

Browse files
authored
Merge pull request #192 from pmienk/version3
Update to maintain libbitcoin project in libbitcoin-system repository.
2 parents 8938d28 + d51b0d6 commit 0a8dc44

19 files changed

+86
-67
lines changed

generate.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
<!-- Copyright (c) 2014-2016 libbitcoin developers (see COPYING). -->
33
<generate language="en-us" >
44

5-
<repository name="libbitcoin" version="3.4.0" email="[email protected]" >
5+
<repository name="libbitcoin" version="3.4.0" email="[email protected]" path="libbitcoin-system" >
66

7-
<package library="bitcoin" description="Bitcoin Cross-Platform C++ Development Toolkit" url="https://github.com/libbitcoin/libbitcoin" >
7+
<package library="bitcoin" description="Bitcoin Cross-Platform C++ Development Toolkit" url="https://github.com/libbitcoin/libbitcoin-system" >
88
<flag value="@icu@" />
99
<flag value="@png@" />
1010
<flag value="@qrencode@" />

gsl.copy_properties.cmd

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ pushd %~dp0
1919

2020
.endmacro emit_initialize
2121
.
22-
.macro emit_import_copy_project(output, repository_name, import_name, vs_version)
23-
. define my.msvc_path = "$(my.output)\\$(my.repository_name)\\builds\\msvc\\$(my.vs_version)"
22+
.macro emit_import_copy_project(repository, output, import_name, vs_version)
23+
. define my.repository = emit_import_copy_project.repository
24+
. define my.msvc_path = "$(my.output)\\$(canonical_path_name(my.repository))\\builds\\msvc\\$(my.vs_version)"
2425
if not exist "$(my.msvc_path)" call mkdir "$(my.msvc_path)"
2526
. emit_error_handler("Failed to create directory.")
2627

@@ -30,12 +31,13 @@ call xcopy /y "props\\import\\$(my.import_name).import.*" $(my.msvc_path)
3031

3132
.endmacro emit_import_copy_project
3233
.
33-
.macro emit_import_copy(output, repository_name, import_name)
34-
REM Copy $(my.import_name) imports for $(my.repository_name)
35-
. emit_import_copy_project(my.output, my.repository_name, my.import_name, "vs2013")
36-
. emit_import_copy_project(my.output, my.repository_name, my.import_name, "vs2015")
37-
. emit_import_copy_project(my.output, my.repository_name, my.import_name, "vs2017")
38-
. define my.msvc_path = "$(my.output)\\$(my.repository_name)\\builds\\msvc"
34+
.macro emit_import_copy(repository, output, import_name)
35+
. define my.repository = emit_import_copy.repository
36+
REM Copy $(my.import_name) imports for $(my.repository.name)
37+
. emit_import_copy_project(my.repository, my.output, my.import_name, "vs2013")
38+
. emit_import_copy_project(my.repository, my.output, my.import_name, "vs2015")
39+
. emit_import_copy_project(my.repository, my.output, my.import_name, "vs2017")
40+
. define my.msvc_path = "$(my.output)\\$(canonical_path_name(my.repository))\\builds\\msvc"
3941
if not exist "$(my.msvc_path)\\build\\" call mkdir "$(my.msvc_path)\\build\\"
4042
. emit_error_handler("Failed to create build directory.")
4143
call xcopy /y "props\\nuget.config" "$(my.msvc_path)"
@@ -46,23 +48,26 @@ call xcopy /y "props\\build\\build_base.bat" "$(my.msvc_path)\\build\\"
4648

4749
.endmacro
4850
.
49-
.macro emit_project_props_copy_project(output, repository_name, vs_version)
50-
. define my.msvc_path = "$(my.output)\\$(my.repository_name)\\builds\\msvc\\$(my.vs_version)"
51+
.macro emit_project_props_copy_project(repository, output, vs_version)
52+
. define my.repository = emit_project_props_copy_project.repository
53+
. define my.msvc_path = "$(my.output)\\$(canonical_path_name(my.repository))\\builds\\msvc\\$(my.vs_version)"
5154
call :pending "Seeding props $(my.msvc_path)"
52-
call xcopy /s /y "props\\project\\$(my.repository_name)\\*" $(my.msvc_path)
55+
call xcopy /s /y "props\\project\\$(my.repository.name)\\*" $(my.msvc_path)
5356
. emit_error_handler("Failed to copy import files.")
5457

5558
.endmacro
5659
.
57-
.macro emit_project_props_copy(output, repository_name)
58-
REM Copy project props for $(my.repository_name)
59-
. emit_project_props_copy_project(my.output, my.repository_name, "vs2013")
60-
. emit_project_props_copy_project(my.output, my.repository_name, "vs2015")
61-
. emit_project_props_copy_project(my.output, my.repository_name, "vs2017")
60+
.macro emit_project_props_copy(repository, output)
61+
. define my.repository = emit_project_props_copy.repository
62+
REM Copy project props for $(my.repository.name)
63+
. emit_project_props_copy_project(my.repository, my.output, "vs2013")
64+
. emit_project_props_copy_project(my.repository, my.output, "vs2015")
65+
. emit_project_props_copy_project(my.repository, my.output, "vs2017")
6266
.endmacro
6367
.
64-
.macro emit_repository_completion_message(repository_name)
65-
call :success "Completed population of $(my.repository_name) artifacts."
68+
.macro emit_repository_completion_message(repository)
69+
. my.repository = emit_repository_completion_message
70+
call :success "Completed population of $(my.repository.name) artifacts."
6671
.endmacro emit_repository_completion_message
6772
.
6873
.macro emit_error_handler(message)
@@ -118,10 +123,10 @@ function generate_artifacts(path_prefix)
118123
for _repository->install.build as _build where\
119124
defined(_build.repository) &\
120125
starts_with(_build.repository, "libbitcoin")
121-
emit_import_copy(my.path_prefix, _repository.name, _build.repository)
126+
emit_import_copy(_repository, my.path_prefix, _build.repository)
122127
endfor
123-
emit_project_props_copy(my.path_prefix, _repository.name)
124-
emit_repository_completion_message(_repository.name)
128+
emit_project_props_copy(_repository, my.path_prefix)
129+
emit_repository_completion_message(_repository)
125130
endfor
126131

127132
emit_completion()

gsl.copy_properties.sh

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,35 +25,41 @@ declare -a vs_version=( \\
2525
"vs2015" \\
2626
"vs2017" \\
2727
)
28-
28+
2929
.endmacro
3030
.
31-
.macro emit_import_copy(output, repository_name, import_name)
31+
.macro emit_import_copy(repository, output, import_name)
32+
. define my.repository = emit_import_copy.repository
33+
.
3234
for version in "\${vs_version[@]}"
3335
do
34-
mkdir -p $(my.output)/$(my.repository_name)/builds/msvc/\$version/
35-
eval cp -f props/import/$(my.import_name).import.* $(my.output)/$(my.repository_name)/builds/msvc/\$version/
36+
mkdir -p $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/\$version/
37+
eval cp -f props/import/$(my.import_name).import.* $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/\$version/
3638
done
3739

3840
.endmacro
3941
.
40-
.macro emit_project_props_copy(output, repository_name)
42+
.macro emit_project_props_copy(repository, output)
43+
. define my.repository = emit_project_props_copy.repository
44+
.
4145
for version in "\${vs_version[@]}"
4246
do
43-
mkdir -p $(my.output)/$(my.repository_name)/builds/msvc/\$version/
44-
eval cp -rf props/project/$(my.repository_name)/* $(my.output)/$(my.repository_name)/builds/msvc/\$version/
47+
mkdir -p $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/\$version/
48+
eval cp -rf props/project/$(my.repository.name)/* $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/\$version/
4549
done
46-
mkdir -p $(my.output)/$(my.repository_name)/builds/msvc/build/
47-
eval cp -rf props/nuget.config $(my.output)/$(my.repository_name)/builds/msvc/
48-
eval cp -rf props/build/build_base.bat $(my.output)/$(my.repository_name)/builds/msvc/build/
50+
mkdir -p $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/build/
51+
eval cp -rf props/nuget.config $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/
52+
eval cp -rf props/build/build_base.bat $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/build/
4953

5054
.endmacro
5155
.
52-
.macro emit_nuget_config_copy(output, repository_name)
56+
.macro emit_nuget_config_copy(repository, output)
57+
. define my.repository = emit_nuget_config_copy.repository
58+
.
5359
for version in "\${vs_version[@]}"
5460
do
55-
mkdir -p $(my.output)/$(my.repository_name)/builds/msvc/
56-
eval cp -rf props/nuget.config $(my.output)/$(my.repository_name)/builds/msvc/
61+
mkdir -p $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/
62+
eval cp -rf props/nuget.config $(my.output)/$(canonical_path_name(my.repository))/builds/msvc/
5763
done
5864

5965
.endmacro
@@ -73,14 +79,14 @@ function generate_artifacts(path_prefix)
7379

7480
# TODO: walk dependency tree, not build list.
7581
# TODO: build list is for telling installer what to compile.
76-
for generate.repository by name as _repository
77-
echo(" Evaluating repository: $(_repository.name)")
82+
for generate.repository by name as _repository
83+
echo(" Evaluating repository: $(_repository.name)")
7884
for _repository->install.build as _build where\
79-
defined(_build.repository) & starts_with(_build.repository, "libbitcoin")
80-
emit_import_copy(my.path_prefix, _repository.name, _build.repository)
81-
endfor
82-
emit_project_props_copy(my.path_prefix, _repository.name)
83-
endfor
85+
defined(_build.repository) & starts_with(_build.repository, "libbitcoin")
86+
emit_import_copy(_repository, my.path_prefix, _build.repository)
87+
endfor
88+
emit_project_props_copy(_repository, my.path_prefix)
89+
endfor
8490

8591
endfunction
8692
###############################################################################

templates/gsl.Makefile.am

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -735,15 +735,15 @@ for generate.repository as _repository by _repository.name\
735735
where (defined(_repository->make))
736736

737737
require(_repository, "repository", "name")
738-
my.output_path = join(my.path_prefix, _repository.name)
738+
my.output_path = join(my.path_prefix, canonical_path_name(_repository))
739739
create_directory(my.output_path)
740740
define my.out_file = "$(my.output_path)/Makefile.am"
741741
notify(my.out_file)
742742
output(my.out_file)
743743

744744
copyleft(_repository.name)
745745
define my.make = _repository->make
746-
define my.absolute = "$(global.root)/$(_repository.name)"
746+
define my.absolute = "$(global.root)/$(canonical_path_name(_repository))"
747747
define my.base = normalize_directory(my.absolute)
748748

749749
heading1("Automake settings.")

templates/gsl.appveyor.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@ endfunction
110110
Write-Host "CTP Compiler Installation Complete." -ForegroundColor Green;
111111
.endmacro # emit_ctp_installation
112112
.
113-
.macro emit_test_execution()
113+
.macro emit_test_execution(name)
114114
- ps: >-
115115
Write-Host "Locating test executables..." -ForegroundColor Yellow;
116-
$BC_TEST_EXES = @(Get-ChildItem -Path "$env:APPVEYOR_BUILD_FOLDER\\bin" -recurse | Where-Object { $_.Name -eq "$env:APPVEYOR_PROJECT_NAME-test.exe" });
116+
$BC_TEST_EXES = @(Get-ChildItem -Path "$env:APPVEYOR_BUILD_FOLDER\\bin" -recurse | Where-Object { $_.Name -eq "$(my.name)-test.exe" });
117117
If ($BC_TEST_EXES.Count -ne 1) {
118118
Write-Host "Failure, invalid count of test executables." -ForegroundColor Red;
119119
exit 1;
@@ -166,7 +166,7 @@ endfunction
166166
.macro generate_appveyor_yml(path_prefix)
167167
.for generate.repository by name as _repository
168168
. require(_repository, "repository", "name")
169-
. my.output_path = join(my.path_prefix, _repository.name)
169+
. my.output_path = join(my.path_prefix, canonical_path_name(_repository))
170170
. create_directory(my.output_path)
171171
. define my.out_file = "$(my.output_path)/.appveyor.yml"
172172
. notify(my.out_file)
@@ -199,7 +199,7 @@ build_script:
199199
- cd /d %APPVEYOR_BUILD_FOLDER%
200200

201201
test_script:
202-
. emit_test_execution()
202+
. emit_test_execution(_repository.name)
203203
.
204204
. close
205205
.endfor _repository

templates/gsl.autogen.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
.macro generate_autogen(path_prefix)
1313
. for generate.repository by name as _repository
1414
. require(_repository, "repository", "name")
15-
. my.output_path = join(my.path_prefix, _repository.name)
15+
. my.output_path = join(my.path_prefix, canonical_path_name(_repository))
1616
. create_directory(my.output_path)
1717
. define my.out_file = "$(my.output_path)/autogen.sh"
1818
. notify(my.out_file)

templates/gsl.build.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ IF EXIST "%~5" SET "msbuild_exe=%~5"
164164
.macro generate_build_cmd(path_prefix)
165165
.for generate.repository by name as _repository
166166
. require(_repository, "repository", "name")
167-
. my.output_path = join(my.path_prefix, _repository.name)
167+
. my.output_path = join(my.path_prefix, canonical_path_name(_repository))
168168
. create_directory(my.output_path)
169169
. define my.out_file = "$(my.output_path)/build.cmd"
170170
. notify(my.out_file)

templates/gsl.configure.ac

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,9 @@ function generate_configure(path_prefix)
971971
for generate.repository by name as _repository
972972

973973
require(_repository, "repository", "name")
974-
define my.output_path = join(my.path_prefix, _repository.name)
974+
define my.output_path = join(my.path_prefix,\
975+
canonical_path_name(_repository))
976+
975977
create_directory(my.output_path)
976978
define my.out_file = "$(my.output_path)/configure.ac"
977979
notify(my.out_file)

templates/gsl.include.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,13 @@ endfunction
115115
function generate_include(path_prefix)
116116
for generate.repository by name as _repository
117117
define my.primary = bitcoin_to_include(_repository.name)
118-
define my.absolute = "$(global.root)/$(_repository.name)"
118+
define my.absolute = "$(global.root)/$(canonical_path_name(_repository))"
119119
define my.base = normalize_directory(my.absolute)
120120
for _repository.make as _make
121121
for _make.product as _product where is_headers(_product)
122122
for _product.files as _files
123123
define my.include = join(join(my.path_prefix,\
124-
_repository.name), _files.path)
124+
canonical_path_name(_repository)), _files.path)
125125
create_directory(my.include)
126126
define my.out_file = "$(my.include)/$(my.primary).hpp"
127127
notify(my.out_file)

templates/gsl.install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ fi
465465
function generate_installer(path_prefix)
466466
for generate.repository by name as _repository
467467
require(_repository, "repository", "name")
468-
my.output_path = join(my.path_prefix, _repository.name)
468+
my.output_path = join(my.path_prefix, canonical_path_name(_repository))
469469
define my.out_file = "$(my.output_path)/install.sh"
470470
define my.install = _repository->install
471471
create_directory(my.output_path)

0 commit comments

Comments
 (0)