Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #3921 > unrolled thread

Apple //gs build environment for Xcode

Started byJeremy Rand <jeremy@rand-family.com>
First post2017-09-11 00:06 -0400
Last post2017-09-13 12:21 -0500
Articles 5 — 3 participants

Back to article view | Back to comp.sys.apple2.programmer


Contents

  Apple //gs build environment for Xcode Jeremy Rand <jeremy@rand-family.com> - 2017-09-11 00:06 -0400
    Re: Apple //gs build environment for Xcode Antoine Vignau <antoine.vignau@laposte.net> - 2017-09-11 02:29 -0700
      Re: Apple //gs build environment for Xcode Jeremy Rand <jeremy@rand-family.com> - 2017-09-11 09:29 -0400
        Re: Apple //gs build environment for Xcode Antoine Vignau <antoine.vignau@laposte.net> - 2017-09-12 07:45 -0700
    Re: Apple //gs build environment for Xcode kelvin@pro-kegs.uucp (Kelvin Sherlock) - 2017-09-13 12:21 -0500

#3921 — Apple //gs build environment for Xcode

FromJeremy Rand <jeremy@rand-family.com>
Date2017-09-11 00:06 -0400
SubjectApple //gs build environment for Xcode
Message-ID<1051049624.526795500.003940.jeremy-rand-family.com@news.eternal-september.org>
During my lightning session at KFest 2017, I demonstrated a build
environment for Apple //gs development which used Xcode.  At the time, I
said it wasn’t ready for public consumption but would be available in two
weeks.  To paraphrase Spock from Wrath of Khan, “weeks could seem like
months” and here we are at v1.0 about two months after KFest.

I have a download available from here:

https://github.com/jeremysrand/Apple2GSBuildPipeline

There are lots of installation instructions at the above link because you
need to gather together a number of other components like Xcode, Golden
Gate, ProFuse, GSplus, etc.

The feature list is now quite long but I think might be worth the wait:

   • Attempts to hide all of the infrastructure which you don't need to
modify in a make directory.
   • Supports linking together multiple C and assembly files. To add a new
file to the project, just create a new *.c or *.s file in the project
directory.
   • Supports a single resource file in your project. Any files included in
your resource files are detected in the build and if you change the header,
the resource file will rebuild automatically.
   • Supports putting your source files in multiple directories. Just make
sure to add those directories to the SRCDIRS variable in the root Makefile.
Once you add the source directory to the build, any source files in that
directory will automatically be built and linked into your executable.
   • If you change a header file, the right source files will rebuild
automatically. Header file dependencies are generated during the build.
   • If you change a macro file used by one or more assembly source files,
the right files will be re-assembled automatically. Assembly file
dependencies are generated during the build.
   • Supports project types like ORCA or GNO shell executable, GUI
executable, new desk accessory, classic desk accessory and control panel.
In Xcode, when you create a project, you will see options for each of these
project types. Select one and you will have a skeleton project which
includes enough code to give you a basic "hello world" style application of
that type.
   • For shell targets, when you build and run, the shell command is
executed right in Xcode itself using Golden Gate. You can edit your run
scheme configuration in Xcode to customize the arguments passed to your
shell command.
   • Creates a bootable disk image with your executable as part of the
build for non-shell targets. If your target is a CDA, NDA or CDev, the
executable is copied to the appropriate place in the System folder. For a
desktop application, the executable is in the root of the bootable disk
image.
   • Automatically launches an Apple //gs emulator when you select build
and run so you can go from coding to testing your latest build as quickly
as possible.
   • C source and header files (including ORCA system includes) are indexed
by Xcode. By doing this, code completion and other features of Xcode should
work. That means, if you are coding in C and type "NewW", Xcode will
suggest the toolbox calls NewWindow() and NewWindow2(). Select the one you
want and Xcode fills it in, including the arguments that the toolbox call
expects.
   • There is an optional code generation phase in the build. If you want
to write some scripts which generate C source files, C header files or
assembly files which are then compiled/assembled in later phases of the
build, this would let you do exactly that.
   • You can copy a directory of files onto the disk image beyond just the
executable. This is useful if you have other files you need to generate
and/or distribute in your project.
   • Syntax highlighting and better editor support for ORCA/M assembly and
resource files. Keywords are completed and highlighted. Indentation between
start/end and data/end tokens for assembly and inside braces for resource
files should be automatic.

Let me know if this does or does not work for you or if you have
suggestions for how to make it better.

[toc] | [next] | [standalone]


#3922

FromAntoine Vignau <antoine.vignau@laposte.net>
Date2017-09-11 02:29 -0700
Message-ID<3f3640a6-77ff-4909-8e7c-4d86bd7bcf46@googlegroups.com>
In reply to#3921
Congratulations, Jeremy!

I am a Merlin 32 user, will I benefit from what you did?

Antoine

[toc] | [prev] | [next] | [standalone]


#3923

FromJeremy Rand <jeremy@rand-family.com>
Date2017-09-11 09:29 -0400
Message-ID<1116496082.526829109.337693.jeremy-rand-family.com@news.eternal-september.org>
In reply to#3922
Antoine Vignau <antoine.vignau@laposte.net> wrote:
> Congratulations, Jeremy!
> 
> I am a Merlin 32 user, will I benefit from what you did?

Today, I am afraid this does nothing for a Merlin 32 user.  I am only
supporting ORCA/C and ORCA/M for now.  I do list Merlin 32 support as a
possible future improvement.

If there are people who would like to have support for this kind of
development environment in Xcode on a Mac for Merlin 32, let me know.  The
more feedback I get, the more likely I would be to work on a feature like
that.


> Antoine
> 


[toc] | [prev] | [next] | [standalone]


#3929

FromAntoine Vignau <antoine.vignau@laposte.net>
Date2017-09-12 07:45 -0700
Message-ID<622c53db-c4ff-450c-a676-d8bde78a5953@googlegroups.com>
In reply to#3923
On Monday, September 11, 2017 at 3:29:54 PM UTC+2, Jeremy Rand wrote:

[couic]

> If there are people who would like to have support for this kind of
> development environment in Xcode on a Mac for Merlin 32, let me know.  The
> more feedback I get, the more likely I would be to work on a feature like
> that.

Me, please!
Antoine

[toc] | [prev] | [next] | [standalone]


#3934

Fromkelvin@pro-kegs.uucp (Kelvin Sherlock)
Date2017-09-13 12:21 -0500
Message-ID<opbba9$nv6$1@dont-email.me>
In reply to#3921
Look good! I usually stick to Makefiles but that is an impressive
feature set.

-------
ProLine: kelvin@pro-kegs

[toc] | [prev] | [standalone]


Back to top | Article view | comp.sys.apple2.programmer


csiph-web