Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
ccan
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mirror
ccan
Commits
9e207bca
Commit
9e207bca
authored
Sep 05, 2015
by
Andrew Jeffery
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ccanlint: Add cflags support to _info
parent
8d9d288e
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
109 additions
and
6 deletions
+109
-6
tools/ccanlint/tests/examples_compile.c
tools/ccanlint/tests/examples_compile.c
+13
-1
tools/ccanlint/tests/module_links.c
tools/ccanlint/tests/module_links.c
+15
-1
tools/ccanlint/tests/objects_build.c
tools/ccanlint/tests/objects_build.c
+15
-1
tools/ccanlint/tests/tests_compile.c
tools/ccanlint/tests/tests_compile.c
+13
-0
tools/ccanlint/tests/tests_compile_coverage.c
tools/ccanlint/tests/tests_compile_coverage.c
+24
-1
tools/depends.c
tools/depends.c
+26
-2
tools/tools.h
tools/tools.h
+3
-0
No files found.
tools/ccanlint/tests/examples_compile.c
View file @
9e207bca
...
...
@@ -126,6 +126,17 @@ static char *example_lib_list(const void *ctx, struct manifest **deps)
return
list
;
}
static
char
*
cflags_list
(
const
struct
manifest
*
m
)
{
unsigned
int
i
;
char
*
ret
=
tal_strdup
(
m
,
cflags
);
char
**
flags
=
get_cflags
(
m
,
m
->
dir
,
get_or_compile_info
);
for
(
i
=
0
;
flags
[
i
];
i
++
)
tal_append_fmt
(
&
ret
,
" %s"
,
flags
[
i
]);
return
ret
;
}
/* FIXME: Test with reduced features! */
static
bool
compile
(
const
void
*
ctx
,
struct
manifest
*
m
,
...
...
@@ -133,11 +144,12 @@ static bool compile(const void *ctx,
char
**
output
)
{
struct
manifest
**
deps
=
get_example_deps
(
m
,
file
);
const
char
*
flags
=
cflags_list
(
m
);
file
->
compiled
[
COMPILE_NORMAL
]
=
temp_file
(
ctx
,
""
,
file
->
fullname
);
if
(
!
compile_and_link
(
ctx
,
file
->
fullname
,
ccan_dir
,
example_obj_list
(
file
,
deps
),
compiler
,
c
flags
,
compiler
,
flags
,
example_lib_list
(
file
,
deps
),
file
->
compiled
[
COMPILE_NORMAL
],
output
))
{
...
...
tools/ccanlint/tests/module_links.c
View file @
9e207bca
...
...
@@ -41,6 +41,17 @@ static char *obj_list(const struct manifest *m)
return
list
;
}
static
char
*
cflags_list
(
const
struct
manifest
*
m
)
{
unsigned
int
i
;
char
*
ret
=
tal_strdup
(
m
,
cflags
);
char
**
flags
=
get_cflags
(
m
,
m
->
dir
,
get_or_compile_info
);
for
(
i
=
0
;
flags
[
i
];
i
++
)
tal_append_fmt
(
&
ret
,
" %s"
,
flags
[
i
]);
return
ret
;
}
static
char
*
lib_list
(
const
struct
manifest
*
m
)
{
unsigned
int
i
;
...
...
@@ -59,6 +70,7 @@ static void check_use_build(struct manifest *m,
char
*
contents
;
char
*
tmpfile
,
*
cmdout
;
int
fd
;
char
*
flags
;
tmpfile
=
temp_file
(
m
,
".c"
,
"example.c"
);
...
...
@@ -77,8 +89,10 @@ static void check_use_build(struct manifest *m,
err
(
1
,
"Failure writing to temporary file %s"
,
tmpfile
);
close
(
fd
);
flags
=
cflags_list
(
m
);
if
(
compile_and_link
(
score
,
tmpfile
,
ccan_dir
,
obj_list
(
m
),
compiler
,
c
flags
,
lib_list
(
m
),
compiler
,
flags
,
lib_list
(
m
),
temp_file
(
m
,
""
,
tmpfile
),
&
cmdout
))
{
score
->
pass
=
true
;
...
...
tools/ccanlint/tests/objects_build.c
View file @
9e207bca
...
...
@@ -22,6 +22,17 @@ static const char *can_build(struct manifest *m)
return
NULL
;
}
static
char
*
cflags_list
(
const
struct
manifest
*
m
)
{
unsigned
int
i
;
char
*
ret
=
tal_strdup
(
m
,
cflags
);
char
**
flags
=
get_cflags
(
m
,
m
->
dir
,
get_or_compile_info
);
for
(
i
=
0
;
flags
[
i
];
i
++
)
tal_append_fmt
(
&
ret
,
" %s"
,
flags
[
i
]);
return
ret
;
}
void
build_objects
(
struct
manifest
*
m
,
struct
score
*
score
,
const
char
*
flags
,
enum
compile_type
ctype
)
...
...
@@ -65,7 +76,10 @@ void build_objects(struct manifest *m,
static
void
check_objs_build
(
struct
manifest
*
m
,
unsigned
int
*
timeleft
,
struct
score
*
score
)
{
build_objects
(
m
,
score
,
cflags
,
COMPILE_NORMAL
);
const
char
*
flags
;
flags
=
cflags_list
(
m
);
build_objects
(
m
,
score
,
flags
,
COMPILE_NORMAL
);
}
struct
ccanlint
objects_build
=
{
...
...
tools/ccanlint/tests/tests_compile.c
View file @
9e207bca
...
...
@@ -66,6 +66,17 @@ char *test_lib_list(const struct manifest *m, enum compile_type ctype)
return
ret
;
}
static
char
*
cflags_list
(
const
struct
manifest
*
m
,
const
char
*
iflags
)
{
unsigned
int
i
;
char
*
ret
=
tal_strdup
(
m
,
iflags
);
char
**
flags
=
get_cflags
(
m
,
m
->
dir
,
get_or_compile_info
);
for
(
i
=
0
;
flags
[
i
];
i
++
)
tal_append_fmt
(
&
ret
,
" %s"
,
flags
[
i
]);
return
ret
;
}
static
bool
compile
(
const
void
*
ctx
,
struct
manifest
*
m
,
struct
ccan_file
*
file
,
...
...
@@ -81,6 +92,7 @@ static bool compile(const void *ctx,
cflags
,
ctype
==
COMPILE_NOFEAT
?
" "
REDUCE_FEATURES_FLAGS
:
""
);
flags
=
cflags_list
(
m
,
flags
);
fname
=
temp_file
(
ctx
,
""
,
file
->
fullname
);
if
(
!
compile_and_link
(
ctx
,
file
->
fullname
,
ccan_dir
,
...
...
@@ -110,6 +122,7 @@ static void compile_async(const void *ctx,
cflags
,
ctype
==
COMPILE_NOFEAT
?
" "
REDUCE_FEATURES_FLAGS
:
""
);
flags
=
cflags_list
(
m
,
flags
);
compile_and_link_async
(
file
,
time_ms
,
file
->
fullname
,
ccan_dir
,
test_obj_list
(
m
,
link_with_module
,
ctype
,
ctype
),
...
...
tools/ccanlint/tests/tests_compile_coverage.c
View file @
9e207bca
...
...
@@ -31,6 +31,27 @@ static const char *can_run_coverage(struct manifest *m)
#endif
}
static
char
*
cflags_list
(
const
struct
manifest
*
m
)
{
unsigned
int
i
;
char
*
ret
=
tal_strdup
(
m
,
cflags
);
char
**
flags
=
get_cflags
(
m
,
m
->
dir
,
get_or_compile_info
);
for
(
i
=
0
;
flags
[
i
];
i
++
)
tal_append_fmt
(
&
ret
,
" %s"
,
flags
[
i
]);
return
ret
;
}
static
char
*
cflags_list_append
(
const
struct
manifest
*
m
,
char
*
iflags
)
{
unsigned
int
i
;
char
**
flags
=
get_cflags
(
m
,
m
->
dir
,
get_or_compile_info
);
for
(
i
=
0
;
flags
[
i
];
i
++
)
tal_append_fmt
(
&
iflags
,
" %s"
,
flags
[
i
]);
return
iflags
;
}
static
void
cov_compile
(
const
void
*
ctx
,
unsigned
int
time_ms
,
struct
manifest
*
m
,
...
...
@@ -38,6 +59,7 @@ static void cov_compile(const void *ctx,
bool
link_with_module
)
{
char
*
flags
=
tal_fmt
(
ctx
,
"%s %s"
,
cflags
,
COVERAGE_CFLAGS
);
flags
=
cflags_list_append
(
m
,
flags
);
file
->
compiled
[
COMPILE_COVERAGE
]
=
temp_file
(
ctx
,
""
,
file
->
fullname
);
compile_and_link_async
(
file
,
time_ms
,
file
->
fullname
,
ccan_dir
,
...
...
@@ -58,7 +80,8 @@ static void do_compile_coverage_tests(struct manifest *m,
struct
ccan_file
*
i
;
struct
list_head
*
h
;
bool
ok
;
char
*
f
=
tal_fmt
(
score
,
"%s %s"
,
cflags
,
COVERAGE_CFLAGS
);
char
*
f
=
cflags_list
(
m
);
tal_append_fmt
(
&
f
,
" %s"
,
COVERAGE_CFLAGS
);
/* For API tests, we need coverage version of module. */
if
(
!
list_empty
(
&
m
->
api_tests
))
{
...
...
tools/depends.c
View file @
9e207bca
...
...
@@ -228,12 +228,12 @@ get_all_deps(const void *ctx, const char *dir, const char *style,
}
/* Can return NULL: _info may not support 'libs'. */
static
char
**
get_one_
libs
(
const
void
*
ctx
,
const
char
*
dir
,
static
char
**
get_one_
prop
(
const
void
*
ctx
,
const
char
*
dir
,
const
char
*
prop
,
char
*
(
*
get_info
)(
const
void
*
ctx
,
const
char
*
dir
))
{
char
*
cmd
,
**
lines
;
cmd
=
tal_fmt
(
ctx
,
"%s
libs"
,
get_info
(
ctx
,
dir
)
);
cmd
=
tal_fmt
(
ctx
,
"%s
%s"
,
get_info
(
ctx
,
dir
),
prop
);
lines
=
lines_from_cmd
(
cmd
,
"%s"
,
cmd
);
/* Strip final NULL. */
if
(
lines
)
...
...
@@ -241,6 +241,18 @@ static char **get_one_libs(const void *ctx, const char *dir,
return
lines
;
}
static
char
**
get_one_libs
(
const
void
*
ctx
,
const
char
*
dir
,
char
*
(
*
get_info
)(
const
void
*
ctx
,
const
char
*
dir
))
{
return
get_one_prop
(
ctx
,
dir
,
"libs"
,
get_info
);
}
static
char
**
get_one_cflags
(
const
void
*
ctx
,
const
char
*
dir
,
char
*
(
*
get_info
)(
const
void
*
ctx
,
const
char
*
dir
))
{
return
get_one_prop
(
ctx
,
dir
,
"cflags"
,
get_info
);
}
/* O(n^2) but n is small. */
static
char
**
add_deps
(
char
**
deps1
,
char
**
deps2
)
{
...
...
@@ -258,6 +270,18 @@ static char **add_deps(char **deps1, char **deps2)
return
deps1
;
}
char
**
get_cflags
(
const
void
*
ctx
,
const
char
*
dir
,
char
*
(
*
get_info
)(
const
void
*
ctx
,
const
char
*
dir
))
{
char
**
flags
;
unsigned
int
len
;
flags
=
get_one_cflags
(
ctx
,
dir
,
get_info
);
len
=
tal_count
(
flags
);
tal_resize
(
&
flags
,
len
+
1
);
flags
[
len
]
=
NULL
;
return
flags
;
}
char
**
get_libs
(
const
void
*
ctx
,
const
char
*
dir
,
const
char
*
style
,
char
*
(
*
get_info
)(
const
void
*
ctx
,
const
char
*
dir
))
{
...
...
tools/tools.h
View file @
9e207bca
...
...
@@ -43,6 +43,9 @@ char **get_safe_ccan_deps(const void *ctx, const char *dir, const char *style,
char
**
get_libs
(
const
void
*
ctx
,
const
char
*
dir
,
const
char
*
style
,
char
*
(
*
get_info
)(
const
void
*
ctx
,
const
char
*
dir
));
char
**
get_cflags
(
const
void
*
ctx
,
const
char
*
dir
,
char
*
(
*
get_info
)(
const
void
*
ctx
,
const
char
*
dir
));
/* From tools.c */
/* If set, print all commands run, all output they give and exit status. */
extern
bool
tools_verbose
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment