[Libreoffice-commits] .: berkeleydb/makefile.mk cairo/cairo cairo/pixman cppunit/makefile.mk curl/makefile.mk epm/makefile.mk gdk-pixbuf/makefile.mk gettext/makefile.mk glib/makefile.mk hunspell/makefile.mk icu/makefile.mk libcroco/makefile.mk libexttextcat/makefile.mk libgsf/makefile.mk librsvg/makefile.mk libxml2/makefile.mk libxmlsec/makefile.mk libxslt/makefile.mk moz/extractfiles.mk moz/makefile.mk nss/makefile.mk openssl/makefile.mk pango/makefile.mk python/makefile.mk python/prj redland/raptor redland/rasqal redland/redland solenv/bin solenv/inc stlport/makefile.mk xpdf/makefile.mk

Stephan Bergmann sbergmann at kemper.freedesktop.org
Wed Feb 29 09:47:28 PST 2012


 berkeleydb/makefile.mk                    |    4 +
 cairo/cairo/makefile.mk                   |    5 +
 cairo/pixman/makefile.mk                  |    7 ++
 cppunit/makefile.mk                       |    2 
 curl/makefile.mk                          |    5 +
 epm/makefile.mk                           |    4 +
 gdk-pixbuf/makefile.mk                    |    5 -
 gettext/makefile.mk                       |   35 ++++++-------
 glib/makefile.mk                          |   14 +++--
 hunspell/makefile.mk                      |    5 +
 icu/makefile.mk                           |    7 ++
 libcroco/makefile.mk                      |    3 -
 libexttextcat/makefile.mk                 |    5 +
 libgsf/makefile.mk                        |    5 -
 librsvg/makefile.mk                       |    3 -
 libxml2/makefile.mk                       |    6 +-
 libxmlsec/makefile.mk                     |    5 +
 libxslt/makefile.mk                       |    7 ++
 moz/extractfiles.mk                       |    4 -
 moz/makefile.mk                           |    3 -
 nss/makefile.mk                           |    8 ++-
 openssl/makefile.mk                       |    5 +
 pango/makefile.mk                         |    6 --
 python/makefile.mk                        |   30 +++++++----
 python/prj/d.lst                          |    6 +-
 redland/raptor/makefile.mk                |    5 +
 redland/rasqal/makefile.mk                |    4 +
 redland/redland/makefile.mk               |    4 +
 solenv/bin/macosx-change-install-names.pl |   76 ++++++++++++------------------
 solenv/inc/tg_ext.mk                      |   25 +++++++--
 stlport/makefile.mk                       |    7 ++
 xpdf/makefile.mk                          |    5 +
 32 files changed, 201 insertions(+), 114 deletions(-)

New commits:
commit 7c4f2ec8a795534164ee1923093b7d5be0126c55
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Feb 29 18:34:42 2012 +0100

    Simplify install name handling for external libraries on Mac OS X
    
    ...by allowing our special @___... tokens anywhere within an install name,
    so that external modules can configure --prefix=/@___... etc.  This removes
    the need for the special extshl and EXTRPATH=LOADER.  Also, a new
    OUT2BIN_NONE can be used for external modules where the generated libraries
    need the default EXTRPATH=OOO, but generated executables are only used
    during the build and such need RPATH=NONE.

diff --git a/berkeleydb/makefile.mk b/berkeleydb/makefile.mk
index 825795a..07d6503 100644
--- a/berkeleydb/makefile.mk
+++ b/berkeleydb/makefile.mk
@@ -101,7 +101,9 @@ CONFIGURE_FLAGS+= --disable-shared
 CONFIGURE_FLAGS+= --enable-shared
 .ENDIF
 .IF "$(OS)"=="MACOSX"
-CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH) \
+    CPPFLAGS="$(EXTRA_CDEFS)"
 .ENDIF
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
diff --git a/cairo/cairo/makefile.mk b/cairo/cairo/makefile.mk
index 8f2a359..16a89bf 100644
--- a/cairo/cairo/makefile.mk
+++ b/cairo/cairo/makefile.mk
@@ -241,6 +241,10 @@ CONFIGURE_FLAGS+=CFLAGS="-I$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/inc $(cairo_CFLAG
 CONFIGURE_FLAGS+=png_CFLAGS="-I$(SOLARINCDIR)$/external$/libpng" png_LIBS="-L$(SOLARLIBDIR) -lpng"
 .ENDIF
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
 
 OUT2INC+=cairo-version.h \
      src$/cairo-deprecated.h \
@@ -250,7 +254,6 @@ OUT2INC+=cairo-version.h \
      src$/cairo.h
 
 .IF "$(OS)"=="MACOSX"
-EXTRPATH=LOADER
 OUT2LIB+=src$/.libs$/libcairo*.dylib
 .ELIF "$(OS)"=="WNT"
 .IF "$(COM)"=="GCC"
diff --git a/cairo/pixman/makefile.mk b/cairo/pixman/makefile.mk
index 44ea09b..f4dab40 100644
--- a/cairo/pixman/makefile.mk
+++ b/cairo/pixman/makefile.mk
@@ -145,7 +145,12 @@ CONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)"
 
 CONFIGURE_FLAGS+=--disable-arm-simd --disable-arm-neon --disable-arm-iwmmxt
 
-.ENDIF
+.ELIF "$(OS)" == "MACOSX"
+
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+
+.END
 
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
diff --git a/cppunit/makefile.mk b/cppunit/makefile.mk
index d96d7f4..c99e97b 100644
--- a/cppunit/makefile.mk
+++ b/cppunit/makefile.mk
@@ -189,6 +189,8 @@ OUT2BIN = ooo-install/bin/DllPlugInTester
 .IF "$(OS)" == "MACOSX"
 OUT2LIB = ooo-install/lib/libcppunit-1.12.1.dylib
 EXTRPATH = NONE
