Skip to content

Commit 5803e92

Browse files
committed
Upstream 25-05-2016
update changelog fix NODEJS_ENABLED flag to do the right thing fix valgrind changelog
1 parent fc7ea55 commit 5803e92

File tree

86 files changed

+2893
-2128
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+2893
-2128
lines changed

ChangeLog

+14
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,17 @@
7171
* rtbkit/fees: creatives can now include some fees that are applied to the
7272
final bid price
7373
* rtbkit/openrtb: improved OpenRTB parsing by reducing memory allocations
74+
75+
2016-05-30 Michael Burkat <michael@datacratic.com>
76+
77+
* jml-buikd: Node, Docker, tcmalloc, python related changes.
78+
* jml: fix in least squares function.
79+
* rtbkit/common/analytics: new plugin to abstract use of zmq or http for logging.
80+
* rtbkit/core/router: use new analytics plugin.
81+
* rtbkti/core/post_auction: use new analytics plugin.
82+
* rtbkit/plugins/adserver: use new analytics plugin.
83+
* soa/service: replace rtbkit-deps libcurl by the system provided curl.
84+
* soa/service: fix bugs preventing compiling with gcc 4.8.
85+
* soa: fix NODEJS_ENABLED flag to do the right thing.
86+
* rtbkit: support for ubuntu 14.04
87+
* rtbkit: Should update rtbkit-deps to latest with this update.

Makefile

+5-1
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,16 @@ CXX_VERSION?=$(shell g++ --version | head -n1 | sed 's/.* //g')
4848

4949
CFLAGS += -fno-strict-overflow -msse4.2
5050

51+
ifeq ($(NODEJS_ENABLED), 1)
5152
PKGINCLUDE_PACKAGES = sigc++-2.0 cairomm-1.0
53+
else
54+
PKGINCLUDE_PACKAGES = sigc++-2.0
55+
endif
5256

5357
PKGCONFIG_INCLUDE:=$(shell pkg-config --cflags-only-I $(PKGINCLUDE_PACKAGES))
5458

5559

56-
CXXFLAGS += -Wno-deprecated -Winit-self -fno-omit-frame-pointer -std=c++0x -fno-deduce-init-list -I$(NODE_PREFIX)/include/node -msse3 -Ileveldb/include -Wno-unused-but-set-variable -I$(LOCAL_INCLUDE_DIR) -I$(GEN) $(PKGCONFIG_INCLUDE) -Wno-psabi -D__GXX_EXPERIMENTAL_CXX0X__=1
60+
CXXFLAGS += -Wno-deprecated -Winit-self -fno-omit-frame-pointer -std=c++0x -fno-deduce-init-list -I$(NODE_PREFIX)/include/node -msse3 -Ileveldb/include -Wno-unused-but-set-variable -I$(LOCAL_INCLUDE_DIR) -I$(GEN) $(PKGCONFIG_INCLUDE) -Wno-psabi -D__GXX_EXPERIMENTAL_CXX0X__=1 -Wno-unused-local-typedefs -Wno-unused-variable -DNODEJS_ENABLED=$(NODEJS_ENABLED)
5761
CXXLINKFLAGS += -Wl,--copy-dt-needed-entries -Wl,--no-as-needed -L/usr/local/lib
5862
CFLAGS += -Wno-unused-but-set-variable
5963

jml-build/arch/x86_64.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ CXXFLAGS ?= $(INCLUDE) -pipe -Wall -Werror -Wno-sign-compare -Woverloaded-virtua
33
CXXLINKFLAGS = -rdynamic $(foreach DIR,$(PWD)/$(BIN) $(PWD)/$(LIB) $(LOCAL_LIB_DIR),-L$(DIR) -Wl,--rpath-link,$(DIR)) -Wl,--rpath,\$$ORIGIN/../bin -Wl,--rpath,\$$ORIGIN/../lib -Wl,--copy-dt-needed-entries -Wl,--no-as-needed
44
CXXLIBRARYFLAGS = -shared $(CXXLINKFLAGS) -lpthread
55
CXXEXEFLAGS =$(CXXLINKFLAGS) -lpthread
6-
CXXEXEPOSTFLAGS := $(if $(MEMORY_ALLOC_LIBRARY),-l$(MEMORY_ALLOC_LIBRARY))
6+
CXXEXEPOSTFLAGS = $(if $(MEMORY_ALLOC_LIBRARY),-l$(MEMORY_ALLOC_LIBRARY))
77
CXXNODEBUGFLAGS := -O3 -DBOOST_DISABLE_ASSERTS -DNDEBUG
88
CXXDEBUGFLAGS := -O1 -g3 -UBOOST_DISABLE_ASSERTS -UNDEBUG
99

