lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Assorted fixes for macosx 10.2.8


From: Matthias Neeracher
Subject: Re: [PATCH] Assorted fixes for macosx 10.2.8
Date: Thu, 8 Dec 2005 10:56:50 -0800


On Dec 8, 2005, at 10:26 AM, address@hidden wrote:
From: Johannes Schindelin <address@hidden>

On Wed, 7 Dec 2005, Graham Percival wrote:

I don't understand most of these patch,

I'll try to explain:

 pathsettings:
  @echo export PATH=$(PATH)
+ @echo export LILYPOND_DATADIR=$(LILYPONDPREFIX)
  @echo export LILYPONDPREFIX=$(LILYPONDPREFIX)
  @echo export PYTHONPATH=$(PYTHONPATH)

This is needed so that lilypond does not try to use 
/usr/local/share/something, but the files from where lilypond is compiled.

That makes it definitely unsuitable for general purpose distribution. This location can be overridden at runtime anyway, can't it?

diff --git a/my-lexer-gcc-3.1.sh b/my-lexer-gcc-3.1.sh
new file mode 100644
index 0000000..c781409
--- /dev/null
+++ b/my-lexer-gcc-3.1.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+cd "$(dirname "$0")/lily"
+
+rm out/lexer.cc 2>/dev/null
+make out/lexer.cc
+mv out/lexer.cc out/lexer.cc.orig
+cat out/lexer.cc.orig | sed 's/^class istream;$/#include <iostream>\
+using namespace std;/' > out/lexer.cc
+

This is a very simple fix for my very special setup. Unless someone 
verifies that it helps on other platforms, too, I'd rather see it as "it 
helped me, maybe it helps you" hint.

This is definitely needed on MacOS, since flex generates a file that is not correct C++ on that particular point (I wonder why, and why this never causes problems on other platforms). I don't think that it hurts on any platform.

--- a/stepmake/stepmake/compile-vars.make
+++ b/stepmake/stepmake/compile-vars.make
@@ -3,10 +3,14 @@ ARFLAGS = ru
 ALL_LDFLAGS = $(LDFLAGS) $(CONFIG_LDFLAGS) $($(PACKAGE)_LDFLAGS)
$(MODULE_LDFLAGS) $(CONFIG_LDFLAGS)

 PIC_FLAGS = -fpic -fPIC
-ifeq ($(MINGW_BUILD),)
-SHARED_FLAGS = -shared
-else
+ifneq ($(MINGW_BUILD),)
 SHARED_FLAGS = -mdll
+else
+ifneq ($(DARWIN_BUILD),)
+SHARED_FLAGS = -bundle -flat_namespace -framework Python
+else
+SHARED_FLAGS = -shared
+endif
 endif

 o-dep-out = $(outdir)/$(subst .o,.dep,$(notdir $@))#

I agree with Han-Wen that this should go into python-vars.make. 

Actually, the -framework Python should go there, but -bundle -flat_namespace belongs into compile-vars IMHO.

--- a/stepmake/stepmake/generic-vars.make
+++ b/stepmake/stepmake/generic-vars.make
@@ -111,3 +111,8 @@ endif
 ifeq ($(HOST_ARCH),i386-mingw32)
 MINGW_BUILD = yes
 endif
+
+ifeq ($(HOST_ARCH),ppc-darwin)
+DARWIN_BUILD = yes
+endif
+

I think this is more or less uncontroversial. It defines the variable 
DARWIN_BUILD on Darwin, so that the Makefiles can have special casing for 
Darwin as they have special handling of MinGW.

Good idea. I should have proposed that a long time ago.

Matthias


reply via email to

[Prev in Thread] Current Thread [Next in Thread]