Amiga vbcc support

I know this is not going to be a common issue, so if you could help myself fix this using the current tools. I am trying to create a cross compile tool chain to code for the Amiga. Using vbcc as the compiler.

I have created a makefile project with a compiler.yaml - files included.

The code compiles but the clion ide is unable to find any reference to any included types and files. At the start of main.c are the headers, all not found - and hence the containing types.

#include <intuition/intuition.h>
#include <proto/dos.h>
#include <proto/intuition.h>

Any help would be useful.

All files have been attached.

My compiler directory structure is as follows, with environment variable VBCC pointing to the base of this.
├── bin
├── NDK_3.2
│   ├── Include_H
│   ├── Include_I
│   ├── lib
└── targets
   ├── m68k-amigaos
   └── m68k-kick13

Upload id: 2026_09_24_QMsHRgt687RM1nLS2Qf1Hc (files: Makefile and 2 more)
Not everyone will see these files, so, Makefile:

VBCC ?= /home/stu/.local/share/vbcc
NDK_INC ?= $(VBCC)NDK_3.2/Include_H
CC = $(VBCC)bin/vc
CFLAGS = -c99 +kick13 -I$(NDK_INC) -I$(VBCC)targets/m68k-amigaos/include
LDFLAGS = -lamiga -lauto
SRCS = main.c
VPATH = $(NDK_INC)
.INCLUDE_DIRS = $(NDK_INC)Include_H $(VBCC)targets/m68k-amigaos/include

all:
    $(CC) $(CFLAGS) $(LDFLAGS) main.c -o build/window

clean:
    rm build/window


# vc +kick13 -c99 -I$NDK_INC -I$VBCC/targets/m68k-amigaos/include  main.c -lamiga -lauto -o window

and compiler.yaml:
compilers:
 - description: Amiga vbcc compiler
   match-sources: ".*\\.c"
   match-language: C
   match-compiler-exe: "(.*/)?vc(.exe)?"
   code-insight-target-name: m68k
   include-dirs:
     - "${compiler-exe-dir}/../targets/m68k-amigaos/include"
     - "${compiler-exe-dir}/../targets/m68k-kick13/include"
     - "${compiler-exe-dir}/../NDK_3.2/Include_H"
   defines:
     __VBCC__: ""
     __AMIGA__: ""
     AMIGA: ""
 

0
2 comments

Hello!

Please provide the following additional information:

  1. Do Tools | Makefile | Clean and Reload Makefile Project, and attach a screenshot of the Build tool window.
  2. Open main.c in the editor, place the caret in the code, do Help | Find Action, search for the Show Compiler Info action there, select it, and then provide the results.
  3. While main.c is opened in the editor and the caret is in the code, capture a screenshot showing the Resolve Context widget in the Status bar (bottom-right corner of CLion) and provide it.
    Here are the examples of this widget:

0

Thank you for your response.

1. The app builds, and I can run the produced executable in an Amiga emulator.

2. Show Compiler Info shows:

Compiler info for 'main.c' in configuration 'main.c' for language C

Compiler kind: Custom Defined Compiler path: /home/stu/.local/share/vbcc/bin/vc
Custom Compiler: Amiga vbcc compiler

Compiler switches:
	-c99
	-I/home/stu/.local/share/vbcc/NDK_3.2/
	-I/home/stu/.local/share/vbcc/targets/m68k-amigaos/include
	-lamiga
	-lauto
	main.c
	-o
	build/window

Compiler info:

Defines:
#define __VBCC__
#define __AMIGA__
#define AMIGA

Features:
	CLANG_TARGET=m68k
	CXX_CONSTEXPR=false
	CXX_USER_LITERALS=false
	CXX_OVERRIDE_CONTROL=false
	CXX_GENERIC_LAMBDAS=false
	C_STATIC_ASSERT=false
	C_AUTO_TYPE=false
	CXX_EXCEPTIONS=false
	CXX_GENERALIZED_INITIALIZERS=false
	CXX_AUTO_TYPE=false
	CXX_NULLPTR=false
	CXX_RETURN_TYPE_DEDUCTION=false
	CXX_RAW_STRING_LITERALS=false
	C_NULLPTR=false
	C_CONSTEXPR=false
	CXX_BINARY_LITERALS=false
	CXX_NONSTATIC_MEMBER_INIT=false

Implicit includes:


Header Search paths:
	Pointer: file:///home/stu/.local/share/vbcc/NDK_3.2
	Pointer: file:///home/stu/.local/share/vbcc/targets/m68k-amigaos/include
	Pointer: file:///home/stu/.local/share/vbcc/targets/m68k-amigaos/include
	Pointer: file:///home/stu/.local/share/vbcc/targets/m68k-kick13/include
	Pointer: file:///home/stu/.local/share/vbcc/NDK_3.2/Include_H

The Header Search paths do resolve to the header files locations I am using/wanting to use.

3. I can see there is an issue here: 

How do I set the context, please?

0

Please sign in to leave a comment.