Skip to content

Commit 6ad73ae

Browse files
RotwangReini Urban
authored andcommitted
Fix parallel make GH #152
just not on netbsd Analysis and Patch by Rotwang: 1) Inside nqp's main makefile three libraries have the same make recursive jump. Which means that more than one make instance (separate processes) will try to build the same objects. 2) dyncall makefiles fail due to: http://lists.gnu.org/archive/html/bug-make/2013-12/msg00019.html
1 parent 74c2c59 commit 6ad73ae

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

3rdparty/dyncall/buildsys/gmake/targets.gmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,13 @@ endif
7676
dirs: $(DIRS)
7777
ifdef DIRS
7878
$(DIRS):
79-
$(MAKE_COMMAND) -C $@ $(MAKECMDGOALS)
79+
$(MAKE) -C $@ $(MAKECMDGOALS)
8080
endif
8181

8282
extra-dirs: $(EXTRA_DIRS)
8383
ifdef EXTRA_DIRS
8484
$(EXTRA_DIRS):
85-
$(MAKE_COMMAND) -C $@ $(MAKECMDGOALS)
85+
$(MAKE) -C $@ $(MAKECMDGOALS)
8686
endif
8787

8888
# --- clean -------------------------------------------------------------------

Configure.pl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@
193193
if ($^O eq 'netbsd') {
194194
$config{'dyncall_build'} = "cd 3rdparty/dyncall && BUILD_DIR=. $make -f BSDmakefile";
195195
} else {
196-
$config{'dyncall_build'} = "cd 3rdparty/dyncall && BUILD_DIR=. $make";
196+
$config{'dyncall_build'} = '$(MAKE) -C 3rdparty/dyncall BUILD_DIR=.';
197197
}
198198
}
199199
}

tools/build/Makefile-Parrot.in

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1012,7 +1012,10 @@ $(OPS_DIR)/$(BIGINT_OPS)$(LOAD_EXT): $(OPS_DIR)/$(BIGINT_OPS_SOURCE) $(LIBTOMMAT
10121012
cd src/vm/parrot/6model/reprs && $(CC) -c @cc_o_out@P6bigint$(O) -I../../../../../$(PMC_DIR) -I../../../../../3rdparty/libtommath $(CINCLUDES) $(CFLAGS) P6bigint.c
10131013
cd $(OPS_DIR) && $(LD) @ld_out@$(BIGINT_OPS)$(LOAD_EXT) $(BIGINT_OPS)$(O) ../../../../3rdparty/libtommath/*$(O) ../6model/reprs/P6bigint$(O) $(LINKARGS)
10141014

1015-
$(DYNCALL_BIN):
1015+
$(DYNCALL_BIN): dyncall-build
1016+
1017+
.PHONY: dyncall-build
1018+
dyncall-build:
10161019
@dyncall_build@
10171020

10181021
$(OPS_DIR)/$(DYNCALL_OPS)$(LOAD_EXT): $(OPS_DIR)/$(DYNCALL_OPS_SOURCE) $(DYNCALL_BIN) src/vm/parrot/6model/reprs/NativeCall.c src/vm/parrot/6model/reprs/NativeCall.h src/vm/parrot/6model/reprs/CStruct.c src/vm/parrot/6model/reprs/CStruct.h src/vm/parrot/6model/reprs/CPointer.c src/vm/parrot/6model/reprs/CPointer.h src/vm/parrot/6model/reprs/CArray.c src/vm/parrot/6model/reprs/CArray.h src/vm/parrot/6model/reprs/CStr.c src/vm/parrot/6model/reprs/CStr.h $(OPS_DIR)/$(OPS)$(LOAD_EXT)

0 commit comments

Comments
 (0)