jml-build/docker.mk

+67-19
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ DOCKER_GET_REVISION_SCRIPT?=$(JML_BUILD)/get_git_revision.sh
5656

5757
# DOCKER_PUSH: if this is defined, then docker will be asked to push the
5858
# container to the repository after it has been successfully built.
59-
#
59+
# N.B. the tag "latest" will be applied to the image before pushing
6060
# This should be added to local.mk, not edited here.
6161

6262
#DOCKER_PUSH:=1
@@ -70,6 +70,8 @@ DOCKER_GET_REVISION_SCRIPT?=$(JML_BUILD)/get_git_revision.sh
7070
# DOCKER_TAG: if this is defined, the given tag will also be applied to the
7171
# built image. By default it's "latest" which is expected by most docker
7272
# tooling, but can be changed to something else or undefined if required.
73+
DOCKER_TAG:= $(shell whoami)_latest
74+
DOCKER_TAGS += $(DOCKER_TAG)
7375

7476
# DOCKER_COMMIT_ARGS: Anything in this variable (which should be overridden
7577
# on a per-target basis) will be passed to docker commit as arguments.
@@ -79,13 +81,10 @@ DOCKER_GET_REVISION_SCRIPT?=$(JML_BUILD)/get_git_revision.sh
7981
# container after the container is created. It can be used to modify the
8082
# container before it is committed.
8183

82-
DOCKER_TAG:=latest
83-
84-
8584

8685
# Docker target (generic). If you make docker_target_name, it will make
8786
# target_name and install it inside a docker image.
88-
#
87+
#
8988
# In order to determine the tag, by default this rule will call the
9089
# get_git_revision script that will return a revision ID from git to tag
9190
# the image with. The script will also ensure that everything used in the
@@ -94,18 +93,67 @@ DOCKER_TAG:=latest
9493

9594
#docker_%: $(TMPBIN)/%.iid
9695

