Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Daniel Kahn Gillmor
Knot DNS Resolver
Commits
db04c011
Commit
db04c011
authored
Nov 26, 2015
by
Marek Vavruša
Browse files
build: fixed fwhole-program, cleanup, flto fix
parent
b3482cd1
Changes
5
Hide whitespace changes
Inline
Side-by-side
.travis.yml
View file @
db04c011
...
...
@@ -30,9 +30,8 @@ env:
before_script
:
-
./scripts/bootstrap-depends.sh ${HOME}/.local
script
:
-
make -j2 install AMALG=yes COVERAGE=1 PREFIX=${HOME}/.local
-
make -j2 install
check
AMALG=yes COVERAGE=1 PREFIX=${HOME}/.local
-
./daemon/kresd -h
-
make -j2 check COVERAGE=1 PREFIX=${HOME}/.local
-
make -j2 check-integration COVERAGE=1 PREFIX=${HOME}/.local
after_success
:
-
test $TRAVIS_OS_NAME = linux && coveralls -i lib -i daemon -x ".c" --gcov-options '\-lp'
...
...
Makefile
View file @
db04c011
...
...
@@ -3,9 +3,9 @@ include platform.mk
# Targets
all
:
info lib daemon modules
install
:
lib-install
modules
-install
daemon
-install
install
:
lib-install
daemon
-install
modules
-install
check
:
all tests
clean
:
lib-clean
modules-clean daemon
-clean tests-clean doc-clean
clean
:
lib-clean
daemon-clean modules
-clean tests-clean doc-clean
doc
:
doc-html
.PHONY
:
all install check clean doc info
...
...
daemon/daemon.mk
View file @
db04c011
...
...
@@ -11,22 +11,21 @@ kresd_SOURCES := \
daemon/main.c
# Embed resources
ifeq
($(AMALG), yes)
kresd.amalg.c
:
daemon/lua/sandbox.inc daemon/lua/config.inc
else
daemon/engine.o
:
daemon/lua/sandbox.inc daemon/lua/config.inc
endif
%.inc
:
%.lua
@
$(
call
quiet,XXD,
$<
)
$<
>
$@
# Installed FFI bindings
bindings-install
:
daemon/lua/kres.lua daemon/lua/trust_anchors.lua
$(INSTALL)
-d
$(PREFIX)
/
$(MODULEDIR)
$(INSTALL)
-m
0644
$^
$(PREFIX)
/
$(MODULEDIR)
kresd_DEPEND
:=
$(libkres)
kresd_LIBS
:=
$(libkres_TARGET)
$(libknot_LIBS)
$(libdnssec_LIBS)
$(libuv_LIBS)
$(lua_LIBS)
# Amalgamated build for smaller code
ifeq
($(AMALG), yes)
kresd_CFLAGS
:=
-fwhole-program
kresd.amalg.c
:
daemon/lua/sandbox.inc daemon/lua/config.inc
endif
# Make binary
ifeq
($(HAS_lua)|$(HAS_libuv), yes|yes)
$(eval
$(call
make_bin,kresd,daemon))
...
...
modules/modules.mk
View file @
db04c011
...
...
@@ -55,11 +55,14 @@ define make_go_module
$(eval
$(call
go_target,$(1),modules/$(1)))
endef
# Filter CGO flags
CGO_CFLAGS
:=
$(
filter-out
-flto
,
$(BUILD_CFLAGS)
)
# Go target definition
define
go_target
$(1)
:=
$(2)
/
$(1)$(LIBEXT)
$(2)/$(1)$(LIBEXT)
:
$$($(1)_SOURCES) $$($(1)_DEPEND)
@
echo
" GO
$(2)
"
;
CGO_CFLAGS
=
"
$(
BUILD
_CFLAGS)
"
CGO_LDFLAGS
=
"
$$
(
$(1)
_LIBS)
$(CFLAGS)
"
$(GO)
build
-buildmode
=
c-shared
-o
$$
@
$$
(
$(1)
_SOURCES
)
@
echo
" GO
$(2)
"
;
CGO_CFLAGS
=
"
$(
CGO
_CFLAGS)
"
CGO_LDFLAGS
=
"
$$
(
$(1)
_LIBS)
$(CFLAGS)
"
$(GO)
build
-buildmode
=
c-shared
-o
$$
@
$$
(
$(1)
_SOURCES
)
$(1)-clean
:
$(RM)
-r
$(2)
/
$(1)
.h
$(2)
/
$(1)$(LIBEXT)
ifeq
($$(strip $$($(1)_INSTALL)),)
...
...
platform.mk
View file @
db04c011
# Platform-specific
# Platform-specific stuff
# Don't touch this unless you're changing the way targets are compiled
# You have been warned
CCLD
:=
$(CC)
CGO
:=
go tool cgo
GO
:=
go
...
...
@@ -72,7 +75,10 @@ else
$(
call
quiet,CCLD,
$$
@
)
$(BUILD_CFLAGS)
$$
(
$(1)
_CFLAGS
)
$$
(
$(1)
_OBJ
)
-o
$$
@
$(4)
$$
(
$(1)
_LIBS
)
$(BUILD_LDFLAGS)
endif
$(1)-clean
:
$(RM)
$$
(
$(1)
_OBJ
)
$$
(
$(1)
_DEP
)
$(2)
/
$(1)$(3)
$(1)
.amalg.c
$(1)
.amalg.o
$(RM)
$$
(
$(1)
_OBJ
)
$$
(
$(1)
_DEP
)
$(2)
/
$(1)$(3)
ifeq
($(6), yes)
$(RM)
$(1)
.amalg.c
$(1)
.amalg.o
endif
$(1)-install
:
$(2)/$(1)$(3)
$(INSTALL)
-d
$(PREFIX)
/
$(5)
$(INSTALL)
$$
^
$(PREFIX)
/
$(5)
...
...
@@ -144,4 +150,3 @@ endef
define
find_gopkg
HAS_$(1)
:=
$(
shell
go list
$(2)
>
/dev/null 2>&1
&&
echo yes
||
echo
no
)
endef
Write
Preview
Supports
Markdown
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