English Amiga Board


Go Back   English Amiga Board > News

 
 
Thread Tools
Old 04 April 2015, 22:27   #41
Leffmann

 
Join Date: Jul 2008
Location: Sweden
Posts: 2,029
Quote:
Originally Posted by dalton View Post
I was able to compile vasm and vlink on win32 using the incuded makefiles, but it seems there is only one vbcc makefile and it's hardwired to gcc. Does anyone have win32 binaries, or pointers on how to compile for windows? I'm using visual c++ 2010.

Cheers
Dalton
I use this one. Call it with
nmake /f makefile.win32
and for the 64-bit types you specify
signed __int64
and
unsigned __int64
:

EDIT: I've attached binaries for 32-bit and 64-bit Windows

Code:
# debug build
#CC = cl /RTCs /MTd /Zi /nologo /Dsnprintf=_snprintf
#LDFLAGS = /link /DEBUG /NOLOGO

# release build
CC = cl /O2 /MT /nologo /Dsnprintf=_snprintf
LDFLAGS = /link /NOLOGO /OPT:REF

NCC = cl

all: bin/vc.exe bin/vbcc$(TARGET).exe

bin/vc.exe: frontend/vc.c
	$(CC) frontend/vc.c /Febin/vc.exe $(LDFLAGS)

TRGDIR = machines/$(TARGET)

bobjects = $(TRGDIR)/main.obj $(TRGDIR)/vars.obj $(TRGDIR)/declaration.obj \
	   $(TRGDIR)/parse_expr.obj $(TRGDIR)/type_expr.obj $(TRGDIR)/ic.obj \
	   $(TRGDIR)/machine.obj $(TRGDIR)/statements.obj \
	   $(TRGDIR)/supp.obj $(TRGDIR)/dt.obj \
           $(TRGDIR)/assert.obj $(TRGDIR)/cpp.obj $(TRGDIR)/hash.obj \
           $(TRGDIR)/lexer.obj $(TRGDIR)/macro.obj $(TRGDIR)/mem.obj \
           $(TRGDIR)/eval.obj

fobjects = $(TRGDIR)/opt.obj $(TRGDIR)/av.obj $(TRGDIR)/rd.obj $(TRGDIR)/regs.obj \
	   $(TRGDIR)/flow.obj $(TRGDIR)/cse.obj $(TRGDIR)/cp.obj $(TRGDIR)/loop.obj \
	   $(TRGDIR)/alias.obj $(bobjects)

bin/vbcc$(TARGET).exe: $(fobjects)
	$(CC) $(fobjects) /Febin/vbcc$(TARGET).exe $(LDFLAGS)

bin/dtgen.exe: datatypes/dtgen.c datatypes/datatypes.h datatypes/dtconv.h
	$(NCC) datatypes/dtgen.c /Febin/dtgen.exe /Idatatypes

$(TRGDIR)/dt.h: bin/dtgen.exe $(TRGDIR)/machine.dt
	bin\dtgen.exe $(TRGDIR)/machine.dt $(TRGDIR)/dt.h $(TRGDIR)/dt.c

$(TRGDIR)/dt.c: bin/dtgen.exe $(TRGDIR)/machine.dt
	bin\dtgen.exe $(TRGDIR)/machine.dt $(TRGDIR)/dt.h $(TRGDIR)/dt.c

$(TRGDIR)/dt.obj: $(TRGDIR)/dt.h $(TRGDIR)/dt.c
	$(CC) /c $(TRGDIR)/dt.c /Fo$(TRGDIR)/dt.obj /I$(TRGDIR) /Idatatypes

$(TRGDIR)/supp.obj: supp.c supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c supp.c /Fo$(TRGDIR)/supp.obj /I$(TRGDIR)

$(TRGDIR)/main.obj: main.c vbc.h supp.h vbcc_cpp.h ucpp/cpp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c main.c /Fo$(TRGDIR)/main.obj /I$(TRGDIR)

$(TRGDIR)/vars.obj: vars.c vbc.h supp.h $(TRGDIR)/machine.h errors.h $(TRGDIR)/dt.h
	$(CC) /c vars.c /Fo$(TRGDIR)/vars.obj /I$(TRGDIR)

$(TRGDIR)/declaration.obj: declaration.c vbc.h supp.h vbcc_cpp.h ucpp/cpp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c declaration.c /Fo$(TRGDIR)/declaration.obj /I$(TRGDIR)

$(TRGDIR)/parse_expr.obj: parse_expr.c vbc.h supp.h vbcc_cpp.h ucpp/cpp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c parse_expr.c /Fo$(TRGDIR)/parse_expr.obj /I$(TRGDIR)

$(TRGDIR)/type_expr.obj: type_expr.c vbc.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c type_expr.c /Fo$(TRGDIR)/type_expr.obj /I$(TRGDIR)

$(TRGDIR)/ic.obj: ic.c vbc.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c ic.c /Fo$(TRGDIR)/ic.obj /I$(TRGDIR)

$(TRGDIR)/statements.obj: statements.c vbc.h supp.h vbcc_cpp.h ucpp/cpp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c statements.c /Fo$(TRGDIR)/statements.obj /I$(TRGDIR)

$(TRGDIR)/opt.obj: opt.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c opt.c /Fo$(TRGDIR)/opt.obj /I$(TRGDIR)

$(TRGDIR)/av.obj: av.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c av.c /Fo$(TRGDIR)/av.obj /I$(TRGDIR)

$(TRGDIR)/rd.obj: rd.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c rd.c /Fo$(TRGDIR)/rd.obj /I$(TRGDIR)