97-
docker_%: % $(DOCKER_GLOBAL_DEPS) $(DOCKER_TARGET_DEPS)
98-
@BUILD=$(BUILD) bash $(DOCKER_GET_REVISION_SCRIPT) $(<) > $(TMPBIN)/$(<).rid $(if $(DOCKER_ALLOW_DIRTY), || true,)
99-
echo "revision" `cat $(TMPBIN)/$(<).rid`
100-
@echo "Building $(<) for use within docker"
101-
+make TMPBIN=$(TMPBIN) LIB=$(TMPBIN)/docker-$(<)/lib BIN=$(TMPBIN)/docker-$(<)/bin ETC=$(TMPBIN)/docker-$(<)/etc $(<)
96+
altroot_prep_%: % $(DOCKER_GLOBAL_DEPS) $(DOCKER_TARGET_DEPS)
97+
@BUILD=$(BUILD) bash $(DOCKER_GET_REVISION_SCRIPT) $(*) > $(TMPBIN)/$(*).rid $(if $(DOCKER_ALLOW_DIRTY), || true,)
98+
echo "revision" `cat $(TMPBIN)/$(*).rid`
99+
@echo "Building $(*) for use within docker"
100+
make TMPBIN=$(TMPBIN) LIB=$(TMPBIN)/docker-$(*)/opt/lib BIN=$(TMPBIN)/docker-$(*)/opt/bin ALTROOT=$(TMPBIN)/docker-$(*) $(*)
101+
102+
docker_%: altroot_prep_% $(DOCKER_GLOBAL_DEPS) $(DOCKER_TARGET_DEPS)
102103
@echo "Creating container"
103-
@rm -f $(TMPBIN)/$(<).cid
104-
docker run -cidfile $(TMPBIN)/$(<).cid -v `pwd`:/tmp/build $(DOCKER_BASE_IMAGE) sh /tmp/build/$(JML_BUILD)/docker_install_inside_container.sh /tmp/build/$(TMPBIN)/docker-$(<) $(if $(DOCKER_POST_INSTALL_SCRIPT),/tmp/build/$(DOCKER_POST_INSTALL_SCRIPT))
105-
cat $(TMPBIN)/$(<).cid
106-
echo docker commit `cat $(TMPBIN)/$(<).cid` $(DOCKER_REGISTRY)$(DOCKER_USER)$(<):`cat $(TMPBIN)/$(<).rid`
107-
docker commit $(DOCKER_COMMIT_ARGS) `cat $(TMPBIN)/$(<).cid` $(DOCKER_REGISTRY)$(DOCKER_USER)$(<):`cat $(TMPBIN)/$(<).rid` > $(TMPBIN)/$<.iid && cat $(TMPBIN)/$<.iid
108-
$(if $(DOCKER_TAG),docker tag `cat $(TMPBIN)/$(<).iid` $(DOCKER_REGISTRY)$(DOCKER_USER)$(<):$(DOCKER_TAG))
109-
@docker rm `cat $(TMPBIN)/$(<).cid`
110-
$(if $(DOCKER_PUSH),docker push $(DOCKER_REGISTRY)$(DOCKER_USER)$(<))
111-
@echo $(COLOR_WHITE)Created $(if $(DOCKER_PUSH),and pushed )$(COLOR_BOLD)$(DOCKER_REGISTRY)$(DOCKER_USER)$(<):`cat $(TMPBIN)/$(<).rid`$(COLOR_RESET) as image $(COLOR_WHITE)$(COLOR_BOLD)`cat $(TMPBIN)/$<.iid`$(COLOR_RESET)
104+
@rm -f $(TMPBIN)/$(*).cid
105+
docker run --cidfile $(TMPBIN)/$(*).cid -v `pwd`:/tmp/build $(DOCKER_BASE_IMAGE) sh /tmp/build/$(JML_BUILD)/docker_install_inside_container.sh /tmp/build/$(TMPBIN)/docker-$(*) $(if $(DOCKER_POST_INSTALL_SCRIPT),/tmp/build/$(DOCKER_POST_INSTALL_SCRIPT))
106+
cat $(TMPBIN)/$(*).cid
107+
echo docker commit `cat $(TMPBIN)/$(*).cid` $(DOCKER_REGISTRY)$(DOCKER_USER)$(*):`cat $(TMPBIN)/$(*).rid`
108+
docker commit $(DOCKER_COMMIT_ARGS) `cat $(TMPBIN)/$(*).cid` $(DOCKER_REGISTRY)$(DOCKER_USER)$(*):`cat $(TMPBIN)/$(*).rid` > $(TMPBIN)/$(*).iid && cat $(TMPBIN)/$(*).iid
109+
$(foreach tag,$(DOCKER_TAGS),docker tag -f `cat $(TMPBIN)/$(*).iid` $(DOCKER_REGISTRY)$(DOCKER_USER)$(*):$(tag);)
110+
$(if $(DOCKER_PUSH),docker tag -f `cat $(TMPBIN)/$(*).iid` $(DOCKER_REGISTRY)$(DOCKER_USER)$(*):latest)
111+
@docker rm `cat $(TMPBIN)/$(*).cid`
112+
#$(if $(DOCKER_PUSH),$(if $(DOCKER_TAG), docker push $(DOCKER_REGISTRY)$(DOCKER_USER)$(*):$(DOCKER_TAG)))
113+
$(if $(DOCKER_PUSH),docker push $(DOCKER_REGISTRY)$(DOCKER_USER)$(*):latest)
114+
@echo $(COLOR_WHITE)Created $(if $(DOCKER_PUSH),and pushed )$(COLOR_BOLD)$(DOCKER_REGISTRY)$(DOCKER_USER)$(*):`cat $(TMPBIN)/$(*).rid`$(COLOR_RESET) as image $(COLOR_WHITE)$(COLOR_BOLD)`cat $(TMPBIN)/$(*).iid`$(COLOR_RESET)
115+
116+
117+
## Functions
118+
# install_templated_file
119+
# 1: source file
120+
# 2: destination file
121+
# 3: mode (444)
122+
# 4: make target to add the rule as a prerequisite
123+
# 5: variable definition file
124+
# 6: template filter # must take a file as sole parameter and output
125+
# the result on stdout
126+
define install_templated_file
127+
$$(if $(trace),$$(warning called "$(0)" "$(1)" "$(2)" "$(3)" "$(4)" "$(5)" "$(6)))
128+
$(eval mode := $(if $(3),-m $(3),-m 0444))
129+
$(eval target_add_prereq := $(4))
130+
$(eval var_file := $(if $(5),$(5)))
131+
$(eval new_target := $(0)-$(1)-$(2))
132+
133+
$(new_target): $(1) $(var_file)
134+
install -d `dirname $(2)`
135+
$(6) $(1) >$(2)~
136+
install $(mode) $(2)~ $(2)
137+
rm $(2)~
138+
139+
$(target_add_prereq): $(new_target)
140+
.PHONY: $(new_target)
141+
endef
142+
143+
# install_directory
144+
# $(1): source dir
145+
# $(2): destination dir
146+
# $(3): make target to add the rule as a prerequisite
147+
define install_directory
148+
$$(if $(trace),$$(warning called "$(0)" "$(1)" "$(2)" "$(3)"))
149+
$(eval target_add_prereq := $(3))
150+
$(eval new_target := $(0)-$(1)-$(2))
151+
152+
$(new_target):
153+
mkdir -p $(2)
154+
cp -vR $(1) $(2)
155+
156+
$(target_add_prereq): $(new_target)
157+
.PHONY: $(new_target)
158+
endef
159+
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
#!/bin/bash
22

3+
set -e
4+
set -x
5+
36
echo "installing from " $1
47

5-
mkdir -p /opt
6-
cp -r $1/* /opt
7-
cp -r $1/etc/* /etc
8+
cd $1
9+
cp -av * /
810

9-
$2
11+
shift
12+
$*

jml-build/functions.mk

+15-2
Original file line numberDiff line numberDiff line change
@@ -306,12 +306,25 @@ $$(LIB_$(1)_SO): $$(dir $$(LIB_$(1)_SO))/.dir_exists $$(OBJFILES_$(1)) $$(foreac
306306
$$(if $(verbose_build),@echo $$(LINK_$(1)_COMMAND2),@echo $$(LIB_$(1)_BUILD_NAME) $$(LIB_$(1)_FILENAME))
307307
@$$(LINK_$(1)_COMMAND2)
308308

309+
$$(tmpLIBNAME): $(LIB)/$$(tmpLIBNAME)$$(so)
310+
.PHONY: $$(tmpLIBNAME)
311+
309312
LIB_$(1)_DEPS := $(LIB)/$$(tmpLIBNAME)$$(so)
310313

311314
libraries: $(LIB)/$$(tmpLIBNAME)$$(so)
312315
endif
313316
endef
314317

318+
# add a forward dependency to a library, ie it depends upon a library defined further forwards
319+
# in the makefile.
320+
# $(1): name of the library
321+
# $(2): name of all libraries it has a forward dependency on
322+
define library_forward_dependency
323+
ifneq ($(PREMAKE),1)
324+
$$(if $$(LIB_$(1)_SO),,$$(error unknown library $(1) for forward dep))
325+
$$(LIB_$(1)_SO): $$(foreach lib,$(2), $(LIB)/lib$$(lib)$$(so))
326+
endif
327+
endef
315328

316329
# add a program
317330
# $(1): name of the program
@@ -334,7 +347,7 @@ $(1)_OBJFILES:=$$(foreach file,$$(addsuffix .lo,$$(basename $$($(1)_PROGFILES:%=
334347
#$$(warning $(1)_OBJFILES = $$($(1)_OBJFILES))
335348
#$$(warning $(1)_PROGFILES = "$$($(1)_PROGFILES)")
336349

337-
LINK_$(1)_COMMAND:=$$(CXX) $$(CXXFLAGS) $$(CXXEXEFLAGS) $$(CXXNODEBUGFLAGS) -o $(BIN)/$(1) -lexception_hook $(MALLOC_LIBRARY) -L$(LIB) -ldl $$($(1)_OBJFILES) $$(foreach lib,$(2), -l$$(lib)) $$(CXXEXEPOSTFLAGS)
350+
LINK_$(1)_COMMAND:=$$(CXX) $$(CXXFLAGS) $$(CXXEXEFLAGS) $$(CXXNODEBUGFLAGS) -o $(BIN)/$(1) -lexception_hook -L$(LIB) -ldl $$($(1)_OBJFILES) $$(foreach lib,$(2), -l$$(lib)) $$(CXXEXEPOSTFLAGS)
338351

339352

340353
$(BIN)/$(1): $(BIN)/.dir_exists $$($(1)_OBJFILES) $$(foreach lib,$(2),$$(LIB_$$(lib)_DEPS)) $$(if $$(HAS_EXCEPTION_HOOK),$$(LIB)/libexception_hook.so)
@@ -381,7 +394,7 @@ $$(eval $$(call add_sources,$(1).cc))
381394

382395
$(1)_OBJFILES:=$$(BUILD_$(CWD)/$(1).lo_OBJ)
383396

384-
LINK_$(1)_COMMAND:=$$(CXX) $$(CXXFLAGS) $$(CXXEXEFLAGS) $$(CXXNODEBUGFLAGS) -o $(TESTS)/$(1) -lexception_hook $(MALLOC_LIBRARY) -ldl $$($(1)_OBJFILES) $$(foreach lib,$(2), -l$$(lib)) $(if $(findstring boost,$(3)), -lboost_unit_test_framework) $$(CXXEXEPOSTFLAGS)
397+
LINK_$(1)_COMMAND:=$$(CXX) $$(CXXFLAGS) $$(CXXEXEFLAGS) $$(CXXNODEBUGFLAGS) -o $(TESTS)/$(1) -lexception_hook -ldl $$($(1)_OBJFILES) $$(foreach lib,$(2), -l$$(lib)) $(if $(findstring boost,$(3)), -lboost_unit_test_framework) $$(CXXEXEPOSTFLAGS)
385398

386399
$(TESTS)/$(1): $(TESTS)/.dir_exists $(TEST_TMP)/.dir_exists $$($(1)_OBJFILES) $$(foreach lib,$(2),$$(LIB_$$(lib)_DEPS)) $$(if $$(HAS_EXCEPTION_HOOK),$$(LIB)/libexception_hook.so)
387400
$$(if $(verbose_build),@echo $$(LINK_$(1)_COMMAND),@echo " $(COLOR_BLUE)[BIN]$(COLOR_RESET) $(1)")

jml-build/get_python_requirements.sh

+3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ if [[ ! -f "$req_file" ]]; then
4242
exit 1
4343
fi
4444

45+
# fail on first error
46+
set -e
47+
4548
# Remove commented and empty lines & loop through the requirements
4649
grep -vE '^#|^$' $req_file | while read line
4750
do

jml-build/node.mk

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ nodejs_dependencies: package.json
2525

2626
dependencies: nodejs_dependencies
2727

28-
$(BIN)/node_runner: $(BIN)/.dir_exists
28+
environment_ld_preload_hash := $(shell echo $(NODE_PRELOAD) $(NODE_PATH) $(NODE) | md5sum | cut -f 1 -d ' ' )
29+
$(TMP)/environment_$(environment_ld_preload_hash): $(TMP)/.dir_exists
30+
@touch $@
31+
32+
$(BIN)/node_runner: $(BIN)/.dir_exists $(TMP)/environment_$(environment_ld_preload_hash)
2933
@echo '#!/bin/bash' > $@~
3034
@echo 'exec /usr/bin/env NODE_PATH=$(NODE_PATH) $(NODE_PRELOAD) $(NODE) "$$@"' >> $@~
3135
@chmod +x $@~

jml-build/python.mk

+8-5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ PYTHON_INCLUDE_PATH ?= $(VIRTUALENV)/include/python$(PYTHON_VERSION)
77
PYTHON ?= python$(PYTHON_VERSION)
88
PIP ?= pip
99
PYFLAKES ?= true
10+
# Override this to run a cmd before installing python_requirements.txt
11+
PYTHON_DEPENDENCIES_PRE_CMD ?= true
1012

1113
PYTHON_PURE_LIB_PATH ?= $(BIN)
1214
PYTHON_PLAT_LIB_PATH ?= $(BIN)
@@ -23,12 +25,13 @@ $(VIRTUALENV)/bin/activate:
2325

2426
python_dependencies: $(VIRTUALENV)/bin/activate
2527

26-
PYTHON_EXECUTABLE ?= $(VIRTUALENV)/bin/python
28+
PYTHON_EXECUTABLE ?= $(PYTHON) $(PYTHON_ARGS)
2729

2830
endif
2931

3032
python_dependencies:
31-
@if [ -f python_requirements.txt ]; then \
33+
if [ -f python_requirements.txt ]; then \
34+
$(PYTHON_DEPENDENCIES_PRE_CMD); \
3235
$(PIP) install -r python_requirements.txt; \
3336
fi
3437

@@ -83,7 +86,7 @@ define python_test
8386
ifneq ($(PREMAKE),1)
8487
$$(if $(trace),$$(warning called python_test "$(1)" "$(2)" "$(3)" "$(4)"))
8588

86-
TEST_$(1)_COMMAND := rm -f $(TESTS)/$(1).{passed,failed} && $(PYFLAKES) $(CWD)/$(1).py && ((set -o pipefail && PYTHONPATH=$(RUN_PYTHONPATH) $(PYTHON) $(CWD)/$(1).py > $(TESTS)/$(1).running 2>&1 && mv $(TESTS)/$(1).running $(TESTS)/$(1).passed) || (mv $(TESTS)/$(1).running $(TESTS)/$(1).failed && echo " $(COLOR_RED)$(1) FAILED$(COLOR_RESET)" && cat $(TESTS)/$(1).failed && false))
89+
TEST_$(1)_COMMAND := rm -f $(TESTS)/$(1).{passed,failed} && $(PYFLAKES) $(CWD)/$(1).py && ((set -o pipefail && PYTHONPATH=$(RUN_PYTHONPATH) $(PYTHON) $(PYTHON_ARGS) $(CWD)/$(1).py > $(TESTS)/$(1).running 2>&1 && mv $(TESTS)/$(1).running $(TESTS)/$(1).passed) || (mv $(TESTS)/$(1).running $(TESTS)/$(1).failed && echo " $(COLOR_RED)$(1) FAILED$(COLOR_RESET)" && cat $(TESTS)/$(1).failed && false))
8790

8891
$(TESTS)/$(1).passed: $(TESTS)/.dir_exists $(CWD)/$(1).py $$(foreach lib,$(2),$$(PYTHON_$$(lib)_DEPS)) $$(foreach pymod,$(2),$(TMPBIN)/$$(pymod)_pymod)
8992
$$(if $(verbose_build),@echo '$$(TEST_$(1)_COMMAND)',@echo " $(COLOR_VIOLET)[TESTCASE]$(COLOR_RESET) $(1)")
@@ -92,7 +95,7 @@ $(TESTS)/$(1).passed: $(TESTS)/.dir_exists $(CWD)/$(1).py $$(foreach lib,$(2),$$
9295

9396
$(1): $(CWD)/$(1).py $$(foreach lib,$(2),$$(PYTHON_$$(lib)_DEPS)) $$(foreach pymod,$(2),$(TMPBIN)/$$(pymod)_pymod)
9497
@$(PYFLAKES) $(CWD)/$(1).py
95-
PYTHONPATH=$(RUN_PYTHONPATH) $(PYTHON) $(CWD)/$(1).py $($(1)_ARGS)
98+
PYTHONPATH=$(RUN_PYTHONPATH) $(PYTHON) $(PYTHON_ARGS) $(CWD)/$(1).py $($(1)_ARGS)
9699

97100
.PHONY: $(1)
98101

@@ -159,7 +162,7 @@ PYTHON_$(1)_DEPS := $(PYTHON_BIN_PATH)/$(1) $$(foreach pymod,$(3),$$(PYTHON_$$(p
159162
.PHONY: run_$(1)
160163

161164
run_$(1): $(PYTHON_BIN_PATH)/$(1)
162-
$(PYTHON) $(PYTHON_BIN_PATH)/$(1) $($(1)_ARGS)
165+
$(PYTHON) $(PYTHON_ARGS) $(PYTHON_BIN_PATH)/$(1) $($(1)_ARGS)
163166

164167
$(PYTHON_BIN_PATH)/$(1): $(CWD)/$(2) $(PYTHON_BIN_PATH)/.dir_exists $$(foreach pymod,$(3),$(TMPBIN)/$$(pymod)_pymod) $$(foreach pymod,$(3),$$(PYTHON_$$(pymod)_DEPS))
165168
@echo "$(COLOR_BLUE)[PYTHON_PROGRAM]$(COLOR_RESET) $(1)"

jml-build/tcmalloc.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ifeq ($(TCMALLOC_ENABLED),1)
22

3-
MALLOC_LIBRARY?=-ltcmalloc
3+
MEMORY_ALLOC_LIBRARY?=tcmalloc
44
CXXFLAGS += -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
55
CFLAGS += -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
66

0 commit comments

Comments
 (0)