Objective-C on Dreamcast: Difference between revisions

From dreamcast.wiki
Jump to navigation Jump to search
mNo edit summary
(Added the libffi section)
Line 1: Line 1:
{{Note|type=warn|text=This article is a Work in Progress. It is subject to change and utilizes repo forks that might be significantly behind the mainline repo.}}
<div style="float:right;">__TOC__</div>
<div style="float:right;">__TOC__</div>
=Introduction=
=Introduction=
Line 8: Line 10:


Important note: If you haven't setup KOS yet, you must follow the [[Getting Started with Dreamcast development|Getting Started Guide]]. You can then come back and continue with this one.
Important note: If you haven't setup KOS yet, you must follow the [[Getting Started with Dreamcast development|Getting Started Guide]]. You can then come back and continue with this one.
=Preparation=
We must first configure and install the prerequisites for Foundation. These include libffi and Tools-Make.
== Libffi ==
==== Clone the ffi repo ====
    git clone git@github.com:andrewapperley/libffi.git
==== Execute the configure command ====
    CC=kos-cc CXX=kos-c++ ./configure --host=sh-elf --target=sh-elf
==== Execute the make command ====
    make
==== Execute the make install command ====
    make install

Revision as of 20:35, 6 June 2024

Template:Note

Introduction

This article will cover the how to setup Obective-C and it's Standard Library Foundation. The following git repos will be used in this guide and will be described in more detail as we go:

  • Tools-Make - provides a set of make files that are used to properly configure Foundation
  • KOS - the main package for making Dreamcast Homebrew. We will need to patch your local git clone with pthread support
  • Libs-Base - provides the Foundation library for Objective-C
  • LibFFI - used for NSTimers and NSInvocation support

Important note: If you haven't setup KOS yet, you must follow the Getting Started Guide. You can then come back and continue with this one.

Preparation

We must first configure and install the prerequisites for Foundation. These include libffi and Tools-Make.

Libffi

Clone the ffi repo

   git clone git@github.com:andrewapperley/libffi.git

Execute the configure command

   CC=kos-cc CXX=kos-c++ ./configure --host=sh-elf --target=sh-elf

Execute the make command

   make

Execute the make install command

   make install