Skip to content

Commit

Permalink
Use dasm_flags as configuration value
Browse files Browse the repository at this point in the history
Rather than switch build targets, lets just switch flags based on
platform.
  • Loading branch information
bdw committed Aug 24, 2017
1 parent 8cb2ea4 commit 7c46d3e
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -73,7 +73,7 @@ jit-log.txt
jit-*.bin

# dynasm emitted files
src/jit/x64/emit_*.c
src/jit/x64/emit.c

# generated code
tools/lib/MAST/Ops.pm
11 changes: 7 additions & 4 deletions Configure.pl
Expand Up @@ -401,11 +401,13 @@ ($$)
if ($config{ptr_size} != 8) {
print "JIT isn't supported on platforms with $config{ptr_size} byte pointers.\n";
} elsif ($Config{archname} =~ m/^x86_64|^amd64|^darwin(-thread)?(-multi)?-2level/) {
$config{jit_obj} = '$(JIT_POSIX_X64)';
$config{jit_obj} = '$(JIT_ARCH_X64)';
$config{dasm_flags} = '-D POSIX=1';
$config{jit_arch} = 'MVM_JIT_ARCH_X64';
$config{jit_platform} = 'MVM_JIT_PLATFORM_POSIX';
} elsif ($Config{archname} =~ /^MSWin32-x64/) {
$config{jit_obj} = '$(JIT_WIN32_X64)';
$config{jit_obj} = '$(JIT_ARCH_X64)';
$config{dasm_flags} = '-D WIN32=1';
$config{jit_arch} = 'MVM_JIT_ARCH_X64';
$config{jit_platform} = 'MVM_JIT_PLATFORM_WIN32';
} else {
Expand All @@ -414,9 +416,10 @@ ($$)
}
# fallback
unless (defined $config{jit_obj}) {
$config{jit_obj} = '$(JIT_STUB)';
$config{jit_arch} = 'MVM_JIT_ARCH_STUB';
$config{jit_obj} = '$(JIT_STUB)';
$config{jit_arch} = 'MVM_JIT_ARCH_STUB';
$config{jit_platform} = 'MVM_JIT_PLATFORM_STUB';
$config{dasm_flags} = '';
}


Expand Down
27 changes: 10 additions & 17 deletions build/Makefile.in
Expand Up @@ -56,12 +56,9 @@ PLATFORM_WIN32 = src/platform/win32/mmap@obj@ \
PLATFORM_POSIX = src/platform/posix/mmap@obj@ \
src/platform/posix/time@obj@

DASM_FLAGS_WIN32 = -D WIN32=1
DASM_FLAGS_POSIX = -D POSIX=1
JIT_WIN32_X64 = src/jit/x64/emit_win32@obj@
JIT_POSIX_X64 = src/jit/x64/emit_posix@obj@
JIT_STUB = src/jit/stub@obj@

DASM_FLAGS = @dasm_flags@
JIT_ARCH_X64 = src/jit/x64/emit@obj@
JIT_STUB = src/jit/stub@obj@

MAIN_OBJECTS = src/main@obj@

Expand Down Expand Up @@ -562,18 +559,14 @@ src/strings/unicode.c: src/strings/unicode_db.c src/strings/unicode_ops.c
$(MINILUA): 3rdparty/dynasm/minilua.c
$(CC) $(CFLAGS) $(LDFLAGS) 3rdparty/dynasm/minilua.c -o $@ $(LDLIBS)

src/jit/x64/emit_posix@obj@: src/jit/x64/emit_posix.c $(DYNASM_HEADERS)
src/jit/x64/emit_win32@obj@: src/jit/x64/emit_win32.c $(DYNASM_HEADERS)

src/jit/x64/emit_posix.c: src/jit/x64/emit.dasc $(MINILUA) $(DYNASM_SCRIPTS)
$(DYNASM) $(DASM_FLAGS_POSIX) -o $@ src/jit/x64/emit.dasc
src/jit/x64/emit@obj@: src/jit/x64/emit.c $(DYNASM_HEADERS)

src/jit/x64/emit_win32.c: src/jit/x64/emit.dasc $(MINILUA) $(DYNASM_SCRIPTS)
$(DYNASM) $(DASM_FLAGS_WIN32) -o $@ src/jit/x64/emit.dasc
src/jit/x64/emit.c: src/jit/x64/emit.dasc $(MINILUA) $(DYNASM_SCRIPTS)
$(DYNASM) $(DASM_FLAGS) -o $@ src/jit/x64/emit.dasc

dasm_all: src/jit/x64/emit_win32.c src/jit/x64/emit_posix.c
# JIT intermediate files which clean should remove
JIT_INTERMEDIATES = src/jit/x64/emit.c

@jit_obj@: src/jit/internal.h

@uvlib@: $(UV_OBJECTS)
$(MSG) linking $@
Expand Down Expand Up @@ -607,7 +600,7 @@ pkgconfig/moar.pc: build/mk-moar-pc.pl

clean:
$(MSG) remove build files
-$(CMD)$(RM) $(MAIN_OBJECTS) $(OBJECTS) $(NOOUT) $(NOERR)
-$(CMD)$(RM) $(MAIN_OBJECTS) $(OBJECTS) $(JIT_INTERMEDIATES) $(NOOUT) $(NOERR)

realclean: clean
$(MSG) remove auxiliary files
Expand All @@ -626,7 +619,7 @@ distclean: realclean
$(MSG) remove configuration and generated files
-$(CMD)$(RM) Makefile src/gen/config.h src/gen/config.c src/strings/unicode.c \
tools/check.mk 3rdparty/libatomic_ops/config.log 3rdparty/libatomic_ops/config.status $(NOOUT) $(NOERR)
-$(CMD)$(RM_RF) src/jit/emit_posix_x64.c build/mk-moar-pc.pl pkgconfig/ $(NOOUT) $(NOERR)
-$(CMD)$(RM_RF) build/mk-moar-pc.pl pkgconfig/ $(NOOUT) $(NOERR)

release:
[ -n "$(VERSION)" ] || ( echo "\nTry 'make release VERSION=yyyy.mm'\n\n"; exit 1 )
Expand Down

0 comments on commit 7c46d3e

Please sign in to comment.