+PACKAGE_DIR = \
+    $(MISC)/@.__________________________________________________$(EXTRPATH)
 .ELIF "$(OS)" == "AIX"
 OUT2LIB = ooo-install/lib/libcppunit-1.12.a
 .ELIF "$(OS)" == "OPENBSD"
diff --git a/curl/makefile.mk b/curl/makefile.mk
index c7fca54..3eabe72 100644
--- a/curl/makefile.mk
+++ b/curl/makefile.mk
@@ -89,6 +89,11 @@ CONFIGURE_FLAGS=--disable-static
 .ENDIF
 CONFIGURE_FLAGS+= --without-ssl --without-libidn --enable-ftp --enable-ipv6 --enable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --without-libssh2 CPPFLAGS="$(curl_CFLAGS)"  LDFLAGS="$(curl_LDFLAGS)"
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
diff --git a/epm/makefile.mk b/epm/makefile.mk
index a33f607..795c0d0 100644
--- a/epm/makefile.mk
+++ b/epm/makefile.mk
@@ -42,9 +42,13 @@ PATCH_FILES=epm-3.7.patch
 
 .IF "$(GUI)"=="UNX" && "$(BUILD_EPM)" != "NO"
 
+EXTRPATH = NONE
+
 CONFIGURE_ACTION=.$/configure
 CONFIGURE_FLAGS=--disable-fltk
 .IF "$(OS)"=="MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
 .IF "$(EXTRA_CFLAGS)"!=""
 CONFIGURE_FLAGS+=CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(EXTRA_LINKFLAGS)" CPP="gcc -E $(EXTRA_CFLAGS)"
 .ENDIF # "$(EXTRA_CFLAGS)"!=""
diff --git a/gdk-pixbuf/makefile.mk b/gdk-pixbuf/makefile.mk
index 74f3201..3beb162 100644
--- a/gdk-pixbuf/makefile.mk
+++ b/gdk-pixbuf/makefile.mk
@@ -60,7 +60,7 @@ CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
                  CPPFLAGS="$(EXTRA_CDEFS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0 -I$(SOLARINCDIR)/external/libpng -I$(SOLARINCDIR)/external/jpeg" \
                  CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" \
                  LDFLAGS="$(EXTRA_LINKFLAGS) -L$(SOLARLIBDIR) -lgobject-2.0 -lgio-2.0 -lgthread-2.0 -lgmodule-2.0 -lglib-2.0" \
-                 --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \
+                 --prefix=/@.__________________________________________________$(EXTRPATH) \
                  --disable-nls \
                  --disable-modules \
                  --with-included-loaders=ani,icns,pcx,ras,tga,png,pnm,wbmp,xbm,xpm,qtif,bmp,gif,ico,jpeg \
@@ -72,8 +72,7 @@ CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) gio_can_sniff
 
 BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE)
 BUILD_DIR=$(CONFIGURE_DIR)
-                
-EXTRPATH=LOADER
+
 OUT2LIB+=gdk-pixbuf/.libs/libgdk_pixbuf-2.0.0.dylib
 
 OUT2INC+=gdk-pixbuf/gdk-pixbuf-animation.h
diff --git a/gettext/makefile.mk b/gettext/makefile.mk
index 50d294f..270ac6c 100644
--- a/gettext/makefile.mk
+++ b/gettext/makefile.mk
@@ -54,7 +54,7 @@ PATCH_FILES=gettext-0.18.1.1.stpncpy.patch
 .IF "$(OS)"=="MACOSX"
 
 CONFIGURE_DIR=
-CONFIGURE_ACTION=./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules)
+CONFIGURE_ACTION=./configure --prefix=/@.__________________________________________________$(EXTRPATH) $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules)
 CONFIGURE_FLAGS=--disable-dependeny-tracking --disable-acl --disable-curses --without-emacs --without-git --disable-java
 CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" CXXFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)"
 
@@ -65,7 +65,6 @@ CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 BUILD_ACTION=$(GNUMAKE)
 BUILD_DIR=$(CONFIGURE_DIR)
 
-EXTRPATH=LOADER
 OUT2LIB+=gettext-tools/intl/.libs/libintl.*.dylib
 OUT2LIB+=gettext-runtime/libasprintf/.libs/libasprintf.*.dylib
 OUT2LIB+=gettext-tools/gnulib-lib/.libs/libgettextlib-*.dylib
@@ -76,22 +75,22 @@ OUT2INC+=gettext-tools/intl/libintl.h
 OUT2INC+=gettext-runtime/libasprintf/autosprintf.h
 OUT2INC+=gettext-tools/libgettextpo/gettext-po.h
 
-OUT2BIN+=gettext-tools/src/.libs/msgattrib
-OUT2BIN+=gettext-tools/src/.libs/msgcat
-OUT2BIN+=gettext-tools/src/.libs/msgcmp
-OUT2BIN+=gettext-tools/src/.libs/msgcomm
-OUT2BIN+=gettext-tools/src/.libs/msgconv
-OUT2BIN+=gettext-tools/src/.libs/msgen
-OUT2BIN+=gettext-tools/src/.libs/msgexec
-OUT2BIN+=gettext-tools/src/.libs/msgfilter
-OUT2BIN+=gettext-tools/src/.libs/msgfmt
-OUT2BIN+=gettext-tools/src/.libs/msggrep
-OUT2BIN+=gettext-tools/src/.libs/msginit
-OUT2BIN+=gettext-tools/src/.libs/msgmerge
-OUT2BIN+=gettext-tools/src/.libs/msgunfmt
-OUT2BIN+=gettext-tools/src/.libs/msguniq
-OUT2BIN+=gettext-tools/src/.libs/urlget
-OUT2BIN+=gettext-tools/src/.libs/xgettext
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgattrib
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgcat
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgcmp
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgcomm
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgconv
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgen
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgexec
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgfilter
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgfmt
+OUT2BIN_NONE+=gettext-tools/src/.libs/msggrep
+OUT2BIN_NONE+=gettext-tools/src/.libs/msginit
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgmerge
+OUT2BIN_NONE+=gettext-tools/src/.libs/msgunfmt
+OUT2BIN_NONE+=gettext-tools/src/.libs/msguniq
+OUT2BIN_NONE+=gettext-tools/src/.libs/urlget
+OUT2BIN_NONE+=gettext-tools/src/.libs/xgettext
 
 .ELIF "$(OS)"=="IOS"
 
