All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Joshua Juran <jjuran@gmail.com>
Cc: git@vger.kernel.org
Subject: Mac OS 9 (Lamp) port
Date: Sun, 30 May 2010 22:19:06 -0500	[thread overview]
Message-ID: <20100531031906.GA465@progeny.tock> (raw)
In-Reply-To: <67A778DE-DB7E-40A3-9BE8-4D17F09B847F@gmail.com>

[new thread, cleared cc list]

Hi Josh,

Joshua Juran wrote:

> http://github.com/jjuran/git.git

I assume the lamp-git branch is the interesting one.  Some of
these patches (e.g., a3b378781) look like they might be of general
interest, while others (e.g., 6e6b106d) reveal Metrowerks to be
a bit braindead.

Have you thought about getting git to compile in C++ mode, where
Metrowerks might be a little more sane[1]?  Sure, this runs into
basically all the major incompatibilities between C and C++[2], but
that might not be insurmountable:

 . No implicit conversion from void* to other: don’t use void *,
   then.  With type-safe interfaces like

#define typed_malloc(size, type) (type *)xmalloc(size)
#define malloc_many(nmemb, type) typed_malloc((nmemb) * sizeof(type), type)

   one can take advantage of type checking without the annoyance of
   casts at the call site.

   Another place git uses void * is for low-level access to the
   object database, because it is not obvious whether objects data
   should use char * or unsigned char *.  unsigned char * should
   be fine.

 . Use of C++ keywords:

#ifdef __cplusplus
#define template git_template
#define typename git_typename
#endif

   It is not like this is an actual C++ program.

 . Assignment of ints to enums is forbidden: okay, this one is
   not worth working around.  Does Metrowerks have an option to turn
   off this piece of C++ insanity?

Curious,
Jonathan

[1] e.g., to solve the problem you described before:
http://thread.gmane.org/gmane.comp.version-control.git/115301

[2] http://www2.research.att.com/~bs/bs_faq.html#merge

  reply	other threads:[~2010-05-31  3:19 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-27  8:19 [PATCH 0/3] Interix support Jonathan Callen
2010-05-27  8:19 ` [PATCH 1/3] Support building on systems without poll(2) Jonathan Callen
2010-05-27  8:43   ` Sverre Rabbelier
2010-05-27 13:02     ` Jeff King
2010-05-27  8:51   ` Michael J Gruber
2010-05-27  9:13     ` Jonathan Callen
2010-05-27 10:10   ` [PATCH] compat: Add another rudimentary poll() emulation Jonathan Nieder
2010-05-27 11:00     ` Erik Faye-Lund
2010-05-27 11:39       ` Marko Kreen
2010-05-27 12:00         ` Erik Faye-Lund
2010-05-27 12:36           ` Marko Kreen
2010-05-27 12:57             ` Erik Faye-Lund
2010-05-27 13:43               ` [msysGit] " Albert Dvornik
2010-05-30  7:44             ` Paolo Bonzini
2010-05-27 13:06       ` Erik Faye-Lund
2010-05-27 13:29         ` Marko Kreen
2010-05-27 13:46           ` Erik Faye-Lund
2010-05-27 13:58             ` Marko Kreen
2010-05-27 14:06               ` Erik Faye-Lund
2010-05-27 14:11                 ` Marko Kreen
2010-05-27 14:15                   ` Erik Faye-Lund
2010-05-27 14:32                     ` Marko Kreen
2010-05-27 14:44                       ` Erik Faye-Lund
2010-05-27 15:17                         ` Peter Kjellerstedt
2010-05-27 14:14             ` [msysGit] " Albert Dvornik
2010-05-27 14:05         ` Albert Dvornik
2010-05-30  0:37         ` [PATCH v2] " Jonathan Nieder
2010-05-30 19:19           ` Johannes Sixt
2010-05-30 20:40             ` Jonathan Nieder
2010-05-30 22:39           ` Joshua Juran
2010-05-31  3:19             ` Jonathan Nieder [this message]
2010-05-31  4:35               ` Mac OS 9 (Lamp) port Joshua Juran
2010-05-31  5:49                 ` Jonathan Nieder
2010-05-31 12:12           ` [PATCH v2] compat: Add another rudimentary poll() emulation Albert Dvornik
2010-05-31 12:46             ` Jonathan Nieder
2010-05-31 13:10               ` Albert Dvornik
2010-05-27  8:19 ` [PATCH 2/3] Support building without inttypes.h Jonathan Callen
2010-05-27  8:19 ` [PATCH 3/3] Add Interix support Jonathan Callen
2010-05-28  2:11 ` [PATCH 0/3] " Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100531031906.GA465@progeny.tock \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jjuran@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.