summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-02-29 18:34:42 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-02-29 18:46:38 +0100
commit7c4f2ec8a795534164ee1923093b7d5be0126c55 (patch)
tree08971f4c7375629393b6d9cdeb713006778334bf
parent8c9823d311fdf8092cc75873e4565325d204a658 (diff)
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.
-rw-r--r--berkeleydb/makefile.mk4
-rw-r--r--cairo/cairo/makefile.mk5
-rw-r--r--cairo/pixman/makefile.mk7
-rw-r--r--cppunit/makefile.mk2
-rw-r--r--curl/makefile.mk5
-rw-r--r--epm/makefile.mk4
-rw-r--r--gdk-pixbuf/makefile.mk5
-rw-r--r--gettext/makefile.mk35
-rw-r--r--glib/makefile.mk14
-rw-r--r--hunspell/makefile.mk5
-rw-r--r--icu/makefile.mk7
-rw-r--r--libcroco/makefile.mk3
-rw-r--r--libexttextcat/makefile.mk5
-rw-r--r--libgsf/makefile.mk5
-rwxr-xr-xlibrsvg/makefile.mk3
-rw-r--r--libxml2/makefile.mk6
-rw-r--r--libxmlsec/makefile.mk5
-rw-r--r--libxslt/makefile.mk7
-rw-r--r--moz/extractfiles.mk4
-rw-r--r--moz/makefile.mk3
-rw-r--r--nss/makefile.mk8
-rw-r--r--openssl/makefile.mk5
-rwxr-xr-xpango/makefile.mk6
-rw-r--r--python/makefile.mk30
-rw-r--r--python/prj/d.lst6
-rw-r--r--redland/raptor/makefile.mk5
-rw-r--r--redland/rasqal/makefile.mk4
-rw-r--r--redland/redland/makefile.mk4
-rw-r--r--solenv/bin/macosx-change-install-names.pl76
-rw-r--r--solenv/inc/tg_ext.mk25
-rw-r--r--stlport/makefile.mk7
-rw-r--r--xpdf/makefile.mk5
32 files changed, 201 insertions, 114 deletions
diff --git a/berkeleydb/makefile.mk b/berkeleydb/makefile.mk
index 825795a959bf..07d6503a1699 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 8f2a359205c8..16a89bfad9a4 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 44ea09bdc137..f4dab40f744a 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 d96d7f44ddf8..c99e97b3f5a7 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 c7fca5480529..3eabe724b8cc 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 a33f6077b925..795c0d093acb 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 74f32012f63a..3beb162f1403 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 50d294f65afe..270ac6cc769e 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 0efb7ec3b665..0180e1d35be0 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 a1c035ac6e32..c4377a631b56 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 872544cef5e5..b906d427fc79 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 28c588bbe09b..40586d5e29ef 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,@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 f4f5383c8713..0f4c0b0626df 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 6a481a2debc8..095d0590dfe9 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 63f45e3e6f3d..1348a04b7705 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 78c4c3e6323f..558835e72ce0 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 84489f6ab419..64a9ca871a50 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 cc89185b3ab2..80eeea54bc7c 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 793c281b68a4..e4e40b8612ff 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 7f926e5d84c7..13db91fc0517 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 744f94447659..c75684a1187f 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 dcbf04e8075c..666a2025ad9e 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 325ff75d5131..ec18260a905e 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 be7fcbb125e8..3f35d4c22299 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 749515037664..4fb4405ebaa7 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 292a34024dc2..d7864b8c08f9 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 71bee48d72fa..76146d4a7868 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 6113531a83d4..2b605a058c7e 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 290a488342b1..91bea7e165c1 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;
}
-@ARGV == 3 || @ARGV >= 2 && $ARGV[0] eq "extshl" or die
- 'Usage: app|shl|extshl UREBIN|URELIB|OOO|SDK|OXT|NONE|LOADER <filepath>*';
+@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 0adec0c96683..b74c79fc954d 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 3e4a8deaec0f..b26de838877a 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 85c2a8813653..046994fe17e4 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