diff --git a/glib/makefile.mk b/glib/makefile.mk
index 0efb7ec..0180e1d 100644
--- a/glib/makefile.mk
+++ b/glib/makefile.mk
@@ -73,7 +73,13 @@ CONFIGURE_FLAGS+= \
     ac_cv_func__NSGetEnviron=yes
 .ENDIF
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.ELSE
 CONFIGURE_FLAGS+=--prefix=$(SRC_ROOT)$/$(PRJNAME)$/$(MISC)
+.END
+
 CONFIGURE_FLAGS+=--disable-fam
 CONFIGURE_FLAGS+=CPPFLAGS="$(ARCH_FLAGS) $(EXTRA_CDEFS) -DBUILD_OS_APPLEOSX"
 CONFIGURE_FLAGS+=CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) -I$(SOLARINCDIR)$/external"
@@ -93,8 +99,6 @@ BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) $(VFLAG) -j$(MAXPROCESS)
 
 .IF "$(OS)"!="IOS"
 
-EXTRPATH=LOADER
-
 .IF "$(OS)" == "MACOSX"
 my_ext = .0$(DLLPOST)
 .ELSE
@@ -107,9 +111,9 @@ OUT2LIB+=gmodule/.libs/libgmodule-2.0$(my_ext)
 OUT2LIB+=gobject/.libs/libgobject-2.0$(my_ext)
 OUT2LIB+=gthread/.libs/libgthread-2.0$(my_ext)
 
-OUT2BIN+=gobject/glib-mkenums
-OUT2BIN+=gobject/.libs/glib-genmarshal
-OUT2BIN+=gio/.libs/glib-compile-schemas
+OUT2BIN_NONE+=gobject/glib-mkenums
+OUT2BIN_NONE+=gobject/.libs/glib-genmarshal
+OUT2BIN_NONE+=gio/.libs/glib-compile-schemas
 
 .ELSE
 
diff --git a/hunspell/makefile.mk b/hunspell/makefile.mk
index a1c035a..c4377a6 100644
--- a/hunspell/makefile.mk
+++ b/hunspell/makefile.mk
@@ -58,7 +58,10 @@ CONFIGURE_FLAGS+= CFLAGS=-xc99=none
 
 .IF "$(OS)"=="AIX"
 CONFIGURE_FLAGS+= CFLAGS=-D_LINUX_SOURCE_COMPAT
-.ENDIF
+.ELIF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
 
 .IF "$(SYSBASE)"!=""
 .IF "$(EXTRA_CFLAGS)"!=""
diff --git a/icu/makefile.mk b/icu/makefile.mk
index 872544c..b906d42 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -148,6 +148,11 @@ icu_LDFLAGS+=-lgnustl_shared
 CONFIGURE_ACTION+=sh -c 'CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="$(icu_CFLAGS)" CXXFLAGS="$(icu_CXXFLAGS)" LDFLAGS="$(icu_LDFLAGS) $(LDFLAGSADD)" \
 ./configure --enable-layout $(STATIC_OR_SHARED) $(BUILD_AND_HOST) $(DISABLE_64BIT) $(DISABLE_STRICT) $(DISABLE_DYLOAD) $(LIBRARY_SUFFIX)'
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_ACTION += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 CONFIGURE_FLAGS=
 
 # Use of
@@ -191,7 +196,7 @@ OUT2LIB= \
     $(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \
     $(BUILD_DIR)$/lib$/libicutu$(DLLPOST)
 
-OUT2BIN= \
+OUT2BIN_NONE= \
     $(BUILD_DIR)$/bin$/genccode \
     $(BUILD_DIR)$/bin$/genbrk \
     $(BUILD_DIR)$/bin$/gencmn
diff --git a/libcroco/makefile.mk b/libcroco/makefile.mk
index 28c588b..40586d5 100644
--- a/libcroco/makefile.mk
+++ b/libcroco/makefile.mk
@@ -58,7 +58,7 @@ my_libxml2_libs=$(LIBXML_LIBS)
 my_libxml2_cflags=-I$(SOLARINCDIR)/external/libxml
 my_libxml2_libs=-L$(SOLARLIBDIR) -lxml2
 .ENDIF
-CONFIGURE_ACTION=./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \
+CONFIGURE_ACTION=./configure --prefix=/@.__________________________________________________$(EXTRPATH) \
                  CPPFLAGS="$(EXTRA_CDEFS)" \
                  CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
                  LDFLAGS="-L$(SOLARLIBDIR) $(EXTRA_LINKFLAGS) -Wl,-dylib_file, at loader_path/libgmodule-2.0.0.dylib:$(SOLARLIBDIR)/libgmodule-2.0.0.dylib" \
@@ -75,7 +75,6 @@ BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) \
              $(GNUMAKE)
 BUILD_DIR=$(CONFIGURE_DIR)
 
-EXTRPATH=LOADER
 OUT2LIB+=src/.libs/libcroco-0.6.3.0.1.dylib
 
 OUT2INC+=src/cr-additional-sel.h
diff --git a/libexttextcat/makefile.mk b/libexttextcat/makefile.mk
index f4f5383..0f4c0b0 100644
--- a/libexttextcat/makefile.mk
+++ b/libexttextcat/makefile.mk
@@ -58,7 +58,10 @@ CONFIGURE_ACTION=configure --disable-shared --with-pic CFLAGS="$(ARCH_FLAGS) $(E
 CONFIGURE_FLAGS=$(eq,$(OS),MACOSX CPPFLAGS="$(EXTRA_CDEFS)" $(NULL))
 .IF "$(OS)"=="AIX"
 CONFIGURE_FLAGS+= CFLAGS=-D_LINUX_SOURCE_COMPAT