$(TRGDIR)/regs.obj: regs.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c regs.c /Fo$(TRGDIR)/regs.obj /I$(TRGDIR)

$(TRGDIR)/flow.obj: flow.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c flow.c /Fo$(TRGDIR)/flow.obj /I$(TRGDIR)

$(TRGDIR)/cse.obj: cse.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c cse.c /Fo$(TRGDIR)/cse.obj /I$(TRGDIR)

$(TRGDIR)/cp.obj: cp.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c cp.c /Fo$(TRGDIR)/cp.obj /I$(TRGDIR)

$(TRGDIR)/loop.obj: loop.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c loop.c /Fo$(TRGDIR)/loop.obj /I$(TRGDIR)

$(TRGDIR)/alias.obj: alias.c opt.h supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h
	$(CC) /c alias.c /Fo$(TRGDIR)/alias.obj /I$(TRGDIR)

$(TRGDIR)/preproc.obj: preproc.c vbpp.h supp.h vbc.h $(TRGDIR)/dt.h
	$(CC) /c preproc.c /Fo$(TRGDIR)/preproc.obj /I$(TRGDIR)

$(TRGDIR)/assert.obj: ucpp/assert.c ucpp/cpp.h ucpp/mem.h ucpp/hash.h ucpp/tune.h $(TRGDIR)/dt.h
	$(CC) -DNO_UCPP_ERROR_FUNCTIONS /c ucpp/assert.c /Fo$(TRGDIR)/assert.obj /I$(TRGDIR)

$(TRGDIR)/cpp.obj: ucpp/cpp.c ucpp/cpp.h ucpp/mem.h ucpp/hash.h ucpp/tune.h $(TRGDIR)/dt.h
	$(CC) -DNO_UCPP_ERROR_FUNCTIONS /c ucpp/cpp.c /Fo$(TRGDIR)/cpp.obj /I$(TRGDIR)

$(TRGDIR)/hash.obj: ucpp/hash.c ucpp/cpp.h ucpp/mem.h ucpp/hash.h ucpp/tune.h $(TRGDIR)/dt.h
	$(CC) -DNO_UCPP_ERROR_FUNCTIONS /c ucpp/hash.c /Fo$(TRGDIR)/hash.obj /I$(TRGDIR)

$(TRGDIR)/lexer.obj: ucpp/lexer.c ucpp/cpp.h ucpp/mem.h ucpp/hash.h ucpp/tune.h $(TRGDIR)/dt.h
	$(CC) -DNO_UCPP_ERROR_FUNCTIONS /c ucpp/lexer.c /Fo$(TRGDIR)/lexer.obj /I$(TRGDIR)

$(TRGDIR)/macro.obj: ucpp/macro.c ucpp/cpp.h ucpp/mem.h ucpp/hash.h ucpp/tune.h $(TRGDIR)/dt.h
	$(CC) -DNO_UCPP_ERROR_FUNCTIONS /c ucpp/macro.c /Fo$(TRGDIR)/macro.obj /I$(TRGDIR)

$(TRGDIR)/mem.obj: ucpp/mem.c ucpp/cpp.h ucpp/mem.h ucpp/hash.h ucpp/tune.h $(TRGDIR)/dt.h
	$(CC) -DNO_UCPP_ERROR_FUNCTIONS /c ucpp/mem.c /Fo$(TRGDIR)/mem.obj /I$(TRGDIR)

$(TRGDIR)/eval.obj: ucpp/eval.c ucpp/cpp.h ucpp/mem.h ucpp/tune.h $(TRGDIR)/dt.h
	$(CC) -DNO_UCPP_ERROR_FUNCTIONS /c ucpp/eval.c /Fo$(TRGDIR)/eval.obj /I$(TRGDIR)

$(TRGDIR)/machine.obj: $(TRGDIR)/machine.c supp.h $(TRGDIR)/machine.h $(TRGDIR)/dt.h dwarf2.c
	$(CC) /c $(TRGDIR)/machine.c /Fo$(TRGDIR)/machine.obj /I$(TRGDIR) /I.

Last edited by Leffmann; 02 September 2017 at 12:13.
Leffmann is offline  
AdSense AdSense  
Old 09 April 2015, 18:54   #42
dalton
tulou
dalton's Avatar
 
Join Date: Jun 2006
Location: Gothenburg / Sweden
Posts: 68
Thanks a lot Leffmann!
dalton is offline  
Old 12 April 2015, 00:43   #43
tolkien
AmigaMan

tolkien's Avatar
 
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 455
I have contacted with Steve Krueger and Douglas Walker (SASC developers) and talked about SASC DEBUG format among other things.

They said that only the LINE format was documented. The symbol one was used in internal development in SASC (Douglas tried to get that info years ago with no luck) so sadly I think that with no symbol info VBCC canīt generate debug info that CPR can understand.

End of history so letīs continue...
tolkien is online now  
Old 13 July 2015, 20:41   #44
arti
Registered User

 
Join Date: Jul 2008
Location: Poland
Posts: 475
Is it possible to use vbcc math .lib in gcc ?
arti is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Compile problems with VBCC Yesideez Coders. C/C++ 9 19 October 2014 00:38
VBCC code generation Asman Coders. C/C++ 9 17 August 2014 10:33
From gcc to vbcc. Cowcat Coders. General 9 06 June 2014 15:45
vbcc: no startup aragon Coders. C/C++ 2 16 February 2014 15:52
VBCC 0.8j for Windows hitchhikr Coders. General 11 09 October 2008 01:58

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 01:39.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.12008 seconds with 12 queries