Skip to content

Commit d599efe

Browse files
authored
Merge pull request #381 from pmienk/master
Changes to facilitate wolfssl.
2 parents eff4870 + 69b5116 commit d599efe

File tree

3 files changed

+40
-25
lines changed

3 files changed

+40
-25
lines changed

templates/gsl.include.hpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@ function render_headers(files, folder, base_trim, path_trim, product)
1919
define my.files = render_headers.files
2020
define my.product = render_headers.product
2121
define my.directory = open_directory(my.folder)
22+
get_product_files(my.files, my.folder, my.base_trim, my.product)
23+
if (!table_empty(my.files))
24+
for my.files.row as _row
25+
write_include(join(my.product.container, _row.name))
26+
endfor
27+
table_clear(my.files)
28+
endif
29+
2230
for my.directory.directory as _directory by _directory.name
2331
define my.subfolder = "$(_directory.path)$(_directory.name)"
24-
get_product_files(my.files, my.subfolder, my.base_trim, my.product)
25-
if (!table_empty(my.files))
26-
for my.files.row as _row
27-
write_include(join(my.product.container, _row.name))
28-
endfor
29-
table_clear(my.files)
30-
endif
3132
render_headers(my.files, my.subfolder, my.base_trim, my.path_trim,\
3233
my.product)
3334
endfor
@@ -52,7 +53,8 @@ function write_local_includes(files, product, root, repository)
5253
define my.folder = "$(my.root)$(my.files.path)/"
5354
define my.root_length = string.length(my.folder)
5455
define my.path_length = string.length(my.files.path)
55-
render_files_headers(my.folder, my.root_length, my.path_length,\
56+
define my.primary_folder = "$(my.folder)$(bitcoin_to_include(my.repository.name))/"
57+
render_files_headers(my.primary_folder, my.root_length, my.path_length,\
5658
my.product)
5759
return
5860
endfunction

templates/gsl.package.pc.in

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,15 @@ function define_package_variables(variables, package, make, configure, repositor
115115
# Add explicit package.library declarations.
116116
format_libs(my.variables, my.package)
117117

118+
# for unconditional defines
119+
for my.configure.define as _define where is_empty(_define.header)
120+
if (defined(_define.value))
121+
my.variables.cflags += " -D$(_define.name:upper,c)=$(_define.value)"
122+
else
123+
my.variables.cflags += " -D$(_define.name:upper,c)"
124+
endif
125+
endfor
126+
118127
# Get the lib product that corresponds to the package.
119128
define my.product = find_library_product(my.package.library, my.make,\
120129
my.repository)?

templates/gsl.vcxproj

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -102,42 +102,46 @@ endfunction
102102
###
103103
### generic assistance functions
104104
###
105-
function match_element_name(alpha, beta)
106-
define my.alpha = match_element_name.alpha
107-
define my.beta = match_element_name.beta
108-
return defined(my.alpha) & defined(my.beta) & (object_base_from_element(my.alpha) = object_base_from_element(my.beta))
105+
function match_name(element, name)
106+
define my.element = match_name.element
107+
return defined(my.element) & (my.element.name = my.name)
109108
endfunction
110109

111-
function exists_collision(root, element)
110+
function exists_unsuffixed_collision(root, name)
111+
define my.root = exists_unsuffixed_collision.root
112+
define my.unsuffixed = string.substr(my.name, 0, string.locate_last(my.name, "."))
113+
return count(my.root.collision, match_name(count, my.unsuffixed)) > 0
114+
endfunction
115+
116+
function exists_collision(root, name)
112117
define my.root = exists_collision.root
113-
define my.element = exists_collision.element
114-
return count(my.root.collision, match_element_name(count, my.element)) > 0
118+
return count(my.root.collision, match_name(count, my.name)) > 0
115119
endfunction
116120

117-
function add_collision(root, element)
121+
function add_collision(root, name)
118122
define my.root = add_collision.root
119-
define my.element = add_collision.element
120-
if (defined(my.root) & !exists_collision(my.root, my.element))
123+
define my.unsuffixed = string.substr(my.name, 0, string.locate_last(my.name, "."))
124+
125+
if (defined(my.root) & !exists_collision(my.root, my.unsuffixed))
121126
new my.root.collision as _collision
122-
_collision.name = my.element.name
127+
_collision.name = my.unsuffixed
123128
endnew
124129
endif
125130
return my.root
126131
endfunction
127132

128-
function collides_file_name(root, element)
133+
function collides_file_name(root, name)
129134
define my.root = collides_file_name.root
130-
define my.element = collides_file_name.element
131-
return count(my.root.file, match_element_name(count, my.element)) > 1
135+
return count(my.root.file, match_name(count, my.name)) > 1
132136
endfunction
133137

134138
function populate_collisions(collisions, file_data)
135139
define my.collisions = populate_collisions.collisions
136140
define my.file_data = populate_collisions.file_data
137141

138142
for my.file_data.file as _file
139-
if (collides_file_name(my.file_data, _file))
140-
add_collision(my.collisions, _file)
143+
if (collides_file_name(my.file_data, _file.name))
144+
add_collision(my.collisions, _file.name)
141145
endif
142146
endfor
143147
endfunction
@@ -802,7 +806,7 @@ endfunction emit_project
802806
. define my.collisions = emit_compile_item.collisions
803807
. define my.file_record = emit_compile_item.file_record
804808
.
805-
. if (!exists_collision(my.collisions, my.file_record))
809+
. if (!exists_unsuffixed_collision(my.collisions, my.file_record.name))
806810
. emit_file_record_item("ClCompile", my.file_record)
807811
. else
808812
. emit_item_with_object("ClCompile", my.file_record)

0 commit comments

Comments
 (0)