-.ENDIF
+.ELIF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
diff --git a/libgsf/makefile.mk b/libgsf/makefile.mk
index 6a481a2..095d059 100644
--- a/libgsf/makefile.mk
+++ b/libgsf/makefile.mk
@@ -66,7 +66,7 @@ PATCH_FILES=libgsf-1.14.19.patch
 CONFIGURE_DIR=
 CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
                  ./configure \
-                 --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \
+                 --prefix=/@.__________________________________________________$(EXTRPATH) \
                  CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(LIBXML_CFLAGS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
                  LDFLAGS="-L$(SOLARLIBDIR) $(eq,$(OS),MACOSX $(EXTRA_LINKFLAGS) $(NULL))" \
                  --without-python \
@@ -85,7 +85,7 @@ CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
                  
                  
 CONFIGURE_FLAGS=$(eq,$(OS),MACOSX CPPFLAGS="$(EXTRA_CDEFS)" $(NULL))
-                
+
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
@@ -97,7 +97,6 @@ BUILD_DIR=$(CONFIGURE_DIR)
 .ENDIF
 
 .IF "$(OS)"=="MACOSX"
-EXTRPATH=LOADER
 OUT2LIB+=gsf/.libs/libgsf-1.114.dylib
 .ENDIF
 
diff --git a/librsvg/makefile.mk b/librsvg/makefile.mk
index 63f45e3..1348a04 100755
--- a/librsvg/makefile.mk
+++ b/librsvg/makefile.mk
@@ -60,7 +60,7 @@ LIBXML_LIBS=-lxml2
 CONFIGURE_LDFLAGS=-L$(SOLARLIBDIR) $(eq,$(OS),MACOSX $(EXTRA_LINKFLAGS) $(NULL))
 CONFIGURE_DIR=
 CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure \
-                 --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC)
+                 --prefix=/@.__________________________________________________$(EXTRPATH)
 CONFIGURE_FLAGS=--disable-gtk-theme --disable-tools --with-croco --with-svgz \
                  --disable-pixbuf-loader --disable-dependency-tracking $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules) \
                  LIBRSVG_CFLAGS="-I$(SOLARINCDIR)/external/glib-2.0 -I$(SOLARINCDIR)/external/gdk-pixbuf-2.0 -I$(SOLARINCDIR)/external/pango-1.0 -I$(SOLARINCDIR)/cairo $(LIBXML_CFLAGS)" \
@@ -84,7 +84,6 @@ BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) \
              $(GNUMAKE) $(!eq,$(VERBOSE),$(NULL) V=1) -j$(MAXPROCESS)
 BUILD_DIR=$(CONFIGURE_DIR)
 
-EXTRPATH=LOADER
 OUT2LIB+=.libs/librsvg-2.2.dylib
 
 OUT2INC+=librsvg-enum-types.h
diff --git a/libxml2/makefile.mk b/libxml2/makefile.mk
index 78c4c3e..558835e 100644
--- a/libxml2/makefile.mk
+++ b/libxml2/makefile.mk
@@ -137,6 +137,10 @@ BUILD_DIR=$(CONFIGURE_DIR)
 .IF "$(debug)"!=""
 CONFIGURE_FLAGS+=--with-mem-debug --with-run-debug
 .ENDIF
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
@@ -148,7 +152,7 @@ OUTDIR2INC=include$/libxml
 .IF "$(OS)"=="MACOSX"
 EXTRPATH=URELIB
 OUT2LIB+=.libs$/libxml2.*.dylib
-OUT2BIN+=.libs$/xmllint
+OUT2BIN_NONE+=.libs$/xmllint
 OUT2BIN+=xml2-config
 .ELIF "$(OS)"=="IOS"
 OUT2LIB+=.libs$/libxml2.a
diff --git a/libxmlsec/makefile.mk b/libxmlsec/makefile.mk
index 84489f6..64a9ca8 100644
--- a/libxmlsec/makefile.mk
+++ b/libxmlsec/makefile.mk
@@ -163,6 +163,11 @@ CONFIGURE_FLAGS+=--with-openssl=$(SOLARVER)/$(INPATH)
 CONFIGURE_FLAGS+=--with-openssl=no
 .ENDIF
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 # system-mozilla needs pkgconfig to get the information about nss
 # FIXME: This also will enable pkg-config usage for libxml2. It *seems*
 # that the internal headers still are used when they are there but....
diff --git a/libxslt/makefile.mk b/libxslt/makefile.mk
index cc89185..80eeea5 100644
--- a/libxslt/makefile.mk
+++ b/libxslt/makefile.mk
@@ -151,6 +151,11 @@ CONFIGURE_FLAGS+=--enable-ipv6=no --without-crypto --without-python --with-sax1=
 CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE)
 BUILD_FLAGS+= -j$(EXTMAXPROCESS)
 BUILD_DIR=$(CONFIGURE_DIR)
@@ -161,7 +166,7 @@ OUT2INC=libxslt$/*.h
 .IF "$(OS)"=="MACOSX"
 OUT2LIB+=libxslt$/.libs$/libxslt.*.dylib
 OUT2LIB+=libexslt$/.libs$/libexslt.*.dylib
-OUT2BIN+=xsltproc$/.libs$/xsltproc
+OUT2BIN_NONE+=xsltproc$/.libs$/xsltproc
 OUT2BIN+=xslt-config
 .ELIF "$(OS)"=="IOS"
 OUT2LIB+=libxslt$/.libs$/libxslt.a
diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk
index 793c281..e4e40b8 100644
--- a/moz/extractfiles.mk
+++ b/moz/extractfiles.mk
@@ -348,7 +348,7 @@ $(MISC)$/build$/so_moz_runtime_files: 	$(OUT)$/bin$/mozruntime.zip
 .ENDIF
 .ENDIF
 .IF "$(OS)"=="MACOSX"
-    $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \
+    $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl shl OOO \
         $(RUNTIME_DIR)$/*$(DLLPOST)
 # A crude hack to adapt all the absolute ("@executable_path") dependencies to
 # relative ("@loader_path") ones:
@@ -423,7 +423,7 @@ $(MISC)$/build$/so_moz_lib_files:		$(foreach,file,$(LIBLIST) $(LIB_DIR)$/$(file)
     $(LIB_DIR)$/$(file) &&) \
     echo >& $(NULLDEV)
 .IF "$(OS)"=="MACOSX"
-    $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \
+    $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl shl OOO \
         $(LIB_DIR)$/*$(DLLPOST)
 .ENDIF
 .IF "$(GUI)"=="UNX"
diff --git a/moz/makefile.mk b/moz/makefile.mk
index 7f926e5..13db91f 100644
--- a/moz/makefile.mk
+++ b/moz/makefile.mk
@@ -162,7 +162,8 @@ MOZILLA_CONFIGURE_FLAGS+= \
     --with-macos-sdk=$(MACOSX_SDK_PATH) \
     --disable-glibtest \
     --enable-macos-target=$(MACOSX_DEPLOYMENT_TARGET) \
-    --disable-libxul
+    --disable-libxul \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
 DEFAULT_MOZILLA_TOOLKIT=mac
 
 .ELSE
diff --git a/nss/makefile.mk b/nss/makefile.mk
index 744f944..c75684a 100644
--- a/nss/makefile.mk
+++ b/nss/makefile.mk
@@ -60,7 +60,13 @@ BUILD_OPT=1
 .EXPORT: BUILD_OPT
 .ENDIF
 
-CONFIGURE_ACTION=mozilla/nsprpub/configure --prefix=$(OUTDIR) --includedir=$(OUTDIR)/inc/mozilla/nspr ; \
+.IF "$(OS)" == "MACOSX"
+my_prefix=/@.__________________________________________________$(EXTRPATH)
+.ELSE
+my_prefix=$(OUTDIR)
+.END
+
+CONFIGURE_ACTION=mozilla/nsprpub/configure --prefix=$(my_prefix) --includedir=$(OUTDIR)/inc/mozilla/nspr ; \
     sed -e 's\#@prefix@\#$(OUTDIR)\#' -e 's\#@includedir@\#$(OUTDIR)/inc/mozilla/nss\#' -e 's\#@MOD_MAJOR_VERSION@\#$(VER_MAJOR)\#' -e 's\#@MOD_MINOR_VERSION@\#$(VER_MINOR)\#' -e 's\#@MOD_PATCH_VERSION@\#$(VER_PATCH)\#' mozilla/security/nss/nss-config.in > mozilla/security/nss/nss-config ; \
     chmod a+x mozilla/security/nss/nss-config
 
diff --git a/openssl/makefile.mk b/openssl/makefile.mk
index dcbf04e..666a202 100644
--- a/openssl/makefile.mk
+++ b/openssl/makefile.mk
@@ -60,6 +60,11 @@ CONFIGURE_FLAGS=shared no-idea
 CONFIGURE_FLAGS=-I$(SYSBASE)$/usr$/include -L$(SYSBASE)$/usr$/lib shared no-idea
 .ENDIF
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 BUILD_DIR=.
 
 COMPILER_AND_FLAGS=$(CC)
diff --git a/pango/makefile.mk b/pango/makefile.mk
index 325ff75..ec18260 100755
--- a/pango/makefile.mk
+++ b/pango/makefile.mk
@@ -56,7 +56,7 @@ PATCH_FILES=pango-1.28.3.patch
 CONFIGURE_LDFLAGS="-L$(SOLARLIBDIR)"
 CONFIGURE_DIR=
 CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
-                 ./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) --disable-dependency-tracking --disable-doc-cross-references \
+                 ./configure --prefix=/@.__________________________________________________$(EXTRPATH) --disable-dependency-tracking --disable-doc-cross-references \
                  CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(EXTRA_CDEFS) -I$(SOLARINCDIR) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
                  CXXFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(EXTRA_CDEFS) -I$(SOLARINCDIR) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
                  LDFLAGS="$(CONFIGURE_LDFLAGS)" \
@@ -78,12 +78,10 @@ VFLAG=V=1
 BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) $(VFLAG)
 BUILD_DIR=$(CONFIGURE_DIR)
 
-EXTRPATH=LOADER
-
 OUT2LIB+=pango/.libs/libpango-1.0.0.dylib
 OUT2LIB+=pango/.libs/libpangocairo-1.0.0.dylib
 
-OUT2BIN+=pango/.libs/pango-querymodules
+OUT2BIN_NONE+=pango/.libs/pango-querymodules
 
 OUT2INC+=pango/pango-attributes.h
 OUT2INC+=pango/pango-enum-types.h
diff --git a/python/makefile.mk b/python/makefile.mk
index be7fcbb..3f35d4c 100644
--- a/python/makefile.mk
+++ b/python/makefile.mk
@@ -83,7 +83,13 @@ python_LDFLAGS+=$(ARCH_FLAGS)
 python_CFLAGS=-g0
 .ENDIF
 
-CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure --prefix=/python-inst --enable-shared CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
+.IF "$(OS)" == "MACOSX"
+my_prefix = @__________________________________________________$(EXTRPATH)
+.ELSE
+my_prefix = python-inst
+.END
+
+CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure --prefix=/$(my_prefix) --enable-shared CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
 
 .IF "$(OS)$(CPU)" == "SOLARISI"
 CONFIGURE_ACTION += --disable-ipv6
@@ -94,7 +100,7 @@ PATCH_FILES+=Python-2.6.1-py8067.patch
 # don't build dual-arch version as OOo itself is not universal binary either
 PATCH_FILES+=Python-2.6.1-arch_$(eq,$(CPU),I i386 ppc).patch
 
-CONFIGURE_ACTION+=--enable-universalsdk=$(MACOSX_SDK_PATH) --with-universal-archs=32-bit --enable-framework=/python-inst --with-framework-name=OOoPython
+CONFIGURE_ACTION+=--enable-universalsdk=$(MACOSX_SDK_PATH) --with-universal-archs=32-bit --enable-framework=/$(my_prefix) --with-framework-name=OOoPython
 ALLTAR: $(MISC)/OOoPython.framework.zip
 
 .ENDIF
@@ -102,7 +108,7 @@ ALLTAR: $(MISC)/OOoPython.framework.zip
 .IF "$(OS)"=="AIX"
 CONFIGURE_ACTION += --disable-ipv6 --with-threads
 .ENDIF
-BUILD_ACTION=$(ENV_BUILD) $(GNUMAKE) -j$(EXTMAXPROCESS) && $(GNUMAKE) install DESTDIR=$(MYCWD) && chmod -R ug+w $(MYCWD)/python-inst && chmod g+w Include
+BUILD_ACTION=$(ENV_BUILD) $(GNUMAKE) -j$(EXTMAXPROCESS) && $(GNUMAKE) install DESTDIR=$(MYCWD) && chmod -R ug+w $(MYCWD)/$(my_prefix) && chmod g+w Include
 .ELSE
 # ----------------------------------
 # WINDOWS
@@ -117,7 +123,7 @@ python_LDFLAGS=-mno-cygwin -mthreads
 python_LDFLAGS+=-shared-libgcc
 .ENDIF
 python_LDFLAGS+=-shared-libgcc -Wl,--enable-runtime-pseudo-reloc-v2
-CONFIGURE_ACTION=./configure --prefix=$(MYCWD)/python-inst --enable-shared CC="$(CC:s/guw.exe //)" CXX="$(CXX:s/guw.exe //)" MACHDEP=MINGW32 LN="cp -p" CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
+CONFIGURE_ACTION=./configure --prefix=$(MYCWD)/$(my_prefix) --enable-shared CC="$(CC:s/guw.exe //)" CXX="$(CXX:s/guw.exe //)" MACHDEP=MINGW32 LN="cp -p" CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
 BUILD_ACTION=$(ENV_BUILD) make && make install
 .ELSE
 
@@ -200,11 +206,11 @@ ALLTAR : $(PYVERSIONFILE)
 $(PACKAGE_DIR)/fixscripts: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
 	@echo remove build installdir from scripts
 	$(COMMAND_ECHO)for file in \
-	        $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/2to3 \
-	        $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/idle$(PYMAJOR).$(PYMINOR) \
-	        $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/pydoc$(PYMAJOR).$(PYMINOR) \
-	        $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/python$(PYMAJOR).$(PYMINOR)-config \
-	        $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/smtpd$(PYMAJOR).$(PYMINOR).py ; do \
+	        $(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/2to3 \
+	        $(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/idle$(PYMAJOR).$(PYMINOR) \
+	        $(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/pydoc$(PYMAJOR).$(PYMINOR) \
+	        $(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/python$(PYMAJOR).$(PYMINOR)-config \
+	        $(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/smtpd$(PYMAJOR).$(PYMINOR).py ; do \
 	{{ rm "$$file" && awk '\
 		BEGIN {{print "\
 #!/bin/bash\n\
@@ -220,15 +226,15 @@ cd \"$$origpath\"\n\
 $(PACKAGE_DIR)/fixinstallnames: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
 	@echo remove build installdir from OOoPython
 	$(COMMAND_ECHO)install_name_tool -change \
-		/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython \
+		/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython \
 		@executable_path/../../../../OOoPython \
-		$(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/Resources/Python.app/Contents/MacOS/OOoPython
+		$(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/Resources/Python.app/Contents/MacOS/OOoPython
 	@touch $@
 
 $(MISC)/OOoPython.framework.zip: $(PACKAGE_DIR)/fixinstallnames $(PACKAGE_DIR)/fixscripts
 	@-rm -f $@
 	@echo creating $@
-	$(COMMAND_ECHO)cd $(MISC)/build/python-inst && find OOoPython.framework \
+	$(COMMAND_ECHO)cd $(MISC)/build/$(my_prefix) && find OOoPython.framework \
 		-not -type l -not -name Info.plist.in \
 		-not -name pythonw$(PYMAJOR).$(PYMINOR) \
 		-not -name python$(PYMAJOR).$(PYMINOR) -print0 | \
diff --git a/python/prj/d.lst b/python/prj/d.lst
index 7495150..4fb4405 100644
--- a/python/prj/d.lst
+++ b/python/prj/d.lst
@@ -1,9 +1,9 @@
 # MACOSX - start
 mkdir: %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6
 
-..\%__SRC%\misc\build\python-inst\OOoPython.framework\OOoPython %_DEST%\lib\OOoPython.framework\OOoPython
-..\%__SRC%\misc\build\python-inst\OOoPython.framework\Versions\2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\*
-..\%__SRC%\misc\build\python-inst\OOoPython.framework\Versions\2.6\include\python2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6\*
+..\%__SRC%\misc\build\@__________________________________________________OOO\OOoPython.framework\OOoPython %_DEST%\lib\OOoPython.framework\OOoPython
+..\%__SRC%\misc\build\@__________________________________________________OOO\OOoPython.framework\Versions\2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\*
+..\%__SRC%\misc\build\@__________________________________________________OOO\OOoPython.framework\Versions\2.6\include\python2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6\*
 ..\%__SRC%\misc\OOoPython.framework.zip %_DEST%\bin\OOoPython.framework.zip
 # MACOSX - end
 
diff --git a/redland/raptor/makefile.mk b/redland/raptor/makefile.mk
index 292a340..d7864b8 100644
--- a/redland/raptor/makefile.mk
+++ b/redland/raptor/makefile.mk
@@ -164,6 +164,11 @@ CONFIGURE_FLAGS+=--with-xml2-config=$(SOLARVER)/$(INPATH)/bin/xml2-config
 CONFIGURE_FLAGS+=--with-xslt-config=$(SOLARVER)/$(INPATH)/bin/xslt-config
 .ENDIF
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
diff --git a/redland/rasqal/makefile.mk b/redland/rasqal/makefile.mk
index 71bee48..76146d4 100644
--- a/redland/rasqal/makefile.mk
+++ b/redland/rasqal/makefile.mk
@@ -130,6 +130,10 @@ CONFIGURE_FLAGS=--disable-shared
 CONFIGURE_FLAGS=--disable-static
 .ENDIF
 CONFIGURE_FLAGS+= --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore       --with-regex-library=posix --with-decimal=none --with-www=xml
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
diff --git a/redland/redland/makefile.mk b/redland/redland/makefile.mk
index 6113531..2b605a0 100644
--- a/redland/redland/makefile.mk
+++ b/redland/redland/makefile.mk
@@ -137,6 +137,10 @@ CONFIGURE_FLAGS+= --disable-static
 .IF "$(OS)"!="ANDROID"
 CONFIGURE_FLAGS+= --with-threads
 .ENDIF
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
 .IF "$(CROSS_COMPILING)"=="YES"
 CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
 .ENDIF
diff --git a/solenv/bin/macosx-change-install-names.pl b/solenv/bin/macosx-change-install-names.pl
index 290a488..91bea7e 100644
--- a/solenv/bin/macosx-change-install-names.pl
+++ b/solenv/bin/macosx-change-install-names.pl
@@ -25,8 +25,27 @@
 #
 #*************************************************************************
 
-use lib ("$ENV{SOLARENV}/bin/modules");
-use macosxotoolhelper;
+# The install names of our dynamic libraries contain a special segment token
+# that denotes where the dynamic library is located in the installation set.
+# The segment token consists of "@", optionally followed by ".", followed by 50
+# "_", followed by a location token (one of "URELIB", "OOO", "OXT", or "NONE").
+#
+# Typically, the segment token is the first segment of a relative install name.
+# But the segment token may also appear within an absolute install name.  That
+# is useful when tunnelling the segment token into the external build process
+# via a --prefix configure switch, for example.
+#
+# When another dynamic library or an executable links against such a dynamic
+# library, the path recorded in the former to locate the latter is rewritten
+# according to the below %action table.  The result path consists of the prefix
+# from the action table followed by the suffix of the dynamic library's install
+# name.  If the special segment token does not contain the optional "." after
+# the "@", the suffix consists of all segments after the special token segment.
+# If the special token segment does contain the optional ".", then the suffix
+# consists of just the last segment of the original install name.
+#
+# That latter case is useful for libraries from external modules, where the
+# external build process locates them in some sub-directory.
 
 sub action($$$)
 {
@@ -41,8 +60,6 @@ sub action($$$)
          'shl/URELIB/URELIB' => '@loader_path',
          'shl/OOO/URELIB' => '@loader_path/../ure-link/lib',
          'shl/OOO/OOO' => '@loader_path',
-         'shl/LOADER/LOADER' => '@loader_path',
-         'shl/LOADER/URELIB' => '@loader_path/../ure-link/lib',
          'shl/OXT/URELIB' => '@executable_path/urelibs',
          'shl/NONE/URELIB' => '@__VIA_LIBRARY_PATH__',
          'shl/OOO/NONE' => '@__VIA_LIBRARY_PATH__',
@@ -54,52 +71,17 @@ sub action($$$)
     return $act;
 }
 
- at ARGV == 3 || @ARGV >= 2 && $ARGV[0] eq "extshl" or die
-  'Usage: app|shl|extshl UREBIN|URELIB|OOO|SDK|OXT|NONE|LOADER <filepath>*';
+ at ARGV >= 2 or die 'Usage: app|shl UREBIN|URELIB|OOO|SDK|OXT|NONE <filepath>*';
 $type = shift @ARGV;
 $loc = shift @ARGV;
-if ($type eq "SharedLibrary")
-{
-    $type = "shl";
-}
 if ($type eq "Executable")
 {
     $type = "app"
 }
-if ($type eq "Library")
+elsif ($type eq "Library" || $type eq "SharedLibrary")
 {
     $type = "shl"
 }
-if ($type eq "extshl")
-{
-    $type = "shl";
-    my $change = "";
-    my %inames;
-    foreach $file (@ARGV)
-    {
-        my $iname = otoolD($file);
-        (defined $iname ? $iname : $file . "\n") =~ m'^(.*?([^/]+))\n$' or
-            die "unexpected otool -D output";
-        $change .= " -change $1 " . action($type, $loc, $loc) . "/$2";
-        $inames{$file} = $2;
-    }
-    if( $loc eq "LOADER" )
-    {
-        foreach $file (@ARGV)
-        {
-            my $call = "install_name_tool$change -id \@loader_path/$inames{$file} $file";
-            system($call) == 0 or die "cannot $call";
-        }
-    }
-    else
-    {
-        foreach $file (@ARGV)
-        {
-            my $call = "install_name_tool$change -id \@__________________________________________________$loc/$inames{$file} $file";
-            system($call) == 0 or die "cannot $call";
-        }
-    }
-}
 foreach $file (@ARGV)
 {
     my $call = "otool -L $file";
@@ -107,10 +89,14 @@ foreach $file (@ARGV)
     my $change = "";
     while (<IN>)
     {
-        $change .= " -change $1 " . action($type, $loc, $2) . "$3"
-            if m'^\s*(@_{50}([^/]+)(/.+)) \(compatibility version \d+\.\d+\.\d+, current version \d+\.\d+\.\d+\)\n$';
-        $change .= ' -change '.$1.' @loader_path/'.$2
-            if m'^\s*(/python-inst/(OOoPython.framework/Versions/[^/]+/OOoPython))';
+        if (m'^\s*(((/.*)?/)?@_{50}([^/]+)(/.+)) \(compatibility version \d+\.\d+\.\d+, current version \d+\.\d+\.\d+\)\n$')
+        {
+            $change .= " -change $1 " . action($type, $loc, $4) . $5;
+        }
+        elsif (m'^\s*(((/.*)?/)?@\._{50}([^/]+)(/.+)?(/[^/]+)) \(compatibility version \d+\.\d+\.\d+, current version \d+\.\d+\.\d+\)\n$')
+        {
+            $change .= " -change $1 " . action($type, $loc, $4) . $6;
+        }
     }
     close(IN);
     if ($change ne "")
diff --git a/solenv/inc/tg_ext.mk b/solenv/inc/tg_ext.mk
index 0adec0c..b74c79f 100644
--- a/solenv/inc/tg_ext.mk
+++ b/solenv/inc/tg_ext.mk
@@ -47,8 +47,8 @@ PATH!:=.$(PATH_SEPERATOR)$(SOLARBINDIR)$(PATH_SEPERATOR)$(PATH)
 .EXPORT : PATH
 
 #override
-PACKAGE_DIR=$(MISC)/build
-ABS_PACKAGE_DIR:=$(MAKEDIR)/$(MISC)/build
+PACKAGE_DIR*=$(MISC)/build
+ABS_PACKAGE_DIR:=$(MAKEDIR)/$(PACKAGE_DIR)
 
 #MUST match with PACKAGE_DIR
 BACK_PATH=../../../
@@ -252,7 +252,7 @@ $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE)
 .IF "$(OUT2LIB)"!=""
     $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2LIB) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(LB)
 .IF "$(OS)"=="MACOSX"
-    $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl extshl \
+    $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl shl \
         $(EXTRPATH) \
         $(shell ls $(foreach,j,$(OUT2LIB) $(LB)/$(j:f)) | \
             (grep -v '\.a$$' || test $$? = 1))
@@ -271,16 +271,31 @@ $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE)
 .ENDIF			# "$(OUTDIR2INC)"!=""
 .IF "$(OUT2BIN)"!=""
     $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2BIN) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(BIN)
-.IF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
+.IF "$(OS)"=="MACOSX"
+    $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app \
+        $(EXTRPATH) $(shell ls $(foreach,j,$(OUT2BIN) $(BIN)/$(j:f)))
+.ELIF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
     @noop $(foreach,j,$(foreach,k,$(OUT2BIN) \
         $(shell -ls -1 $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$k | $(GREP) .dll)) \
         $(shell @$(IFEXIST) $(j).manifest $(THEN) mt.exe \
         -manifest $(j).manifest -outputresource:$(BIN)/$(j:f)$(EMQ);2 $(FI)))
 .ENDIF          # "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
 .ENDIF			# "$(OUT2BIN)"!=""
+.IF "$(OUT2BIN_NONE)"!=""
+    $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2BIN_NONE) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(BIN)
+.IF "$(OS)"=="MACOSX"
+    $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app \
+        NONE $(shell ls $(foreach,j,$(OUT2BIN_NONE) $(BIN)/$(j:f)))
+.ELIF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
+    @noop $(foreach,j,$(foreach,k,$(OUT2BIN_NONE) \
+        $(shell -ls -1 $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$k | $(GREP) .dll)) \
+        $(shell @$(IFEXIST) $(j).manifest $(THEN) mt.exe \
+        -manifest $(j).manifest -outputresource:$(BIN)/$(j:f)$(EMQ);2 $(FI)))
+.END
+.ENDIF			# "$(OUT2BIN_NONE)"!=""
 .IF "$(OUT2CLASS)"!=""
     $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2CLASS) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(CLASSDIR)
-.ENDIF			# "$(OUT2BIN)"!=""
+.ENDIF			# "$(OUT2CLASS)"!=""
     $(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE)
 
 $(MISC)/$(TARFILE_ROOTDIR).done : $(MISC)/$(TARFILE_MD5)-$(TARFILE_NAME).unpack $(PATCH_FILES)
diff --git a/stlport/makefile.mk b/stlport/makefile.mk
index 3e4a8de..b26de83 100644
--- a/stlport/makefile.mk
+++ b/stlport/makefile.mk
@@ -83,6 +83,8 @@ all:
         # stl/_epilog.h.)
 .ENDIF
 
+EXTRPATH=URELIB
+
 ADDITIONAL_FILES=src$/gcc-3.0.mak src$/gcc-3.0-freebsd.mak src$/sunpro8.mak src$/sunpro11.mak src$/gcc-3.0-mingw.mak \
     src$/gcc-3.0-os2.mak src$/gcc-3.0-os2.def src$/common_macros_os2.mak
 
@@ -90,6 +92,11 @@ ADDITIONAL_FILES=src$/gcc-3.0.mak src$/gcc-3.0-freebsd.mak src$/sunpro8.mak src$
 CONFIGURE_ACTION=none
 CONFIGURE_FLAGS=
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 BUILD_DIR=src
 
 .IF "$(COM)"=="MSC"
diff --git a/xpdf/makefile.mk b/xpdf/makefile.mk
index 85c2a88..046994f 100644
--- a/xpdf/makefile.mk
+++ b/xpdf/makefile.mk
@@ -83,6 +83,11 @@ LDFLAGS:=$(ARCH_FLAGS)
 CONFIGURE_ACTION=configure
 CONFIGURE_FLAGS+=--without-x --without-libpaper-library --without-t1-library --enable-multithreaded --enable-exceptions
 
+.IF "$(OS)" == "MACOSX"
+CONFIGURE_FLAGS += \
+    --prefix=/@.__________________________________________________$(EXTRPATH)
+.END
+
 .IF "$(OS)$(CPU)"=="MACOSXP"
 CXXFLAGS+=-malign-natural
 .EXPORT: CXXFLAGS


More information about the Libreoffice-commits mailing list